7#ifndef ISENSOR_COMPENSATION_SERVICE_H
8#define ISENSOR_COMPENSATION_SERVICE_H
11#include "../sensor_types.h"
12#include "../validation_utils.h"
55 virtual float correctPH(
float temperature,
float phRaw) = 0;
Интерфейс для сервиса компенсации датчиков
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