-

Dependencies:   CommandHandler HygroClip2 InterruptBasedEncoder SPI_TFT_ILI9341 mbed-src-no-hal

Committer:
wolfsberger
Date:
Tue Feb 16 11:35:36 2016 +0000
Revision:
0:9ed7238d49e2
Child:
1:72f48dd279a8
OK

Who changed what in which revision?

UserRevisionLine numberNew 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 }