Robert Fisk
92d29f0901
Correctly handle reads/writes after stop command issued.
...
Also correctly report device disconnection if Upstream polls too slowly.
Conflicts:
Downstream/Src/downstream_statemachine.c
Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c
5 years ago
Robert Fisk
1147d2ebf9
Implemented Stop/Eject command passthrough
...
Conflicts:
Downstream/.cproject
Downstream/Inc/downstream_interface_def.h
Downstream/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc.c
Downstream/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc_scsi.c
Downstream/Src/downstream_msc.c
Upstream/Inc/upstream_interface_def.h
Upstream/Inc/upstream_msc.h
Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c
Upstream/Src/upstream_msc.c
5 years ago
Robert Fisk
086158525b
Ignore mass storage commands after receiving SCSI stop/eject
7 years ago
Robert Fisk
1f365434f9
Dont freak out if we get two suspend events in a row
7 years ago
Robert Fisk
3276449378
Tweak HID protocol defines
7 years ago
Robert Fisk
e890e9df7a
Disconnect on SCSI eject command from host
7 years ago
Robert Fisk
f7b7ce84e7
Initial implementation of mouse bot detection
7 years ago
Robert Fisk
cf1d5da8e8
Build options complete & tested:
...
- Implement SCSI WP flag in mode parameter header
- Refactor #ifdef names
- #ifdef out more HID code
8 years ago
Robert Fisk
2cd86a7201
Tweak write protect SCSI sense code
8 years ago
Robert Fisk
3a94c2c863
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)
8 years ago
Robert Fisk
b476df268a
Fixed devices-shrinking-by-one-block problem.
...
So it turns out the SCSI ReadCapacity10 command does not return the
device capacity. It returns the address of the last block, which is
(capacity - 1).
Also fixed Upstream's end-of-device sanity check.
8 years ago
Robert Fisk
2843654ff7
Flush HID endpoint on init.
...
Fixes delayed HID events after failed wakeup attempt.
8 years ago
Robert Fisk
e63525f868
Don't freakout when wakeup-from-sleep fails during keyboard report out.
8 years ago
Robert Fisk
46ecbd410d
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
9b2b8972a4
Incomplete and untested implementation of keyboard support
8 years ago
Robert Fisk
5d393a0100
HID class: handle host restart gracefully
9 years ago
Robert Fisk
6c96824da8
Implement multi-PID support so that Windows will recognise each device
...
class as a separate device.
9 years ago
Robert Fisk
4d9e26b6ef
Upstream HID bugfixes.
9 years ago
Robert Fisk
4c40373a32
Upstream HID mouse support probably done, not tested yet.
9 years ago
Robert Fisk
c3c4d47145
Mouse Upstream code half-done.
9 years ago
Robert Fisk
08068c25d4
Initial commit of ST Cube HID drivers
9 years ago
Robert Fisk
1262c5337a
All tabs to spaces
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
d48815d8d9
IT. WORKS. !!!!!!!
9 years ago
Robert Fisk
b9cc31d036
Crazy hardware issues, about to revert Upstream SPI from DMA to
...
interrupt transfers
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
0e1fed6047
Full implementation of Downstream MSC interface, including significant
...
modifications to USB host MSC.
Also, minor tweaks to Upstream.
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
8f41552214
Updated STM32 library from v1.4.0 to v1.7.0
...
Significant changes to:
- stm32f4xx_hal_spi.c
- stm32f4xx_hal_gpio.c
- stm32f4xx_ll_usb.c
- usbd_core.c
- usbd_ctrlreq.c
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
aa72df1bbf
Minor tweaks to downstream interface
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!
10 years ago
Robert Fisk
6d7d86b2f5
Initial commit!
...
Upstream (device) firmware builds, emulates a small USB block device
filled with zeroes.
10 years ago