-
Dependencies: CommandHandler HygroClip2 InterruptBasedEncoder SPI_TFT_ILI9341 mbed-src-no-hal
main.cpp@0:9ed7238d49e2, 2016-02-16 (annotated)
- Committer:
- wolfsberger
- Date:
- Tue Feb 16 11:35:36 2016 +0000
- Revision:
- 0:9ed7238d49e2
- Child:
- 1:72f48dd279a8
OK
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wolfsberger | 0:9ed7238d49e2 | 1 | #include "stdio.h" |
wolfsberger | 0:9ed7238d49e2 | 2 | #include "mbed.h" |
wolfsberger | 0:9ed7238d49e2 | 3 | #include "HygroClip2.h" |
wolfsberger | 0:9ed7238d49e2 | 4 | #include "SPI_TFT_ILI9341.h" |
wolfsberger | 0:9ed7238d49e2 | 5 | #include "Arial12x12.h" |
wolfsberger | 0:9ed7238d49e2 | 6 | #include "Arial28x28.h" |
wolfsberger | 0:9ed7238d49e2 | 7 | #include "GraphScale.h" |
wolfsberger | 0:9ed7238d49e2 | 8 | #include "LineGraph.h" |
wolfsberger | 0:9ed7238d49e2 | 9 | |
wolfsberger | 0:9ed7238d49e2 | 10 | |
wolfsberger | 0:9ed7238d49e2 | 11 | Serial pc(SERIAL_TX, SERIAL_RX); |
wolfsberger | 0:9ed7238d49e2 | 12 | HygroClip2 sensor(D8,D2); |
wolfsberger | 0:9ed7238d49e2 | 13 | SPI_TFT_ILI9341 TFT(SPI_MOSI,SPI_MISO,SPI_SCK,SPI_CS,D9,D7); |
wolfsberger | 0:9ed7238d49e2 | 14 | |
wolfsberger | 0:9ed7238d49e2 | 15 | int ColorTemperature = RGB(0xff,0x37,0x00); |
wolfsberger | 0:9ed7238d49e2 | 16 | int ColorHumidity = RGB(0x00,0xc8,0xff); |
wolfsberger | 0:9ed7238d49e2 | 17 | |
wolfsberger | 0:9ed7238d49e2 | 18 | int main() |
wolfsberger | 0:9ed7238d49e2 | 19 | { |
wolfsberger | 0:9ed7238d49e2 | 20 | pc.baud(57600); |
wolfsberger | 0:9ed7238d49e2 | 21 | TFT.claim(stdout); // send stdout to the TFT display |
wolfsberger | 0:9ed7238d49e2 | 22 | TFT.background(Black); // set background to black |
wolfsberger | 0:9ed7238d49e2 | 23 | TFT.foreground(White); // set chars to white |
wolfsberger | 0:9ed7238d49e2 | 24 | TFT.cls(); // clear the screen |
wolfsberger | 0:9ed7238d49e2 | 25 | TFT.set_font((unsigned char*) Arial12x12); // select the font |
wolfsberger | 0:9ed7238d49e2 | 26 | TFT.set_orientation(2); |
wolfsberger | 0:9ed7238d49e2 | 27 | |
wolfsberger | 0:9ed7238d49e2 | 28 | TFT.locate(10,10); |
wolfsberger | 0:9ed7238d49e2 | 29 | TFT.printf("Loading..."); |
wolfsberger | 0:9ed7238d49e2 | 30 | while(sensor.getHumidity() != 0.0f) |
wolfsberger | 0:9ed7238d49e2 | 31 | { |
wolfsberger | 0:9ed7238d49e2 | 32 | sensor.update(); |
wolfsberger | 0:9ed7238d49e2 | 33 | wait(.5f); |
wolfsberger | 0:9ed7238d49e2 | 34 | } |
wolfsberger | 0:9ed7238d49e2 | 35 | |
wolfsberger | 0:9ed7238d49e2 | 36 | GraphScale scale(&TFT,1,200,200,100,0,100,20); |
wolfsberger | 0:9ed7238d49e2 | 37 | scale.draw(White); |
wolfsberger | 0:9ed7238d49e2 | 38 | |
wolfsberger | 0:9ed7238d49e2 | 39 | TFT.locate(10,10); |
wolfsberger | 0:9ed7238d49e2 | 40 | TFT.printf("Temperature"); |
wolfsberger | 0:9ed7238d49e2 | 41 | TFT.locate(10,55); |
wolfsberger | 0:9ed7238d49e2 | 42 | TFT.printf("Humidity (relative)"); |
wolfsberger | 0:9ed7238d49e2 | 43 | TFT.locate(10,100); |
wolfsberger | 0:9ed7238d49e2 | 44 | TFT.printf("Humidity (absolute)"); |
wolfsberger | 0:9ed7238d49e2 | 45 | TFT.locate(10,145); |
wolfsberger | 0:9ed7238d49e2 | 46 | TFT.printf("Dew Point"); |
wolfsberger | 0:9ed7238d49e2 | 47 | |
wolfsberger | 0:9ed7238d49e2 | 48 | LineGraph<200> graphTemperature(&TFT,1,200,200,100,0,100); |
wolfsberger | 0:9ed7238d49e2 | 49 | LineGraph<200> graphHumidity(&TFT,1,200,200,100,0,100); |
wolfsberger | 0:9ed7238d49e2 | 50 | |
wolfsberger | 0:9ed7238d49e2 | 51 | while(1) { |
wolfsberger | 0:9ed7238d49e2 | 52 | sensor.update(); |
wolfsberger | 0:9ed7238d49e2 | 53 | TFT.set_font((unsigned char*)Arial28x28); |
wolfsberger | 0:9ed7238d49e2 | 54 | TFT.locate(10,25); |
wolfsberger | 0:9ed7238d49e2 | 55 | TFT.foreground(ColorTemperature); |
wolfsberger | 0:9ed7238d49e2 | 56 | TFT.printf("%.1f *C ",sensor.getTemperature()); |
wolfsberger | 0:9ed7238d49e2 | 57 | TFT.locate(10,70); |
wolfsberger | 0:9ed7238d49e2 | 58 | TFT.foreground(ColorHumidity); |
wolfsberger | 0:9ed7238d49e2 | 59 | TFT.printf("%.1f %%rH ",sensor.getHumidity()); |
wolfsberger | 0:9ed7238d49e2 | 60 | TFT.foreground(RGB(0x00,0xE8,0x59)); |
wolfsberger | 0:9ed7238d49e2 | 61 | TFT.locate(10,115); |
wolfsberger | 0:9ed7238d49e2 | 62 | TFT.printf("%.3f g/m3 ",sensor.getAbsolutHumidity()); |
wolfsberger | 0:9ed7238d49e2 | 63 | TFT.locate(10,160); |
wolfsberger | 0:9ed7238d49e2 | 64 | TFT.printf("%.1f *C ",sensor.getDewPoint()); |
wolfsberger | 0:9ed7238d49e2 | 65 | |
wolfsberger | 0:9ed7238d49e2 | 66 | graphTemperature.addItem(sensor.getTemperature()); |
wolfsberger | 0:9ed7238d49e2 | 67 | graphHumidity.addItem(sensor.getHumidity()); |
wolfsberger | 0:9ed7238d49e2 | 68 | |
wolfsberger | 0:9ed7238d49e2 | 69 | graphTemperature.draw(ColorTemperature); |
wolfsberger | 0:9ed7238d49e2 | 70 | graphHumidity.draw(ColorHumidity); |
wolfsberger | 0:9ed7238d49e2 | 71 | |
wolfsberger | 0:9ed7238d49e2 | 72 | wait(1); |
wolfsberger | 0:9ed7238d49e2 | 73 | } |
wolfsberger | 0:9ed7238d49e2 | 74 | } |