From 24c592ff5617af57c8283742a003fd73970e37a2 Mon Sep 17 00:00:00 2001 From: Jerry Needell Date: Sat, 30 Nov 2019 16:15:04 -0500 Subject: [PATCH] modify for updated BLE library --- Bluetooth_Luminaries/code.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/Bluetooth_Luminaries/code.py b/Bluetooth_Luminaries/code.py index a3b07860d..df633dbba 100644 --- a/Bluetooth_Luminaries/code.py +++ b/Bluetooth_Luminaries/code.py @@ -5,13 +5,17 @@ import board import neopixel import touchio import adafruit_fancyled.adafruit_fancyled as fancy -# from adafruit_ble.uart import UARTServer -# for >= CPy 5.0.0 -from adafruit_ble.uart_server import UARTServer from adafruit_bluefruit_connect.packet import Packet from adafruit_bluefruit_connect.button_packet import ButtonPacket from adafruit_bluefruit_connect.color_packet import ColorPacket + +from adafruit_ble import BLERadio +from adafruit_ble.advertising.standard import ProvideServicesAdvertisement +from adafruit_ble.services.nordic import UARTService + + + NUM_LEDS = 24 # change to reflect your total number of ring LEDs RING_PIN = board.A1 # change to reflect your wiring CPX_PIN = board.D8 # CPX Neopixels live on pin D8 @@ -66,7 +70,11 @@ offset = 0 # Positional offset into color palette to get it to 'spin' offset_increment = 6 OFFSET_MAX = 1000000 -uart_server = UARTServer() +# Setup BLE +ble = BLERadio() +uart = UARTService() +advertisement = ProvideServicesAdvertisement(uart) + def set_palette(palette): for i in range(NUM_LEDS): @@ -101,17 +109,17 @@ while True: set_palette(palette_choice) offset = (offset + offset_increment) % OFFSET_MAX - if not uart_server.connected and not advertising: - uart_server.start_advertising() + if not ble.connected and not advertising: + ble.start_advertising(advertisement) advertising = True # Are we connected via Bluetooth now? - if uart_server.connected: + if ble.connected: # Once we're connected, we're not advertising any more. advertising = False # Have we started to receive a packet? - if uart_server.in_waiting: - packet = Packet.from_stream(uart_server) + if uart.in_waiting: + packet = Packet.from_stream(uart) if isinstance(packet, ColorPacket): cycling = False # Set all the pixels to one color and stay there. @@ -160,3 +168,4 @@ while True: # offset_increment += 1 # if touch_TX.value: # offset_increment -= 1 +