Merge pull request #65 from dhalbert/update-dis

Make DeviceInfoService handle remote services
This commit is contained in:
Scott Shawcroft 2020-01-27 15:23:49 -08:00 committed by GitHub
commit 7adbb88c96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -41,7 +41,6 @@ __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_BLE.git"
class DeviceInfoService(Service):
"""Device information"""
uuid = StandardUUID(0x180a)
default_field_name = "device_info"
model_number = FixedStringCharacteristic(uuid=StandardUUID(0x2a24))
serial_number = FixedStringCharacteristic(uuid=StandardUUID(0x2a25))
firmware_revision = FixedStringCharacteristic(uuid=StandardUUID(0x2a26))
@ -49,22 +48,25 @@ class DeviceInfoService(Service):
software_revision = FixedStringCharacteristic(uuid=StandardUUID(0x2a28))
manufacturer = FixedStringCharacteristic(uuid=StandardUUID(0x2a29))
def __init__(self, *, manufacturer,
software_revision,
def __init__(self, *,
manufacturer=None,
software_revision=None,
model_number=None,
serial_number=None,
firmware_revision=None,
hardware_revision=None):
if model_number is None:
model_number = sys.platform
if serial_number is None:
serial_number = binascii.hexlify(microcontroller.cpu.uid).decode('utf-8') # pylint: disable=no-member
if firmware_revision is None:
firmware_revision = os.uname().version
hardware_revision=None,
service=None):
if not service:
if model_number is None:
model_number = sys.platform
if serial_number is None:
serial_number = binascii.hexlify(microcontroller.cpu.uid).decode('utf-8') # pylint: disable=no-member
if firmware_revision is None:
firmware_revision = os.uname().version
super().__init__(manufacturer=manufacturer,
software_revision=software_revision,
model_number=model_number,
serial_number=serial_number,
firmware_revision=firmware_revision,
hardware_revision=hardware_revision)
hardware_revision=hardware_revision,
service=service)