1
0
mirror of https://github.com/gdsports/USBHost_t36 synced 2024-11-21 16:45:04 -05:00
Commit Graph

174 Commits

Author SHA1 Message Date
Paul Stoffregen
75cb233db6 Merge pull request #7 from KurtE/String_Buffer_devices_contribute
String buffers - Devices contribute buffers
2017-10-19 16:38:04 -07:00
Kurt Eckhardt
4e2ea2d96e String buffers - Devices contribute buffers
instead of having each HUB have 7 buffers, which can eat up space.  We have each main object contribute currently one string buffer, which than when we initialize a Device_t we try to allocate one for it, likewise we release it when the Device is released.

Hopefully less memory needed.

Also updated such that the HIDInput classes can not retrieve these strings.

Changed test program to now also have list of HIDInput objects and when I detect a new one, I again print out info on it...
2017-10-19 14:57:52 -07:00
PaulStoffregen
57ca257e9b AntPlus from Michael McElligott (work in progress...) 2017-10-16 06:06:51 -07:00
PaulStoffregen
f1bb020282 Fix print() & println() conflict with Arduino Print class 2017-10-15 13:11:46 -07:00
Paul Stoffregen
b82efa836e Merge pull request #6 from KurtE/Keyboard-Power_and_other_special_keys
Keyboard power and other special keys
2017-10-15 06:54:42 -07:00
PaulStoffregen
9840e82db8 FTDI transmit, improve performance for fast output 2017-10-15 06:00:53 -07:00
PaulStoffregen
5575f9fcae FTDI transmit, add partial packet output 2017-10-15 04:28:07 -07:00
PaulStoffregen
b58d4c7191 FTDI transmit, full packets only 2017-10-15 02:39:36 -07:00
Kurt Eckhardt
40cb6322ac WIP - Add Strings to device structure
Added the ability to query the
Manufactur, product name and serial number strings from a device.

WIP - Eats up lots of memory, next up experiment move from Device_t object to maybe top level objects.  Probably fewer than them as each hub allocates something like 7 Device objects
2017-10-14 14:27:09 -07:00
Kurt Eckhardt
03a7150872 Display Vendor/Product ID on connect 2017-10-14 08:16:11 -07:00
PaulStoffregen
3a43ebf73b FTDI serial receive working, still no transmit 2017-10-14 05:12:52 -07:00
Kurt Eckhardt
9abafa6106 Example: Show which drivers are active
I was wondering which drivers were in use, so now print when they are connected or disconnected
2017-10-13 12:25:24 -07:00
PaulStoffregen
2b8ca63069 FTDI serial config & receive (still work in progress) 2017-10-13 05:56:18 -07:00
PaulStoffregen
ac06c74291 Begin FTDI serial driver 2017-10-12 20:06:59 -07:00
Kurt Eckhardt
3c34cc2f6f Work around for MS keyboard
I updated the keyboard extras to detect if the report ID is 0xff00 and if so ignore it in the Mouse extras process code.  This helped not handling a lot of extra messages generated by MS keyboard.

Also updated Test app to show names of some of these special keys.
2017-10-12 19:23:02 -07:00
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.
2017-10-12 10:27:41 -07:00
PaulStoffregen
0e35681c48 Add idVendor() & idProduct() to HID parser class 2017-10-09 14:21:30 -07:00
PaulStoffregen
adc8a3239f Query device status, idVendor and idProduct 2017-10-08 13:12:35 -07:00
PaulStoffregen
d3b6abe878 Keyboard LEDs and data parsing (Kurt & Frank) 2017-10-08 12:56:39 -07:00
PaulStoffregen
5ea0d568a1 Fix scheduling of hub control transfers 2017-10-08 05:25:39 -07:00
PaulStoffregen
1e6d0db268 Do not let HID parser claim boot protocol keyboards 2017-10-08 03:37:00 -07:00
PaulStoffregen
2b0fda8a11 Fix device list of drivers in use 2017-10-08 03:35:20 -07:00
PaulStoffregen
a1cde4e568 Print less low-level EHCI info when USBHOST_PRINT_DEBUG defined 2017-10-08 02:18:03 -07:00
PaulStoffregen
a44e342703 Fix order of deferred hub control transfers (KurtE)
https://forum.pjrc.com/threads/45740-USB-Host-Mouse-Driver?p=155745&viewfull=1#post155745
2017-10-07 20:45:38 -07:00
Paul Stoffregen
34b7dc5f51 Merge pull request #3 from KurtE/PS3-Usage-Pointer-issue
PS3 - Right Joystick does not work
2017-09-14 14:47:22 -07:00
Kurt Eckhardt
6bec8b60ee PS3 - Right Joystick does not work
There is an issue with the extra items added to the report after the main known items.

Problem was HID report descriptor does something like:
Usage Page; Desktop  (01)
Usage: 01  (Pointer)
Count xxx

Problem is the Usage values below 0x20 appear to have some other standard meaning.   Which you can see in
http://www.usb.org/developers/hidpage/Hut1_12v2.pdf

So current fix is to ignore Usage values passed in < 0x20...
Appears to fix PS3 Right joystick
2017-09-13 18:40:40 -07:00
Paul Stoffregen
8fe975bc66 Merge pull request #2 from KurtE/joystick-testing
PS4 support
2017-09-12 16:14:02 -07:00
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
2017-09-12 06:57:19 -07:00
PaulStoffregen
6e34e81fcf Add Joystic driver 2017-09-11 18:32:16 -07:00
PaulStoffregen
769f3120ee Remove old mouse code 2017-09-11 17:54:43 -07:00
PaulStoffregen
356700d9d5 Add special PS3 start command to HID parser 2017-09-11 12:09:14 -07:00
PaulStoffregen
fbd0c51992 Opps, don't try to use null pipe in hid parser 2017-09-11 11:02:02 -07:00
PaulStoffregen
78a466c362 Fix adding pipes to periodic schedule 2017-09-11 05:52:08 -07:00
PaulStoffregen
f58ed079a6 Mouse using HID parser 2017-09-10 03:48:10 -07:00
PaulStoffregen
1259027ebc Disallow claim of USBDriver with non-NULL device, even if on available_drivers list 2017-09-10 01:53:50 -07:00
PaulStoffregen
c2adf01769 Add some comments 2017-09-09 18:01:56 -07:00
PaulStoffregen
c94c873bb2 Handle report IDs in HID parser 2017-09-09 12:14:22 -07:00
PaulStoffregen
d9ad2cc78f Generic HID parser, initial commit 2017-09-09 11:17:50 -07:00
PaulStoffregen
6938b46086 Fix compiler warnings 2017-08-24 13:55:11 -07:00
PaulStoffregen
99ec892dd7 Add Mouse driver from wwatson (part 2) 2017-08-24 13:50:03 -07:00
PaulStoffregen
75ac4d21e6 Add Mouse driver from wwatson
https://forum.pjrc.com/threads/45740-USB-Host-Mouse-Driver
2017-08-24 13:41:39 -07:00
PaulStoffregen
e345c0360d Add error recovery for async schedule errors & halted pipes 2017-07-02 02:15:43 -07:00
PaulStoffregen
50016717b3 Fix periodic list init when diffent sizes used 2017-03-29 17:33:37 -07:00
PaulStoffregen
c70cf5fef6 Update Test example slightly 2017-03-07 07:47:02 -08:00
PaulStoffregen
6bacbaf537 Convert to Arduino library format 2017-03-07 07:40:06 -08:00
PaulStoffregen
f3d503259c Add public API for Keyboard driver 2017-03-07 07:22:57 -08:00
PaulStoffregen
650ff7eeec Add public API for MIDI driver 2017-03-07 05:42:29 -08:00
PaulStoffregen
3355eab2a2 Add documentation (in source code comments) 2017-03-06 06:03:07 -08:00
PaulStoffregen
5935deb8ce Device driver constructors compatible with UHS library 2017-03-06 04:36:48 -08:00
PaulStoffregen
a805d7552e Add Task function 2017-03-06 04:15:23 -08:00