Fix issues with log file not being written.

Add different blinks for error condidtions
This commit is contained in:
Eric Helgeson 2021-04-10 12:11:58 -05:00
parent ef9c815ae1
commit 9cfb9a6001

View File

@ -263,6 +263,7 @@ byte SCSI_INFO_BUF[36] = {
}; };
void onFalseInit(void); void onFalseInit(void);
void noSDCardFound(void);
void onBusReset(void); void onBusReset(void);
void initFileLog(void); void initFileLog(void);
void finalizeFileLog(void); void finalizeFileLog(void);
@ -403,7 +404,7 @@ void setup()
#if DEBUG #if DEBUG
Serial.println("SD initialization failed!"); Serial.println("SD initialization failed!");
#endif #endif
onFalseInit(); noSDCardFound();
} }
initFileLog(); initFileLog();
readSCSIDeviceConfig(); readSCSIDeviceConfig();
@ -445,18 +446,22 @@ void setup()
} else { } else {
LOG_FILE.print("Bad LUN or SCSI id for image: "); LOG_FILE.print("Bad LUN or SCSI id for image: ");
LOG_FILE.println(name); 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(); root.close();
// Error if there are 0 image files // 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(); finalizeFileLog();
LED_OFF(); LED_OFF();
@ -483,6 +488,7 @@ void initFileLog() {
LOG_FILE.print("SdFat Max FileName Length: "); LOG_FILE.print("SdFat Max FileName Length: ");
LOG_FILE.println(MAX_FILE_PATH); LOG_FILE.println(MAX_FILE_PATH);
LOG_FILE.println("Initialized SD Card - lets go!"); 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) void onFalseInit(void)
{ {
LOG_FILE.sync();
while(true) { while(true) {
gpio_write(LED, high); for(int i = 0; i < 3; i++) {
delay(500); gpio_write(LED, high);
gpio_write(LED, low); delay(250);
delay(500); 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);
} }
} }