From 312fd5f839059773982378177beacae0bc28385c Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Aug 2021 22:57:11 +0700 Subject: [PATCH] fix hid_test.py for hid inout to correctly preceeded with dummy reportID add note for install hidapi on windows --- examples/device/hid_generic_inout/hid_test.py | 5 +++- examples/device/hid_generic_inout/src/main.c | 26 ++++++++++++------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/examples/device/hid_generic_inout/hid_test.py b/examples/device/hid_generic_inout/hid_test.py index c89d89062..a42930fb5 100644 --- a/examples/device/hid_generic_inout/hid_test.py +++ b/examples/device/hid_generic_inout/hid_test.py @@ -11,7 +11,10 @@ for dict in hid.enumerate(USB_VID): if dev: while True: # Get input from console and encode to UTF8 for array of chars. - str_out = input("Send text to HID Device : ").encode('utf-8') + # hid generic inout is single report therefore by HIDAPI requirement + # it must be preceeded with 0x00 as dummy reportID + str_out = b'\x00' + str_out += input("Send text to HID Device : ").encode('utf-8') dev.write(str_out) str_in = dev.read(64) print("Received from HID Device:", str_in, '\n') diff --git a/examples/device/hid_generic_inout/src/main.c b/examples/device/hid_generic_inout/src/main.c index 65874f483..32185560e 100644 --- a/examples/device/hid_generic_inout/src/main.c +++ b/examples/device/hid_generic_inout/src/main.c @@ -36,16 +36,24 @@ * * There are 2 ways to test the sketch * 1. Using nodejs - * - Install nodejs and npm to your PC - * - Install excellent node-hid (https://github.com/node-hid/node-hid) by - * $ npm install node-hid - * - Run provided hid test script - * $ node hid_test.js + * - Install nodejs and npm to your PC * - * 2. Using python hidRun - * - Python and `hid` package is required, for installation please follow https://pypi.org/project/hid/ - * - Run provided hid test script to send and receive data to this device. - * $ python3 hid_test.py + * - Install excellent node-hid (https://github.com/node-hid/node-hid) by + * $ npm install node-hid + * + * - Run provided hid test script + * $ node hid_test.js + * + * 2. Using python + * - Install `hid` package (https://pypi.org/project/hid/) by + * $ pip install hid + * + * - hid package replies on hidapi (https://github.com/libusb/hidapi) for backend, + * which already available in Linux. However on windows, you may need to download its dlls from their release page and + * copy it over to folder where python is installed. + * + * - Run provided hid test script to send and receive data to this device. + * $ python3 hid_test.py */ //--------------------------------------------------------------------+