Library to control Dodge LX (83.3k) CAN devices

Dependencies:   DodgeRadioLib EthernetWrapperLib OBDIILib mbed

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