68 lines
1.0 KiB
C++
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();
|
|
}
|