4
4
import board
5
5
import neopixel
6
6
import 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
+
10
12
from adafruit_bluefruit_connect .packet import Packet
11
13
from adafruit_bluefruit_connect .button_packet import ButtonPacket
12
14
from adafruit_bluefruit_connect .color_packet import ColorPacket
54
56
offset_increment = 1
55
57
OFFSET_MAX = 1000000
56
58
57
- uart_server = UARTServer ()
59
+ ble = BLERadio ()
60
+ uart_service = UARTService ()
61
+ advertisement = ProvideServicesAdvertisement (uart_service )
58
62
59
63
def set_palette (palette ):
60
64
for i in range (NUM_LEDS ):
@@ -72,17 +76,19 @@ def set_palette(palette):
72
76
cycling = True
73
77
74
78
while 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 :
77
83
if cycling :
78
84
set_palette (palette_choice )
79
85
offset = (offset + offset_increment ) % OFFSET_MAX
80
86
81
87
# Now we're connected
82
88
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 )
86
92
if isinstance (packet , ColorPacket ):
87
93
cycling = False
88
94
# Set all the pixels to one color and stay there.
0 commit comments