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
display.cpp@7:a19b63c0a0fa, 2014-05-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |