Update Cart_Reader.ino

- Don't use `Serial.read() - 48` to extract chars. Just treat the data
   as chars. This is more legible, and actually reduced the program
   storage space utilization slightly.
This commit is contained in:
Gabriel Marcano 2024-12-22 23:16:14 -08:00
parent b2578512e5
commit 62b8182dee

View File

@ -2949,11 +2949,11 @@ byte questionBox_Serial(const __FlashStringHelper* question __attribute__((unuse
while (Serial.available() == 0) {
}
// Read the incoming byte:
int incomingByte = Serial.read() - 48;
// Read the incoming byte (can't be -1, as there must be data available)
char incomingByte = Serial.read();
// Page up (u)
if (incomingByte == 69) {
if (incomingByte == 'u') {
if (currPage > 1) {
lastPage = currPage;
currPage--;
@ -2963,7 +2963,7 @@ byte questionBox_Serial(const __FlashStringHelper* question __attribute__((unuse
}
// Page down (d)
else if (incomingByte == 52) {
else if (incomingByte == 'd') {
if (numPages > currPage) {
lastPage = currPage;
currPage++;
@ -2971,14 +2971,14 @@ byte questionBox_Serial(const __FlashStringHelper* question __attribute__((unuse
}
// Execute choice
else if ((incomingByte >= 0) && (incomingByte < 7)) {
else if ((incomingByte >= '0') && (incomingByte < '7')) {
numPages = 0;
}
// Print the received byte for validation e.g. in case of a different keyboard mapping
//Serial.println(incomingByte);
//Serial.println(FS(FSTRING_EMPTY));
return incomingByte;
return incomingByte - '0';
}
#endif
@ -3192,20 +3192,21 @@ void checkUpdater() {
uint8_t checkButton() {
while (Serial.available() == 0) {
}
int incomingByte = Serial.read() - 48;
// read() can't return -1 since there's data available.
char incomingByte = Serial.read();
//Next
if (incomingByte == 52) {
if (incomingByte == 'd') {
return 1;
}
//Previous
else if (incomingByte == 69) {
else if (incomingByte == 'u') {
return 2;
}
//Selection
else if ((incomingByte == 240) || (incomingByte == -16) || (incomingByte == 0)) {
else if ((incomingByte == ' ') || (incomingByte == '0')) {
return 3;
}
@ -3218,37 +3219,8 @@ void wait_serial() {
}
while (Serial.available() == 0) {
}
int incomingByte = Serial.read() - 48;
/* if ((incomingByte == 53) && (fileName[0] != '\0')) {
// Open file on sd card
sd.chdir(folder);
if (myFile.open(fileName, O_READ)) {
// Get rom size from file
fileSize = myFile.fileSize();
// Send filesize
char tempStr[16];
sprintf(tempStr, "%d", fileSize);
Serial.write(tempStr);
// Wait for ok
while (Serial.available() == 0) {
}
// Send file
for (unsigned long currByte = 0; currByte < fileSize; currByte++) {
// Blink led
if (currByte % 1024 == 0)
blinkLED();
Serial.write(myFile.read());
}
// Close the file:
myFile.close();
}
else {
print_FatalError(open_file_STR);
}
}*/
// Result is ignored, so don't even bother putting it in a variable
Serial.read();
}
#endif