manager.h
1 #pragma once 2 3 #include "sensors/barometric_pressure.h" 4 #include "sensors/carbon_dioxide.h" 5 #include "sensors/current.h" 6 #include "sensors/soil.h" 7 #include "sensors/solar_radiation.h" 8 #include "sensors/temperature_and_humidity.h" 9 #include "sensors/voltage.h" 10 #include "sensors/wind_direction.h" 11 #include "sensors/wind_speed.h" 12 13 struct SensorInventorySnapshot { 14 uint8_t temperature_humidity_count; 15 uint8_t soil_probe_count; 16 bool voltage_available; 17 bool current_available; 18 bool carbon_dioxide_available; 19 bool wind_speed_available; 20 bool wind_direction_available; 21 bool solar_radiation_available; 22 bool barometric_pressure_available; 23 }; 24 25 namespace sensors::manager { 26 27 void initialize(); 28 bool accessInventory(SensorInventorySnapshot *snapshot); 29 bool accessCO2(CO2SensorData *sensor_data); 30 bool accessVoltage(VoltageSensorData *sensor_data); 31 bool accessCurrent(CurrentSensorData *sensor_data); 32 bool accessWindSpeed(WindSpeedSensorData *sensor_data); 33 bool accessWindDirection(WindDirectionSensorData *sensor_data); 34 bool accessSolarRadiation(SolarRadiationSensorData *sensor_data); 35 bool accessSoil(uint8_t index, SoilSensorData *sensor_data); 36 bool accessTemperatureHumidity(uint8_t index, 37 TemperatureHumiditySensorData *sensor_data); 38 bool accessBarometricPressure(BarometricPressureSensorData *sensor_data); 39 40 } 41