lib para o framework sgam
Dependencies: MPU6050 Grove_temperature
Dependents: example_smart-grid
peripheral/impl/Temperature.cpp
- Committer:
- AndersonIctus
- Date:
- 2019-06-06
- Revision:
- 5:caecc2426bbb
- Parent:
- 4:f21aab30658a
File content as of revision 5:caecc2426bbb:
#include "mbed.h" #include "Temperature.h" // using namespace rtos; Temperature::Temperature(PinName pin): temperature(pin), timeout(10*1000) { } Temperature::~Temperature() { finalizeTask(); temperature.~Grove_temperature(); } float Temperature::getValue() { return temperature.getTemperature(); } void Temperature::setCallbackReadOcurred( void (*callback_sensor)(float* value), uint32_t timeout = 10*1000 ) { Temperature::callback_sensor = callback_sensor; Temperature::timeout = timeout; } void Temperature::run(void const *self_context) { Temperature* self = (Temperature*)self_context; while(1) { float val = self->getValue(); self->acceptDataEvent( &val ); ThisThread::sleep_for(self->timeout); } } void Temperature::acceptDataEvent(float* data) { if(callback_sensor != NULL) callback_sensor(data); } void Temperature::initializeTask() { t = new Thread(); t->start(callback(run, this)); } void Temperature::finalizeTask() { if(t != NULL) t->terminate(); }