Chibios-USB-Devices/mass_storage
trsaunders 0256355d9b Adding demo for Olimex E407 2012-10-25 12:20:47 +01:00
..
Readme.md fix indentation in readme 2012-10-02 15:15:26 +01:00
usb_msd.c Adding demo for Olimex E407 2012-10-25 12:20:47 +01:00
usb_msd.h fix handling of ejection 2012-10-03 09:40:21 +01:00

Readme.md

Mass Storage Device

This driver implements a USB mass storage device. It requires a Chibios block device (e.g mmc_spi or SDC)

Example usage:


USBMassStorageDriver UMSD1;

mmcObjectInit(&MMCD1);
mmcStart(&MMCD1, &mmccfg);
mmcConnect(&MMCD1);

msdInit(&USBD1, &MMCD1, &UMSD1);

Events:

chEvtRegisterMask(&UMSD1.evt_connected, &listener_connected, 1);
chEvtRegisterMask(&UMSD1.evt_ejected, &listener_ejected, 2);

while(TRUE) {
  if(chEvtWaitOneTimeout(1, TIME_IMMEDIATE)) {
    /* drive is now connected */
      
    /* wait until the drive is ejected */
    chEvtWaitOne(2);
      
    /* drive is now ejected. do something */
  }

  chThdSleepMilliseconds(1000);
}