temperature: [#9] [#11] send Event to master

This commit is contained in:
Vasily Davydov 2023-05-18 11:45:34 +03:00 committed by RedHawk
parent 599be89871
commit ef32a5077b

View File

@ -6,6 +6,7 @@
#include "Temperature.h"
#include "SensorTempTC74.h"
#include "Event.h"
#include "Log.h"
Temperature::Temperature(ThreadCommon::QueueManager* qm, I2C* pi2c) : _qm(qm), _pi2c(pi2c) {}
@ -15,18 +16,22 @@ Temperature::~Temperature() {}
void Temperature::taskFunction()
{
SensorTempTC74 ext_temp_sensor(this->_pi2c, 0x4a);
Event t (Event::ExternalTemp, -10);
int8_t temp_value = 0;
for (;;)
{
if (ext_temp_sensor.is_up())
temp_value = ext_temp_sensor.getTemperature();
if(temp_value == -10)
{
LOG_ERROR("Failed to get temperature.");
continue;
}
LOG_DEBUG("External temperature is: %d", temp_value);
//Send temperature on queue. As event. :(
vTaskDelay(5000);
t.setDataOf(Event::ExternalTemp, temp_value);
_qm->send<Event>(ThreadCommon::QueueManager::master_event_all, &t, 5000);
}
}