#include "sensor.h" std::vector 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(); }