"""
report_id = report_id or self.report_ids[0]
device_path = self.get_device_path(report_id)
- with open(device_path, "rb+", encoding="utf-8") as fd:
+ with open(device_path, "rb+") as fd:
if report_id > 0:
report = bytearray(report_id.to_bytes(1, "big")) + report
fd.write(report)
Return `None` if nothing received.
"""
device_path = self.get_device_path(report_id or self.report_ids[0])
- with open(device_path, "rb+", encoding="utf-8") as fd:
+ with open(device_path, "rb+") as fd:
os.set_blocking(fd.fileno(), False)
report = fd.read(self.out_report_lengths[0])
if report is not None:
),
usage_page=0x1,
usage=0x02,
- report_ids=[2],
+ report_ids=[0x02],
in_report_lengths=[4],
out_report_lengths=[0],
)
),
usage_page=0x1,
usage=0x02,
- report_ids=[1],
+ report_ids=[0],
in_report_lengths=[4],
out_report_lengths=[0],
)
# $ echo 120 > configs/c.1/MaxPower
# """
- for i, device in enumerate(requested_devices):
- config_root = "%s/configs/device.%s" % (this.gadget_root, i + 1)
+ for device in requested_devices:
+ config_root = "%s/configs/device.1" % this.gadget_root
Path("%s/" % config_root).mkdir(parents=True, exist_ok=True)
Path("%s/strings/0x409" % config_root).mkdir(parents=True, exist_ok=True)
Path("%s/strings/0x409/configuration" % config_root).write_text(
# e.g.::
#
# $ ln -s functions/ncm.usb0 configs/c.1 """
- Path("%s/hid.usb%s" % (config_root, report_id)).symlink_to(function_root)
+ try:
+ Path("%s/hid.usb%s" % (config_root, report_id)).symlink_to(
+ function_root
+ )
+ except FileNotFoundError:
+ pass
# """ 5. Enabling the gadget
# ----------------------
# Such a gadget must be finally enabled so that the USB host can enumerate it.