 
             engine_afr.previousValue = engine_afr.currentValue;
             engine_afr.currentValue = (double)buf[1] / 10.0;
+
+            engine_ego.previousValue = engine_ego.currentValue;
+            engine_ego.currentValue = (buf[2] * 256 + buf[3]) / 10.0;
+
+            //not fully tested
+            engine_egt.previousValue = engine_egt.currentValue;
+            engine_egt.currentValue = (buf[4] * 256 + buf[5]) / 10.0;
+
+            engine_pws.previousValue = engine_pws.currentValue;
+            engine_pws.currentValue = (buf[6] * 256 + buf[7]) / 1000.0;
+            
             break;
           case 1515:
-
+            engine_bat.previousValue = engine_bat.currentValue;
+            engine_bat.currentValue = (buf[0] * 256 + buf[1]) / 10.0;
+
+            
             break;
           case 1516:
 

}

void loop() {
  //Serial.println(engine_clt.shortLabel);
  currentMillis = millis();
  if(currentMillis - lastMillis >= interval) {
    lastMillis = currentMillis;
    lcd.setCursor(4, 2);
    lcd.print(engine_tgt.currentValue);
    draw_bar(engine_tgt, 3);

    lcd.setCursor(4, 0);
    lcd.print(engine_clt.currentValue);
    draw_bar(engine_clt, 1);
    
  }


  double previousValue;
  double minimum;
  double maximum;
  int decimalPlaces;
};

EngineVariable engine_map   = {"MAP", 0.0, 0.0, 10.0, 250.0, 1};
EngineVariable calc_vac     = {"VAC", 0.0, 0.0, -200.0, 100.0, 1};           
EngineVariable calc_bst     = {"BST", 0.0, 0.0, 0.0, 50.0, 1};       
EngineVariable engine_rpm   = {"RPM", 0.0, 0.0, 0.0, 6500.0, 0};                
EngineVariable engine_clt   = {"CLT", 0.0, 0.0, 160.0, 240.0, 0};               
EngineVariable engine_tps   = {"TPS", 0.0, 0.0, 0.0, 100.0, 0};   
EngineVariable engine_pw1   = {"PW1", 0.0, 0.0, 0.0, 20.0, 3};        
EngineVariable engine_pw2   = {"PW2", 0.0, 0.0, 0.0, 20.0, 3};        
EngineVariable engine_iat   = {"IAT", 0.0, 0.0, 40.0, 125.0, 0};    //aka 'mat'
EngineVariable engine_adv   = {"ADV", 0.0, 0.0, 10.0, 40.0, 1};
EngineVariable engine_tgt   = {"TGT", 0.0, 0.0, 10.0, 20.0, 1};
EngineVariable engine_afr   = {"AFR", 0.0, 0.0, 10.0, 20.0, 1};
EngineVariable engine_ego   = {"EGO", 0.0, 0.0, 70.0, 130.0, 0};    //ego correction %
EngineVariable engine_egt   = {"EGT", 0.0, 0.0, 100.0, 2000.0, 0};
EngineVariable engine_pws   = {"PWS", 0.0, 0.0, 0.0, 20.0, 3};
EngineVariable engine_bat   = {"BAT", 0.0, 0.0, 0.0, 20.0, 1};
EngineVariable engine_sr1   = {"SR1", 0.0, 0.0, 0.0, 10000.0, 3};
EngineVariable engine_sr2   = {"SR2", 0.0, 0.0, 0.0, 10000.0, 3};
EngineVariable engine_knk   = {"KNK", 0.0, 0.0, 0.0, 50.0, 1};
EngineVariable engine_vss   = {"VSS", 0.0, 0.0, 0.0, 300.0, 0};
EngineVariable engine_tcr   = {"TCR", 0.0, 0.0, 0.0, 50.0, 1};
EngineVariable engine_lct   = {"LCT", 0.0, 0.0, 0.0, 100.0, 1};

long startTime;
long endTime;
