Merge pull request #101 from dhalbert/5.x-no-timeout
advertising timeout not available on 5.x
This commit is contained in:
commit
20f21e71b0
5 changed files with 40 additions and 18 deletions
|
|
@ -174,6 +174,8 @@ class BLERadio:
|
|||
:param float interval: advertising interval, in seconds
|
||||
:param int timeout: advertising timeout in seconds.
|
||||
If None, no timeout.
|
||||
|
||||
``timeout`` is not available in CircuitPython 5.x and must be `None`.
|
||||
"""
|
||||
advertisement_bytes = bytes(advertisement)
|
||||
scan_response_bytes = b""
|
||||
|
|
@ -183,13 +185,28 @@ class BLERadio:
|
|||
scan_response.tx_power = self.tx_power
|
||||
if scan_response:
|
||||
scan_response_bytes = bytes(scan_response)
|
||||
self._adapter.start_advertising(
|
||||
advertisement_bytes,
|
||||
scan_response=scan_response_bytes,
|
||||
connectable=advertisement.connectable,
|
||||
interval=interval,
|
||||
timeout=0 if timeout is None else timeout,
|
||||
)
|
||||
|
||||
# Remove after 5.x is no longer supported.
|
||||
if (
|
||||
sys.implementation.name == "circuitpython"
|
||||
and sys.implementation.version[0] <= 5
|
||||
):
|
||||
if timeout is not None:
|
||||
raise NotImplementedError("timeout not available for CircuitPython 5.x")
|
||||
self._adapter.start_advertising(
|
||||
advertisement_bytes,
|
||||
scan_response=scan_response_bytes,
|
||||
connectable=advertisement.connectable,
|
||||
interval=interval,
|
||||
)
|
||||
else:
|
||||
self._adapter.start_advertising(
|
||||
advertisement_bytes,
|
||||
scan_response=scan_response_bytes,
|
||||
connectable=advertisement.connectable,
|
||||
interval=interval,
|
||||
timeout=0 if timeout is None else timeout,
|
||||
)
|
||||
|
||||
def stop_advertising(self):
|
||||
"""Stops advertising."""
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@
|
|||
|
||||
import board
|
||||
import neopixel
|
||||
|
||||
from adafruit_bluefruit_connect.packet import Packet
|
||||
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
|
||||
from adafruit_bluefruit_connect.packet import Packet
|
||||
from adafruit_bluefruit_connect.color_packet import ColorPacket
|
||||
|
||||
ble = BLERadio()
|
||||
uart_service = UARTService()
|
||||
|
|
|
|||
|
|
@ -10,13 +10,14 @@ import board
|
|||
import busio
|
||||
import digitalio
|
||||
import adafruit_lis3dh
|
||||
from adafruit_ble import BLERadio
|
||||
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
|
||||
from adafruit_ble.services.nordic import UARTService
|
||||
import neopixel
|
||||
|
||||
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
|
||||
|
||||
|
||||
def scale(value):
|
||||
"""Scale an value from (acceleration range) to 0-255 (RGB range)"""
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@ and updates a Circuit Playground to show the history of the received packets.
|
|||
import board
|
||||
import neopixel
|
||||
|
||||
from adafruit_ble import BLERadio
|
||||
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
|
||||
from adafruit_ble.services.nordic import UARTService
|
||||
|
||||
# Only the packet classes that are imported will be known to Packet.
|
||||
from adafruit_bluefruit_connect.packet import Packet
|
||||
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_PIXELS = 10
|
||||
np = neopixel.NeoPixel(board.NEOPIXEL, NUM_PIXELS, brightness=0.1)
|
||||
next_pixel = 0
|
||||
|
|
|
|||
|
|
@ -6,13 +6,15 @@ This example acts as a keyboard to peer devices.
|
|||
import sys
|
||||
import time
|
||||
|
||||
from adafruit_hid.keyboard import Keyboard
|
||||
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
|
||||
|
||||
import adafruit_ble
|
||||
from adafruit_ble.advertising import Advertisement
|
||||
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
|
||||
from adafruit_ble.services.standard.hid import HIDService
|
||||
from adafruit_ble.services.standard.device_info import DeviceInfoService
|
||||
from adafruit_hid.keyboard import Keyboard
|
||||
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
|
||||
|
||||
|
||||
# Use default HID descriptor
|
||||
hid = HIDService()
|
||||
|
|
|
|||
Loading…
Reference in a new issue