Robert Fisk
ed130705c1
Enable all config options by default
7 years ago
Robert Fisk
19f91b391d
Build options complete & tested:
...
- Implement SCSI WP flag in mode parameter header
- Refactor #ifdef names
- #ifdef out more HID code
7 years ago
Robert Fisk
d629327ae4
Implemented optional build for mass storage, keyboard, and mouse
...
(Upstream). Also implemented read-only mass storage mode.
Todo:
- Test. Everything!!!
- Report write protect flag in SCSI "mode parameter header" (whatever
that is)
7 years ago
Robert Fisk
0e1dba7c46
After an epic battle, suspend/resume/wakeup is now supported.
...
It turns out that suspend support on the STM32 USB core is buggy as
heck. Host mode cannot resume after suspend, and device mode cannot
receive resume or send wakeup signalling.
I managed to fake resume support by keeping Downstream and our connected
device running at full power, and simulating a wakeup event to the host
by disconnecting/reconnecting Upstream from the host.
8 years ago
Robert Fisk
e78c526cb8
Keyboard support implemented, but not tested
8 years ago
Robert Fisk
34b152cce9
Incomplete and untested implementation of keyboard support
...
Conflicts:
Upstream/Upstream Debug.launch
8 years ago
Robert Fisk
518b728f1d
Implement multi-PID support so that Windows will recognise each device
...
class as a separate device.
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
b0558e0eec
Work on Downstream HID support. Also a bunch of random tweaks.
9 years ago
Robert Fisk
96baff5603
Upstream HID mouse support probably done, not tested yet.
9 years ago
Robert Fisk
f3109d9d43
Mouse Upstream code half-done.
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
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
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
d48815d8d9
IT. WORKS. !!!!!!!
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
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
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
b271e038a3
More refactoring in Upstream project
9 years ago
Robert Fisk
4350666330
Refactor a bunch of stuff in Upstream project to avoid endless confusion
...
with Downstream project.
Also fixed a couple of things in upstream_spi.c and
upstream_interface_msc.c but due to file rename the diff is not
obvious...
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
69d1490faa
Upstream debugged and working again, emulating a 128MB storage device.
...
Implemented mock downstream_interface_msc.c for debugging purposes.
Multiple bugfixes and tweaks to:
- downstream_interface_msc.c
- downstream_spi.c
- usbd_core.c
- usbd_msc.c
- usbd_msc_scsi.c
- stm32f4xx_hal_pcd.c
9 years ago
Robert Fisk
d3da69eb07
Draft implementation of downstream SPI interface. Significant mods
...
required to USB MSC class, mainly in usbd_msc_scsi.c. Currently
untested!
9 years ago
Robert Fisk
6d7d86b2f5
Initial commit!
...
Upstream (device) firmware builds, emulates a small USB block device
filled with zeroes.
10 years ago