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

Committer:
chrta
Date:
Sun May 11 09:05:37 2014 +0000
Revision:
7:a19b63c0a0fa
Parent:
6:506b703a8acf
Changed Adafruit_GFX to my own fork.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chrta 6:506b703a8acf 1 #include "display.h"
chrta 6:506b703a8acf 2
chrta 6:506b703a8acf 3 Display::SPI2::SPI2(PinName mosi, PinName miso, PinName clk)
chrta 6:506b703a8acf 4 : SPI(mosi, miso, clk)
chrta 6:506b703a8acf 5 {
chrta 6:506b703a8acf 6 format(8,3);
chrta 6:506b703a8acf 7 frequency(2000000);
chrta 6:506b703a8acf 8 };
chrta 6:506b703a8acf 9
chrta 6:506b703a8acf 10
chrta 6:506b703a8acf 11 Display::Display()
chrta 6:506b703a8acf 12 : m_spi(p5, NC, p7)
chrta 6:506b703a8acf 13 , m_oled(m_spi, p18, p19, p20)
chrta 6:506b703a8acf 14 {
chrta 6:506b703a8acf 15 }
chrta 6:506b703a8acf 16
chrta 6:506b703a8acf 17
chrta 6:506b703a8acf 18 void Display::clear()
chrta 6:506b703a8acf 19 {
chrta 6:506b703a8acf 20 m_oled.clearDisplay();
chrta 6:506b703a8acf 21 }
chrta 6:506b703a8acf 22
chrta 6:506b703a8acf 23 void Display::display()
chrta 6:506b703a8acf 24 {
chrta 6:506b703a8acf 25 m_oled.display();
chrta 6:506b703a8acf 26 }
chrta 6:506b703a8acf 27
chrta 6:506b703a8acf 28 void Display::sendTo(const char* text)
chrta 6:506b703a8acf 29 {
chrta 6:506b703a8acf 30 uint8_t line = 0;
chrta 6:506b703a8acf 31 if (strstr(text, "RPM"))
chrta 6:506b703a8acf 32 {
chrta 6:506b703a8acf 33 line = 1;
chrta 6:506b703a8acf 34 }
chrta 6:506b703a8acf 35 else if (strstr(text, "Oil"))
chrta 6:506b703a8acf 36 {
chrta 6:506b703a8acf 37 line = 2;
chrta 6:506b703a8acf 38 }
chrta 6:506b703a8acf 39 else if (strstr(text, "Coolant"))
chrta 6:506b703a8acf 40 {
chrta 6:506b703a8acf 41 line = 3;
chrta 6:506b703a8acf 42 }
chrta 6:506b703a8acf 43 else if (strstr(text, "Speed"))
chrta 6:506b703a8acf 44 {
chrta 6:506b703a8acf 45 return;
chrta 6:506b703a8acf 46 }
chrta 6:506b703a8acf 47
chrta 6:506b703a8acf 48 m_oled.setCursor(0, line * 8);
chrta 6:506b703a8acf 49 m_oled.printf("%s", text);
chrta 6:506b703a8acf 50
chrta 6:506b703a8acf 51 }