JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
Загрузка...
Поиск...
Не найдено
ISensorCalibrationService.h
См. документацию.
1
7#ifndef ISENSOR_CALIBRATION_SERVICE_H
8#define ISENSOR_CALIBRATION_SERVICE_H
9
10#include <Arduino.h>
11#include "../sensor_types.h"
12#include "../validation_utils.h"
13
21{
22 public:
23 virtual ~ISensorCalibrationService() = default;
24
31 virtual void applyCalibration(SensorData& data, SoilProfile profile) = 0;
32
40 virtual float applySingleCalibration(float rawValue, SoilProfile profile) = 0;
41
48 virtual bool validateCalibrationData(const SensorData& data) = 0;
49
57 virtual bool loadCalibrationTable(const String& csvData, SoilProfile profile) = 0;
58
65 virtual bool hasCalibrationTable(SoilProfile profile) const = 0;
66
72 virtual void clearCalibrationTable(SoilProfile profile) = 0;
73
81 virtual bool addPHCalibrationPoint(float expected, float measured) = 0;
82
90 virtual bool addECCalibrationPoint(float expected, float measured) = 0;
91
99 virtual bool addTemperatureCalibrationPoint(float expected, float measured) = 0;
100
108 virtual bool addHumidityCalibrationPoint(float expected, float measured) = 0;
109
118 virtual bool setNPKCalibrationPoint(float nitrogen, float phosphorus, float potassium) = 0;
119
127 virtual size_t getCalibrationPointsCount(SoilProfile profile, const String& sensorType) = 0;
128
135 virtual bool setTemperatureOffset(float offset) = 0;
136
143 virtual bool setHumidityOffset(float offset) = 0;
144
156 virtual bool setNPKCoefficients(float nSlope, float nOffset, float pSlope, float pOffset, float kSlope, float kOffset) = 0;
157};
158
159#endif // ISENSOR_CALIBRATION_SERVICE_H
Интерфейс для сервиса калибровки датчиков
Definition ISensorCalibrationService.h:21
virtual bool setNPKCalibrationPoint(float nitrogen, float phosphorus, float potassium)=0
Устанавливает точку калибровки NPK.
virtual bool setHumidityOffset(float offset)=0
Устанавливает offset калибровки влажности
virtual bool validateCalibrationData(const SensorData &data)=0
Проверяет валидность калибровочных данных
virtual size_t getCalibrationPointsCount(SoilProfile profile, const String &sensorType)=0
Получает количество точек калибровки
virtual bool addTemperatureCalibrationPoint(float expected, float measured)=0
Добавляет точку калибровки температуры
virtual float applySingleCalibration(float rawValue, SoilProfile profile)=0
Применяет калибровку к отдельному значению
virtual bool setTemperatureOffset(float offset)=0
Устанавливает offset калибровки температуры
virtual bool setNPKCoefficients(float nSlope, float nOffset, float pSlope, float pOffset, float kSlope, float kOffset)=0
Устанавливает коэффициенты калибровки NPK.
virtual void clearCalibrationTable(SoilProfile profile)=0
Очищает калибровочную таблицу
virtual bool loadCalibrationTable(const String &csvData, SoilProfile profile)=0
Загружает калибровочную таблицу из CSV.
virtual void applyCalibration(SensorData &data, SoilProfile profile)=0
Применяет калибровку к данным датчика
virtual ~ISensorCalibrationService()=default
virtual bool addHumidityCalibrationPoint(float expected, float measured)=0
Добавляет точку калибровки влажности
virtual bool hasCalibrationTable(SoilProfile profile) const =0
Проверяет наличие калибровочной таблицы
virtual bool addPHCalibrationPoint(float expected, float measured)=0
Добавляет точку калибровки pH.
virtual bool addECCalibrationPoint(float expected, float measured)=0
Добавляет точку калибровки EC.
SoilProfile
Профили почвы
Definition sensor_types.h:36
Данные датчика
Definition sensor_types.h:77