MAIN
Fork of SOFT253_Template_Weather_OS_54 by
sensor.cpp
- Committer:
- J_Satchell
- Date:
- 2017-05-15
- Revision:
- 37:13f74964a045
- Parent:
- 36:af6abc6f7590
File content as of revision 37:13f74964a045:
#include "mbed.h"
#include "rtos.h"
#include "hts221.h"
#include "LPS25H.h"
#include "Data.hpp"
#include "log.hpp"
DigitalOut myled(LED1);
I2C i2c2(I2C_SDA, I2C_SCL);
Mutex mutex_s;
float tempCelsius = 25.50;
float humi = 55;
char cmd=0;
uint32_t seconds = 0, minutes=0, hours=0;
LPS25H barometer(i2c2, LPS25H_V_CHIP_ADDR);
HTS221 humidity(I2C_SDA, I2C_SCL);
void sensor_init()
{
humidity.init();
humidity.calib();
myled = 0;
}
void sensor_run()
{
while (1){
humidity.ReadTempHumi(&tempCelsius, &humi);
/*printf("%4.2fC %3.1f%%", tempCelsius, humi);*/
barometer.get();
/*printf(" %6.1f %4.1f\r\n", barometer.pressure(), barometer.temperature());*/
myled = 1; // LED is ON
Thread::wait(200); // 200 ms NB 'Thread::wait(int d);' !!! d is in milliseconds!
myled = 0; // LED is OFF
Thread::wait(100); // 100 ms
mutex_s.lock();
Data entry;
entry.tempCelsius = tempCelsius;
entry.humi = humi;
entry.pressure= barometer.pressure();
entry.logtime = time(0);
log_push(entry);
mutex_s.unlock();
Thread::wait(1000);
}
}