Small project to display some OBD values from the Toyota GT86/ Subaru BRZ/ Scion FRS on an OLED display.

Dependencies:   Adafruit_GFX MODSERIAL mbed-rtos mbed

Revision:
5:0b229ba8ede5
Child:
6:506b703a8acf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EngineRpm.cpp	Sun Apr 27 19:13:35 2014 +0000
@@ -0,0 +1,22 @@
+#include "EngineRpm.h"
+
+EngineRpm::EngineRpm()
+: PidValue("Engine RPM", "rpm")
+{
+}
+
+bool EngineRpm::decode(const uint8_t* data, uint16_t length)
+{
+    if (length < 2)
+    {
+        return false;
+    }
+    
+    if ((data[1] != 0x0C) || length != 4)
+    {
+        return false;
+    }
+    
+    m_value = ((data[2] << 8) | data[3]) >> 2; //rpm
+    return true;
+}