Commit graph

1347 commits

Author SHA1 Message Date
Yuuichi Akagawa e81b04519c Hub commented out 2021-01-29 07:33:17 +09:00
Yuuichi Akagawa 66b03d99d6 Fix for handling MIDI channels in the bidirectional converter example (#586) 2021-01-29 07:26:53 +09:00
Kristian Sloth Lauszus b4bbfecd09 Store the timestamp of the last Bluetooth DATA input report received on the interrupt channel
This can be used detect if the connection to a Bluetooth device is lost fx if the battery runs out or it gets out of range
2021-01-26 23:43:59 +01:00
Kristian Sloth Lauszus 8758b2fc25
Merge pull request #591 from felis/fixes
Minor fixes
2021-01-24 15:41:06 +01:00
Kristian Sloth Lauszus 97eb09d43f
Merge pull request #590 from felis/xboxonesbt_rumble
Added support for rumble functionality on the Xbox One S controller via Bluetooth
2021-01-24 15:40:03 +01:00
Kristian Sloth Lauszus e82f26db7a Fix compiler warning 2021-01-24 14:41:21 +01:00
Kristian Sloth Lauszus a3e52f8ee6 Fixed typo 2021-01-24 14:40:25 +01:00
Kristian Sloth Lauszus 785886eadf The user function was called twice in the PS4BT and XBOXONESBT drivers 2021-01-24 14:36:45 +01:00
Kristian Sloth Lauszus 3915e96962 Added support for rumble functionality on the Xbox One S controller via Bluetooth 2021-01-24 14:33:44 +01:00
Kristian Sloth Lauszus 5af56accc3
Merge pull request #585 from felis/ps5
Added support for the PS5 controller
2021-01-19 22:36:05 +01:00
Kristian Sloth Lauszus 534fdb30ce Updated documentation, as the PS5 controller is now working via USB and Bluetooth 2021-01-19 20:40:06 +01:00
Kristian Sloth Lauszus fdb0ee31e7 Do not try to parse the PS5 status byte for now 2021-01-19 20:29:04 +01:00
Kristian Sloth Lauszus 9a0a4940b3 Setting the LED, lightbar, rumble via Bluetooth is now working 2021-01-19 20:28:47 +01:00
Kristian Sloth Lauszus 28a75dea6b PS5 is now also working via Bluetooth
However the output report is still not working
2021-01-17 23:35:10 +01:00
Kristian Sloth Lauszus ee7bf6e5a0 PS5 controller is now working via USB 2021-01-17 20:28:57 +01:00
Kristian Sloth Lauszus fba77f9119
Merge pull request #584 from DanielGibson/unify-hidcomposite-hiduniversal
Unify HIDComposite and HIDUniversal
2021-01-17 17:47:29 +01:00
Daniel Gibson 4214caff70 Derive HIDUniversal from HIDComposite
They were mostly the same, I only had to keep the original
version of Poll() because while the differences are very small,
I don't think that unifying them is possible without needlessly
complicating things.
For this to work I had to make the private fields of HIDComposite
protected instead. I took the "+1" in HIDInterface::epIndex[]
from the original HIDUniversal class.
2021-01-13 15:46:46 +01:00
Daniel Gibson 323de96d6e HIDUniversal: Remove unused member and methods
With the comparing buffer/removing duplicates functionality gone,
prevBuf, BuffersIdentical() and SaveBuffer() aren't used anymore.
2021-01-13 10:59:35 +01:00
tomasyk f66d02d608 Remove comparing bufffer functionality
I am using HID for Oregon Scientific WMRS200, and polling reports removed any sequence of 2 or more identical characters, e.g. instead valid sequence
FF FF 0 42 0 B8 0 2C 3C 0 0 0 62 1
i get
FF 0 42 0 B8 0 2C 3C 0 62 1
There is no need to compare previous buffer with current buffer, as they can be identical and still this should not be ignored. My sequences are built from smaller sequences, where first byte is lenght of sequence to concatenate. Usually it is concatenated from sequences of 1 byte. E.g. 01 FF, 01 FF, 01 00, 01 42 etc. But current code is filtering second 01 FF and result is only one FF in sequence, instead of FF FF. Filtering is not needed, because data are obtained using inTransfer.
2021-01-13 10:56:16 +01:00
Kristian Sloth Lauszus a60d277427
Merge pull request #583 from DanielGibson/fix-hidInterfaces-overflow
HIDUniversal, HIDComposite: Don't overflow hidInterfaces[] or epInfo[]
2021-01-13 10:25:01 +01:00
Daniel Gibson 3658dc68f3 Increase USBHID::maxHidInterfaces from 3 to 5
It's not that uncommon to have more than three HID interfaces in a
USB device - even an Arduino Leonardo (or Pro Micro) always has
two just for the CDC; if you add a Boot Keyboard HID interface and
one generic HID interface for consumer control (multimedia) keys
you already have four..
Many commercial gaming keyboards also have more then three interfaces
(I don't think they really need that many but it is what it is).
2021-01-13 08:59:33 +01:00
Daniel Gibson 6d7984ade2 Log info when not adding Interface/Endpoint because max is reached 2021-01-13 07:14:36 +01:00
Kristian Sloth Lauszus a1dd6ff890
Merge pull request #574 from dmadison/xbox-core
Add Xbox Core Controller PID
2021-01-12 21:09:05 +01:00
Daniel Gibson 59af2be74f HIDUniversal, HIDComposite: Don't overflow hidInterfaces[] or epInfo[]
If a connected device has more than 3 (maxHidInterfaces) HID interfaces,
which is not unusual with modern keyboards, EndpointXtract() wrote
beyond the hidInterfaces[] array and corrupted bHasReportId, PID + VID.

The same could happen with the epInfo[] array.
Now this is fixed by checking bNumIface/bNMumEP before adding new
elements to those arrays.
2021-01-12 01:42:48 +01:00
Kristian Sloth Lauszus 757f428234 Release version 1.4.0 2021-01-07 20:54:46 +01:00
David Madison 4dfda5a151 Add Xbox Core Controller PID 2020-12-08 13:21:59 -05:00
Kristian Sloth Lauszus 9d41161c12
Merge pull request #571 from YuuichiAkagawa/pr_midi_serial_flush
Add Serial.flush() option for MIDI examples
2020-12-03 17:20:16 +01:00
Yuuichi Akagawa c43e08b445 Add Serial.flush() option for MIDI examples 2020-12-02 00:29:56 +09:00
Kristian Sloth Lauszus 1ee088bcad
Merge pull request #566 from YuuichiAkagawa/pr_usbh_midi_050
Pr usbh midi 050
2020-11-23 14:38:17 +01:00
Yuuichi Akagawa bfe134bf39 Added a link to the article 2020-11-23 21:51:36 +09:00
Yuuichi Akagawa cf0fad4045 Change to Windows style enumeration process.
Some devices return only 8 bytes of Device Descriptor by default address.
(e.g. Novation Circuit)
2020-11-23 20:08:07 +09:00
Yuuichi Akagawa 86ac217305 Update vender specific code for Novation 2020-11-23 09:59:31 +09:00
Kristian Sloth Lauszus f8217818a5 Updated link to James's PS4 guides 2020-11-18 20:22:02 +01:00
Kristian Sloth Lauszus 4e8d5e8a06 Always generate the documentation, so it is always in sync with the master branch 2020-11-18 20:20:53 +01:00
Kristian Sloth Lauszus c8ef5d5550 Check out the repo before generating the documentation 2020-11-18 19:42:13 +01:00
Kristian Sloth Lauszus 2c82f4e4c6 Forgot to add sudo when installing documentation dependencies 2020-11-18 19:06:27 +01:00
Kristian Sloth Lauszus 718596a7f7
Merge pull request #564 from felis/teensy4x
Added support for Teensy 4.0 and 4.1
2020-11-18 18:33:38 +01:00
Kristian Sloth Lauszus 9f92baf191 Use Github actions, as Travis is too slow 2020-11-18 17:38:05 +01:00
Kristian Sloth Lauszus e78795af22 Only use spi4teensy3 on Teensy 3.x 2020-11-17 19:52:56 +01:00
Kristian Sloth Lauszus 71aeadeab1 Added support for Teensy 4.0 and 4.1
Fixes #529, fixes #560
2020-11-17 15:23:26 +01:00
Kristian Sloth Lauszus 23ba34da47
Merge pull request #517 from fraca7/control-report-callback
Add a ParseBTHIDControlData virtual method similar to ParseBTHIDData,
2020-11-16 12:58:29 +01:00
Kristian Sloth Lauszus 1399dbf639
Merge pull request #471 from felis/XBOXONES
Xbox One S controller support
2020-11-16 09:31:36 +01:00
Kristian Sloth Lauszus 0519b43456 Do not compile the bidirectional_converter.ino for Teensy 3.5 and 3.6, as there is some conflict with the MIDI library
See: https://travis-ci.org/github/felis/USB_Host_Shield_2.0/jobs/743787235
2020-11-15 23:36:05 +01:00
Kristian Sloth Lauszus 96aae6667b Do not compile the Wii.ino example on the Arduino Uno, as it will not fit 2020-11-15 23:36:05 +01:00
Kristian Sloth Lauszus 1121d8d9ad Updated my email and full name 2020-11-15 23:36:05 +01:00
Kristian Sloth Lauszus edc5198976 Fix 'warning: this statement may fall through [-Wimplicit-fallthrough=]'
Closes #532
2020-11-15 23:27:29 +01:00
Kristian Sloth Lauszus 30931efed8 Merge remote-tracking branch 'origin/master' into XBOXONES 2020-11-15 23:25:04 +01:00
Kristian Sloth Lauszus e101482478 Updated Travis to use Python 3.9 and added the 'XBOXONESBT.ino' example 2020-11-15 19:30:54 +01:00
Kristian Sloth Lauszus f500cc9b4c Only use simple pairing with the Xbox One S controller, as it did not work with the PS4 2020-11-15 19:18:57 +01:00
Kristian Sloth Lauszus 102746ef6b Xbox One S controller support is now finally working 2020-11-15 19:14:30 +01:00