Clean up logging in setup functions

This commit is contained in:
Sam Edwards 2024-02-17 11:22:27 -08:00
parent 0a30396c3b
commit 1d49003fe1
1 changed files with 73 additions and 61 deletions

View File

@ -147,6 +147,9 @@ void readSCSIDeviceConfig(uint8_t scsi_id, SCSI_DEVICE *dev) {
return;
}
LOG_FILE.println();
LOG_FILE.print("\t\tINI Overrides: ");
// create section name from id
section[4] = INT_TO_CHAR(scsi_id);
@ -155,13 +158,13 @@ void readSCSIDeviceConfig(uint8_t scsi_id, SCSI_DEVICE *dev) {
case 0:
dev->m_type = SCSI_DEVICE_HDD;
memcpy(iq, &default_hdd, sizeof(default_hdd));
LOG_FILE.println("Forced HDD");
LOG_FILE.print("Forced HDD");
break;
case 2:
dev->m_type = SCSI_DEVICE_OPTICAL;
memcpy(iq, &default_optical, sizeof(default_optical));
LOG_FILE.println("Forced Optical");
LOG_FILE.print("Forced CDROM");
break;
case 99:
@ -169,25 +172,25 @@ void readSCSIDeviceConfig(uint8_t scsi_id, SCSI_DEVICE *dev) {
break;
default:
LOG_FILE.println("Unsupported override type");
LOG_FILE.print("Unsupported type override");
}
if(ini_gets(section, "vendor", NULL, buf, SCSI_BUF_SIZE, BLUESCSI_INI)) {
memcpy(iq->vendor, buf, SCSI_VENDOR_LENGTH);
LOG_FILE.print("vendor:");
LOG_FILE.println(buf);
LOG_FILE.print(" / Vendor: ");
LOG_FILE.print(buf);
}
if(ini_gets(section, "product", NULL, buf, SCSI_BUF_SIZE, BLUESCSI_INI)) {
memcpy(iq->product, buf, SCSI_PRODUCT_LENGTH);
LOG_FILE.print("product:");
LOG_FILE.println(buf);
LOG_FILE.print(" / Product: ");
LOG_FILE.print(buf);
}
if(ini_gets(section, "revision", NULL, buf, SCSI_BUF_SIZE, BLUESCSI_INI)) {
memcpy(iq->revision, buf, SCSI_REVISION_LENGTH);
LOG_FILE.print("revision:");
LOG_FILE.println(buf);
LOG_FILE.print(" / Revision: ");
LOG_FILE.print(buf);
}
}
@ -197,29 +200,29 @@ void readSDCardInfo(int success_mhz)
cid_t sd_cid;
LOG_FILE.println("SDCard Info:");
LOG_FILE.print(" Format:");
LOG_FILE.print("\tFormat: ");
switch(SD.vol()->fatType()) {
case FAT_TYPE_EXFAT:
LOG_FILE.println("exFAT");
break;
default:
LOG_FILE.print("FAT32/16/12 - exFAT may improve performance");
LOG_FILE.println("FAT32/16/12 - exFAT may improve performance");
}
LOG_FILE.print("SPI speed: ");
LOG_FILE.print("\tSPI Speed: ");
LOG_FILE.print(success_mhz);
LOG_FILE.println("Mhz");
LOG_FILE.print(" Max Filename Length:");
LOG_FILE.println("MHz");
LOG_FILE.print("\tMax Filename Length: ");
LOG_FILE.println(MAX_FILE_PATH);
if(SD.card()->readCID(&sd_cid))
{
LOG_FILE.print(" MID:");
LOG_FILE.print("\tMID: ");
LOG_FILE.print(sd_cid.mid, 16);
LOG_FILE.print(" OID: ");
LOG_FILE.print(sd_cid.oid[0]);
LOG_FILE.println(sd_cid.oid[1]);
LOG_FILE.print(" Name:");
LOG_FILE.print("\tName: ");
LOG_FILE.print(sd_cid.pnm[0]);
LOG_FILE.print(sd_cid.pnm[1]);
LOG_FILE.print(sd_cid.pnm[2]);
@ -231,8 +234,10 @@ void readSDCardInfo(int success_mhz)
LOG_FILE.print("/");
LOG_FILE.println(sd_cid.mdtYear());
LOG_FILE.print(" Serial:");
LOG_FILE.print("\tSerial: ");
LOG_FILE.println(sd_cid.psn());
} else {
LOG_FILE.println("\tWARNING: Unable to read SDCard CID data");
}
LOG_FILE.sync();
}
@ -271,16 +276,16 @@ bool hddimageOpen(SCSI_DEVICE *dev, FsFile *file,int id,int lun,int blocksize)
dev->m_fileSize = dev->m_file.size();
if(dev->m_fileSize < 1) {
LOG_FILE.println(" - file is 0 bytes, can not use.");
LOG_FILE.println("\t\tERROR: File is 0 bytes");
goto failed;
}
if(!dev->m_file.isContiguous())
{
LOG_FILE.println(" - file is fragmented, see https://github.com/erichelgeson/BlueSCSI/wiki/Image-File-Fragmentation");
LOG_FILE.println("\t\tWARNING: File is fragmented, see https://github.com/erichelgeson/BlueSCSI/wiki/Image-File-Fragmentation");
}
if(dev->m_type == SCSI_DEVICE_OPTICAL) {
LOG_FILE.print(" CDROM");
dev->m_blocksize = CDROM_COMMON_SECTORSIZE;
// Borrowed from PCEM
@ -303,6 +308,7 @@ bool hddimageOpen(SCSI_DEVICE *dev, FsFile *file,int id,int lun,int blocksize)
// Last ditch effort
// size must be less than 700MB
if(dev->m_fileSize > 912579600) {
LOG_FILE.println("\t\tERROR: ISO too large!");
goto failed;
}
@ -314,21 +320,19 @@ bool hddimageOpen(SCSI_DEVICE *dev, FsFile *file,int id,int lun,int blocksize)
dev->m_rawblocksize = CDROM_COMMON_SECTORSIZE;
} else {
// I give up!
LOG_FILE.println(" InvalidISO");
LOG_FILE.println("\t\tERROR: Invalid ISO!");
goto failed;
}
}
} else {
LOG_FILE.print(" HDD");
}
dev->m_blockcount = dev->m_fileSize / dev->m_blocksize;
// check blocksize dummy file
LOG_FILE.print(" / ");
LOG_FILE.print("\t\tFile size: ");
LOG_FILE.print(dev->m_fileSize);
LOG_FILE.print("bytes / ");
LOG_FILE.print(" bytes, ");
LOG_FILE.print(dev->m_fileSize / 1024);
LOG_FILE.print("KiB / ");
LOG_FILE.print("KiB, ");
LOG_FILE.print(dev->m_fileSize / 1024 / 1024);
LOG_FILE.println("MiB");
@ -527,6 +531,7 @@ void setup()
#endif
flashError(ERROR_NO_SDCARD);
}
initFileLog();
readSDCardInfo(mhz);
@ -553,12 +558,13 @@ void setup()
if (root.isDirectory()) {
LOG_FILE.print("Looking for images in: ");
LOG_FILE.println(image_set_dir_name);
LOG_FILE.sync();
} else {
root.close();
root.open("/");
LOG_FILE.println("Looking for images in: /");
}
LOG_FILE.sync();
findDriveImages(root);
root.close();
@ -578,7 +584,7 @@ void setup()
}
finalizeFileLog();
LED_OFF();
// Occurs when the RST pin state changes from HIGH to LOW
attachInterrupt(RST, onBusReset, FALLING);
}
@ -635,6 +641,8 @@ void findDriveImages(FsFile root) {
int lun = DEFAULT_SCSI_LUN;
int blk = HDD_BLOCK_SIZE;
LOG_FILE.print("\t- "); LOG_FILE.println(name);
// Positionally read in and coerce the chars to integers.
// We only require the minimum and read in the next if provided.
int file_name_length = strlen(name);
@ -645,8 +653,7 @@ void findDriveImages(FsFile root) {
if(tmp_id > -1 && tmp_id <= MAX_SCSIID) {
id = tmp_id;
} else {
LOG_FILE.print(name);
LOG_FILE.println(" - bad SCSI id in filename, Using default ID 1");
LOG_FILE.println("\t\tWARNING: Bad SCSI ID in filename, Using default ID 1");
}
}
@ -657,8 +664,7 @@ void findDriveImages(FsFile root) {
if(tmp_lun > -1 && tmp_lun <= NUM_SCSILUN) {
lun = tmp_lun;
} else {
LOG_FILE.print(name);
LOG_FILE.println(" - bad SCSI LUN in filename, Using default LUN ID 0");
LOG_FILE.println("\t\tWARNING: Bad SCSI LUN in filename, Using default LUN ID 0");
}
}
@ -678,10 +684,17 @@ void findDriveImages(FsFile root) {
blk = 2048;
}
if(id < NUM_SCSIID && lun < NUM_SCSILUN) {
LOG_FILE.print("\t\tParsed: ");
if(device_type == SCSI_DEVICE_OPTICAL) {
LOG_FILE.print("CDROM");
} else {
LOG_FILE.print("HDD");
}
LOG_FILE.print(" ID "); LOG_FILE.print(id);
LOG_FILE.print(" LUN "); LOG_FILE.print(lun);
LOG_FILE.print(" Blocksize "); LOG_FILE.print(blk); LOG_FILE.println("k");
dev = &scsi_device_list[id][lun];
LOG_FILE.print(" - ");
LOG_FILE.print(name);
dev->m_type = device_type;
image_ready = hddimageOpen(dev, &file, id, lun, blk);
if(image_ready) { // Marked as a responsive ID
@ -703,7 +716,6 @@ void findDriveImages(FsFile root) {
readSCSIDeviceConfig(id, dev);
}
}
}
LOG_FILE.sync();
}
// cd .. before going back.