-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdebug_print.h
53 lines (43 loc) · 1.54 KB
/
debug_print.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef _debug_print_h_
#define _debug_print_h_
#ifdef DEBUG
#ifdef DEBUG_MQTT
#include <PubSubClient.h>
#include <map>
std::map<int, std::string> mqtt_state_map = {
{MQTT_CONNECTION_TIMEOUT, "MQTT_CONNECTION_TIMEOUT"},
{MQTT_CONNECTION_LOST, "MQTT_CONNECTION_LOST"},
{MQTT_CONNECT_FAILED, "MQTT_CONNECT_FAILED"},
{MQTT_DISCONNECTED, "MQTT_DISCONNECTED"},
{MQTT_CONNECT_BAD_PROTOCOL, "MQTT_CONNECT_BAD_PROTOCOL"},
{MQTT_CONNECT_BAD_CLIENT_ID, "MQTT_CONNECT_BAD_CLIENT_ID"},
{MQTT_CONNECT_UNAVAILABLE, "MQTT_CONNECT_UNAVAILABLE"},
{MQTT_CONNECT_BAD_CREDENTIALS, "MQTT_CONNECT_BAD_CREDENTIALS"},
{MQTT_CONNECT_UNAUTHORIZED, "MQTT_CONNECT_UNAUTHORIZED"}
};
const char* state2str(int state) {
return std::string(mqtt_state_map[state]).c_str();
}
#define DEBUG_PRINT_MQTTSTATE(x) Serial.println(state2str(x))
#else
#define DEBUG_PRINT_MQTTSTATE(x)
#endif
const char* mqttDbg = MQTTDEVICEID "/debug";
#define DEBUG_BEGIN(x) Serial.begin(x)
#define DEBUG_PRINT(x) Serial.print(x)
#define DEBUG_PRINTLN(x) Serial.println(x)
#define DEBUG_PRINTDEC(x) Serial.print(x, DEC)
#define DEBUG_PRINTHEX(x) Serial.print(x, HEX)
#define DEBUG_PRINTF(x_, ...) Serial.printf((x_), ##__VA_ARGS__)
#define DEBUG_PRINTMQTT(x) mqttClient.publish(mqttDbg, x);
#else
#define DEBUG_BEGIN(x)
#define DEBUG_PRINT(x)
#define DEBUG_PRINTLN(x)
#define DEBUG_PRINTDEC(x)
#define DEBUG_PRINTHEX(x)
#define DEBUG_PRINT_MQTTSTATE(x)
#define DEBUG_PRINTF(x_, ...)
#define DEBUG_PRINTMQTT(x)
#endif
#endif