@@ -18,13 +18,51 @@ typedef unsigned char byte;
1818#define HOMEKIT_LOG_INFO 2
1919#define HOMEKIT_LOG_DEBUG 3
2020
21+ #ifndef HOMEKIT_LOG_LEVEL
2122#define HOMEKIT_LOG_LEVEL HOMEKIT_NO_LOG
23+ #endif
2224
2325#define HOMEKIT_PRINTF XPGM_PRINTF
2426
27+ #if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_DEBUG
28+
29+ #define DEBUG (message , ...) HOMEKIT_PRINTF(">>> %s: " message "\n", __func__, ##__VA_ARGS__)
30+ static uint32_t start_time = 0 ;
31+ #define DEBUG_TIME_BEGIN () start_time=millis();
32+ #define DEBUG_TIME_END (func_name ) HOMEKIT_PRINTF("### [%7d] %s took %6dms\n", millis(), func_name, (millis() - start_time));
33+ #define DEBUG_HEAP () DEBUG("Free heap: %d", system_get_free_heap_size());
34+
35+ #else
36+
37+ #define DEBUG (message , ...)
38+ #define DEBUG_TIME_BEGIN ()
39+ #define DEBUG_TIME_END (func_name )
40+ #define DEBUG_HEAP ()
41+
42+ #endif
43+
44+ #if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_ERROR
45+
46+ #define ERROR (message , ...) HOMEKIT_PRINTF("!!! [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
47+
48+ #else
49+
50+ #define ERROR (message , ...)
51+
52+ #endif
2553
2654#if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_INFO
2755
56+ #define INFO (message , ...) HOMEKIT_PRINTF(">>> [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
57+ #define INFO_HEAP () INFO("Free heap: %d", system_get_free_heap_size());
58+
59+ #else
60+
61+ #define INFO (message , ...)
62+ #define INFO_HEAP ()
63+
64+ #endif
65+
2866char * binary_to_string (const byte * data , size_t size );
2967void print_binary (const char * prompt , const byte * data , size_t size );
3068
0 commit comments