diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2018-01-07 18:38:01 +1100 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2018-01-07 18:38:01 +1100 |
commit | bf630b3add2ed197ec4c9f94f06d4dec4281d09d (patch) | |
tree | b26d041e87bdbd86bb4cca1744e8e9d6c3ebd6b9 /Projects/TempDataLogger/TempLogHostApp_Python | |
parent | 021bad3105a1ae07fff8289f2f5bfe57b7e6c684 (diff) | |
download | lufa-bf630b3add2ed197ec4c9f94f06d4dec4281d09d.tar.gz lufa-bf630b3add2ed197ec4c9f94f06d4dec4281d09d.tar.bz2 lufa-bf630b3add2ed197ec4c9f94f06d4dec4281d09d.zip |
Update other PyWinUSB Python host scripts to use the hidapi library.
Diffstat (limited to 'Projects/TempDataLogger/TempLogHostApp_Python')
-rw-r--r-- | Projects/TempDataLogger/TempLogHostApp_Python/temp_log_config.py | 49 |
1 files changed, 22 insertions, 27 deletions
diff --git a/Projects/TempDataLogger/TempLogHostApp_Python/temp_log_config.py b/Projects/TempDataLogger/TempLogHostApp_Python/temp_log_config.py index b240f1a96..eda06c418 100644 --- a/Projects/TempDataLogger/TempLogHostApp_Python/temp_log_config.py +++ b/Projects/TempDataLogger/TempLogHostApp_Python/temp_log_config.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + """ LUFA Library Copyright (C) Dean Camera, 2018. @@ -25,44 +27,41 @@ import sys from datetime import datetime -import pywinusb.hid as hid - -# Generic HID device VID, PID and report payload length (length is increased -# by one to account for the Report ID byte that must be pre-pended) -device_vid = 0x03EB -device_pid = 0x2063 -report_length = 1 + 7 +import hid def get_hid_device_handle(): - hid_device_filter = hid.HidDeviceFilter(vendor_id=device_vid, - product_id=device_pid) + all_hid_devices = hid.enumerate() - valid_hid_devices = hid_device_filter.get_devices() + lufa_hid_devices = [d for d in all_hid_devices if d['vendor_id'] == 0x03EB and d['product_id'] == 0x2063] - if len(valid_hid_devices) is 0: + if len(lufa_hid_devices) is 0: return None - else: - return valid_hid_devices[0] + + device_handle = hid.device() + device_handle.open_path(lufa_hid_devices[0]['path']) + return device_handle def configure_temp_log_device(device, time_date, log_interval_500ms): + report_data = bytearray(8) + # Report data for the demo is the report ID (always zero) - report_data = [0] + report_data[0] = 0 # Followed by the time/date data - report_data.extend([time_date.hour, time_date.minute, - time_date.second, time_date.day, - time_date.month, time_date.year - 2000]) + report_data[1] = time_date.hour + report_data[2] = time_date.minute, + report_data[3] = time_date.second + report_data[4] = time_date.day, + report_data[5] = time_date.month + report_data[6] = time_date.year - 2000 # Lastly the log interval in 500ms units of time - report_data.extend([log_interval_500ms]) - - # Zero-extend the array to the length the report should be - report_data.extend([0] * (report_length - len(report_data))) + report_data[7] = log_interval_500ms # Send the generated report to the device - device.send_output_report(report_data) + device.write(report_data) def main(time_date, log_interval_500ms): @@ -73,11 +72,7 @@ def main(time_date, log_interval_500ms): sys.exit(1) try: - hid_device.open() - - print("Connected to device 0x%04X/0x%04X - %s [%s]" % - (hid_device.vendor_id, hid_device.product_id, - hid_device.product_name, hid_device.vendor_name)) + print("Connected to device.", flush=True) configure_temp_log_device(hid_device, time_date, log_interval_500ms) |