summaryrefslogtreecommitdiff
path: root/libraries/OBD/examples/obd_i2c_test
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/OBD/examples/obd_i2c_test')
-rw-r--r--libraries/OBD/examples/obd_i2c_test/obd_i2c_test.ino34
1 files changed, 15 insertions, 19 deletions
diff --git a/libraries/OBD/examples/obd_i2c_test/obd_i2c_test.ino b/libraries/OBD/examples/obd_i2c_test/obd_i2c_test.ino
index 19db06f..9911897 100644
--- a/libraries/OBD/examples/obd_i2c_test/obd_i2c_test.ino
+++ b/libraries/OBD/examples/obd_i2c_test/obd_i2c_test.ino
@@ -18,12 +18,11 @@ MPU6050 accelgyro;
void testOut()
{
- static const char PROGMEM cmds[][6] = {"ATZ\r", "ATL1\r", "ATH0\r", "ATRV\r", "0100\r", "010C\r", "0902\r"};
+ static const char cmds[][6] = {"ATZ\r", "ATL1\r", "ATH0\r", "ATRV\r", "0100\r", "010C\r", "0902\r"};
char buf[128];
for (byte i = 0; i < sizeof(cmds) / sizeof(cmds[0]); i++) {
- char cmd[6];
- memcpy_P(cmd, cmds[i], sizeof(cmd));
+ const char *cmd = cmds[i];
Serial.print("Sending ");
Serial.println(cmd);
if (obd.sendCommand(cmd, buf, sizeof(buf))) {
@@ -74,22 +73,21 @@ void readMEMS()
void readPID()
{
- static const byte PROGMEM pidlist[] = {PID_ENGINE_LOAD, PID_COOLANT_TEMP, PID_RPM, PID_SPEED, PID_TIMING_ADVANCE, PID_INTAKE_TEMP, PID_THROTTLE, PID_FUEL_LEVEL};
+ static const byte pidlist[] = {PID_ENGINE_LOAD, PID_COOLANT_TEMP, PID_RPM, PID_SPEED, PID_TIMING_ADVANCE, PID_INTAKE_TEMP, PID_THROTTLE, PID_FUEL_LEVEL};
for (byte i = 0; i < sizeof(pidlist) / sizeof(pidlist[0]); i++) {
- byte pid = pgm_read_byte(pidlist + i);
+ byte pid = pidlist[i];
bool valid = obd.isValidPID(pid);
- Serial.print('0');
Serial.print((int)pid | 0x100, HEX);
Serial.print('=');
if (valid) {
int value;
if (obd.read(pid, value)) {
- byte n = Serial.println(value);
+ Serial.print(value);
}
- } else {
- Serial.println('X');
}
+ Serial.print(' ');
}
+ Serial.println();
}
void setup() {
@@ -99,23 +97,21 @@ void setup() {
accelgyro.initialize();
readMEMS();
- //testOut();
-
- Serial.println("Init...");
- //while (!obd.init());
+ do {
+ testOut();
+ Serial.println("Init...");
+ } while (!obd.init());
-/*
- char buf[OBD_RECV_BUF_SIZE];
- if (obd.getVIN(buf)) {
+ char buf[64];
+ if (obd.getVIN(buf, sizeof(buf))) {
Serial.print("VIN:");
Serial.println(buf);
}
delay(1000);
- */
}
void loop() {
- //readPID();
+ readPID();
readMEMS();
- delay(500);
}
+