This commit is contained in:
Sem van der Hoeven
2024-07-14 21:44:26 +02:00
parent 50fd4c813d
commit f9cef163b9
4 changed files with 307 additions and 153 deletions

View File

@@ -6,9 +6,20 @@
ELM327 myELM327;
typedef enum
{
ENG_COOLANT_TEMP,
ENG_FUEL_PRESSURE,
ENG_MANIFOLD_PRESSURE,
RPM
} obd2_state;
uint32_t rpm = 0;
float rpm = 0;
float cool_temp = 0;
uint8_t man_pres = 0;
float fuel_pres = 0;
obd2_state current_state = ENG_COOLANT_TEMP;
void setup()
{
@@ -46,38 +57,78 @@ void setup()
void loop()
{
float tempRPM = myELM327.rpm();
// float t = myELM327.
// float tempval3 = myELM327.fuelInjectTiming();
if (myELM327.nb_rx_state == ELM_SUCCESS)
switch (current_state)
{
rpm = (uint32_t)tempRPM;
Serial.print("RPM: "); Serial.println(rpm);
// Serial.print("feul t: "); Serial.println(tempval3);
case ENG_COOLANT_TEMP:
{
cool_temp = myELM327.engineCoolantTemp();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
Serial.print("coolant temp: ");
Serial.println(cool_temp);
current_state = ENG_FUEL_PRESSURE;
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
{
myELM327.printError();
//current_state = ENG_FUEL_PRESSURE;
}
break;
}
case ENG_FUEL_PRESSURE:
{
fuel_pres = myELM327.fuelPressure();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
Serial.print("fuel pressure: ");
Serial.println(fuel_pres);
current_state = ENG_MANIFOLD_PRESSURE;
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
{
myELM327.printError();
//current_state = ENG_MANIFOLD_PRESSURE;
}
break;
}
case ENG_MANIFOLD_PRESSURE:
{
man_pres = myELM327.manifoldPressure();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
Serial.print("manifold pressure: ");
Serial.println(man_pres);
current_state = RPM;
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
{
myELM327.printError();
//current_state = RPM;
}
break;
}
case RPM:
{
rpm = myELM327.rpm();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
Serial.print("rpm: ");
Serial.println(rpm);
current_state = ENG_COOLANT_TEMP;
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
{
myELM327.printError();
//current_state = ENG_COOLANT_TEMP;
}
break;
}
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
myELM327.printError();
float tempval1 = myELM327.engineCoolantTemp();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
Serial.print("coolant: "); Serial.println(tempval1);
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
myELM327.printError();
float tempval2 = myELM327.oilTemp();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
Serial.print("oil: "); Serial.println(tempval2);
}
else if (myELM327.nb_rx_state != ELM_GETTING_MSG)
myELM327.printError();
}