Saltware / Mbed 2 deprecated Water Play

Dependencies:   mbed DRV88255 TextLCD Ping mbed-rtos

main.cpp

Committer:
sbouber1
Date:
2016-06-10
Revision:
8:24b057cbcb53
Parent:
6:067e999b9c6e

File content as of revision 8:24b057cbcb53:

#include "SalinityController.h"
#include "TemperatureController.h"
#include "MotorController.h"
#include "LCDController.h"
#include "ProximityController.h"

#include "mbed.h"
#include "rtos.h"

typedef struct Controllers {
    TemperatureController *temperature;
    SalinityController *salinity;
    ProximityController *proximity;
    LCDController *lcd;
    
} Controllers;



/*
    Continuously update controller every 100 ms
*/
void controller_thread(void const *args) {
    Controller *controller = (Controller*)args;
    
    while(1) {
        controller->update();
        Thread::wait(100);
    }
    
}


int main() 
{
    int count;

    TemperatureController temperature;
    Thread t1(controller_thread, (Controller*)&temperature);
    
    //SalinityController salt;
    //Thread t2(controller_thread, (Controller*)&salt);
    
    
    
    MotorController motor;
    // Keep LCD controller outside thread
    LCDController lcd;
    
//    for(int i = 0; i < 20; i++)
//    {
//        motor.test();
//        motor.test2();
//    }
    //lcd.splash();
    //while(1) {        
       // printf("%d> ", count);
        
       // salt.displayPPT();
        
        //temperature.displayTemperature();
        
      //  temperature.controlHeater();
        
     //   lcd.updateScreen(temperature.getTemperature(),salt.getVoltage());
     //   count++;
        
     //   wait(0.5);
    //}
    
    float s = 0.0;
    float t = 0.0;
    
    while(1) {
        lcd.splash();
        Thread::wait(1000);

        t = temperature.getValue();
        // s=... 

        printf("Grabbing temperature value from main thread: %f\r\n", t);
        //printf("Grabbing salinity value from main thread: %f\n", salt.getValue());
        
        lcd.updateScreen(t, s);     
        
        motor.test();
    }
}