main
Default mainpageusb-device-massstorage-projectmain
Description Source Call Graph
Start Line: 714
int main(void)
{
    TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
    printf("-- USB Device Mass Storage Project %s --\n\r", SOFTPACK_VERSION);
    printf("-- %s\n\r", BOARD_NAME);
    printf("-- Compiled: %s %s --\n\r", __DATE__, __TIME__);

   // If they are present, configure Vbus & Wake-up pins
    PIO_InitializeInterrupts(0);

    WAKEUP_CONFIGURE();

    MemoryInitialization();

    ASSERT(numMedias > 0, "Error: No media defined.\n\r");
    TRACE_DEBUG("%u medias defined\n\r", numMedias);

    // BOT driver initialization
    MSDDriver_Initialize(luns, numMedias);

    // connect if needed
    VBUS_CONFIGURE();

    while (USBD_GetState() < USBD_STATE_CONFIGURED);

    // Infinite loop
    while (1) {

        // Mass storage state machine
        MSDDriver_StateMachine();

        if( USBState == STATE_SUSPEND ) {
            TRACE_DEBUG("suspend  !\n\r");
            LowPowerMode();
            USBState = STATE_IDLE;
        }
        if( USBState == STATE_RESUME ) {
            // Return in normal MODE
            TRACE_DEBUG("resume !\n\r");
            NormalPowerMode();
            USBState = STATE_IDLE;
        }
    }
}