JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
|
Работа с Modbus-датчиком JXCT. Подробнее...
#include "modbus_sensor.h"
#include <Arduino.h>
#include <algorithm>
#include "advanced_filters.h"
#include "business_services.h"
#include "calibration_manager.h"
#include "debug.h"
#include "jxct_config_vars.h"
#include "jxct_constants.h"
#include "jxct_device_info.h"
#include "logger.h"
#include "sensor_processing.h"
#include "sensor_types.h"
#include "validation_utils.h"
Функции | |
void | testSP3485E () |
Тестирование работы SP3485E. | |
void | setupModbus () |
Инициализация Modbus и SP3485E. | |
bool | validateSensorData (ModbusSensorData &data) |
bool | getCachedData (ModbusSensorData &data) |
bool | readFirmwareVersion () |
bool | readErrorStatus () |
bool | testModbusConnection () |
void | readSensorData () |
void | preTransmission () |
Подготовка к передаче данных | |
void | postTransmission () |
Завершение передачи данных | |
static void | realSensorTask (void *) |
void | startRealSensorTask () |
void | printModbusError (uint8_t errNum) |
void | initMovingAverageBuffers (ModbusSensorData &data) |
void | addToMovingAverage (ModbusSensorData &data, const ModbusSensorData &newReading) |
ModbusSensorData | getSensorData () |
ModbusMaster & | getModbus () |
String & | getSensorLastError () |
ModbusSensorData & | getSensorDataRef () |
SensorCache & | getSensorCache () |
Переменные | |
ModbusSensorData | sensorData |
SensorCache | sensorCache |
Работа с Modbus-датчиком JXCT.
Реализация функций и задач для опроса датчика по Modbus RTU, преобразование данных, управление линией передачи.
void testSP3485E | ( | ) |
Тестирование работы SP3485E.
Проверяет корректность работы пинов DE и RE:
void setupModbus | ( | ) |
Инициализация Modbus и SP3485E.
Настраивает пины управления SP3485E и инициализирует UART для Modbus. Важно: DE и RE управляются раздельно для лучшего контроля над временем переключения
bool validateSensorData | ( | ModbusSensorData & | data | ) |
bool getCachedData | ( | ModbusSensorData & | data | ) |
bool readFirmwareVersion | ( | ) |
bool readErrorStatus | ( | ) |
bool testModbusConnection | ( | ) |
void readSensorData | ( | ) |
void preTransmission | ( | ) |
Подготовка к передаче данных
Включает передатчик и отключает приемник с необходимой задержкой. Важно: Задержка 50 мкс необходима для стабилизации сигналов на шине RS-485
void postTransmission | ( | ) |
Завершение передачи данных
Выключает передатчик и включает приемник с необходимой задержкой. Важно: Задержка 50 мкс необходима для корректного переключения режимов
|
static |
void startRealSensorTask | ( | ) |
void printModbusError | ( | uint8_t | errNum | ) |
void initMovingAverageBuffers | ( | ModbusSensorData & | data | ) |
void addToMovingAverage | ( | ModbusSensorData & | data, |
const ModbusSensorData & | newReading | ||
) |
ModbusSensorData getSensorData | ( | ) |
ModbusMaster & getModbus | ( | ) |
String & getSensorLastError | ( | ) |
ModbusSensorData & getSensorDataRef | ( | ) |
SensorCache & getSensorCache | ( | ) |
ModbusSensorData sensorData |
SensorCache sensorCache |