int init() { // unselect all SPI devices first SDCARD_Unselect(); ST7735_Unselect(); // initialize SD-card as fast as possible, it glitches otherwise // (this is important only if SPI bus is shared by multiple devices) int code = SDCARD_Init(); if(code < 0) { UART_Printf("SDCARD_Init() failed, code = %d\r\n", code); return -1; } ST7735_Init(); ST7735_FillScreen(ST7735_BLACK); // mount the default drive FRESULT res = f_mount(&fs, "", 0); if(res != FR_OK) { UART_Printf("f_mount() failed, res = %d\r\n", res); return -2; } UART_Printf("f_mount() done!\r\n"); return 0; }
static void init() { static bool initialised = false; if (!initialised) { SDCARD_Init(); initialised = true; } }