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

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

#include <sensor_calibration_service.h>

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

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

 SensorCalibrationService ()
 Конструктор
 
virtual ~SensorCalibrationService ()=default
 Деструктор
 
void applyCalibration (SensorData &data, SoilProfile profile) override
 Применяет калибровку к данным датчика
 
float applySingleCalibration (float rawValue, SoilProfile profile) override
 Применяет калибровку к отдельному значению
 
bool validateCalibrationData (const SensorData &data) override
 Проверяет валидность калибровочных данных
 
bool loadCalibrationTable (const String &csvData, SoilProfile profile) override
 Загружает калибровочную таблицу из CSV.
 
bool hasCalibrationTable (SoilProfile profile) const override
 Проверяет наличие калибровочной таблицы
 
void clearCalibrationTable (SoilProfile profile) override
 Очищает калибровочную таблицу
 
size_t getCalibrationPointsCount (SoilProfile profile, const String &sensorType) override
 Получает количество точек калибровки
 
String getCalibrationStatus () const
 
bool isCalibrationComplete () const
 
bool addPHCalibrationPoint (float expected, float measured) override
 Добавляет точку калибровки pH.
 
bool addECCalibrationPoint (float expected, float measured) override
 Добавляет точку калибровки EC.
 
bool addTemperatureCalibrationPoint (float expected, float measured) override
 Добавляет точку калибровки температуры
 
bool addHumidityCalibrationPoint (float expected, float measured) override
 Добавляет точку калибровки влажности
 
bool setTemperatureOffset (float offset)
 Устанавливает offset калибровки температуры
 
bool setHumidityOffset (float offset)
 Устанавливает offset калибровки влажности
 
bool setNPKCoefficients (float nSlope, float nOffset, float pSlope, float pOffset, float kSlope, float kOffset)
 Устанавливает коэффициенты калибровки NPK.
 
bool setNPKCalibrationPoint (float n, float p, float k) override
 Устанавливает точку калибровки NPK.
 
bool calculatePHCalibration ()
 
bool calculateECCalibration ()
 
String exportCalibrationToJSON ()
 
bool importCalibrationFromJSON (const String &jsonData)
 
void resetCalibration ()
 
 SensorCalibrationService ()
 
virtual ~SensorCalibrationService ()=default
 
bool addPHCalibrationPoint (float expected, float measured)
 Добавляет точку калибровки pH.
 
bool addECCalibrationPoint (float expected, float measured)
 Добавляет точку калибровки EC.
 
<<<<<<< HEAD=======bool addTemperatureCalibrationPoint(float expected, float measured);bool addHumidityCalibrationPoint(float expected, float measured);> > > > > > develop bool setNPKCalibrationPoint (float measured_n, float measured_p, float measured_k)
 Устанавливает точку калибровки NPK.
 
bool calculatePHCalibration ()
 Рассчитывает коэффициенты калибровки pH.
 
bool calculateECCalibration ()
 Рассчитывает коэффициенты калибровки EC.
 
bool calculateNPKCalibration ()
 Рассчитывает коэффициенты калибровки NPK.
 
void applyCalibration (float &ph, float &ec, float &nitrogen, float &phosphorus, float &potassium)
 Применяет калибровку к данным датчика (простая версия)
 
void applyCalibration (SensorData &data, int profile)
 Применяет калибровку к данным датчика (продвинутая версия)
 
float applySingleCalibration (float rawValue, int profile)
 Применяет калибровку к отдельному значению
 
String exportCalibrationToJSON ()
 Экспортирует калибровку в JSON.
 
bool importCalibrationFromJSON (const String &json_data)
 Импортирует калибровку из JSON.
 
bool loadCalibrationTable (const String &csvData, int profile)
 Загружает калибровочную таблицу из CSV.
 
bool hasCalibrationTable (int profile) const
 Проверяет наличие калибровочной таблицы
 
void clearCalibrationTable (int profile)
 Очищает калибровочную таблицу
 
String getCalibrationStatus () const
 Получает статус калибровки
 
bool isCalibrationComplete () const
 Проверяет завершённость калибровки
 
void resetCalibration ()
 Сбрасывает калибровку
 
bool validateCalibration () const
 Валидирует калибровку
 
bool validateCalibrationData (const SensorData &data)
 Проверяет валидность калибровочных данных
 
- Открытые члены унаследованные от ISensorCalibrationService
virtual ~ISensorCalibrationService ()=default
 

Открытые статические члены

static String exportCalibrationTable (SoilProfile profile)
 Экспортирует калибровочную таблицу в CSV.
 
static size_t getCalibrationPointsCount (int profile, const String &sensorType)
 Получает количество точек калибровки
 
static String exportCalibrationTable (int profile)
 Экспортирует калибровочную таблицу в CSV.
 

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

Сервис калибровки датчиков

Единый сервис калибровки датчиков

Реализует логику применения калибровочных данных к показаниям датчиков, включая загрузку калибровочных таблиц и их применение.

Объединяет функциональность простой и продвинутой калибровки. Поддерживает как точечную калибровку, так и калибровочные таблицы.

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

◆ SensorCalibrationService() [1/2]

SensorCalibrationService::SensorCalibrationService ( )

Конструктор

◆ ~SensorCalibrationService() [1/2]

virtual SensorCalibrationService::~SensorCalibrationService ( )
virtualdefault

Деструктор

◆ SensorCalibrationService() [2/2]

SensorCalibrationService::SensorCalibrationService ( )

◆ ~SensorCalibrationService() [2/2]

virtual SensorCalibrationService::~SensorCalibrationService ( )
virtualdefault

Методы

◆ applyCalibration() [1/3]

void SensorCalibrationService::applyCalibration ( SensorData data,
SoilProfile  profile 
)
overridevirtual

Применяет калибровку к данным датчика

Аргументы
dataДанные датчика для калибровки
profileПрофиль почвы для выбора калибровочной таблицы

Замещает ISensorCalibrationService.

◆ applySingleCalibration() [1/2]

float SensorCalibrationService::applySingleCalibration ( float  rawValue,
SoilProfile  profile 
)
overridevirtual

Применяет калибровку к отдельному значению

Аргументы
rawValueИсходное значение
profileПрофиль почвы
Возвращает
float Откалиброванное значение

Замещает ISensorCalibrationService.

◆ validateCalibrationData() [1/2]

bool SensorCalibrationService::validateCalibrationData ( const SensorData data)
overridevirtual

Проверяет валидность калибровочных данных

Аргументы
dataДанные датчика для проверки
Возвращает
true если данные валидны, false в противном случае

Замещает ISensorCalibrationService.

◆ loadCalibrationTable() [1/2]

bool SensorCalibrationService::loadCalibrationTable ( const String &  csvData,
SoilProfile  profile 
)
overridevirtual

Загружает калибровочную таблицу из CSV.

Аргументы
csvDataCSV данные калибровочной таблицы
profileПрофиль почвы
Возвращает
true если загрузка успешна, false в противном случае

Замещает ISensorCalibrationService.

◆ hasCalibrationTable() [1/2]

bool SensorCalibrationService::hasCalibrationTable ( SoilProfile  profile) const
overridevirtual

Проверяет наличие калибровочной таблицы

Аргументы
profileПрофиль почвы
Возвращает
true если таблица загружена, false в противном случае

Замещает ISensorCalibrationService.

◆ clearCalibrationTable() [1/2]

void SensorCalibrationService::clearCalibrationTable ( SoilProfile  profile)
overridevirtual

Очищает калибровочную таблицу

Аргументы
profileПрофиль почвы

Замещает ISensorCalibrationService.

◆ getCalibrationPointsCount() [1/2]

size_t SensorCalibrationService::getCalibrationPointsCount ( SoilProfile  profile,
const String &  sensorType 
)
overridevirtual

Получает количество точек калибровки

Аргументы
profileПрофиль почвы
sensorTypeТип датчика
Возвращает
size_t Количество точек калибровки

Замещает ISensorCalibrationService.

◆ exportCalibrationTable() [1/2]

String SensorCalibrationService::exportCalibrationTable ( SoilProfile  profile)
static

Экспортирует калибровочную таблицу в CSV.

Аргументы
profileПрофиль почвы
Возвращает
String CSV данные калибровочной таблицы

◆ getCalibrationStatus() [1/2]

String SensorCalibrationService::getCalibrationStatus ( ) const

◆ isCalibrationComplete() [1/2]

bool SensorCalibrationService::isCalibrationComplete ( ) const

◆ addPHCalibrationPoint() [1/2]

bool SensorCalibrationService::addPHCalibrationPoint ( float  expected,
float  measured 
)
overridevirtual

Добавляет точку калибровки pH.

Аргументы
expectedОжидаемое значение
measuredИзмеренное значение
Возвращает
true если добавление успешно

Замещает ISensorCalibrationService.

◆ addECCalibrationPoint() [1/2]

bool SensorCalibrationService::addECCalibrationPoint ( float  expected,
float  measured 
)
overridevirtual

Добавляет точку калибровки EC.

Аргументы
expectedОжидаемое значение
measuredИзмеренное значение
Возвращает
true если добавление успешно

Замещает ISensorCalibrationService.

◆ addTemperatureCalibrationPoint()

bool SensorCalibrationService::addTemperatureCalibrationPoint ( float  expected,
float  measured 
)
overridevirtual

Добавляет точку калибровки температуры

Аргументы
expectedОжидаемое значение
measuredИзмеренное значение
Возвращает
true если добавление успешно

Замещает ISensorCalibrationService.

◆ addHumidityCalibrationPoint()

bool SensorCalibrationService::addHumidityCalibrationPoint ( float  expected,
float  measured 
)
overridevirtual

Добавляет точку калибровки влажности

Аргументы
expectedОжидаемое значение
measuredИзмеренное значение
Возвращает
true если добавление успешно

Замещает ISensorCalibrationService.

◆ setTemperatureOffset()

bool SensorCalibrationService::setTemperatureOffset ( float  offset)
virtual

Устанавливает offset калибровки температуры

Аргументы
offsetСмещение температуры
Возвращает
true если установка успешна

Замещает ISensorCalibrationService.

◆ setHumidityOffset()

bool SensorCalibrationService::setHumidityOffset ( float  offset)
virtual

Устанавливает offset калибровки влажности

Аргументы
offsetСмещение влажности
Возвращает
true если установка успешна

Замещает ISensorCalibrationService.

◆ setNPKCoefficients()

bool SensorCalibrationService::setNPKCoefficients ( float  nSlope,
float  nOffset,
float  pSlope,
float  pOffset,
float  kSlope,
float  kOffset 
)
virtual

Устанавливает коэффициенты калибровки NPK.

Аргументы
nSlopeКоэффициент наклона для азота
nOffsetСмещение для азота
pSlopeКоэффициент наклона для фосфора
pOffsetСмещение для фосфора
kSlopeКоэффициент наклона для калия
kOffsetСмещение для калия
Возвращает
true если установка успешна

Замещает ISensorCalibrationService.

◆ setNPKCalibrationPoint() [1/2]

bool SensorCalibrationService::setNPKCalibrationPoint ( float  nitrogen,
float  phosphorus,
float  potassium 
)
overridevirtual

Устанавливает точку калибровки NPK.

Аргументы
nitrogenЗначение азота
phosphorusЗначение фосфора
potassiumЗначение калия
Возвращает
true если установка успешна

Замещает ISensorCalibrationService.

◆ calculatePHCalibration() [1/2]

bool SensorCalibrationService::calculatePHCalibration ( )

◆ calculateECCalibration() [1/2]

bool SensorCalibrationService::calculateECCalibration ( )

◆ exportCalibrationToJSON() [1/2]

String SensorCalibrationService::exportCalibrationToJSON ( )

◆ importCalibrationFromJSON() [1/2]

bool SensorCalibrationService::importCalibrationFromJSON ( const String &  jsonData)

◆ resetCalibration() [1/2]

void SensorCalibrationService::resetCalibration ( )

◆ addPHCalibrationPoint() [2/2]

bool SensorCalibrationService::addPHCalibrationPoint ( float  expected,
float  measured 
)
virtual

Добавляет точку калибровки pH.

Аргументы
expectedОжидаемое значение pH
measuredИзмеренное значение pH
Возвращает
true если точка добавлена успешно

Замещает ISensorCalibrationService.

◆ addECCalibrationPoint() [2/2]

bool SensorCalibrationService::addECCalibrationPoint ( float  expected,
float  measured 
)
virtual

Добавляет точку калибровки EC.

Аргументы
expectedОжидаемое значение EC
measuredИзмеренное значение EC
Возвращает
true если точка добавлена успешно

Замещает ISensorCalibrationService.

◆ setNPKCalibrationPoint() [2/2]

<<<<<<< HEAD=======bool addTemperatureCalibrationPoint(float expected, float measured);bool addHumidityCalibrationPoint(float expected, float measured);> > > > > > develop bool SensorCalibrationService::setNPKCalibrationPoint ( float  nitrogen,
float  phosphorus,
float  potassium 
)
virtual

Устанавливает точку калибровки NPK.

Аргументы
nitrogenЗначение азота
phosphorusЗначение фосфора
potassiumЗначение калия
Возвращает
true если установка успешна

Замещает ISensorCalibrationService.

◆ calculatePHCalibration() [2/2]

bool SensorCalibrationService::calculatePHCalibration ( )

Рассчитывает коэффициенты калибровки pH.

Возвращает
true если расчёт успешен

◆ calculateECCalibration() [2/2]

bool SensorCalibrationService::calculateECCalibration ( )

Рассчитывает коэффициенты калибровки EC.

Возвращает
true если расчёт успешен

◆ calculateNPKCalibration()

bool SensorCalibrationService::calculateNPKCalibration ( )

Рассчитывает коэффициенты калибровки NPK.

Возвращает
true если расчёт успешен

◆ applyCalibration() [2/3]

void SensorCalibrationService::applyCalibration ( float &  ph,
float &  ec,
float &  nitrogen,
float &  phosphorus,
float &  potassium 
)

Применяет калибровку к данным датчика (простая версия)

Аргументы
phpH для калибровки
ecEC для калибровки
nitrogenАзот для калибровки
phosphorusФосфор для калибровки
potassiumКалий для калибровки

◆ applyCalibration() [3/3]

void SensorCalibrationService::applyCalibration ( SensorData data,
int  profile 
)

Применяет калибровку к данным датчика (продвинутая версия)

Аргументы
dataДанные датчика для калибровки
profileПрофиль почвы для выбора калибровочной таблицы

◆ applySingleCalibration() [2/2]

float SensorCalibrationService::applySingleCalibration ( float  rawValue,
int  profile 
)

Применяет калибровку к отдельному значению

Аргументы
rawValueИсходное значение
profileПрофиль почвы
Возвращает
float Откалиброванное значение

◆ exportCalibrationToJSON() [2/2]

String SensorCalibrationService::exportCalibrationToJSON ( )

Экспортирует калибровку в JSON.

Возвращает
String JSON строка с калибровочными данными

◆ importCalibrationFromJSON() [2/2]

bool SensorCalibrationService::importCalibrationFromJSON ( const String &  json_data)

Импортирует калибровку из JSON.

Аргументы
json_dataJSON строка с калибровочными данными
Возвращает
true если импорт успешен

◆ loadCalibrationTable() [2/2]

bool SensorCalibrationService::loadCalibrationTable ( const String &  csvData,
int  profile 
)

Загружает калибровочную таблицу из CSV.

Аргументы
csvDataCSV данные калибровочной таблицы
profileПрофиль почвы
Возвращает
true если загрузка успешна

◆ hasCalibrationTable() [2/2]

bool SensorCalibrationService::hasCalibrationTable ( int  profile) const

Проверяет наличие калибровочной таблицы

Аргументы
profileПрофиль почвы
Возвращает
true если таблица загружена

◆ clearCalibrationTable() [2/2]

void SensorCalibrationService::clearCalibrationTable ( int  profile)

Очищает калибровочную таблицу

Аргументы
profileПрофиль почвы

◆ getCalibrationPointsCount() [2/2]

size_t SensorCalibrationService::getCalibrationPointsCount ( int  profile,
const String &  sensorType 
)
static

Получает количество точек калибровки

Аргументы
profileПрофиль почвы
sensorTypeТип датчика
Возвращает
size_t Количество точек калибровки

◆ exportCalibrationTable() [2/2]

String SensorCalibrationService::exportCalibrationTable ( int  profile)
static

Экспортирует калибровочную таблицу в CSV.

Аргументы
profileПрофиль почвы
Возвращает
String CSV данные калибровочной таблицы

◆ getCalibrationStatus() [2/2]

String SensorCalibrationService::getCalibrationStatus ( ) const

Получает статус калибровки

Возвращает
String Описание статуса калибровки

◆ isCalibrationComplete() [2/2]

bool SensorCalibrationService::isCalibrationComplete ( ) const

Проверяет завершённость калибровки

Возвращает
true если калибровка завершена

◆ resetCalibration() [2/2]

void SensorCalibrationService::resetCalibration ( )

Сбрасывает калибровку

◆ validateCalibration()

bool SensorCalibrationService::validateCalibration ( ) const

Валидирует калибровку

Возвращает
true если калибровка валидна

◆ validateCalibrationData() [2/2]

bool SensorCalibrationService::validateCalibrationData ( const SensorData data)
virtual

Проверяет валидность калибровочных данных

Аргументы
dataДанные датчика для проверки
Возвращает
true если данные валидны

Замещает ISensorCalibrationService.


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