Skip to content

Commit db18ef7

Browse files
Some UI tweaks
1 parent b8c1ec0 commit db18ef7

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

megaloggerHD/megaloggerHD.ino

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,11 @@ bool checkSD()
305305
lcd.print((int)volumesize);
306306
lcd.print("MB");
307307
} else {
308-
lcd.println("No SD Card");
308+
lcd.print("SD Card ");
309+
lcd.setColor(RGB16_RED);
310+
lcd.draw(cross, 16, 16);
311+
lcd.setColor(RGB16_WHITE);
312+
lcd.println();
309313
return false;
310314
}
311315

@@ -500,6 +504,17 @@ void logOBDData(byte pid, int value)
500504
#endif
501505
}
502506

507+
void processTouch()
508+
{
509+
int x, y;
510+
if (lcd.getTouchData(x, y)) {
511+
Serial.print("X:");
512+
Serial.print(x);
513+
Serial.print(" Y:");
514+
Serial.println(y);
515+
}
516+
}
517+
503518
void showECUCap()
504519
{
505520
static const byte PROGMEM pidlist[] = {PID_ENGINE_LOAD, PID_COOLANT_TEMP, PID_FUEL_PRESSURE, PID_INTAKE_MAP, PID_RPM, PID_SPEED, PID_TIMING_ADVANCE, PID_INTAKE_TEMP, PID_MAF_FLOW, PID_THROTTLE, PID_AUX_INPUT,
@@ -508,25 +523,25 @@ void showECUCap()
508523

509524
lcd.setFontSize(FONT_SIZE_MEDIUM);
510525
lcd.setColor(RGB16_WHITE);
511-
for (byte i = 0, n = 0; i < sizeof(pidlist) / sizeof(pidlist[0]); i++) {
526+
for (byte i = 0, n = 0; i < sizeof(pidlist) / sizeof(pidlist[0]); i++, n += 2) {
512527
byte pid = pgm_read_byte(pidlist + i);
513-
if (obd.isValidPID(pid)) {
514-
lcd.setCursor(348, n);
515-
n += 2;
516-
lcd.write('0');
517-
lcd.print((int)pid | 0x100, HEX);
518-
}
528+
bool valid = obd.isValidPID(pid);
529+
lcd.setCursor(320, n);
530+
lcd.setColor(valid ? RGB16_GREEN : RGB16_RED);
531+
lcd.draw(valid ? tick : cross, 16, 16);
532+
lcd.setColor(RGB16_WHITE);
533+
lcd.print(" 0");
534+
lcd.print((int)pid | 0x100, HEX);
519535
}
520536
int values[sizeof(pidlist)];
521537
bool scanned = false;
522538
bool touched = false;
523539
for (uint32_t t = millis(); millis() - t < 5000; ) {
524-
for (byte i = 0, n = 0; i < sizeof(pidlist) / sizeof(pidlist[0]); i++) {
540+
for (byte i = 0, n = 0; i < sizeof(pidlist) / sizeof(pidlist[0]); i++, n += 2) {
525541
byte pid = pgm_read_byte(pidlist + i);
526542
if (obd.isValidPID(pid)) {
527543
int value;
528-
lcd.setCursor(400 , n);
529-
n += 2;
544+
lcd.setCursor(392, n);
530545
if (obd.readPID(pid, value)) {
531546
if (!scanned || value == values[i])
532547
lcd.setColor(RGB16_CYAN);

0 commit comments

Comments
 (0)