@@ -13,29 +13,55 @@ extern "C" {
13
13
14
14
typedef unsigned char byte ;
15
15
16
- //#define HOMEKIT_DEBUG
16
+ #define HOMEKIT_NO_LOG 0
17
+ #define HOMEKIT_LOG_ERROR 1
18
+ #define HOMEKIT_LOG_INFO 2
19
+ #define HOMEKIT_LOG_DEBUG 3
20
+
21
+ #ifndef HOMEKIT_LOG_LEVEL
22
+ #define HOMEKIT_LOG_LEVEL HOMEKIT_LOG_INFO
23
+ #endif
17
24
18
25
#define HOMEKIT_PRINTF XPGM_PRINTF
19
26
20
- #ifdef HOMEKIT_DEBUG
27
+ #if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_DEBUG
21
28
22
29
#define DEBUG (message , ...) HOMEKIT_PRINTF(">>> %s: " message "\n", __func__, ##__VA_ARGS__)
23
30
static uint32_t start_time = 0 ;
24
31
#define DEBUG_TIME_BEGIN () start_time=millis();
25
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());
26
34
27
35
#else
28
36
29
37
#define DEBUG (message , ...)
30
38
#define DEBUG_TIME_BEGIN ()
31
39
#define DEBUG_TIME_END (func_name )
40
+ #define DEBUG_HEAP ()
32
41
33
42
#endif
34
43
35
- #define INFO (message , ...) HOMEKIT_PRINTF(">>> [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
44
+ #if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_ERROR
45
+
36
46
#define ERROR (message , ...) HOMEKIT_PRINTF("!!! [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
47
+
48
+ #else
49
+
50
+ #define ERROR (message , ...)
51
+
52
+ #endif
53
+
54
+ #if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_INFO
55
+
56
+ #define INFO (message , ...) HOMEKIT_PRINTF(">>> [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
37
57
#define INFO_HEAP () INFO("Free heap: %d", system_get_free_heap_size());
38
- #define DEBUG_HEAP () DEBUG("Free heap: %d", system_get_free_heap_size());
58
+
59
+ #else
60
+
61
+ #define INFO (message , ...)
62
+ #define INFO_HEAP ()
63
+
64
+ #endif
39
65
40
66
char * binary_to_string (const byte * data , size_t size );
41
67
void print_binary (const char * prompt , const byte * data , size_t size );
0 commit comments