44import board
55import neopixel
66import adafruit_fancyled .adafruit_fancyled as fancy
7- from adafruit_ble .uart import UARTServer
8- # for >= CPy 5.0.0
9- # from adafruit_ble.uart_server import UARTServer
7+
8+ from adafruit_ble import BLERadio
9+ from adafruit_ble .advertising .standard import ProvideServicesAdvertisement
10+ from adafruit_ble .services .nordic import UARTService
11+
1012from adafruit_bluefruit_connect .packet import Packet
1113from adafruit_bluefruit_connect .button_packet import ButtonPacket
1214from adafruit_bluefruit_connect .color_packet import ColorPacket
5456offset_increment = 1
5557OFFSET_MAX = 1000000
5658
57- uart_server = UARTServer ()
59+ ble = BLERadio ()
60+ uart_service = UARTService ()
61+ advertisement = ProvideServicesAdvertisement (uart_service )
5862
5963def set_palette (palette ):
6064 for i in range (NUM_LEDS ):
@@ -72,17 +76,19 @@ def set_palette(palette):
7276cycling = True
7377
7478while True :
75- uart_server .start_advertising ()
76- while not uart_server .connected :
79+ # Advertise when not connected.
80+ ble .start_advertising (advertisement )
81+
82+ while not ble .connected :
7783 if cycling :
7884 set_palette (palette_choice )
7985 offset = (offset + offset_increment ) % OFFSET_MAX
8086
8187 # Now we're connected
8288
83- while uart_server .connected :
84- if uart_server .in_waiting :
85- packet = Packet .from_stream (uart_server )
89+ while ble .connected :
90+ if uart_service .in_waiting :
91+ packet = Packet .from_stream (uart_service )
8692 if isinstance (packet , ColorPacket ):
8793 cycling = False
8894 # Set all the pixels to one color and stay there.
0 commit comments