//----------------------------------------------------------------------------- int kuroBoxStop(void) { kbg_setLED3(1); extStop(&EXTD1); kuroBoxExternalDisplayStop(); kuroBoxConfigStop(); kuroBoxMenuStop(); kuroBoxWriterStop(); kuroBoxVectorNavStop(&VND1); kuroBoxTimeStop(); kuroBoxGPSStop(); kuroBoxButtonsStop(); kuroBoxScreenStop(); kuroBoxADCStop(); #ifdef HAVE_BLINK_THREAD chThdTerminate(blinkerThread); chThdWait(blinkerThread); #endif // HAVE_BLINK_THREAD sdcStop(&SDCD1); spiStop(&SPID1); kuroBoxSerialStop(); chSysDisable(); kbg_setLED1(0); kbg_setLED2(0); kbg_setLED3(0); return KB_OK; }
/* SD Card Disconnect */ static void microsd_card_deinit() { /* Unmount File System */ f_mount(0, "A", 0); /* Disconnect from card */ sdcDisconnect(&SDCD1); /* Disable SDC peripheral */ sdcStop(&SDCD1); }
bool sdioDisconnect (void) { if (cnxState == STOP) return true; if (sdcDisconnect(&SDCD1)) { return false; } sdcStop (&SDCD1); cnxState = STOP; return true; }
bool_t sdioDisconnect (void) { if (cnxState == STOP) return TRUE; if (sdcDisconnect(&SDCD1)) { return FALSE; } sdcStop (&SDCD1); cnxState = STOP; return TRUE; }
/* * SD card removal event. */ static void remove_handler(void) { if (fs_ready == TRUE){ f_mount(0, NULL); fs_ready = FALSE; } if ((&SDCD1)->state == BLK_ACTIVE){ sdcDisconnect(&SDCD1); sdcStop(&SDCD1); } fs_ready = FALSE; }
/* * SD card insertion event. */ static void insert_handler(void) { FRESULT err; sdcStart(&SDCD1, &sdccfg); /* * On insertion SDC initialization and FS mount. */ if (sdcConnect(&SDCD1)) return; err = f_mount(0, &SDC_FS); if (err != FR_OK) { sdcDisconnect(&SDCD1); sdcStop(&SDCD1); return; } fs_ready = TRUE; }