|
|
@@ -263,6 +263,7 @@ byte SCSI_INFO_BUF[36] = {
|
|
|
};
|
|
|
|
|
|
void onFalseInit(void);
|
|
|
+void noSDCardFound(void);
|
|
|
void onBusReset(void);
|
|
|
void initFileLog(void);
|
|
|
void finalizeFileLog(void);
|
|
|
@@ -403,7 +404,7 @@ void setup()
|
|
|
#if DEBUG
|
|
|
Serial.println("SD initialization failed!");
|
|
|
#endif
|
|
|
- onFalseInit();
|
|
|
+ noSDCardFound();
|
|
|
}
|
|
|
initFileLog();
|
|
|
readSCSIDeviceConfig();
|
|
|
@@ -445,18 +446,22 @@ void setup()
|
|
|
} else {
|
|
|
LOG_FILE.print("Bad LUN or SCSI id for image: ");
|
|
|
LOG_FILE.println(name);
|
|
|
+ LOG_FILE.sync();
|
|
|
}
|
|
|
+ } else {
|
|
|
+ LOG_FILE.print("Not an image: ");
|
|
|
+ LOG_FILE.println(name);
|
|
|
+ LOG_FILE.sync();
|
|
|
}
|
|
|
- // else {
|
|
|
- // LOG_FILE.print("Not an image: ");
|
|
|
- // LOG_FILE.println(name);
|
|
|
- // }
|
|
|
}
|
|
|
}
|
|
|
root.close();
|
|
|
|
|
|
// Error if there are 0 image files
|
|
|
- if(scsi_id_mask==0) onFalseInit();
|
|
|
+ if(scsi_id_mask==0) {
|
|
|
+ LOG_FILE.println("ERROR: No valid images found!");
|
|
|
+ onFalseInit();
|
|
|
+ }
|
|
|
|
|
|
finalizeFileLog();
|
|
|
LED_OFF();
|
|
|
@@ -483,6 +488,7 @@ void initFileLog() {
|
|
|
LOG_FILE.print("SdFat Max FileName Length: ");
|
|
|
LOG_FILE.println(MAX_FILE_PATH);
|
|
|
LOG_FILE.println("Initialized SD Card - lets go!");
|
|
|
+ LOG_FILE.sync();
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
@@ -521,15 +527,35 @@ void finalizeFileLog() {
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- * Initialization failed.
|
|
|
+ * Initialization failed, blink 3x fast
|
|
|
*/
|
|
|
void onFalseInit(void)
|
|
|
{
|
|
|
+ LOG_FILE.sync();
|
|
|
while(true) {
|
|
|
- gpio_write(LED, high);
|
|
|
- delay(500);
|
|
|
- gpio_write(LED, low);
|
|
|
- delay(500);
|
|
|
+ for(int i = 0; i < 3; i++) {
|
|
|
+ gpio_write(LED, high);
|
|
|
+ delay(250);
|
|
|
+ gpio_write(LED, low);
|
|
|
+ delay(250);
|
|
|
+ }
|
|
|
+ delay(3000);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * No SC Card found, blink 5x fast
|
|
|
+ */
|
|
|
+void noSDCardFound(void)
|
|
|
+{
|
|
|
+ while(true) {
|
|
|
+ for(int i = 0; i < 5; i++) {
|
|
|
+ gpio_write(LED, high);
|
|
|
+ delay(250);
|
|
|
+ gpio_write(LED, low);
|
|
|
+ delay(250);
|
|
|
+ }
|
|
|
+ delay(3000);
|
|
|
}
|
|
|
}
|
|
|
|