@@ -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+
503518void 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