Robert Fisk
b3e3931b75
Minor fix for startup hardware-detection function
8 years ago
Robert Fisk
7e073a091d
Sleep instead of busy-wait, approx 50% power reduction!
8 years ago
Robert Fisk
b30b82e27b
Improve HID parser error checking
9 years ago
Robert Fisk
b8f10b6496
Improve handling of >8bit input values
9 years ago
Robert Fisk
639464493b
Improved HID report parser compatibility
9 years ago
Robert Fisk
655b0e56a8
Support disconnect/reconnect of attached HID device
9 years ago
Robert Fisk
056932d6bc
HID report parser now handles collections.
9 years ago
Robert Fisk
4b9607dbc3
HID parser and wheel support works!
9 years ago
Robert Fisk
35d54056c4
Implemented HID report parser. Untested!
9 years ago
Robert Fisk
7fb0a7e7ad
Fixed click-drag issue.
...
TODO: find out why 8-byte device interrupt endpoints totally fail.
WTF???
9 years ago
Robert Fisk
4186630689
More work on enumerating cheap POS mice, arrrrgh.
...
Added timeout checks and retry functionality to control transaction
state machine. But some times the device just won't talk, so we flash
the fault LED slowly to give the user some clue about what happened.
9 years ago
Robert Fisk
ae8284e800
Fixed enumeration issues with low-speed devices:
...
- Unexpected second port-connected interrupt on cold boot with low-speed
device connected.
- Retry on failure to get device descriptor. (We still fail after three
attempts, but that is better than failing after the first one!)
Also changed eclipse project to use external builder.
9 years ago
Robert Fisk
979011bba5
Mouse WORKS!11111 ...but only in boot mode, so no scroll wheel :(
9 years ago
Robert Fisk
b2d9b6fced
Restructure & bugfix Upstream HID. Still some issue with Downstream...
9 years ago
Robert Fisk
b950c3173e
Upstream HID bugfixes.
9 years ago
Robert Fisk
31b434131a
Downstream HID SPI interface done, untested.
9 years ago
Robert Fisk
e9ffbe2748
Downstream mouse support working!
9 years ago
Robert Fisk
b0558e0eec
Work on Downstream HID support. Also a bunch of random tweaks.
9 years ago
Robert Fisk
7426c396e5
Supported device classes that fail sanity checks are now reported with a
...
slow 'unsupported device' flash, rather than a fast 'freakout' flash.
9 years ago
Robert Fisk
cb6a861341
Implement flash write lockout by spamming the unlock register, then
...
checking that the correct unlock sequence fails.
9 years ago
Robert Fisk
1262c5337a
All tabs to spaces
9 years ago
Robert Fisk
08e6846cc5
Add missing option to clock configuration
9 years ago
Robert Fisk
21de622469
Added hardware check on bootup: fault LED will light if Upstream
...
firmware is placed on Downstream hardware or vice versa.
9 years ago
Robert Fisk
2983da24b2
Changed Upstream and Downstream SPI transfers back to DMA. DMA works
...
correctly now, either because SPI is in 16-bit mode, or because I found
all the other bugs!
Doubled SPI baudrate to 10.5Mbps. Transfer speed now limited (again) by
Downstream's lack of FIFO buffering in the USB host controller.
Also disabled DMA transaction half-complete interrupt in
stm32f4xx_hal_dma.c, as it wasn't doing anything useful.
9 years ago
Robert Fisk
226e163adf
Improve Downstream error handling:
...
- Slow flash fault LED when unsupported device connected
- Disconnect downstream USB host on error
9 years ago
Robert Fisk
431a527e24
Tidy up commented DMA init code
9 years ago
Robert Fisk
58308c4a89
Added Mozilla Public License information to file headers.
...
Mozilla Public License v2.0 is compatible with the various licenses used
by ST and ARM.
9 years ago
Robert Fisk
08c8c7a6d6
Code tidyup - remove unused SPI Tx-only and Rx-only routines
9 years ago
Robert Fisk
ce03845623
Completed moving Upstream to interrupt-based SPI.
...
Although I am not entirely convinced this is necessary, as the SPI data
stall issue only appeared with optimisation off (-O0). Perhaps re-visit
this if Upstream needs more free CPU time later...
9 years ago
Robert Fisk
b9cc31d036
Crazy hardware issues, about to revert Upstream SPI from DMA to
...
interrupt transfers
9 years ago
Robert Fisk
48a6c2e2a4
Bugfixes for Downstream, including one in the USB host stack!
...
Downstream now enumerates and accepts attached USB storage devices.
9 years ago
Robert Fisk
750c2f3a21
- Implement notification of Downstream USB device removal, and
...
corresponding Upstream disconnection
- Improve Upstream handling of TxOk signal from Downstream
- Misc tweaks
9 years ago
Robert Fisk
f24714cd8c
Revisit Upstream project to:
...
- Implement Upstream state machine, with Downstream-dependent device
emulation
- Add fault LED flashing
- Improve fault handling and freakouts
- Misc bug fixes
9 years ago
Robert Fisk
fc522bae0a
Added priority elevation to Downstream USB host processing code that
...
interacts with SPI.
It elevates to USB_OTG priority to avoid preemption by SPI, DMA, or USB
interrupts thus avoiding synchronisation issues between USB host stack
and SPI interface.
Also minor improvements to Downstream error handling.
9 years ago
Robert Fisk
c1b2c191c4
Improved Downstream error handling:
...
- More sensible handling of error cases on SPI interface
- Improved Freakout macros
- Implemented automatic fault LED blinking
9 years ago
Robert Fisk
0e1fed6047
Full implementation of Downstream MSC interface, including significant
...
modifications to USB host MSC.
Also, minor tweaks to Upstream.
9 years ago
Robert Fisk
b9b6123642
Commit of Downstream before diving into USB MSC class driver
...
modifications.
Also correct project settings to compile for Cortex M4 architecture.
9 years ago
Robert Fisk
674cb621a7
Initial implementation of Downstream SPI interface and state machine.
9 years ago
Robert Fisk
7b4e4b3c14
Continued polishing work on Downstream project.
9 years ago
Robert Fisk
503d79de56
Streamlining Downstream project
9 years ago
Robert Fisk
55c8a21aad
Initial commit of Downstream template project.
9 years ago