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

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

#include "jxct_constants.h"
Граф включаемых заголовочных файлов для debug_optimized.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, ...)   DEBUG_MQTT_PRINTF("[DELTA] " fmt "\n", ##__VA_ARGS__)
 
#define DEBUG_MQTT_DNS(fmt, ...)   DEBUG_MQTT_PRINTF("[DNS] " fmt "\n", ##__VA_ARGS__)
 
#define DEBUG_MQTT_HA(fmt, ...)   DEBUG_MQTT_PRINTF("[HA] " fmt "\n", ##__VA_ARGS__)
 
#define DEBUG_MODBUS_TX()   DEBUG_MODBUS_PRINTLN("TX режим")
 
#define DEBUG_MODBUS_RX()   DEBUG_MODBUS_PRINTLN("RX режим")
 
#define DEBUG_MODBUS_MOVING_AVG(fmt, ...)   DEBUG_MODBUS_PRINTF("[MOVING_AVG] " fmt "\n", ##__VA_ARGS__)
 
#define DEBUG_MAIN_BATCH(msg)   DEBUG_PRINTLN("[BATCH] " msg)
 
#define DEBUG_MAIN_BUTTON(msg)   DEBUG_PRINTLN("[BUTTON] " msg)
 
#define MIGRATE_DEBUG_PRINTF(fmt, ...)   DEBUG_PRINTF(fmt, ##__VA_ARGS__)
 
#define MIGRATE_DEBUG_PRINTLN(msg)   DEBUG_PRINTLN(msg)
 
#define CRITICAL_DEBUG_PRINT(x)
 
#define CRITICAL_DEBUG_PRINTLN(x)
 
#define CRITICAL_DEBUG_PRINTF(fmt, ...)   Serial.printf("[CRITICAL] " fmt, ##__VA_ARGS__)
 

Функции

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_ENABLED

#define DEBUG_ENABLED   false

◆ DEBUG_PRINT

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

◆ DEBUG_PRINTLN

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

◆ DEBUG_PRINTF

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

◆ DEBUG_MODBUS_PRINT

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

◆ DEBUG_MODBUS_PRINTLN

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

◆ DEBUG_MODBUS_PRINTF

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

◆ DEBUG_MQTT_PRINT

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

◆ DEBUG_MQTT_PRINTLN

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

◆ DEBUG_MQTT_PRINTF

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

◆ DEBUG_WIFI_PRINT

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

◆ DEBUG_WIFI_PRINTLN

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

◆ DEBUG_WIFI_PRINTF

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

◆ DEBUG_MQTT_DELTA

#define DEBUG_MQTT_DELTA (   fmt,
  ... 
)    DEBUG_MQTT_PRINTF("[DELTA] " fmt "\n", ##__VA_ARGS__)

◆ DEBUG_MQTT_DNS

#define DEBUG_MQTT_DNS (   fmt,
  ... 
)    DEBUG_MQTT_PRINTF("[DNS] " fmt "\n", ##__VA_ARGS__)

◆ DEBUG_MQTT_HA

#define DEBUG_MQTT_HA (   fmt,
  ... 
)    DEBUG_MQTT_PRINTF("[HA] " fmt "\n", ##__VA_ARGS__)

◆ DEBUG_MODBUS_TX

#define DEBUG_MODBUS_TX ( )    DEBUG_MODBUS_PRINTLN("TX режим")

◆ DEBUG_MODBUS_RX

#define DEBUG_MODBUS_RX ( )    DEBUG_MODBUS_PRINTLN("RX режим")

◆ DEBUG_MODBUS_MOVING_AVG

#define DEBUG_MODBUS_MOVING_AVG (   fmt,
  ... 
)    DEBUG_MODBUS_PRINTF("[MOVING_AVG] " fmt "\n", ##__VA_ARGS__)

◆ DEBUG_MAIN_BATCH

#define DEBUG_MAIN_BATCH (   msg)    DEBUG_PRINTLN("[BATCH] " msg)

◆ DEBUG_MAIN_BUTTON

#define DEBUG_MAIN_BUTTON (   msg)    DEBUG_PRINTLN("[BUTTON] " msg)

◆ MIGRATE_DEBUG_PRINTF

#define MIGRATE_DEBUG_PRINTF (   fmt,
  ... 
)    DEBUG_PRINTF(fmt, ##__VA_ARGS__)

◆ MIGRATE_DEBUG_PRINTLN

#define MIGRATE_DEBUG_PRINTLN (   msg)    DEBUG_PRINTLN(msg)

◆ CRITICAL_DEBUG_PRINT

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

◆ CRITICAL_DEBUG_PRINTLN

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

◆ CRITICAL_DEBUG_PRINTF

#define CRITICAL_DEBUG_PRINTF (   fmt,
  ... 
)    Serial.printf("[CRITICAL] " fmt, ##__VA_ARGS__)

Функции

◆ debugConditionalPrint()

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

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

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

◆ debugPrintHexBuffer()

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

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

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

◆ debugPrintStatus()

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

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

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

◆ debugStatsInit()

void debugStatsInit ( )
inline

◆ debugStatsIncrement()

void debugStatsIncrement ( const char *  category)
inline

◆ debugStatsPrint()

void debugStatsPrint ( )
inline