Kurt Eckhardt
dbe5292471
Keyboard HID extras plus map extra keys
This delta, adds an extra keyboard object to handle those keys that are not part of the main keyboard class. In particular there are separate HID reports for some of the keys, such as Power keys, and multimedia keys.
These reports might be on separate Interface or in cases where the mouse and keyboard are on the same device, the extra reports may be on the Mouse Interface.
So far I have not tried to combine with Keyboard object as might require multiple inheritance which I would like to avoid.
Also I extended the special key mapping table to map several other keys like F1-12, Arrow, Home/end... To special values where the 0x80 bit is set. I used the same values as used for the Arduino Keyboard library. I did not use their defines as they used defines like KEY_F1, which already exists in core, but in core it is the scan code from the keyboard and not the end user value.
pirms 7 gadiem
PaulStoffregen
0e35681c48
Add idVendor() & idProduct() to HID parser class
pirms 7 gadiem
PaulStoffregen
adc8a3239f
Query device status, idVendor and idProduct
pirms 7 gadiem
PaulStoffregen
d3b6abe878
Keyboard LEDs and data parsing (Kurt & Frank)
pirms 7 gadiem
Kurt Eckhardt
d792ffd2e8
PS4 support
Had to increase size of HID report to 512.
Allow HAT to work 10039
Mouse Example prints out Z, Rz, Ry, Rx and Hat values
pirms 7 gadiem
PaulStoffregen
6e34e81fcf
Add Joystic driver
pirms 7 gadiem
PaulStoffregen
769f3120ee
Remove old mouse code
pirms 7 gadiem
PaulStoffregen
f58ed079a6
Mouse using HID parser
pirms 7 gadiem
PaulStoffregen
1259027ebc
Disallow claim of USBDriver with non-NULL device, even if on available_drivers list
pirms 7 gadiem
PaulStoffregen
d9ad2cc78f
Generic HID parser, initial commit
pirms 7 gadiem
PaulStoffregen
75ac4d21e6
Add Mouse driver from wwatson
https://forum.pjrc.com/threads/45740-USB-Host-Mouse-Driver
pirms 7 gadiem
PaulStoffregen
e345c0360d
Add error recovery for async schedule errors & halted pipes
pirms 7 gadiem
PaulStoffregen
6bacbaf537
Convert to Arduino library format
pirms 7 gadiem
PaulStoffregen
f3d503259c
Add public API for Keyboard driver
pirms 7 gadiem
PaulStoffregen
650ff7eeec
Add public API for MIDI driver
pirms 7 gadiem
PaulStoffregen
3355eab2a2
Add documentation (in source code comments)
pirms 7 gadiem
PaulStoffregen
5935deb8ce
Device driver constructors compatible with UHS library
pirms 7 gadiem
PaulStoffregen
a805d7552e
Add Task function
pirms 7 gadiem
PaulStoffregen
ea75a1c673
Rename header file to USBHost_t36.h
pirms 7 gadiem
PaulStoffregen
b18ee4ea06
Add define to enable/disable all debug printing
pirms 7 gadiem
PaulStoffregen
0443ab8db6
Device drivers contribute the memory they will require
pirms 7 gadiem
PaulStoffregen
3d918a3977
Turn off USB keyboard idle reports
pirms 7 gadiem
PaulStoffregen
86c1bbe6ee
Add reset-enumeration mutual exclusion
pirms 7 gadiem
PaulStoffregen
2e1e9748e0
Hub driver (finally) creates devices
pirms 7 gadiem
PaulStoffregen
05582c91a0
Trim hud driver memory usage
pirms 7 gadiem
PaulStoffregen
ba0e6f495b
Do only 1 control transfer at a time to hubs, clear other change status
pirms 7 gadiem
PaulStoffregen
81f30ecd5f
Begin work in hub port state machine & debounce wait
pirms 7 gadiem
PaulStoffregen
d0ee653192
Restructure hub driver to stateless approach
pirms 7 gadiem
PaulStoffregen
8ee6d28432
Implement driver timers
pirms 7 gadiem
PaulStoffregen
b30d8a4f48
Define timer API for device drivers
pirms 7 gadiem
PaulStoffregen
80225dfe22
Add to periodic sched using interval+offset & binary tree
pirms 7 gadiem
PaulStoffregen
1c5d403aba
Clearer bandwidth allocation code & store in Pipe_t
pirms 7 gadiem
PaulStoffregen
b4905f40ef
Keep list of pipes to be deleted when device disconnects
pirms 7 gadiem
PaulStoffregen
7f44715014
Assign unique, auto-incrementing addresses to USB devices
pirms 7 gadiem
PaulStoffregen
08ed25eb49
Disconnect drivers and free device when cable unplugged
pirms 7 gadiem
PaulStoffregen
af4e4599f4
Begin work on MIDI device driver
pirms 7 gadiem
PaulStoffregen
656765bac6
All debug printing through USBHost class
pirms 7 gadiem
PaulStoffregen
57f958c368
Drivers claim interface & add Keyboard driver claim
pirms 7 gadiem
PaulStoffregen
7756f2f4b7
Begin work on keyboard device driver
pirms 7 gadiem
PaulStoffregen
4eaeb84a82
Parse hub port status, work-in-progress...
pirms 7 gadiem
PaulStoffregen
ce2fafd18c
Minor device driver API simplifications
pirms 7 gadiem
PaulStoffregen
a6352852ed
Respond to hub interrupt pipe by read & clear status
pirms 7 gadiem
PaulStoffregen
252b9a2f24
(bare bones) Interrupt transfer support
pirms 7 gadiem
PaulStoffregen
1b300c9051
Rename transfer functions from "new" to "queue"
pirms 7 gadiem
PaulStoffregen
de69cf9af2
Separate setup data for enumeration & drivers
pirms 7 gadiem
PaulStoffregen
4b2258e5a7
Separate functions for data vs control transfer
pirms 7 gadiem
PaulStoffregen
93c40091da
initialize hubs
pirms 7 gadiem
PaulStoffregen
a45a462931
Rename USB drivers base class
pirms 7 gadiem
PaulStoffregen
5d39664c89
Simplify and document USB device driver interface
pirms 7 gadiem
PaulStoffregen
26fa6f2e34
Use linked list for device's drivers, not fixed size array
pirms 7 gadiem