Library to control Dodge LX (83.3k) CAN devices
Dependencies: DodgeRadioLib EthernetWrapperLib OBDIILib mbed
Diff: ecu_reader.h
- Revision:
- 0:4d16a55d0eec
- Child:
- 1:90487a39d54e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ecu_reader.h Sat Aug 20 14:20:13 2011 +0000 @@ -0,0 +1,54 @@ +#ifndef ECU_READER_H +#define ECU_READER_H + +#define CANSPEED_125 125000 // CAN speed at 125 kbps +#define CANSPEED_250 250000 // CAN speed at 250 kbps +#define CANSPEED_500 500000 // CAN speed at 500 kbps + + /* Details from http://en.wikipedia.org/wiki/OBD-II_PIDs */ +#define ENGINE_COOLANT_TEMP 0x05 +#define ENGINE_RPM 0x0C +#define VEHICLE_SPEED 0x0D +#define MAF_SENSOR 0x10 +#define THROTTLE 0x11 +#define O2_VOLTAGE 0x14 +#define FUEL_LEVEL 0x2f + +#define PID_REQUEST 0x7DF +#define PID_REPLY 0x7E8 + +namespace mbed { + +class ecu_reader{ + +public: + + ecu_reader( CAN *c, int can_speed); + + void request(unsigned char pid); + void readCAN(); + +private: + + CAN *can; + + struct ecu_info { + int coolantTemp; + int rpm; + int speed; + int mafSensor; + int throttle; + int o2Voltage; + float mpg; + } data; +}; + + + + + + } + + + +#endif \ No newline at end of file