Suga koubou
/
Car_test
OBD II see: https://os.mbed.com/users/okini3939/notebook/obd2-can-bus/
Diff: main.cpp
- Revision:
- 0:c6f40de7ab86
diff -r 000000000000 -r c6f40de7ab86 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Dec 20 07:21:57 2017 +0000 @@ -0,0 +1,46 @@ +#include "mbed.h" +#include "OBD2.h" + +DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4); +Serial pc(USBTX, USBRX); +OBD2 obd(p30, p29); + +float readObd2 (int cmd) { + + if (obd.request(cmd)) { + return -1; + } + return obd.read(); +} + +int main() { + int i; + float f; + + pc.baud(115200); + pc.printf("--- OBD2\n\r"); + led1 = 1; + + for (;;) { + if (pc.readable()) { + i = 0; + switch (pc.getc()) { + case '1': i = ENGINE_LOAD; break; + case '2': i = THROTTLE; break; + case '3': i = FUEL_LEVEL; break; + case '4': i = ENGINE_COOLANT_TEMP; break; + case '5': i = INTAKE_TEMP; break; + case '6': i = AMB_AIR_TEMP; break; + case '7': i = INTAKE_PRESSURE; break; + case '8': i = ENGINE_RPM; break; + case '9': i = VEHICLE_SPEED; break; + } + + if (i) { + f = readObd2(i); + pc.printf("PID=%02x, Result=%f\r\n", i, f); + } + led2 = !led2; + } + } +}