Files
OBD2-car-display/test_elm327/test_elm327.ino
2024-01-21 20:14:21 +01:00

83 lines
1.5 KiB
C++

#include "ELMduino.h"
#define ELM_PORT Serial2
ELM327 myELM327;
uint32_t rpm = 0;
void setup()
{
#if LED_BUILTIN
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
#endif
Serial.begin(115200);
ELM_PORT.begin(115200);
// int bt_state = digitalRead(11);
// while (bt_state == 0)
// {
// bt_state = digitalRead(11);
// Serial.println(bt_state);
// Serial.println("bt not connected");
// delay(500);
// }
Serial.println("bt connected");
Serial.println("Attempting to connect to ELM327...");
if (!myELM327.begin(ELM_PORT, false, 2000))
{
Serial.println("Couldn't connect to OBD scanner");
while (1);
}
Serial.println("Connected to ELM327");
}
void loop()
{
float tempRPM = myELM327.rpm();
float t = myELM327.
// float tempval3 = myELM327.fuelInjectTiming();
if (myELM327.nb_rx_state == ELM_SUCCESS)
{
rpm = (uint32_t)tempRPM;
Serial.print("RPM: "); Serial.println(rpm);
// Serial.print("feul t: "); Serial.println(tempval3);
}
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();
}