Files
AQS-FW/sensor.cpp
2021-07-26 18:54:25 +02:00

68 lines
1.0 KiB
C++

#include "sensor.h"
std::vector<AQSSensor*> sensorList;
void publishAll(void);
void reportToSerial(void)
{
/* Report PM1.0 AE value */
for( auto && sensor : sensorList)
{
sensor->print();
}
}
void addSensorToList(AQSSensor* sensor)
{
sensorList.push_back(sensor);
Serial.printf("sensor: added %s\n", sensor->getName().c_str());
}
void publishAll(void)
{
for(auto && sensor : sensorList)
{
sensor->print();
sensor->publishMQTT();
sensor->published();
}
}
void initSensor(void)
{
Serial.println("Sensor: Init");
Serial.println("Sensor: Init OK");
}
void handleSensor(void)
{
publishAll();
}
AQSSensor* getSensor(sensor_e sensor)
{
for(auto && thissensor : sensorList)
{
if(thissensor->getSensor() == sensor)
{
return thissensor;
}
}
return NULL;
}
uint32_t getSensorValue(sensor_e sensor)
{
AQSSensor *thissensor = getSensor(sensor);
if(thissensor == NULL)
{
Serial.println("Sensor: failed to get sensor");
return 999;
}
return thissensor->value();
}