JXCT Soil Sensor 7-in-1 v3.4.9 (June 2025)
Professional IoT soil monitoring system with ESP32, Modbus RTU, MQTT, and advanced compensation algorithms
Загрузка...
Поиск...
Не найдено
Файл debug_optimized.h

Оптимизированная система отладки с условной компиляцией Подробнее...

#include "jxct_constants.h"

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

Макросы

#define DEBUG_ENABLED   false
 
#define DEBUG_PRINT(x)
 
#define DEBUG_PRINTLN(x)
 
#define DEBUG_PRINTF(fmt, ...)
 
#define DEBUG_MODBUS_PRINT(x)
 
#define DEBUG_MODBUS_PRINTLN(x)
 
#define DEBUG_MODBUS_PRINTF(fmt, ...)
 
#define DEBUG_MQTT_PRINT(x)
 
#define DEBUG_MQTT_PRINTLN(x)
 
#define DEBUG_MQTT_PRINTF(fmt, ...)
 
#define DEBUG_WIFI_PRINT(x)
 
#define DEBUG_WIFI_PRINTLN(x)
 
#define DEBUG_WIFI_PRINTF(fmt, ...)
 
#define DEBUG_MQTT_DELTA(fmt, ...)
 
#define DEBUG_MQTT_DNS(fmt, ...)
 
#define DEBUG_MQTT_HA(fmt, ...)
 
#define DEBUG_MODBUS_TX()
 
#define DEBUG_MODBUS_RX()
 
#define DEBUG_MODBUS_MOVING_AVG(fmt, ...)
 
#define DEBUG_MAIN_BATCH(msg)
 
#define DEBUG_MAIN_BUTTON(msg)
 
#define MIGRATE_DEBUG_PRINTF(fmt, ...)
 
#define MIGRATE_DEBUG_PRINTLN(msg)
 
#define CRITICAL_DEBUG_PRINT(x)
 
#define CRITICAL_DEBUG_PRINTLN(x)
 
#define CRITICAL_DEBUG_PRINTF(fmt, ...)
 

Функции

void debugConditionalPrint (int level, const char *format,...)
 Условная отладочная печать с проверкой уровня логирования
 
void debugPrintHexBuffer (const char *prefix, const uint8_t *buffer, size_t length)
 Отладочная печать буфера в HEX формате (оптимизированная)
 
void debugPrintStatus (const char *module, bool status, const char *details=nullptr)
 Отладочная печать состояния системы (компактная)
 
void debugStatsInit ()
 
void debugStatsIncrement (const char *category)
 
void debugStatsPrint ()
 

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

Оптимизированная система отладки с условной компиляцией

Заменяет избыточные DEBUG_PRINTF/DEBUG_PRINTLN на условные макросы

См. определение в файле debug_optimized.h

Макросы

◆ CRITICAL_DEBUG_PRINT

#define CRITICAL_DEBUG_PRINT ( x)
Макроопределение:
Serial.print("[CRITICAL] "); \
Serial.print(x)

См. определение в файле debug_optimized.h строка 257

◆ CRITICAL_DEBUG_PRINTF

#define CRITICAL_DEBUG_PRINTF ( fmt,
... )
Макроопределение:
Serial.printf("[CRITICAL] " fmt, ##__VA_ARGS__)

См. определение в файле debug_optimized.h строка 263

◆ CRITICAL_DEBUG_PRINTLN

#define CRITICAL_DEBUG_PRINTLN ( x)
Макроопределение:
Serial.print("[CRITICAL] "); \
Serial.println(x)

См. определение в файле debug_optimized.h строка 260

◆ DEBUG_ENABLED

#define DEBUG_ENABLED   false

См. определение в файле debug_optimized.h строка 18

◆ DEBUG_MAIN_BATCH

#define DEBUG_MAIN_BATCH ( msg)
Макроопределение:
DEBUG_PRINTLN("[BATCH] " msg)
#define DEBUG_PRINTLN(x)
Определения debug.h:18

См. определение в файле debug_optimized.h строка 196

◆ DEBUG_MAIN_BUTTON

#define DEBUG_MAIN_BUTTON ( msg)
Макроопределение:
DEBUG_PRINTLN("[BUTTON] " msg)

См. определение в файле debug_optimized.h строка 197

◆ DEBUG_MODBUS_MOVING_AVG

#define DEBUG_MODBUS_MOVING_AVG ( fmt,
... )
Макроопределение:
DEBUG_MODBUS_PRINTF("[MOVING_AVG] " fmt "\n", ##__VA_ARGS__)
#define DEBUG_MODBUS_PRINTF(fmt,...)
Определения debug_optimized.h:63

См. определение в файле debug_optimized.h строка 193

◆ DEBUG_MODBUS_PRINT

#define DEBUG_MODBUS_PRINT ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 55

◆ DEBUG_MODBUS_PRINTF

#define DEBUG_MODBUS_PRINTF ( fmt,
... )
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 63

◆ DEBUG_MODBUS_PRINTLN

#define DEBUG_MODBUS_PRINTLN ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 59

◆ DEBUG_MODBUS_RX

#define DEBUG_MODBUS_RX ( )
Макроопределение:
DEBUG_MODBUS_PRINTLN("RX режим")
#define DEBUG_MODBUS_PRINTLN(x)
Определения debug_optimized.h:59

См. определение в файле debug_optimized.h строка 192

◆ DEBUG_MODBUS_TX

#define DEBUG_MODBUS_TX ( )
Макроопределение:
DEBUG_MODBUS_PRINTLN("TX режим")

См. определение в файле debug_optimized.h строка 191

◆ DEBUG_MQTT_DELTA

#define DEBUG_MQTT_DELTA ( fmt,
... )
Макроопределение:
DEBUG_MQTT_PRINTF("[DELTA] " fmt "\n", ##__VA_ARGS__)
#define DEBUG_MQTT_PRINTF(fmt,...)
Определения debug_optimized.h:86

См. определение в файле debug_optimized.h строка 186

◆ DEBUG_MQTT_DNS

#define DEBUG_MQTT_DNS ( fmt,
... )
Макроопределение:
DEBUG_MQTT_PRINTF("[DNS] " fmt "\n", ##__VA_ARGS__)

См. определение в файле debug_optimized.h строка 187

◆ DEBUG_MQTT_HA

#define DEBUG_MQTT_HA ( fmt,
... )
Макроопределение:
DEBUG_MQTT_PRINTF("[HA] " fmt "\n", ##__VA_ARGS__)

См. определение в файле debug_optimized.h строка 188

◆ DEBUG_MQTT_PRINT

#define DEBUG_MQTT_PRINT ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 78

◆ DEBUG_MQTT_PRINTF

#define DEBUG_MQTT_PRINTF ( fmt,
... )
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 86

◆ DEBUG_MQTT_PRINTLN

#define DEBUG_MQTT_PRINTLN ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 82

◆ DEBUG_PRINT

#define DEBUG_PRINT ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 31

◆ DEBUG_PRINTF

#define DEBUG_PRINTF ( fmt,
... )
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 39

◆ DEBUG_PRINTLN

#define DEBUG_PRINTLN ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 35

◆ DEBUG_WIFI_PRINT

#define DEBUG_WIFI_PRINT ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 101

◆ DEBUG_WIFI_PRINTF

#define DEBUG_WIFI_PRINTF ( fmt,
... )
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 109

◆ DEBUG_WIFI_PRINTLN

#define DEBUG_WIFI_PRINTLN ( x)
Макроопределение:
do \
{ \
} while (0)

См. определение в файле debug_optimized.h строка 105

◆ MIGRATE_DEBUG_PRINTF

#define MIGRATE_DEBUG_PRINTF ( fmt,
... )
Макроопределение:
DEBUG_PRINTF(fmt, ##__VA_ARGS__)
#define DEBUG_PRINTF(fmt,...)
Определения debug.h:19

См. определение в файле debug_optimized.h строка 253

◆ MIGRATE_DEBUG_PRINTLN

#define MIGRATE_DEBUG_PRINTLN ( msg)
Макроопределение:

См. определение в файле debug_optimized.h строка 254

Функции

◆ debugConditionalPrint()

void debugConditionalPrint ( int level,
const char * format,
... )
inline

Условная отладочная печать с проверкой уровня логирования

Аргументы
levelМинимальный уровень логирования для вывода
formatФормат строки
...Аргументы форматирования

См. определение в файле debug_optimized.h строка 125

Перекрестные ссылки currentLogLevel.

◆ debugPrintHexBuffer()

void debugPrintHexBuffer ( const char * prefix,
const uint8_t * buffer,
size_t length )
inline

Отладочная печать буфера в HEX формате (оптимизированная)

Аргументы
prefixПрефикс сообщения
bufferБуфер данных
lengthДлина буфера

См. определение в файле debug_optimized.h строка 145

Перекрестные ссылки currentLogLevel и LOG_LEVEL_DEBUG.

◆ debugPrintStatus()

void debugPrintStatus ( const char * module,
bool status,
const char * details = nullptr )
inline

Отладочная печать состояния системы (компактная)

Аргументы
moduleНазвание модуля
statusСтатус (true/false)
detailsДополнительная информация

См. определение в файле debug_optimized.h строка 169

◆ debugStatsIncrement()

void debugStatsIncrement ( const char * category)
inline

См. определение в файле debug_optimized.h строка 244

◆ debugStatsInit()

void debugStatsInit ( )
inline

См. определение в файле debug_optimized.h строка 243

◆ debugStatsPrint()

void debugStatsPrint ( )
inline

См. определение в файле debug_optimized.h строка 245