Skip to content

Commit b3c1419

Browse files
authored
Merge branch 'master' into cpy5beta0-lightbox
2 parents 4350e66 + c048d1a commit b3c1419

File tree

29 files changed

+309
-144
lines changed

29 files changed

+309
-144
lines changed

BLE_Crickit_Light_Switch/ble_crickit_light_switch.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# BLE Crickit Light Switch
22
# Use with the Adafruit BlueFruit LE Connect app
3-
# Works with CircuitPython 4.0.0-beta.1 and later
3+
# Works with CircuitPython 5.0.0-beta.0 and later
44
# running on an nRF52840 Feather board and Crickit FeatherWing
55
# micro servo, 3D printed switch actuator
66

@@ -10,7 +10,10 @@
1010
import digitalio
1111

1212
from adafruit_crickit import crickit
13-
from adafruit_ble.uart import UARTServer
13+
14+
from adafruit_ble import BLERadio
15+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
16+
from adafruit_ble.services.nordic import UARTService
1417

1518
from adafruit_bluefruit_connect.packet import Packet
1619
# Only the packet classes that are imported will be known to Packet.
@@ -22,7 +25,9 @@
2225
blue_led.direction = digitalio.Direction.OUTPUT
2326
red_led.direction = digitalio.Direction.OUTPUT
2427

25-
uart_server = UARTServer()
28+
ble = BLERadio()
29+
uart_service = UARTService()
30+
advertisement = ProvideServicesAdvertisement(uart_service)
2631

2732
UP_ANGLE = 180
2833
NEUTRAL_ANGLE = 120
@@ -35,17 +40,17 @@
3540
print("Use Adafruit Bluefruit app to connect")
3641
while True:
3742
blue_led.value = False
38-
uart_server.start_advertising()
43+
ble.start_advertising(advertisement)
3944

40-
while not uart_server.connected:
45+
while not ble.connected:
4146
# Wait for a connection.
4247
pass
4348
blue_led.value = True # turn on blue LED when connected
44-
while uart_server.connected:
45-
if uart_server.in_waiting:
49+
while ble.connected:
50+
if uart_service.in_waiting:
4651
# Packet is arriving.
4752
red_led.value = False # turn off red LED
48-
packet = Packet.from_stream(uart_server)
53+
packet = Packet.from_stream(uart_service)
4954
if isinstance(packet, ButtonPacket) and packet.pressed:
5055
red_led.value = True # blink to show a packet has been received
5156
if packet.button == ButtonPacket.UP and angle != UP_ANGLE: # UP button pressed

CircuitPython_PyPaint/code.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ def set_cursor_bitmap(self, bmp):
146146
self.poke()
147147

148148
################################################################################
149-
150149
class Paint(object):
151150

151+
#pylint:disable=too-many-statements
152152
def __init__(self, display=board.DISPLAY):
153153
self._logger = logging.getLogger("Paint")
154154
self._logger.setLevel(logging.DEBUG)
@@ -196,9 +196,13 @@ def __init__(self, display=board.DISPLAY):
196196
self._splash.append(self._palette)
197197

198198
self._display.show(self._splash)
199-
self._display.refresh_soon()
200-
gc.collect()
201-
self._display.wait_for_frame()
199+
try:
200+
gc.collect()
201+
self._display.refresh(target_frames_per_second=60)
202+
except AttributeError:
203+
self._display.refresh_soon()
204+
gc.collect()
205+
self._display.wait_for_frame()
202206

203207
self._brush = 0
204208
self._cursor_bitmaps = [self._cursor_bitmap_1(), self._cursor_bitmap_3()]
@@ -215,6 +219,7 @@ def __init__(self, display=board.DISPLAY):
215219
self._last_location = None
216220

217221
self._pencolor = 7
222+
#pylint:enable=too-many-statements
218223

219224
def _make_palette(self):
220225
self._palette_bitmap = displayio.Bitmap(self._w // 10, self._h, 5)

CircuitPython_displayio/displayio_display_driver.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,3 @@
3737
group = displayio.Group()
3838
group.append(tile_grid)
3939
display.show(group)
40-
display.refresh_soon()

CircuitPython_displayio/displayio_display_manual.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,3 @@
6464
group = displayio.Group()
6565
group.append(tile_grid)
6666
display.show(group)
67-
display.refresh_soon()

CircuitPython_displayio/displayio_parallelbus.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,3 @@
6262
group = displayio.Group()
6363
group.append(tile_grid)
6464
display.show(group)
65-
display.refresh_soon()

Circuit_Playground_Bluefruit_Color_Remote/cpb_remote_color_client.py

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,48 @@
1212
# Only the packet classes that are imported will be known to Packet.
1313
from adafruit_bluefruit_connect.color_packet import ColorPacket
1414

15-
from adafruit_ble.scanner import Scanner
16-
from adafruit_ble.uart_client import UARTClient
15+
from adafruit_ble import BLERadio
16+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
17+
from adafruit_ble.services.nordic import UARTService
1718

1819
def scale(value):
1920
"""Scale an value from 0-65535 (AnalogIn range) to 0-255 (RGB range)"""
2021
return int(value / 65535 * 255)
2122

22-
scanner = Scanner()
23-
uart_client = UARTClient()
23+
ble = BLERadio()
2424

25-
a3 = AnalogIn(board.A4)
26-
a4 = AnalogIn(board.A5)
27-
a5 = AnalogIn(board.A6)
25+
a4 = AnalogIn(board.A4)
26+
a5 = AnalogIn(board.A5)
27+
a6 = AnalogIn(board.A6)
2828

29-
while True:
30-
uart_addresses = []
31-
# Keep trying to find a UART peripheral
32-
while not uart_addresses:
33-
uart_addresses = uart_client.scan(scanner)
34-
uart_client.connect(uart_addresses[0], 5)
29+
uart_connection = None
30+
31+
# See if any existing connections are providing UARTService.
32+
if ble.connected:
33+
for connection in ble.connections:
34+
if UARTService in connection:
35+
uart_connection = connection
36+
break
3537

36-
while uart_client.connected:
37-
r = scale(a3.value)
38-
g = scale(a4.value)
39-
b = scale(a5.value)
38+
while True:
39+
if not uart_connection:
40+
for adv in ble.start_scan(ProvideServicesAdvertisement, timeout=5):
41+
if UARTService in adv.services:
42+
uart_connection = ble.connect(adv)
43+
break
44+
# Stop scanning whether or not we are connected.
45+
ble.stop_scan()
46+
47+
while uart_connection and uart_connection.connected:
48+
r = scale(a4.value)
49+
g = scale(a5.value)
50+
b = scale(a6.value)
4051

4152
color = (r, g, b)
4253
print(color)
4354
color_packet = ColorPacket(color)
4455
try:
45-
uart_client.write(color_packet.to_bytes())
56+
uart_connection[UARTService].write(color_packet.to_bytes())
4657
except OSError:
4758
pass
4859
time.sleep(0.3)

Circuit_Playground_Bluefruit_Color_Remote/cpb_remote_color_periph.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@
66
import board
77
import neopixel
88

9-
from adafruit_ble.uart_server import UARTServer
9+
from adafruit_ble import BLERadio
10+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
11+
from adafruit_ble.services.nordic import UARTService
12+
1013
from adafruit_bluefruit_connect.packet import Packet
1114
# Only the packet classes that are imported will be known to Packet.
1215
from adafruit_bluefruit_connect.color_packet import ColorPacket
1316

14-
uart_server = UARTServer()
17+
ble = BLERadio()
18+
uart = UARTService()
19+
advertisement = ProvideServicesAdvertisement(uart)
1520

1621
NUM_PIXELS = 10
1722
np = neopixel.NeoPixel(board.NEOPIXEL, NUM_PIXELS, brightness=0.1)
@@ -23,12 +28,12 @@ def mod(i):
2328

2429
while True:
2530
# Advertise when not connected.
26-
uart_server.start_advertising()
27-
while not uart_server.connected:
31+
ble.start_advertising(advertisement)
32+
while not ble.connected:
2833
pass
2934

30-
while uart_server.connected:
31-
packet = Packet.from_stream(uart_server)
35+
while ble.connected:
36+
packet = Packet.from_stream(uart)
3237
if isinstance(packet, ColorPacket):
3338
print(packet.color)
3439
np[next_pixel] = packet.color

Circuit_Playground_Bluefruit_Pumpkin/code.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@
33

44
import time
55
import board
6+
import digitalio
67
import neopixel
7-
from adafruit_ble.uart_server import UARTServer
8+
9+
from adafruit_ble import BLERadio
10+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
11+
from adafruit_ble.services.nordic import UARTService
12+
813
from audiopwmio import PWMAudioOut as AudioOut
914
from audiocore import WaveFile
1015

@@ -24,9 +29,15 @@
2429
YELLOW = (255,230, 0)
2530
BLUE = (0, 0, 255)
2631
# setup bluetooth
27-
uart_server = UARTServer()
32+
ble = BLERadio()
33+
uart_service = UARTService()
34+
advertisement = ProvideServicesAdvertisement(uart_service)
2835

2936
# External Audio Stuff
37+
speaker_enable = digitalio.DigitalInOut(board.SPEAKER_ENABLE)
38+
speaker_enable.direction = digitalio.Direction.OUTPUT
39+
speaker_enable.value = True
40+
3041
audio = AudioOut(board.SPEAKER) # Speaker
3142
wave_file = None
3243

@@ -51,17 +62,17 @@ def play_wav(name, loop=False):
5162

5263
while True:
5364
# set CPXb up so that it can be discovered by the app
54-
uart_server.start_advertising()
55-
while not uart_server.connected:
65+
ble.start_advertising(advertisement)
66+
while not ble.connected:
5667
pass
5768

5869
# Now we're connected
5970

60-
while uart_server.connected:
71+
while ble.connected:
6172

62-
if uart_server.in_waiting:
73+
if uart_service.in_waiting:
6374
try:
64-
packet = Packet.from_stream(uart_server)
75+
packet = Packet.from_stream(uart_service)
6576
except ValueError:
6677
continue # or pass.
6778

Getting_Started_With_BLE_and_CP/button_presses.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
1-
from adafruit_ble.uart import UARTServer
1+
from adafruit_ble import BLERadio
2+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
3+
from adafruit_ble.services.nordic import UARTService
4+
25
from adafruit_bluefruit_connect.packet import Packet
36
from adafruit_bluefruit_connect.button_packet import ButtonPacket
47

5-
uart_server = UARTServer()
8+
ble = BLERadio()
9+
uart = UARTService()
10+
advertisement = ProvideServicesAdvertisement(uart)
611

712
while True:
8-
uart_server.start_advertising()
9-
while not uart_server.connected:
13+
ble.start_advertising(advertisement)
14+
while not ble.connected:
1015
pass
1116

1217
# Now we're connected
1318

14-
while uart_server.connected:
15-
if uart_server.in_waiting:
16-
packet = Packet.from_stream(uart_server)
19+
while ble.connected:
20+
if uart.in_waiting:
21+
packet = Packet.from_stream(uart)
1722
if isinstance(packet, ButtonPacket):
1823
if packet.pressed:
1924
if packet.button == ButtonPacket.BUTTON_1:

Getting_Started_With_BLE_and_CP/color_picker.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
11
import board
22
import neopixel
3-
from adafruit_ble.uart import UARTServer
3+
4+
from adafruit_ble import BLERadio
5+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
6+
from adafruit_ble.services.nordic import UARTService
7+
48
from adafruit_bluefruit_connect.packet import Packet
59
from adafruit_bluefruit_connect.color_packet import ColorPacket
610

7-
uart_server = UARTServer()
11+
ble = BLERadio()
12+
uart = UARTService()
13+
advertisement = ProvideServicesAdvertisement(uart)
814

915
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
1016

1117
while True:
12-
uart_server.start_advertising()
13-
while not uart_server.connected:
18+
ble.start_advertising(advertisement)
19+
while not ble.connected:
1420
pass
1521

1622
# Now we're connected
1723

18-
while uart_server.connected:
19-
if uart_server.in_waiting:
20-
packet = Packet.from_stream(uart_server)
24+
while ble.connected:
25+
if uart.in_waiting:
26+
packet = Packet.from_stream(uart)
2127
if isinstance(packet, ColorPacket):
2228
# Change the NeoPixel color.
2329
pixel.fill(packet.color)

Getting_Started_With_BLE_and_CP/location.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1-
from adafruit_ble.uart import UARTServer
1+
from adafruit_ble import BLERadio
2+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
3+
from adafruit_ble.services.nordic import UARTService
4+
25
from adafruit_bluefruit_connect.packet import Packet
36
from adafruit_bluefruit_connect.location_packet import LocationPacket
47

5-
6-
uart_server = UARTServer()
8+
ble = BLERadio()
9+
uart = UARTService()
10+
advertisement = ProvideServicesAdvertisement(uart)
711

812
while True:
9-
uart_server.start_advertising()
10-
while not uart_server.connected:
13+
ble.start_advertising(advertisement)
14+
while not ble.connected:
1115
pass
1216

1317
# Now we're connected
1418

15-
while uart_server.connected:
16-
if uart_server.in_waiting:
17-
packet = Packet.from_stream(uart_server)
19+
while ble.connected:
20+
if uart.in_waiting:
21+
packet = Packet.from_stream(uart)
1822
if isinstance(packet, LocationPacket):
1923
print("Latitude:", packet.latitude)
2024
print("Longitude", packet.longitude)

0 commit comments

Comments
 (0)