Fork of USBDevice by
You are viewing an older revision! See the latest version
Homepage
Revision comments for changelist 13¶
USBdevice.cpp¶
- ) Changed DEBUG messages to be more descriptive for string descriptor
- ) Bug fix: Control Transfers did not actually transfer the data from Buffer to transfer->ptr
USBHIDTypes.h¶
- ) Added ALL CLASS request to KEYWORD list
- ) Added KEYWORDS for report type
USBHID.h¶
- ) Added a new constructor to specify size of feature report
- ) Added HID_REPORT inputReport and featureReport
- ) Added data structures to support IDLE rate
- ) Added data structures to support callback functions
USBHID.cpp¶
- ) Changed constructor to initialize new feature data structures
- ) Implemented Set_IDLE/GET_IDLE and the periodic resend of non-changed data
- ) Implemented HID specification required control transfer GET_REPORT
- ) Fixed issue where Intreput transfers and control transfers did not access the same data structures.
- ) Implemented Feature reports
- ) Implemented Callback Hooks for get_report/set_report actions.
- ) Added callback hooks for interupt actions in the new functions.
- ) interupt transfer can now write to outputReport
- ) Modified SET_REPORT code to function for multiple types.
- ) Refactored some code in preperation to add multi report support
Test Number | Test Description | Test Result | Notes | ||||||
1 | Use USBmouse to verify backward compatibility of constructor and methods | Pass | |||||||
2 | Test SET_REPORT can set a feature report | Pass | |||||||
3 | Test GET_REPORT can retrieve a feature report | Pass | |||||||
4 | Test SET_IDLE sets up a reoccuring trigger | Pass | IOCTL_SET_POLL_FREQUENCY_MSEC does not function for the windows HID driver. A Special test program is used to rearm the IDLE rate after windows sets it to zero | ||||||
5 | Test SET_IDLE disables a trigger | Pass | Windows automatically sends this command to a HID device when it is inserted. | ||||||
6 | Enabled DEBUG in USBDevice.cpp and generated str descriptor requests. | Pass | |||||||
7 | Test SET_REPORT can set an output report | Pass | |||||||
8 | Test GET_REPORT can retrieve an output report | Pass | |||||||
9 | ReadFile, accesses the input_report | Pass | |||||||
10 | WriteFile accesses the output_report, via interupt transfer when ep1_out is used. | Pass | |||||||
11 | WriteFile accesses the output_report, via control transfer when ep1_out is NOT used. | Not Tested | |||||||
12 | Callback hooks trigger independently for each type of set_report/get_report | Pass | |||||||
13 | New constructor sets feature_report size | Pass | |||||||
14 | Control transfer SET_REPORT and writeFile access the same data structure | BUG | The same data structure is accessed, but the data transfer size is different. The writeFile strips the leading byte which is the report ID, The Control transfer keeps the byte. | ||||||
15 | Control transfer GET_REPORT and readFile access the same data structure | BUG | The same dtat structure is accessed, but the data transfer size is different. The readFile strips the leading byte which is the report ID, The Control transfer keeps the byte. |