JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
Загрузка...
Поиск...
Не найдено
Класс SensorCompensationService

Сервис компенсации датчиков Подробнее...

#include <sensor_compensation_service.h>

Граф наследования:SensorCompensationService:
Граф связей класса SensorCompensationService:

Открытые члены

 SensorCompensationService ()
 Конструктор
 
virtual ~SensorCompensationService ()=default
 Деструктор
 
void applyCompensation (SensorData &data, SoilType soilType) override
 Применяет компенсацию к данным датчика
 
float correctEC (float ec25, SoilType soilType, float temperature) override
 Компенсирует EC по модели Арчи
 
float correctPH (float temperature, float phRaw) override
 Компенсирует pH по уравнению Нернста
 
void correctNPK (float temperature, float humidity, SoilType soilType, NPKReferences &npk) override
 Компенсирует NPK по алгоритму Delgado et al. (2020)
 
float getPorosity (SoilType soilType) const override
 Получает пористость для типа почвы
 
bool validateCompensationInputs (SoilType soilType, float humidity, float temperature) const override
 Проверяет валидность входных данных для компенсации
 
SoilParameters getSoilParameters (SoilType soilType) const
 Получает параметры почвы для типа
 
NPKCoefficients getNPKCoefficients (SoilType soilType) const
 Получает коэффициенты NPK для типа почвы
 
- Открытые члены унаследованные от ISensorCompensationService
virtual ~ISensorCompensationService ()=default
 
virtual void initializeArchieCoefficients ()=0
 Инициализирует коэффициенты Арчи
 

Подробное описание

Сервис компенсации датчиков

Реализует научные алгоритмы компенсации:

  • Модель Арчи для EC
  • Уравнение Нернста для pH
  • Алгоритм Delgado et al. (2020) для NPK

Конструктор(ы)

◆ SensorCompensationService()

SensorCompensationService::SensorCompensationService ( )

Конструктор

Инициализирует коэффициенты и параметры

◆ ~SensorCompensationService()

virtual SensorCompensationService::~SensorCompensationService ( )
virtualdefault

Деструктор

Методы

◆ applyCompensation()

void SensorCompensationService::applyCompensation ( SensorData data,
SoilType  soilType 
)
overridevirtual

Применяет компенсацию к данным датчика

Аргументы
dataДанные датчика для компенсации
soilTypeТип почвы для выбора коэффициентов

Замещает ISensorCompensationService.

◆ correctEC()

float SensorCompensationService::correctEC ( float  ec25,
SoilType  soilType,
float  temperature 
)
overridevirtual

Компенсирует EC по модели Арчи

Аргументы
ec25EC при 25°C
soilTypeТип почвы
temperatureТемпература почвы
humidityВлажность почвы
Возвращает
float Скомпенсированное значение EC

Замещает ISensorCompensationService.

◆ correctPH()

float SensorCompensationService::correctPH ( float  temperature,
float  phRaw 
)
overridevirtual

Компенсирует pH по уравнению Нернста

Аргументы
phRawИсходное значение pH
temperatureТемпература почвы
Возвращает
float Скомпенсированное значение pH

Замещает ISensorCompensationService.

◆ correctNPK()

void SensorCompensationService::correctNPK ( float  temperature,
float  humidity,
SoilType  soilType,
NPKReferences npk 
)
overridevirtual

Компенсирует NPK по алгоритму Delgado et al. (2020)

Аргументы
temperatureТемпература почвы
humidityВлажность почвы
npkNPK значения для компенсации
soilTypeТип почвы

Замещает ISensorCompensationService.

◆ getPorosity()

float SensorCompensationService::getPorosity ( SoilType  soilType) const
overridevirtual

Получает пористость для типа почвы

Аргументы
soilTypeТип почвы
Возвращает
float Пористость почвы

Замещает ISensorCompensationService.

◆ validateCompensationInputs()

bool SensorCompensationService::validateCompensationInputs ( SoilType  soilType,
float  humidity,
float  temperature 
) const
overridevirtual

Проверяет валидность входных данных для компенсации

Аргументы
soilTypeТип почвы
temperatureТемпература
humidityВлажность
Возвращает
true если данные валидны, false в противном случае

Замещает ISensorCompensationService.

◆ getSoilParameters()

SoilParameters SensorCompensationService::getSoilParameters ( SoilType  soilType) const

Получает параметры почвы для типа

Аргументы
soilTypeТип почвы
Возвращает
SoilParameters Параметры почвы

◆ getNPKCoefficients()

NPKCoefficients SensorCompensationService::getNPKCoefficients ( SoilType  soilType) const

Получает коэффициенты NPK для типа почвы

Аргументы
soilTypeТип почвы
Возвращает
NPKCoefficients Коэффициенты NPK

Объявления и описания членов классов находятся в файлах: