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

Централизованные константы системы JXCT. Подробнее...

#include <Arduino.h>
#include <stddef.h>
#include <stdint.h>
Граф включаемых заголовочных файлов для jxct_constants.h:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Переменные

constexpr unsigned long DEFAULT_SENSOR_READ_INTERVAL = 5000
 
constexpr unsigned long DEFAULT_MQTT_PUBLISH_INTERVAL = 30000
 
constexpr unsigned long DEFAULT_THINGSPEAK_INTERVAL = 60000
 
constexpr unsigned long DEFAULT_NTP_UPDATE_INTERVAL = 3600000
 
constexpr unsigned long MODBUS_CACHE_TIMEOUT = 3000
 
constexpr unsigned long MODBUS_RETRY_DELAY = 500
 
constexpr unsigned long DNS_CACHE_TTL = 180000
 
constexpr unsigned long MQTT_RECONNECT_INTERVAL = 3000
 
constexpr unsigned long SENSOR_JSON_CACHE_TTL = 500
 
constexpr unsigned long STATUS_PRINT_INTERVAL = 30000
 
constexpr unsigned long JXCT_WATCHDOG_TIMEOUT_SEC = 30
 
constexpr unsigned long JXCT_BUTTON_HOLD_TIME_MS = 2000
 
constexpr unsigned long LED_BLINK_SLOW = 1000
 
constexpr unsigned long LED_BLINK_NORMAL = 500
 
constexpr unsigned long LED_BLINK_FAST = 100
 
constexpr int DEFAULT_WEB_SERVER_PORT = 80
 
constexpr int DEFAULT_MQTT_PORT = 1883
 
constexpr int DEFAULT_DNS_PORT = 53
 
constexpr uint8_t DEFAULT_MODBUS_ADDRESS = 1
 
constexpr size_t MQTT_BUFFER_SIZE = 512
 
constexpr size_t JSON_BUFFER_SIZE = 256
 
constexpr size_t TOPIC_BUFFER_SIZE = 128
 
constexpr size_t CLIENT_ID_BUFFER_SIZE = 32
 
constexpr size_t HOSTNAME_BUFFER_SIZE = 64
 
constexpr int WIFI_CONNECTION_ATTEMPTS = 20
 
constexpr int MQTT_CONNECTION_ATTEMPTS = 3
 
constexpr unsigned long WIFI_CONNECTION_TIMEOUT = 10000
 
constexpr unsigned long MODBUS_BAUD_RATE = 9600
 
constexpr uint8_t MODBUS_DATA_BITS = 8
 
constexpr uint8_t MODBUS_STOP_BITS = 1
 
constexpr uint8_t MODBUS_PARITY = 0
 
constexpr uint8_t MODBUS_MAX_RETRIES = 3
 
constexpr unsigned long MODBUS_RESPONSE_TIMEOUT = 2000
 
constexpr unsigned long MODBUS_FRAME_DELAY = 100
 
constexpr float SENSOR_TEMP_MIN = -45.0F
 
constexpr float SENSOR_TEMP_MAX = 115.0F
 
constexpr float SENSOR_HUMIDITY_MIN = 0.0F
 
constexpr float SENSOR_HUMIDITY_MAX = 100.0F
 
constexpr float SENSOR_PH_MIN = 3.0F
 
constexpr float SENSOR_PH_MAX = 9.0F
 
constexpr uint16_t SENSOR_EC_MIN = 0
 
constexpr uint16_t SENSOR_EC_MAX = 10000
 
constexpr uint16_t SENSOR_NPK_MIN = 0
 
constexpr uint16_t SENSOR_NPK_MAX = 1999
 
constexpr float TEMP_MIN_VALID = SENSOR_TEMP_MIN
 
constexpr float TEMP_MAX_VALID = SENSOR_TEMP_MAX
 
constexpr float HUM_MIN_VALID = SENSOR_HUMIDITY_MIN
 
constexpr float HUM_MAX_VALID = SENSOR_HUMIDITY_MAX
 
constexpr int EC_MAX_VALID = SENSOR_EC_MAX
 
constexpr int NPK_MAX_VALID = SENSOR_NPK_MAX
 
constexpr unsigned long CONFIG_INTERVAL_MIN = 1000
 
constexpr unsigned long CONFIG_INTERVAL_MAX = 3600000
 
constexpr unsigned long CONFIG_THINGSPEAK_MIN = 15000
 
constexpr unsigned long CONFIG_THINGSPEAK_MAX = 7200000
 
constexpr int CONFIG_MQTT_PORT_MIN = 1
 
constexpr int CONFIG_MQTT_PORT_MAX = 65535
 
constexpr uint8_t MOVING_AVERAGE_WINDOW_MIN = 1
 
constexpr uint8_t MOVING_AVERAGE_WINDOW_MAX = 20
 
constexpr uint8_t MOVING_AVERAGE_WINDOW_DEFAULT = 5
 
constexpr float DEFAULT_DELTA_TEMPERATURE = 0.5F
 
constexpr float DEFAULT_DELTA_HUMIDITY = 2.0F
 
constexpr float DEFAULT_DELTA_PH = 0.1F
 
constexpr float DEFAULT_DELTA_EC = 50.0F
 
constexpr float DEFAULT_DELTA_NPK = 10.0F
 
constexpr uint8_t DEFAULT_FORCE_PUBLISH_CYCLES = 10
 
constexpr float EXPONENTIAL_ALPHA_MIN = 0.1F
 
constexpr float EXPONENTIAL_ALPHA_MAX = 0.9F
 
constexpr float EXPONENTIAL_ALPHA_DEFAULT = 0.3F
 
constexpr float OUTLIER_THRESHOLD_MIN = 1.5F
 
constexpr float OUTLIER_THRESHOLD_MAX = 4.0F
 
constexpr float OUTLIER_THRESHOLD_DEFAULT = 2.5F
 
constexpr float KALMAN_PROCESS_NOISE = 0.01F
 
constexpr float KALMAN_MEASUREMENT_NOISE = 0.1F
 
constexpr float KALMAN_INITIAL_UNCERTAINTY = 1.0F
 
constexpr float CALIBRATION_OFFSET_MAX = 10.0F
 
constexpr float CALIBRATION_DRIFT_MAX = 0.1F
 
constexpr uint8_t STATISTICS_WINDOW_SIZE = 20
 
constexpr float MIN_STANDARD_DEVIATION = 0.01F
 
constexpr const char * JXCT_WIFI_AP_PASS = "12345678"
 
constexpr const char * WIFI_HOSTNAME_PREFIX = "jxct-"
 
constexpr const char * MQTT_TOPIC_STATE = "/state"
 
constexpr const char * MQTT_TOPIC_STATUS = "/status"
 
constexpr const char * MQTT_TOPIC_COMMAND = "/command"
 
constexpr const char * MQTT_TOPIC_AVAILABILITY = "/availability"
 
constexpr const char * HASS_DISCOVERY_PREFIX = "homeassistant/sensor/"
 
constexpr const char * HASS_CONFIG_SUFFIX = "/config"
 
constexpr const char * HTTP_CACHE_CONTROL = "no-cache, no-store, must-revalidate"
 
constexpr const char * HTTP_CONTENT_TYPE_HTML = "text/html; charset=utf-8"
 
constexpr const char * HTTP_CONTENT_TYPE_JSON = "application/json"
 
constexpr const char * HTTP_CONTENT_TYPE_PLAIN = "text/plain"
 
constexpr int RESET_BUTTON_PIN = 0
 
constexpr int JXCT_STATUS_LED_PIN = 2
 
constexpr int MODBUS_RX_PIN = 16
 
constexpr int MODBUS_TX_PIN = 17
 
constexpr int MODBUS_DE_PIN = 4
 
constexpr int MODBUS_RE_PIN = 5
 
constexpr size_t SENSOR_TASK_STACK_SIZE = 4096
 
constexpr size_t RESET_BUTTON_TASK_STACK_SIZE = 2048
 
constexpr size_t WEB_SERVER_TASK_STACK_SIZE = 8192
 
constexpr UBaseType_t SENSOR_TASK_PRIORITY = 2
 
constexpr UBaseType_t RESET_BUTTON_TASK_PRIORITY = 1
 
constexpr UBaseType_t WEB_SERVER_TASK_PRIORITY = 1
 
constexpr size_t MAX_CONFIG_JSON_SIZE = 2048
 
constexpr size_t MAX_SENSOR_JSON_SIZE = 512
 
constexpr size_t MAX_LOG_MESSAGE_SIZE = 256
 
constexpr int LOG_LEVEL_ERROR = 0
 
constexpr int LOG_LEVEL_WARN = 1
 
constexpr int LOG_LEVEL_INFO = 2
 
constexpr int LOG_LEVEL_DEBUG = 3
 
constexpr bool DEBUG_MODBUS_ENABLED = false
 
constexpr bool DEBUG_MQTT_ENABLED = false
 
constexpr bool DEBUG_WIFI_ENABLED = false
 
constexpr int DEFAULT_SEPARATOR_LENGTH = 60
 
constexpr int JXCT_REDIRECT_DELAY_MS = 1000
 
constexpr int HTTP_OK = 200
 
constexpr int HTTP_FORBIDDEN = 403
 
constexpr int HTTP_REDIRECT_TEMPORARY = 302
 
constexpr int HTTP_REDIRECT_PERMANENT = 307
 
constexpr int HTTP_BAD_REQUEST = 400
 
constexpr int HTTP_SEE_OTHER = 303
 
constexpr int JSON_DOC_SMALL = 512
 
constexpr int JSON_DOC_MEDIUM = 1024
 
constexpr unsigned long SECONDS_IN_MINUTE = 60
 
constexpr unsigned long MINUTES_IN_HOUR = 60
 
constexpr unsigned long HOURS_IN_DAY = 24
 
constexpr unsigned long MILLISECONDS_IN_SECOND = 1000
 
constexpr int WEB_OPERATION_DELAY_MS = 2000
 
constexpr const char * API_VERSION_V1 = "v1"
 
constexpr const char * API_VERSION_CURRENT = API_VERSION_V1
 
constexpr int CONFIG_VERSION_CURRENT = 1
 
constexpr int CONFIG_VERSION_MIN_SUPPORTED = 1
 
constexpr size_t OTA_BUFFER_SIZE = 1024
 
constexpr unsigned long OTA_TIMEOUT = 300000
 
constexpr const char * OTA_UPDATE_URL_TEMPLATE = "https://api.github.com/repos/%s/%s/releases/latest"
 
constexpr unsigned long REPORT_CACHE_TTL_MS = 300000
 
constexpr int JSON_DOC_LARGE = 2048
 
constexpr int TEST_SUCCESS_RATE_THRESHOLD = 90
 
constexpr int TESTS_TOTAL_COUNT = 13
 
constexpr int TESTS_PASSED_COUNT = 13
 
constexpr float TEST_SUCCESS_RATE_MAX = 100.0F
 
constexpr const char * TEST_TIMESTAMP_EXAMPLE = "2025-01-22T12:00:00Z"
 
constexpr int TECH_DEBT_CODE_SMELLS = 66
 
constexpr int TECH_DEBT_DUPLICATED_LINES = 933
 
constexpr int TECH_DEBT_SECURITY_HOTSPOTS = 134
 
constexpr float TECH_DEBT_DEBT_RATIO = 1.93F
 
constexpr float TECH_DEBT_COVERAGE = 70.8F
 
constexpr unsigned long REPORTS_AUTOREFRESH_INTERVAL_MS = 300000
 
constexpr unsigned long CONFIG_SENSOR_INTERVAL_MIN_MS = 1000
 
constexpr unsigned long CONFIG_SENSOR_INTERVAL_MAX_MS = 300000
 
constexpr unsigned long CONFIG_MQTT_INTERVAL_MIN_MS = 60000
 
constexpr unsigned long CONFIG_MQTT_INTERVAL_MAX_MS = 3600000
 
constexpr unsigned long CONFIG_THINGSPEAK_INTERVAL_MIN_MS = 300000
 
constexpr unsigned long CONFIG_THINGSPEAK_INTERVAL_MAX_MS = 7200000
 
constexpr unsigned long CONFIG_WEB_INTERVAL_MIN_MS = 1000
 
constexpr unsigned long CONFIG_WEB_INTERVAL_MAX_MS = 60000
 
constexpr int CONFIG_SENSOR_INTERVAL_MIN_SEC = 1
 
constexpr int CONFIG_SENSOR_INTERVAL_MAX_SEC = 300
 
constexpr int CONFIG_MQTT_INTERVAL_MIN_MIN = 1
 
constexpr int CONFIG_MQTT_INTERVAL_MAX_MIN = 60
 
constexpr int CONFIG_THINGSPEAK_INTERVAL_MIN_MIN = 5
 
constexpr int CONFIG_THINGSPEAK_INTERVAL_MAX_MIN = 120
 
constexpr int CONFIG_WEB_INTERVAL_MIN_SEC = 1
 
constexpr int CONFIG_WEB_INTERVAL_MAX_SEC = 60
 
constexpr float CONFIG_DELTA_HUMIDITY_MIN = 0.5F
 
constexpr float CONFIG_DELTA_HUMIDITY_MAX = 10.0F
 
constexpr float CONFIG_DELTA_PH_MIN = 0.01F
 
constexpr float CONFIG_DELTA_PH_MAX = 1.0F
 
constexpr int CONFIG_DELTA_EC_MIN = 10
 
constexpr int CONFIG_DELTA_EC_MAX = 500
 
constexpr int CONFIG_DELTA_NPK_MIN = 1
 
constexpr int CONFIG_DELTA_NPK_MAX = 50
 
constexpr int CONFIG_AVG_WINDOW_MIN = 5
 
constexpr int CONFIG_AVG_WINDOW_MAX = 15
 
constexpr int CONFIG_FORCE_CYCLES_MIN = 5
 
constexpr int CONFIG_FORCE_CYCLES_MAX = 50
 
constexpr float CONFIG_STEP_HUMIDITY = 0.5F
 
constexpr float CONFIG_STEP_PH = 0.01F
 
constexpr unsigned long CONVERSION_SEC_TO_MS = 1000
 
constexpr unsigned long CONVERSION_MIN_TO_MS = 60000
 
constexpr size_t CONFIG_JSON_DOC_SIZE = 2048
 
constexpr size_t CONFIG_JSON_ROOT_SIZE = 1024
 
constexpr size_t REPORTS_JSON_DOC_SIZE = 1024
 
constexpr size_t REPORTS_JSON_DOC_LARGE_SIZE = 2048
 
constexpr size_t OTA_JSON_DOC_SIZE = 256
 
constexpr unsigned long OTA_PROGRESS_LOG_THRESHOLD = 65536
 
constexpr unsigned long OTA_DELAY_MS = 2000
 
constexpr unsigned long OTA_UPDATE_INTERVAL_MS = 1000
 
constexpr int OTA_STAGE_CONNECTION = 25
 
constexpr int OTA_STAGE_DOWNLOAD = 50
 
constexpr int OTA_STAGE_VERIFY = 75
 
constexpr int OTA_STAGE_FINISH = 90
 
constexpr int OTA_STAGE_INSTALL = 95
 
constexpr int OTA_STAGE_CHECK = 30
 
constexpr int OTA_STAGE_DEFAULT = 25
 
constexpr float TEST_DATA_TEMP_BASE = 20.0F
 
constexpr float TEST_DATA_HUM_BASE = 60.0F
 
constexpr int TEST_DATA_EC_BASE = 1200
 
constexpr float TEST_DATA_PH_BASE = 6.3F
 
constexpr int TEST_DATA_NPK_BASE = 800
 
constexpr float TEST_DATA_HUM_VARIATION = 10.0F
 
constexpr int TEST_DATA_EC_VARIATION = 300
 
constexpr int TEST_DATA_EC_VARIATION_SMALL = 200
 
constexpr int TEST_DATA_EC_VARIATION_MIN = 100
 
constexpr float TEST_DATA_NPK_FACTOR = 6.5F
 
constexpr float TEST_DATA_NPK_INCREASE_N = 1.20F
 
constexpr float TEST_DATA_NPK_INCREASE_P = 1.15F
 
constexpr float TEST_DATA_NPK_INCREASE_K = 1.10F
 
constexpr float TEST_DATA_NPK_DECREASE_N = 0.90F
 
constexpr float TEST_DATA_NPK_DECREASE_P = 1.05F
 
constexpr float TEST_DATA_NPK_DECREASE_K = 1.25F
 
constexpr int HTTP_REDIRECT = 302
 
constexpr int SUCCESS_RATE_THRESHOLD = 90
 
constexpr unsigned long NTP_TIMESTAMP_2000 = 946684800
 
constexpr size_t SENSOR_JSON_DOC_SIZE = 1024
 

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

Централизованные константы системы JXCT.

Все магические числа и конфигурационные константы в одном месте

Переменные

◆ DEFAULT_SENSOR_READ_INTERVAL

constexpr unsigned long DEFAULT_SENSOR_READ_INTERVAL = 5000
constexpr

◆ DEFAULT_MQTT_PUBLISH_INTERVAL

constexpr unsigned long DEFAULT_MQTT_PUBLISH_INTERVAL = 30000
constexpr

◆ DEFAULT_THINGSPEAK_INTERVAL

constexpr unsigned long DEFAULT_THINGSPEAK_INTERVAL = 60000
constexpr

◆ DEFAULT_NTP_UPDATE_INTERVAL

constexpr unsigned long DEFAULT_NTP_UPDATE_INTERVAL = 3600000
constexpr

◆ MODBUS_CACHE_TIMEOUT

constexpr unsigned long MODBUS_CACHE_TIMEOUT = 3000
constexpr

◆ MODBUS_RETRY_DELAY

constexpr unsigned long MODBUS_RETRY_DELAY = 500
constexpr

◆ DNS_CACHE_TTL

constexpr unsigned long DNS_CACHE_TTL = 180000
constexpr

◆ MQTT_RECONNECT_INTERVAL

constexpr unsigned long MQTT_RECONNECT_INTERVAL = 3000
constexpr

◆ SENSOR_JSON_CACHE_TTL

constexpr unsigned long SENSOR_JSON_CACHE_TTL = 500
constexpr

◆ STATUS_PRINT_INTERVAL

constexpr unsigned long STATUS_PRINT_INTERVAL = 30000
constexpr

◆ JXCT_WATCHDOG_TIMEOUT_SEC

constexpr unsigned long JXCT_WATCHDOG_TIMEOUT_SEC = 30
constexpr

◆ JXCT_BUTTON_HOLD_TIME_MS

constexpr unsigned long JXCT_BUTTON_HOLD_TIME_MS = 2000
constexpr

◆ LED_BLINK_SLOW

constexpr unsigned long LED_BLINK_SLOW = 1000
constexpr

◆ LED_BLINK_NORMAL

constexpr unsigned long LED_BLINK_NORMAL = 500
constexpr

◆ LED_BLINK_FAST

constexpr unsigned long LED_BLINK_FAST = 100
constexpr

◆ DEFAULT_WEB_SERVER_PORT

constexpr int DEFAULT_WEB_SERVER_PORT = 80
constexpr

◆ DEFAULT_MQTT_PORT

constexpr int DEFAULT_MQTT_PORT = 1883
constexpr

◆ DEFAULT_DNS_PORT

constexpr int DEFAULT_DNS_PORT = 53
constexpr

◆ DEFAULT_MODBUS_ADDRESS

constexpr uint8_t DEFAULT_MODBUS_ADDRESS = 1
constexpr

◆ MQTT_BUFFER_SIZE

constexpr size_t MQTT_BUFFER_SIZE = 512
constexpr

◆ JSON_BUFFER_SIZE

constexpr size_t JSON_BUFFER_SIZE = 256
constexpr

◆ TOPIC_BUFFER_SIZE

constexpr size_t TOPIC_BUFFER_SIZE = 128
constexpr

◆ CLIENT_ID_BUFFER_SIZE

constexpr size_t CLIENT_ID_BUFFER_SIZE = 32
constexpr

◆ HOSTNAME_BUFFER_SIZE

constexpr size_t HOSTNAME_BUFFER_SIZE = 64
constexpr

◆ WIFI_CONNECTION_ATTEMPTS

constexpr int WIFI_CONNECTION_ATTEMPTS = 20
constexpr

◆ MQTT_CONNECTION_ATTEMPTS

constexpr int MQTT_CONNECTION_ATTEMPTS = 3
constexpr

◆ WIFI_CONNECTION_TIMEOUT

constexpr unsigned long WIFI_CONNECTION_TIMEOUT = 10000
constexpr

◆ MODBUS_BAUD_RATE

constexpr unsigned long MODBUS_BAUD_RATE = 9600
constexpr

◆ MODBUS_DATA_BITS

constexpr uint8_t MODBUS_DATA_BITS = 8
constexpr

◆ MODBUS_STOP_BITS

constexpr uint8_t MODBUS_STOP_BITS = 1
constexpr

◆ MODBUS_PARITY

constexpr uint8_t MODBUS_PARITY = 0
constexpr

◆ MODBUS_MAX_RETRIES

constexpr uint8_t MODBUS_MAX_RETRIES = 3
constexpr

◆ MODBUS_RESPONSE_TIMEOUT

constexpr unsigned long MODBUS_RESPONSE_TIMEOUT = 2000
constexpr

◆ MODBUS_FRAME_DELAY

constexpr unsigned long MODBUS_FRAME_DELAY = 100
constexpr

◆ SENSOR_TEMP_MIN

constexpr float SENSOR_TEMP_MIN = -45.0F
constexpr

◆ SENSOR_TEMP_MAX

constexpr float SENSOR_TEMP_MAX = 115.0F
constexpr

◆ SENSOR_HUMIDITY_MIN

constexpr float SENSOR_HUMIDITY_MIN = 0.0F
constexpr

◆ SENSOR_HUMIDITY_MAX

constexpr float SENSOR_HUMIDITY_MAX = 100.0F
constexpr

◆ SENSOR_PH_MIN

constexpr float SENSOR_PH_MIN = 3.0F
constexpr

◆ SENSOR_PH_MAX

constexpr float SENSOR_PH_MAX = 9.0F
constexpr

◆ SENSOR_EC_MIN

constexpr uint16_t SENSOR_EC_MIN = 0
constexpr

◆ SENSOR_EC_MAX

constexpr uint16_t SENSOR_EC_MAX = 10000
constexpr

◆ SENSOR_NPK_MIN

constexpr uint16_t SENSOR_NPK_MIN = 0
constexpr

◆ SENSOR_NPK_MAX

constexpr uint16_t SENSOR_NPK_MAX = 1999
constexpr

◆ TEMP_MIN_VALID

constexpr float TEMP_MIN_VALID = SENSOR_TEMP_MIN
constexpr

◆ TEMP_MAX_VALID

constexpr float TEMP_MAX_VALID = SENSOR_TEMP_MAX
constexpr

◆ HUM_MIN_VALID

constexpr float HUM_MIN_VALID = SENSOR_HUMIDITY_MIN
constexpr

◆ HUM_MAX_VALID

constexpr float HUM_MAX_VALID = SENSOR_HUMIDITY_MAX
constexpr

◆ EC_MAX_VALID

constexpr int EC_MAX_VALID = SENSOR_EC_MAX
constexpr

◆ NPK_MAX_VALID

constexpr int NPK_MAX_VALID = SENSOR_NPK_MAX
constexpr

◆ CONFIG_INTERVAL_MIN

constexpr unsigned long CONFIG_INTERVAL_MIN = 1000
constexpr

◆ CONFIG_INTERVAL_MAX

constexpr unsigned long CONFIG_INTERVAL_MAX = 3600000
constexpr

◆ CONFIG_THINGSPEAK_MIN

constexpr unsigned long CONFIG_THINGSPEAK_MIN = 15000
constexpr

◆ CONFIG_THINGSPEAK_MAX

constexpr unsigned long CONFIG_THINGSPEAK_MAX = 7200000
constexpr

◆ CONFIG_MQTT_PORT_MIN

constexpr int CONFIG_MQTT_PORT_MIN = 1
constexpr

◆ CONFIG_MQTT_PORT_MAX

constexpr int CONFIG_MQTT_PORT_MAX = 65535
constexpr

◆ MOVING_AVERAGE_WINDOW_MIN

constexpr uint8_t MOVING_AVERAGE_WINDOW_MIN = 1
constexpr

◆ MOVING_AVERAGE_WINDOW_MAX

constexpr uint8_t MOVING_AVERAGE_WINDOW_MAX = 20
constexpr

◆ MOVING_AVERAGE_WINDOW_DEFAULT

constexpr uint8_t MOVING_AVERAGE_WINDOW_DEFAULT = 5
constexpr

◆ DEFAULT_DELTA_TEMPERATURE

constexpr float DEFAULT_DELTA_TEMPERATURE = 0.5F
constexpr

◆ DEFAULT_DELTA_HUMIDITY

constexpr float DEFAULT_DELTA_HUMIDITY = 2.0F
constexpr

◆ DEFAULT_DELTA_PH

constexpr float DEFAULT_DELTA_PH = 0.1F
constexpr

◆ DEFAULT_DELTA_EC

constexpr float DEFAULT_DELTA_EC = 50.0F
constexpr

◆ DEFAULT_DELTA_NPK

constexpr float DEFAULT_DELTA_NPK = 10.0F
constexpr

◆ DEFAULT_FORCE_PUBLISH_CYCLES

constexpr uint8_t DEFAULT_FORCE_PUBLISH_CYCLES = 10
constexpr

◆ EXPONENTIAL_ALPHA_MIN

constexpr float EXPONENTIAL_ALPHA_MIN = 0.1F
constexpr

◆ EXPONENTIAL_ALPHA_MAX

constexpr float EXPONENTIAL_ALPHA_MAX = 0.9F
constexpr

◆ EXPONENTIAL_ALPHA_DEFAULT

constexpr float EXPONENTIAL_ALPHA_DEFAULT = 0.3F
constexpr

◆ OUTLIER_THRESHOLD_MIN

constexpr float OUTLIER_THRESHOLD_MIN = 1.5F
constexpr

◆ OUTLIER_THRESHOLD_MAX

constexpr float OUTLIER_THRESHOLD_MAX = 4.0F
constexpr

◆ OUTLIER_THRESHOLD_DEFAULT

constexpr float OUTLIER_THRESHOLD_DEFAULT = 2.5F
constexpr

◆ KALMAN_PROCESS_NOISE

constexpr float KALMAN_PROCESS_NOISE = 0.01F
constexpr

◆ KALMAN_MEASUREMENT_NOISE

constexpr float KALMAN_MEASUREMENT_NOISE = 0.1F
constexpr

◆ KALMAN_INITIAL_UNCERTAINTY

constexpr float KALMAN_INITIAL_UNCERTAINTY = 1.0F
constexpr

◆ CALIBRATION_OFFSET_MAX

constexpr float CALIBRATION_OFFSET_MAX = 10.0F
constexpr

◆ CALIBRATION_DRIFT_MAX

constexpr float CALIBRATION_DRIFT_MAX = 0.1F
constexpr

◆ STATISTICS_WINDOW_SIZE

constexpr uint8_t STATISTICS_WINDOW_SIZE = 20
constexpr

◆ MIN_STANDARD_DEVIATION

constexpr float MIN_STANDARD_DEVIATION = 0.01F
constexpr

◆ JXCT_WIFI_AP_PASS

constexpr const char* JXCT_WIFI_AP_PASS = "12345678"
constexpr

◆ WIFI_HOSTNAME_PREFIX

constexpr const char* WIFI_HOSTNAME_PREFIX = "jxct-"
constexpr

◆ MQTT_TOPIC_STATE

constexpr const char* MQTT_TOPIC_STATE = "/state"
constexpr

◆ MQTT_TOPIC_STATUS

constexpr const char* MQTT_TOPIC_STATUS = "/status"
constexpr

◆ MQTT_TOPIC_COMMAND

constexpr const char* MQTT_TOPIC_COMMAND = "/command"
constexpr

◆ MQTT_TOPIC_AVAILABILITY

constexpr const char* MQTT_TOPIC_AVAILABILITY = "/availability"
constexpr

◆ HASS_DISCOVERY_PREFIX

constexpr const char* HASS_DISCOVERY_PREFIX = "homeassistant/sensor/"
constexpr

◆ HASS_CONFIG_SUFFIX

constexpr const char* HASS_CONFIG_SUFFIX = "/config"
constexpr

◆ HTTP_CACHE_CONTROL

constexpr const char* HTTP_CACHE_CONTROL = "no-cache, no-store, must-revalidate"
constexpr

◆ HTTP_CONTENT_TYPE_HTML

constexpr const char* HTTP_CONTENT_TYPE_HTML = "text/html; charset=utf-8"
constexpr

◆ HTTP_CONTENT_TYPE_JSON

constexpr const char* HTTP_CONTENT_TYPE_JSON = "application/json"
constexpr

◆ HTTP_CONTENT_TYPE_PLAIN

constexpr const char* HTTP_CONTENT_TYPE_PLAIN = "text/plain"
constexpr

◆ RESET_BUTTON_PIN

constexpr int RESET_BUTTON_PIN = 0
constexpr

◆ JXCT_STATUS_LED_PIN

constexpr int JXCT_STATUS_LED_PIN = 2
constexpr

◆ MODBUS_RX_PIN

constexpr int MODBUS_RX_PIN = 16
constexpr

◆ MODBUS_TX_PIN

constexpr int MODBUS_TX_PIN = 17
constexpr

◆ MODBUS_DE_PIN

constexpr int MODBUS_DE_PIN = 4
constexpr

◆ MODBUS_RE_PIN

constexpr int MODBUS_RE_PIN = 5
constexpr

◆ SENSOR_TASK_STACK_SIZE

constexpr size_t SENSOR_TASK_STACK_SIZE = 4096
constexpr

◆ RESET_BUTTON_TASK_STACK_SIZE

constexpr size_t RESET_BUTTON_TASK_STACK_SIZE = 2048
constexpr

◆ WEB_SERVER_TASK_STACK_SIZE

constexpr size_t WEB_SERVER_TASK_STACK_SIZE = 8192
constexpr

◆ SENSOR_TASK_PRIORITY

constexpr UBaseType_t SENSOR_TASK_PRIORITY = 2
constexpr

◆ RESET_BUTTON_TASK_PRIORITY

constexpr UBaseType_t RESET_BUTTON_TASK_PRIORITY = 1
constexpr

◆ WEB_SERVER_TASK_PRIORITY

constexpr UBaseType_t WEB_SERVER_TASK_PRIORITY = 1
constexpr

◆ MAX_CONFIG_JSON_SIZE

constexpr size_t MAX_CONFIG_JSON_SIZE = 2048
constexpr

◆ MAX_SENSOR_JSON_SIZE

constexpr size_t MAX_SENSOR_JSON_SIZE = 512
constexpr

◆ MAX_LOG_MESSAGE_SIZE

constexpr size_t MAX_LOG_MESSAGE_SIZE = 256
constexpr

◆ LOG_LEVEL_ERROR

constexpr int LOG_LEVEL_ERROR = 0
constexpr

◆ LOG_LEVEL_WARN

constexpr int LOG_LEVEL_WARN = 1
constexpr

◆ LOG_LEVEL_INFO

constexpr int LOG_LEVEL_INFO = 2
constexpr

◆ LOG_LEVEL_DEBUG

constexpr int LOG_LEVEL_DEBUG = 3
constexpr

◆ DEBUG_MODBUS_ENABLED

constexpr bool DEBUG_MODBUS_ENABLED = false
constexpr

◆ DEBUG_MQTT_ENABLED

constexpr bool DEBUG_MQTT_ENABLED = false
constexpr

◆ DEBUG_WIFI_ENABLED

constexpr bool DEBUG_WIFI_ENABLED = false
constexpr

◆ DEFAULT_SEPARATOR_LENGTH

constexpr int DEFAULT_SEPARATOR_LENGTH = 60
constexpr

◆ JXCT_REDIRECT_DELAY_MS

constexpr int JXCT_REDIRECT_DELAY_MS = 1000
constexpr

◆ HTTP_OK

constexpr int HTTP_OK = 200
constexpr

◆ HTTP_FORBIDDEN

constexpr int HTTP_FORBIDDEN = 403
constexpr

◆ HTTP_REDIRECT_TEMPORARY

constexpr int HTTP_REDIRECT_TEMPORARY = 302
constexpr

◆ HTTP_REDIRECT_PERMANENT

constexpr int HTTP_REDIRECT_PERMANENT = 307
constexpr

◆ HTTP_BAD_REQUEST

constexpr int HTTP_BAD_REQUEST = 400
constexpr

◆ HTTP_SEE_OTHER

constexpr int HTTP_SEE_OTHER = 303
constexpr

◆ JSON_DOC_SMALL

constexpr int JSON_DOC_SMALL = 512
constexpr

◆ JSON_DOC_MEDIUM

constexpr int JSON_DOC_MEDIUM = 1024
constexpr

◆ SECONDS_IN_MINUTE

constexpr unsigned long SECONDS_IN_MINUTE = 60
constexpr

◆ MINUTES_IN_HOUR

constexpr unsigned long MINUTES_IN_HOUR = 60
constexpr

◆ HOURS_IN_DAY

constexpr unsigned long HOURS_IN_DAY = 24
constexpr

◆ MILLISECONDS_IN_SECOND

constexpr unsigned long MILLISECONDS_IN_SECOND = 1000
constexpr

◆ WEB_OPERATION_DELAY_MS

constexpr int WEB_OPERATION_DELAY_MS = 2000
constexpr

◆ API_VERSION_V1

constexpr const char* API_VERSION_V1 = "v1"
constexpr

◆ API_VERSION_CURRENT

constexpr const char* API_VERSION_CURRENT = API_VERSION_V1
constexpr

◆ CONFIG_VERSION_CURRENT

constexpr int CONFIG_VERSION_CURRENT = 1
constexpr

◆ CONFIG_VERSION_MIN_SUPPORTED

constexpr int CONFIG_VERSION_MIN_SUPPORTED = 1
constexpr

◆ OTA_BUFFER_SIZE

constexpr size_t OTA_BUFFER_SIZE = 1024
constexpr

◆ OTA_TIMEOUT

constexpr unsigned long OTA_TIMEOUT = 300000
constexpr

◆ OTA_UPDATE_URL_TEMPLATE

constexpr const char* OTA_UPDATE_URL_TEMPLATE = "https://api.github.com/repos/%s/%s/releases/latest"
constexpr

◆ REPORT_CACHE_TTL_MS

constexpr unsigned long REPORT_CACHE_TTL_MS = 300000
constexpr

◆ JSON_DOC_LARGE

constexpr int JSON_DOC_LARGE = 2048
constexpr

◆ TEST_SUCCESS_RATE_THRESHOLD

constexpr int TEST_SUCCESS_RATE_THRESHOLD = 90
constexpr

◆ TESTS_TOTAL_COUNT

constexpr int TESTS_TOTAL_COUNT = 13
constexpr

◆ TESTS_PASSED_COUNT

constexpr int TESTS_PASSED_COUNT = 13
constexpr

◆ TEST_SUCCESS_RATE_MAX

constexpr float TEST_SUCCESS_RATE_MAX = 100.0F
constexpr

◆ TEST_TIMESTAMP_EXAMPLE

constexpr const char* TEST_TIMESTAMP_EXAMPLE = "2025-01-22T12:00:00Z"
constexpr

◆ TECH_DEBT_CODE_SMELLS

constexpr int TECH_DEBT_CODE_SMELLS = 66
constexpr

◆ TECH_DEBT_DUPLICATED_LINES

constexpr int TECH_DEBT_DUPLICATED_LINES = 933
constexpr

◆ TECH_DEBT_SECURITY_HOTSPOTS

constexpr int TECH_DEBT_SECURITY_HOTSPOTS = 134
constexpr

◆ TECH_DEBT_DEBT_RATIO

constexpr float TECH_DEBT_DEBT_RATIO = 1.93F
constexpr

◆ TECH_DEBT_COVERAGE

constexpr float TECH_DEBT_COVERAGE = 70.8F
constexpr

◆ REPORTS_AUTOREFRESH_INTERVAL_MS

constexpr unsigned long REPORTS_AUTOREFRESH_INTERVAL_MS = 300000
constexpr

◆ CONFIG_SENSOR_INTERVAL_MIN_MS

constexpr unsigned long CONFIG_SENSOR_INTERVAL_MIN_MS = 1000
constexpr

◆ CONFIG_SENSOR_INTERVAL_MAX_MS

constexpr unsigned long CONFIG_SENSOR_INTERVAL_MAX_MS = 300000
constexpr

◆ CONFIG_MQTT_INTERVAL_MIN_MS

constexpr unsigned long CONFIG_MQTT_INTERVAL_MIN_MS = 60000
constexpr

◆ CONFIG_MQTT_INTERVAL_MAX_MS

constexpr unsigned long CONFIG_MQTT_INTERVAL_MAX_MS = 3600000
constexpr

◆ CONFIG_THINGSPEAK_INTERVAL_MIN_MS

constexpr unsigned long CONFIG_THINGSPEAK_INTERVAL_MIN_MS = 300000
constexpr

◆ CONFIG_THINGSPEAK_INTERVAL_MAX_MS

constexpr unsigned long CONFIG_THINGSPEAK_INTERVAL_MAX_MS = 7200000
constexpr

◆ CONFIG_WEB_INTERVAL_MIN_MS

constexpr unsigned long CONFIG_WEB_INTERVAL_MIN_MS = 1000
constexpr

◆ CONFIG_WEB_INTERVAL_MAX_MS

constexpr unsigned long CONFIG_WEB_INTERVAL_MAX_MS = 60000
constexpr

◆ CONFIG_SENSOR_INTERVAL_MIN_SEC

constexpr int CONFIG_SENSOR_INTERVAL_MIN_SEC = 1
constexpr

◆ CONFIG_SENSOR_INTERVAL_MAX_SEC

constexpr int CONFIG_SENSOR_INTERVAL_MAX_SEC = 300
constexpr

◆ CONFIG_MQTT_INTERVAL_MIN_MIN

constexpr int CONFIG_MQTT_INTERVAL_MIN_MIN = 1
constexpr

◆ CONFIG_MQTT_INTERVAL_MAX_MIN

constexpr int CONFIG_MQTT_INTERVAL_MAX_MIN = 60
constexpr

◆ CONFIG_THINGSPEAK_INTERVAL_MIN_MIN

constexpr int CONFIG_THINGSPEAK_INTERVAL_MIN_MIN = 5
constexpr

◆ CONFIG_THINGSPEAK_INTERVAL_MAX_MIN

constexpr int CONFIG_THINGSPEAK_INTERVAL_MAX_MIN = 120
constexpr

◆ CONFIG_WEB_INTERVAL_MIN_SEC

constexpr int CONFIG_WEB_INTERVAL_MIN_SEC = 1
constexpr

◆ CONFIG_WEB_INTERVAL_MAX_SEC

constexpr int CONFIG_WEB_INTERVAL_MAX_SEC = 60
constexpr

◆ CONFIG_DELTA_HUMIDITY_MIN

constexpr float CONFIG_DELTA_HUMIDITY_MIN = 0.5F
constexpr

◆ CONFIG_DELTA_HUMIDITY_MAX

constexpr float CONFIG_DELTA_HUMIDITY_MAX = 10.0F
constexpr

◆ CONFIG_DELTA_PH_MIN

constexpr float CONFIG_DELTA_PH_MIN = 0.01F
constexpr

◆ CONFIG_DELTA_PH_MAX

constexpr float CONFIG_DELTA_PH_MAX = 1.0F
constexpr

◆ CONFIG_DELTA_EC_MIN

constexpr int CONFIG_DELTA_EC_MIN = 10
constexpr

◆ CONFIG_DELTA_EC_MAX

constexpr int CONFIG_DELTA_EC_MAX = 500
constexpr

◆ CONFIG_DELTA_NPK_MIN

constexpr int CONFIG_DELTA_NPK_MIN = 1
constexpr

◆ CONFIG_DELTA_NPK_MAX

constexpr int CONFIG_DELTA_NPK_MAX = 50
constexpr

◆ CONFIG_AVG_WINDOW_MIN

constexpr int CONFIG_AVG_WINDOW_MIN = 5
constexpr

◆ CONFIG_AVG_WINDOW_MAX

constexpr int CONFIG_AVG_WINDOW_MAX = 15
constexpr

◆ CONFIG_FORCE_CYCLES_MIN

constexpr int CONFIG_FORCE_CYCLES_MIN = 5
constexpr

◆ CONFIG_FORCE_CYCLES_MAX

constexpr int CONFIG_FORCE_CYCLES_MAX = 50
constexpr

◆ CONFIG_STEP_HUMIDITY

constexpr float CONFIG_STEP_HUMIDITY = 0.5F
constexpr

◆ CONFIG_STEP_PH

constexpr float CONFIG_STEP_PH = 0.01F
constexpr

◆ CONVERSION_SEC_TO_MS

constexpr unsigned long CONVERSION_SEC_TO_MS = 1000
constexpr

◆ CONVERSION_MIN_TO_MS

constexpr unsigned long CONVERSION_MIN_TO_MS = 60000
constexpr

◆ CONFIG_JSON_DOC_SIZE

constexpr size_t CONFIG_JSON_DOC_SIZE = 2048
constexpr

◆ CONFIG_JSON_ROOT_SIZE

constexpr size_t CONFIG_JSON_ROOT_SIZE = 1024
constexpr

◆ REPORTS_JSON_DOC_SIZE

constexpr size_t REPORTS_JSON_DOC_SIZE = 1024
constexpr

◆ REPORTS_JSON_DOC_LARGE_SIZE

constexpr size_t REPORTS_JSON_DOC_LARGE_SIZE = 2048
constexpr

◆ OTA_JSON_DOC_SIZE

constexpr size_t OTA_JSON_DOC_SIZE = 256
constexpr

◆ OTA_PROGRESS_LOG_THRESHOLD

constexpr unsigned long OTA_PROGRESS_LOG_THRESHOLD = 65536
constexpr

◆ OTA_DELAY_MS

constexpr unsigned long OTA_DELAY_MS = 2000
constexpr

◆ OTA_UPDATE_INTERVAL_MS

constexpr unsigned long OTA_UPDATE_INTERVAL_MS = 1000
constexpr

◆ OTA_STAGE_CONNECTION

constexpr int OTA_STAGE_CONNECTION = 25
constexpr

◆ OTA_STAGE_DOWNLOAD

constexpr int OTA_STAGE_DOWNLOAD = 50
constexpr

◆ OTA_STAGE_VERIFY

constexpr int OTA_STAGE_VERIFY = 75
constexpr

◆ OTA_STAGE_FINISH

constexpr int OTA_STAGE_FINISH = 90
constexpr

◆ OTA_STAGE_INSTALL

constexpr int OTA_STAGE_INSTALL = 95
constexpr

◆ OTA_STAGE_CHECK

constexpr int OTA_STAGE_CHECK = 30
constexpr

◆ OTA_STAGE_DEFAULT

constexpr int OTA_STAGE_DEFAULT = 25
constexpr

◆ TEST_DATA_TEMP_BASE

constexpr float TEST_DATA_TEMP_BASE = 20.0F
constexpr

◆ TEST_DATA_HUM_BASE

constexpr float TEST_DATA_HUM_BASE = 60.0F
constexpr

◆ TEST_DATA_EC_BASE

constexpr int TEST_DATA_EC_BASE = 1200
constexpr

◆ TEST_DATA_PH_BASE

constexpr float TEST_DATA_PH_BASE = 6.3F
constexpr

◆ TEST_DATA_NPK_BASE

constexpr int TEST_DATA_NPK_BASE = 800
constexpr

◆ TEST_DATA_HUM_VARIATION

constexpr float TEST_DATA_HUM_VARIATION = 10.0F
constexpr

◆ TEST_DATA_EC_VARIATION

constexpr int TEST_DATA_EC_VARIATION = 300
constexpr

◆ TEST_DATA_EC_VARIATION_SMALL

constexpr int TEST_DATA_EC_VARIATION_SMALL = 200
constexpr

◆ TEST_DATA_EC_VARIATION_MIN

constexpr int TEST_DATA_EC_VARIATION_MIN = 100
constexpr

◆ TEST_DATA_NPK_FACTOR

constexpr float TEST_DATA_NPK_FACTOR = 6.5F
constexpr

◆ TEST_DATA_NPK_INCREASE_N

constexpr float TEST_DATA_NPK_INCREASE_N = 1.20F
constexpr

◆ TEST_DATA_NPK_INCREASE_P

constexpr float TEST_DATA_NPK_INCREASE_P = 1.15F
constexpr

◆ TEST_DATA_NPK_INCREASE_K

constexpr float TEST_DATA_NPK_INCREASE_K = 1.10F
constexpr

◆ TEST_DATA_NPK_DECREASE_N

constexpr float TEST_DATA_NPK_DECREASE_N = 0.90F
constexpr

◆ TEST_DATA_NPK_DECREASE_P

constexpr float TEST_DATA_NPK_DECREASE_P = 1.05F
constexpr

◆ TEST_DATA_NPK_DECREASE_K

constexpr float TEST_DATA_NPK_DECREASE_K = 1.25F
constexpr

◆ HTTP_REDIRECT

constexpr int HTTP_REDIRECT = 302
constexpr

◆ SUCCESS_RATE_THRESHOLD

constexpr int SUCCESS_RATE_THRESHOLD = 90
constexpr

◆ NTP_TIMESTAMP_2000

constexpr unsigned long NTP_TIMESTAMP_2000 = 946684800
constexpr

◆ SENSOR_JSON_DOC_SIZE

constexpr size_t SENSOR_JSON_DOC_SIZE = 1024
constexpr