Latest

Dependencies:   serial_terminal sample_hardware PLL_Config SDCard BMP280 Networkbits TextLCD SDBlockDevice

main.cpp

Committer:
Swabey89
Date:
2018-11-07
Revision:
6:a5394c9e5927
Parent:
5:956984cbe447
Child:
7:e2bf2d703867

File content as of revision 6:a5394c9e5927:

#include "sample_hardware.hpp"
#include "Networkbits.hpp"
#include "serial_terminal.hpp"
#include "SDCard.hpp"
#include "rtos.h"



// You will need a network connection set up (covered elsewhere). The host PC should have the address 10.0.0.1

//Threads
//Thread nwrkThread;
Thread serial_terminal;
Thread SD_thread;

int main() {
    
    
    //Move threads into a thread init function
    serial_terminal.start(serialterm);
    SD_thread.start(SDcard);
    
    //Greeting
    printf("Testing\n\n");    
    
    //Power on self test
    post();
    
    printf("Send commands\n\r");
    /*
    //Initialise the SD card (this needs to move)
    if ( sd.init() != 0) {
        printf("Init failed \n");
        lcd.cls();
        lcd.printf("CANNOT INIT SD");        
        errorCode(FATAL);
    } 
    
    //Create a filing system for SD Card
    FATFileSystem fs("sd", &sd);     

    //Open to WRITE
    FILE* fp = fopen("/sd/test.csv","a");
    if (fp == NULL) {
        error("Could not open file for write\n");
        lcd.cls();
        lcd.printf("CANNOT OPEN FILE\n\n");
        errorCode(FATAL);
    }
    
    //Last message before sampling begins
    lcd.cls();
    lcd.printf("READY\n\n");
    
        
    //Press either switch to unmount
    while ((SW1 == 0) && (SW2 == 0)) {
        
        //Base loop delay
        wait(1.0);
        
        //Read environmental sensors
        double temp = sensor.getTemperature();
        double pressure = sensor.getPressure();
        
        //Write new data to LCD (not fast!)
        lcd.cls();
        lcd.printf("Temp   Pressure\n"); 
        lcd.printf("%6.1f ",temp);
        lcd.printf("%.2f\n",pressure);
        
        //Write to SD (potentially slow)
        //fprintf(fp, "%6.1f,%.2f\n\r", temp, pressure);
    }
    
    //Close File
    fclose(fp);
    
    //Close down
    sd.deinit();
    printf("Unmounted...\n");
    lcd.cls();
    lcd.printf("Unmounted...\n\n");
    */
    
    //Flash to indicate goodness
    while(true) {
        greenLED = !greenLED;
        Thread::wait(500);    
    }
}