コード例 #1
0
 def __init__(self, uuid128):
     self.bleio_uuid = _bleio.UUID(uuid128)
     self.size = 128
コード例 #2
0
from adafruit_ble.characteristics import Characteristic
from adafruit_ble.characteristics.int import Uint8Characteristic
from adafruit_ble.uuid import StandardUUID

from .. import Service

__version__ = "0.0.0-auto.0"
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_BLE.git"

_HID_SERVICE_UUID_NUM = const(0x1812)
_REPORT_UUID_NUM = const(0x2A4D)
_REPORT_MAP_UUID_NUM = const(0x2A4B)
_HID_INFORMATION_UUID_NUM = const(0x2A4A)
_HID_CONTROL_POINT_UUID_NUM = const(0x2A4C)
_REPORT_REF_DESCR_UUID_NUM = const(0x2908)
_REPORT_REF_DESCR_UUID = _bleio.UUID(_REPORT_REF_DESCR_UUID_NUM)
_PROTOCOL_MODE_UUID_NUM = const(0x2A4E)

_APPEARANCE_HID_KEYBOARD = const(961)
_APPEARANCE_HID_MOUSE = const(962)
_APPEARANCE_HID_JOYSTICK = const(963)
_APPEARANCE_HID_GAMEPAD = const(964)

# pylint: disable=line-too-long
DEFAULT_HID_DESCRIPTOR = (
    b"\x05\x01"  # Usage Page (Generic Desktop Ctrls)
    b"\x09\x06"  # Usage (Keyboard)
    b"\xA1\x01"  # Collection (Application)
    b"\x85\x01"  #   Report ID (1)
    b"\x05\x07"  #   Usage Page (Kbrd/Keypad)
    b"\x19\xE0"  #   Usage Minimum (\xE0)
コード例 #3
0
 def __init__(self, uuid16):
     if not isinstance(uuid16, int):
         uuid16 = struct.unpack("<H", uuid16)[0]
     self.bleio_uuid = _bleio.UUID(uuid16)
     self.size = 16
コード例 #4
0
# beavior. For example, a floating line will prevent the microphone from
# sleeping.
cs = digitalio.DigitalInOut(board.SPI_CSN)
cs.switch_to_output(value=True)

led = digitalio.DigitalInOut(board.LED)
led.switch_to_output(value=False)

# these pins are used as I2C on DVT, but are needed for EVT
#i2s_lrck = digitalio.DigitalInOut(board.I2S_LRCK)
#i2s_lrck.switch_to_output(value=False)
#i2s_sck = digitalio.DigitalInOut(board.I2S_SCK)
#i2s_sck.switch_to_output(value=False)

bluetrace_uuid_bin = unhexlify(bluetrace_uuid)
bluetrace_uuid = _bleio.UUID(bluetrace_uuid_bin)

# Note that the txpower octet (02 0a 00) indicates we're transmitting at 0dBm,
# which is the default transmission power on an nRF52833. There is not yet an
# API available to change this parameter, so it is safe to hardcode it.
advertising_data = b'' \
    + unhexlify('1107') + bluetrace_uuid_bin \
    + unhexlify('020106') \
    + unhexlify('020a00') \
    + unhexlify('06ffff03') + bytearray([
        random.randint(0,256),
        random.randint(0,256),
        random.randint(0,256),
    ]) \
    + b''