Skip to content

Commit 20f21e7

Browse files
authored
Merge pull request #101 from dhalbert/5.x-no-timeout
advertising timeout not available on 5.x
2 parents 9af3aff + 336d04e commit 20f21e7

File tree

5 files changed

+40
-18
lines changed

5 files changed

+40
-18
lines changed

adafruit_ble/__init__.py

+24-7
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ def start_advertising(
174174
:param float interval: advertising interval, in seconds
175175
:param int timeout: advertising timeout in seconds.
176176
If None, no timeout.
177+
178+
``timeout`` is not available in CircuitPython 5.x and must be `None`.
177179
"""
178180
advertisement_bytes = bytes(advertisement)
179181
scan_response_bytes = b""
@@ -183,13 +185,28 @@ def start_advertising(
183185
scan_response.tx_power = self.tx_power
184186
if scan_response:
185187
scan_response_bytes = bytes(scan_response)
186-
self._adapter.start_advertising(
187-
advertisement_bytes,
188-
scan_response=scan_response_bytes,
189-
connectable=advertisement.connectable,
190-
interval=interval,
191-
timeout=0 if timeout is None else timeout,
192-
)
188+
189+
# Remove after 5.x is no longer supported.
190+
if (
191+
sys.implementation.name == "circuitpython"
192+
and sys.implementation.version[0] <= 5
193+
):
194+
if timeout is not None:
195+
raise NotImplementedError("timeout not available for CircuitPython 5.x")
196+
self._adapter.start_advertising(
197+
advertisement_bytes,
198+
scan_response=scan_response_bytes,
199+
connectable=advertisement.connectable,
200+
interval=interval,
201+
)
202+
else:
203+
self._adapter.start_advertising(
204+
advertisement_bytes,
205+
scan_response=scan_response_bytes,
206+
connectable=advertisement.connectable,
207+
interval=interval,
208+
timeout=0 if timeout is None else timeout,
209+
)
193210

194211
def stop_advertising(self):
195212
"""Stops advertising."""

examples/ble_bluefruit_color_picker.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import board
44
import neopixel
5+
6+
from adafruit_bluefruit_connect.packet import Packet
7+
from adafruit_bluefruit_connect.color_packet import ColorPacket
8+
59
from adafruit_ble import BLERadio
610
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
711
from adafruit_ble.services.nordic import UARTService
8-
from adafruit_bluefruit_connect.packet import Packet
9-
from adafruit_bluefruit_connect.color_packet import ColorPacket
1012

1113
ble = BLERadio()
1214
uart_service = UARTService()

examples/ble_demo_central.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
import busio
1111
import digitalio
1212
import adafruit_lis3dh
13-
from adafruit_ble import BLERadio
14-
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
15-
from adafruit_ble.services.nordic import UARTService
1613
import neopixel
1714

1815
from adafruit_bluefruit_connect.color_packet import ColorPacket
1916

17+
from adafruit_ble import BLERadio
18+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
19+
from adafruit_ble.services.nordic import UARTService
20+
2021

2122
def scale(value):
2223
"""Scale an value from (acceleration range) to 0-255 (RGB range)"""

examples/ble_demo_periph.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
import board
77
import neopixel
88

9-
from adafruit_ble import BLERadio
10-
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
11-
from adafruit_ble.services.nordic import UARTService
12-
139
# Only the packet classes that are imported will be known to Packet.
1410
from adafruit_bluefruit_connect.packet import Packet
1511
from adafruit_bluefruit_connect.color_packet import ColorPacket
1612

13+
from adafruit_ble import BLERadio
14+
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
15+
from adafruit_ble.services.nordic import UARTService
16+
1717
NUM_PIXELS = 10
1818
np = neopixel.NeoPixel(board.NEOPIXEL, NUM_PIXELS, brightness=0.1)
1919
next_pixel = 0

examples/ble_hid_periph.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
import sys
77
import time
88

9+
from adafruit_hid.keyboard import Keyboard
10+
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
11+
912
import adafruit_ble
1013
from adafruit_ble.advertising import Advertisement
1114
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
1215
from adafruit_ble.services.standard.hid import HIDService
1316
from adafruit_ble.services.standard.device_info import DeviceInfoService
14-
from adafruit_hid.keyboard import Keyboard
15-
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
17+
1618

1719
# Use default HID descriptor
1820
hid = HIDService()

0 commit comments

Comments
 (0)