Michael Smith
febb3906db
machine/rp2: expose usb endpoint stall handling
2025-04-17 10:15:44 +02:00
Ayke van Laethem
a1be8cd9fe
machine/usb/descriptor: avoid bytes package
...
We can't use the bytes package in Go 1.24 since it would result in an
import cycle. Therefore, use bytealg.Index instead.
(I'm not sure this code is correct - just searching for a range of bytes
seems brittle. But at least this commit shouldn't change the code).
2025-02-25 14:41:42 +01:00
sago35
b8420e78bb
machine/usb/adc/midi: fix PitchBend
2024-10-25 06:25:49 +01:00
sago35
f0d523f778
machine/usb/adc/midi: clarify operator precedence
2024-10-25 06:25:49 +01:00
Unrud
815784bd96
machine/usb/descriptor: Reset joystick physical
2024-08-14 18:43:27 +02:00
Unrud
7fc64a27b4
machine/usb/descriptor: Drop second joystick hat
2024-08-14 18:43:27 +02:00
Unrud
c38bf27091
machine/usb/hid/joystick: Allow more hat switches
2024-08-14 18:43:27 +02:00
Unrud
9a2fab8874
machine/usb/descriptor: Add more HID... functions
2024-08-14 18:43:27 +02:00
Unrud
f1516ad3ee
machine/usb/descriptor: Fix encoding of values
...
The limit for positive values is incorrect and leads to an overflow (e.g. 0xFF and 0xFFFF become -1)
2024-08-14 18:43:27 +02:00
Ayke van Laethem
1270a50104
machine: use new internal/binary package
...
The encoding/binary package in Go 1.23 imports the slices package, which
results in circular import when imported from the machine package.
Therefore, encoding/binary cannot be used in the machine package.
This commit fixes that by introducing a new internal/binary package that
is just plain Go code without dependencies. It can be safely used
anywhere (including the runtime if needed).
2024-06-24 21:21:52 +02:00
sago35
2b215955ca
machine/usb: add support for ISERIAL descriptor
2023-11-07 00:11:40 +01:00
deadprogram
9d6eb1ff06
machine/usb/adc/midi: improve implementation to include several new messages
...
such as program changes and pitch bend. Also add error handling for invalid
parameter values such as MIDI channel. This however makes a somewhat breaking
change to the current implementation, in that we now use the typical MIDI user
system of counting MIDI channels from 1-16 instead of from 0-15 as the lower
level USB-MIDI API itself expects.
Also add constant values for continuous controller messages, rename SendCC
function, and add SysEx function.
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-09-07 08:41:57 +02:00
Unrud
0ef86e1534
Add support for HID Keyboard LEDs
2023-08-07 14:00:32 +02:00
sago35
215dd3f0be
machine/usb/hid: rename Handler() to TxHandler()
2023-08-04 09:43:53 +02:00
sago35
c51f5cea0b
machine/usb/hid: add RxHandler interface
2023-08-04 09:43:53 +02:00
sago35
395ee2d338
machine/usb: refactor endpoint configuration
2023-08-02 09:16:29 +02:00
sago35
069e4f0d98
machine/usb: allow USB Endpoint settings to be changed externally
2023-08-02 09:16:29 +02:00
sago35
ad32d26511
machine/usb/hid,joystick: fix hidreport (3) ( #3802 )
...
* machine/usb/hid,joystick: fix hidreport (3) and handling of logical, usage, and physical minimum/maximum values
2023-07-01 11:58:23 +02:00
sago35
d1a45f2efc
machine/usb/hid: fix hidreport (2)
2023-05-14 12:17:01 +02:00
sago35
14fed59827
machine/usb/hid: fix hidreport
2023-05-07 10:25:40 +02:00
deadprogram
1d5c5ca2ef
machine/usb/descriptor: further refactor HID report creation
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-05-05 07:44:03 +02:00
deadprogram
90935703e6
machine/usb/descriptor: rename and export Append() to make it easier to create new descriptors in user code
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-05-05 07:44:03 +02:00
deadprogram
d8ee520bdc
machine/usb/descriptor: refactor HID report creation
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-05-05 07:44:03 +02:00
deadprogram
c70daa2497
machine/usb: move MIDI under usb/adc (Audio Device Class) package
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-04-29 10:06:52 +02:00
sago35
d28b58e4dd
machine/usb/hid/mouse: add support for mouse back and forward
2023-04-28 17:41:00 +02:00
deadprogram
25b03414dc
machine/usb/hid/joystick: handle case where we cannot find the correct HID descriptor
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-04-28 15:15:54 +02:00
deadprogram
2ab7ee6a8a
machine/usb: refactoring descriptors into subpackage for modularity
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-04-28 15:15:54 +02:00
sago35
71b44e79b3
machine/usb/hid/joystick: allow joystick settings override
2023-04-03 00:50:30 +02:00
deadprogram
9e97566b5f
machine/usb/hid/joystick: move joystick under HID as it belongs and also remove duplicate code
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-04-03 00:50:30 +02:00
deadprogram
e8f6df928c
machine/usb: add ability to override default VID, PID, manufacturer name, and product name
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2023-03-22 08:35:42 +01:00
sago35
e21ab04fad
machine/usb/hid: add MediaKey support ( #3436 )
...
machine/usb/hid: add MediaKey support
2023-02-18 01:27:15 +01:00
sago35
5f3534fe72
machine/usb: change to not send before endpoint initialization
2023-01-08 08:44:27 +01:00
irieda
a7ff2731b9
Add USB HID joystick support ( #3366 )
...
machine/usb: add USB HID joystick support
2023-01-07 22:30:40 +01:00
sago35
398c284480
usbhid: change usage-maximum to 0xFF
2022-12-15 18:24:54 +01:00
deadprogram
d56c9f5533
machine/usb: add back New() with deprecation comment to use Port() instead
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2022-10-17 14:46:18 +02:00
deadprogram
3d7f24e26c
machine/usb: rename 'New()' to 'Port()' to have the API better match the singleton that is actually being returned
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2022-10-17 14:46:18 +02:00
Kenneth Bell
8f33721b88
usb: remove allocs in ISR
2022-10-13 23:37:34 +02:00
Ayke van Laethem
c7a23183e8
all: format code according to Go 1.19 rules
...
Go 1.19 started reformatting code in a way that makes it more obvious
how it will be rendered on pkg.go.dev. It gets it almost right, but not
entirely. Therefore, I had to modify some of the comments so that they
are formatted correctly.
2022-08-04 12:18:32 +02:00
sago35
a4b22bd125
usb/midi: add definition of MIDI note number
2022-07-27 16:19:13 +02:00
deadprogram
13ed58950f
machine/usb/midi: add NoteOn, NoteOff, and SendCC methods for more complete API
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2022-07-21 11:05:53 +02:00
deadprogram
15a9e2313a
machine/usb/midi: correct reference to handler function
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2022-07-14 13:25:34 +02:00
deadprogram
3c2d2a93d3
machine/usb: refactorings to move functionality under machine/usb package
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2022-07-14 07:20:50 +02:00
deadprogram
5fdb894760
usb: rename callback to handler to keep consistent
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2022-07-13 12:11:21 +02:00
sago35
8fed063820
usb: add support for midi
2022-07-12 19:13:12 +02:00
sago35
d434058aef
samd21,samd51,nrf52840: move usbcdc to machine/usb/cdc ( #2972 )
...
* samd21,samd51,nrf52840: move usbcdc to machine/usb/cdc
2022-07-10 11:33:52 +02:00
sago35
76bba13963
usbhid: add support for mouse buttons ( #2900 )
...
* usbhid: add support for mouse buttons
2022-06-11 16:11:04 +02:00
sago35
1b2e764835
samd21,samd51,nrf52840: add support for USBHID (keyboard / mouse)
2022-06-11 09:44:09 +02:00