JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
Загрузка...
Поиск...
Не найдено
ISensorCompensationService.h
См. документацию.
1
7#ifndef ISENSOR_COMPENSATION_SERVICE_H
8#define ISENSOR_COMPENSATION_SERVICE_H
9
10#include <Arduino.h>
11#include "../sensor_types.h"
12#include "../validation_utils.h"
13
21{
22 public:
23 virtual ~ISensorCompensationService() = default;
24
31 virtual void applyCompensation(SensorData& data, SoilType soilType) = 0;
32
44 virtual float correctEC(float ec25, SoilType soilType, float temperature) = 0;
45
55 virtual float correctPH(float temperature, float phRaw) = 0;
56
68 virtual void correctNPK(float temperature, float humidity, SoilType soilType, NPKReferences& npk) = 0;
69
76 virtual float getPorosity(SoilType soilType) const = 0;
77
86 virtual bool validateCompensationInputs(SoilType soilType, float humidity, float temperature) const = 0;
87
91 virtual void initializeArchieCoefficients() = 0;
92
96 virtual void initializeSoilParameters() = 0;
97
101 virtual void initializeNPKCoefficients() = 0;
102};
103
104#endif // ISENSOR_COMPENSATION_SERVICE_H
Интерфейс для сервиса компенсации датчиков
Definition ISensorCompensationService.h:21
virtual ~ISensorCompensationService()=default
virtual void applyCompensation(SensorData &data, SoilType soilType)=0
Применяет компенсацию к данным датчика
virtual void initializeSoilParameters()=0
Инициализирует параметры почвы
virtual void correctNPK(float temperature, float humidity, SoilType soilType, NPKReferences &npk)=0
Компенсирует NPK по формуле Delgado et al. (2020)
virtual float correctPH(float temperature, float phRaw)=0
Компенсирует pH по уравнению Нернста
virtual float correctEC(float ec25, SoilType soilType, float temperature)=0
Компенсирует EC по формуле Rhoades et al. (1989)
virtual void initializeArchieCoefficients()=0
Инициализирует коэффициенты Арчи
virtual void initializeNPKCoefficients()=0
Инициализирует коэффициенты NPK.
virtual float getPorosity(SoilType soilType) const =0
Получает пористость для типа почвы
virtual bool validateCompensationInputs(SoilType soilType, float humidity, float temperature) const =0
Проверяет валидность входных данных для компенсации
SoilType
Типы почвы
Definition sensor_types.h:16
NPK значения
Definition sensor_types.h:101
Данные датчика
Definition sensor_types.h:77