-

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

main.cpp

Committer:
wolfsberger
Date:
2016-02-16
Revision:
0:9ed7238d49e2
Child:
1:72f48dd279a8

File content as of revision 0:9ed7238d49e2:

#include "stdio.h"
#include "mbed.h"
#include "HygroClip2.h"
#include "SPI_TFT_ILI9341.h"
#include "Arial12x12.h"
#include "Arial28x28.h"
#include "GraphScale.h"
#include "LineGraph.h"


Serial pc(SERIAL_TX, SERIAL_RX);
HygroClip2 sensor(D8,D2);
SPI_TFT_ILI9341 TFT(SPI_MOSI,SPI_MISO,SPI_SCK,SPI_CS,D9,D7);

int ColorTemperature = RGB(0xff,0x37,0x00);
int ColorHumidity = RGB(0x00,0xc8,0xff);

int main()
{    
    pc.baud(57600);
    TFT.claim(stdout);      // send stdout to the TFT display 
    TFT.background(Black);    // set background to black
    TFT.foreground(White);    // set chars to white
    TFT.cls();                // clear the screen
    TFT.set_font((unsigned char*) Arial12x12);  // select the font
    TFT.set_orientation(2);
    
    TFT.locate(10,10);
    TFT.printf("Loading...");
    while(sensor.getHumidity() != 0.0f)
    {
        sensor.update();
        wait(.5f);
    }
    
    GraphScale scale(&TFT,1,200,200,100,0,100,20);    
    scale.draw(White);
    
    TFT.locate(10,10);
    TFT.printf("Temperature");
    TFT.locate(10,55);
    TFT.printf("Humidity (relative)");
    TFT.locate(10,100);
    TFT.printf("Humidity (absolute)");
    TFT.locate(10,145);
    TFT.printf("Dew Point");
    
    LineGraph<200> graphTemperature(&TFT,1,200,200,100,0,100);
    LineGraph<200> graphHumidity(&TFT,1,200,200,100,0,100);
    
    while(1) {
        sensor.update();
        TFT.set_font((unsigned char*)Arial28x28);
        TFT.locate(10,25);
        TFT.foreground(ColorTemperature);
        TFT.printf("%.1f *C ",sensor.getTemperature());
        TFT.locate(10,70);
        TFT.foreground(ColorHumidity);
        TFT.printf("%.1f %%rH ",sensor.getHumidity());
        TFT.foreground(RGB(0x00,0xE8,0x59));
        TFT.locate(10,115);
        TFT.printf("%.3f g/m3 ",sensor.getAbsolutHumidity());        
        TFT.locate(10,160);
        TFT.printf("%.1f *C ",sensor.getDewPoint());        
        
        graphTemperature.addItem(sensor.getTemperature());
        graphHumidity.addItem(sensor.getHumidity());
        
        graphTemperature.draw(ColorTemperature);
        graphHumidity.draw(ColorHumidity);
        
        wait(1);
    }
}