Skip to content

Commit 928160d

Browse files
committed
Fix HID for iOS
1 parent f0bd266 commit 928160d

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

adafruit_ble/characteristics/__init__.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ def __bind_locally(self, service, initial_value):
125125
initial_value = bytes(self.max_length)
126126
max_length = self.max_length
127127
if max_length is None and initial_value is None:
128-
max_length = 20
129-
initial_value = bytes(max_length)
130-
if max_length is None:
128+
max_length = 0
129+
initial_value = b""
130+
elif max_length is None:
131131
max_length = len(initial_value)
132132
return _bleio.Characteristic.add_to_service(
133133
service.bleio_service, self.uuid.bleio_uuid, initial_value=initial_value,
@@ -141,6 +141,8 @@ def __get__(self, service, cls=None):
141141

142142
def __set__(self, service, value):
143143
self._ensure_bound(service, value)
144+
if value == None:
145+
value = b""
144146
bleio_characteristic = service.bleio_characteristics[self.field_name]
145147
bleio_characteristic.value = value
146148

adafruit_ble/services/standard/device_info.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ def __init__(self, *, manufacturer,
5353
software_revision,
5454
model_number=None,
5555
serial_number=None,
56-
firmware_revision=None):
56+
firmware_revision=None,
57+
hardware_revision=None):
5758
if model_number is None:
5859
model_number = sys.platform
5960
if serial_number is None:
@@ -65,4 +66,5 @@ def __init__(self, *, manufacturer,
6566
software_revision=software_revision,
6667
model_number=model_number,
6768
serial_number=serial_number,
68-
firmware_revision=firmware_revision)
69+
firmware_revision=firmware_revision,
70+
hardware_revision=hardware_revision)

adafruit_ble/services/standard/hid.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ class HIDService(Service):
140140
hid = HIDServer()
141141
"""
142142
uuid = StandardUUID(0x1812)
143-
default_field_name = "hid"
144143

145144
boot_keyboard_in = Characteristic(uuid=StandardUUID(0x2A22),
146145
properties=(Characteristic.READ |
@@ -191,7 +190,7 @@ class HIDService(Service):
191190
max_value=1)
192191
"""Controls whether the device should be suspended (0) or not (1)."""
193192

194-
def __init__(self, hid_descriptor):
193+
def __init__(self, hid_descriptor=None, service=None):
195194
super().__init__(report_map=hid_descriptor)
196195
self._init_devices()
197196

@@ -279,10 +278,3 @@ def get_report_info(collection, reports):
279278
if input_size > 0:
280279
self.devices.append(ReportIn(self, report_id, usage_page, usage,
281280
max_length=input_size // 8))
282-
283-
284-
@classmethod
285-
def from_remote_service(cls, remote_service):
286-
"""Creates a HIDService from a remote service"""
287-
self = super(cls).from_remote_service(remote_service)
288-
self._init_devices() # pylint: disable=protected-access

0 commit comments

Comments
 (0)