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
1ea38b2150
Delay GetMaxLUN command by 100ms.
...
Conflicts:
Downstream/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc.c
5 years ago
Robert Fisk
f0fcead718
Don't spam device while waiting for MSC unit ready
...
Conflicts:
Downstream/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc.c
5 years ago
Robert Fisk
8f1d3d9a72
Don't overwrite array bounds when mass storage device reports > 2 LUNs
7 years ago
Robert Fisk
3276449378
Tweak HID protocol defines
7 years ago
Robert Fisk
c34e0eec59
Fix for mechanical keyboards sending > 8 byte packets
7 years ago
Robert Fisk
d7f66cd393
Better support for multi-interface HID: Logitech unifying receivers
...
- Select mouse interface first
- Correctly specify active interface when retrieving HID descriptors
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
7 years ago
Robert Fisk
7cf9b67d1f
Implemented read-only option (Downstream only)
7 years ago
Robert Fisk
53fea530aa
Implemented optional build for mass storage, keyboard, and mouse
...
features.
7 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
e2404109a2
Fix for the previous fix. This time for sure.
...
Previously we wrote 4 x 64 byte transactions to the downstream device.
This is fast, but very occasionally the USB host silicon would bug out.
Reverting to single 64 byte write transactions increases reliability at
the expense of some write speed.
8 years ago
Robert Fisk
a287c39b84
Fix for occasional freakouts on mass storage writes.
...
Upstream's edge-detect interrupt that starts SPI transmission was not
firing. Sometimes. On some boards only. The cause was Downstream not
allowing enough time between edges for Upstream to catch the signal.
Also misc code tidyups.
8 years ago
Robert Fisk
00ccd39199
So I tested this innocent-looking Transcend flash drive...
...
It will sometimes NAK part-way through a multi-packet OUT URB. And what
it wants is for the host to resend beginning from the last even-numbered
packet. NOT the last packet it received, and NOT the beginning of that
URB.
8 years ago
Robert Fisk
c68151698b
Bugfixes for keyboard support: works!!!
8 years ago
Robert Fisk
bc2bf01cbe
Keyboard support implemented, but not tested
8 years ago
Robert Fisk
9b2b8972a4
Incomplete and untested implementation of keyboard support
8 years ago
Robert Fisk
a152cb6037
Ignore Mass Storage subclass, and try to talk with transparent SCSI
...
anyway. This may or may not be helpful!
8 years ago
Robert Fisk
05f71ca098
Implemented FIFO support in Downstream host, significant speed increase!
...
Each USB transaction passed to the driver now consists of multiple
64-byte packets. 8 packets when receiving, 4 packets when transmitting.
The STM32 silicon bugs out when more than 4 packets are scheduled to
write at a time :(
Reads 1.0MB/sec, writes 967kB/sec, not CPU limited :)
8 years ago
Robert Fisk
650d10f22c
Support disconnect/reconnect of attached HID device
9 years ago
Robert Fisk
fd14db8ccb
Implemented HID report parser. Untested!
9 years ago
Robert Fisk
474b95e475
Remove unused HID header
9 years ago
Robert Fisk
2ae9850438
Add HID files that went missing in merge
9 years ago
Robert Fisk
cde20e2fce
Merge branch 'HID_devel' into USG_1.0
9 years ago
Robert Fisk
9918cfcb19
Mouse WORKS!11111 ...but only in boot mode, so no scroll wheel :(
9 years ago
Robert Fisk
b7298c5f65
Restructure & bugfix Upstream HID. Still some issue with Downstream...
9 years ago
Robert Fisk
cda254c8bb
Downstream HID SPI interface done, untested.
9 years ago
Robert Fisk
56e8b99ae5
Downstream mouse support working!
9 years ago
Robert Fisk
e8a445a071
Work on Downstream HID support. Also a bunch of random tweaks.
9 years ago
Robert Fisk
59ae1cb45c
Revert "Initial commit of ST Cube HID drivers"
...
This reverts commit 08068c25d4
.
9 years ago
Robert Fisk
08068c25d4
Initial commit of ST Cube HID drivers
9 years ago
Robert Fisk
90e236561d
Increase Downstream's host command timeout to 5 seconds. It turns out
...
some flash drives can take up to 2 seconds to write a single block.
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
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
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
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
55c8a21aad
Initial commit of Downstream template project.
9 years ago