Hi,
I am no longer working on this right now, but thought the heritage of the various Device MSCs initiatives and some other observations might help someone else.
There seem to be 2 main code sources that all the MSC prototypes that I uncovered stemmed from:
1) mabl (= Giovanni?) - released Mar 2011 - about 460 lines in usb_msc.c/.h,
- couldn't find corresponding demo or configurations, but seems like might have worked
-
https://github.com/mabl/ChibiOS/tree/2b ... os/various 2) trsaunders - released Sept 2012 - about 900 lines in usb_msc.c/.h
- there are demos and config files for F407 (olimexE407) and seems like significant portions were working but still described as prototype
-
https://github.com/trsaunders/Chibios-U ... ss_storage From mabl there were 2 derivatives:
- dsigma/Chibios - May 2013, seems like minor changes only
-
https://github.com/dsigma/ChibiOS/tree/ ... os/various - rusefi - July 2016 - minor enhancements to dsigma, and seems to be working using SPI
-
https://github.com/rusefi/ChibiOS/blob/ ... /usb_msc.cFrom trsaunders there 2 derivatives:
- tegesoft - Oct 2013, about 1010 lines, deusExMachina says got this working.
-
https://github.com/tegesoft/Chibios-USB-Devices - dsigma/Chbios3.0, May 2016, about 1800 lines, seems to have undergone significant enhancements, but still seems to be work in progress
-
https://github.com/dsigma/ChibiOS-3.0/t ... ORAGE_VCOMSo in terms of getting to a working MSC seems like a few options are possible:
1) building from mabl and adding in tegesoft and/or dsigma/Chibio3.0 changes (and ST's)
2) building from tegesoft (adding in dsigma and ST's)
3) start over using ST's code as base (which is working) and get it to work on Chibios HAL and/or RT
In terms of getting a working USB Device Class combination of MSC with Chibios CDC/VCOM, which would be extremely useful for Chibios, I could not find wrapper functionality that adequately considered many of the various aspects required for the 2 classes combined.
And finally, an extremely important aspects that will need further detailed efforts: FS MSC throughput. A good target: >2MB/s (i.e. >33% FS bus utilization).
Regards,
Al