From d4ff50a37f6e611648709e099d8ef58371a28232 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Mon, 27 Jan 2020 17:07:07 -0500 Subject: [PATCH] Make DeviceInfoService handle remote services --- adafruit_ble/services/standard/device_info.py | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/adafruit_ble/services/standard/device_info.py b/adafruit_ble/services/standard/device_info.py index f7ddc77..a8ca737 100644 --- a/adafruit_ble/services/standard/device_info.py +++ b/adafruit_ble/services/standard/device_info.py @@ -41,7 +41,6 @@ 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)