From c753ecaebe6dd9160bed6b8fcd8645824b3079dd Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 26 Aug 2015 23:07:22 +0100 Subject: [PATCH] Add MQTT 3.1.1 support --- PubSubClient/PubSubClient.cpp | 11 +++++++++-- PubSubClient/PubSubClient.h | 7 ++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/PubSubClient/PubSubClient.cpp b/PubSubClient/PubSubClient.cpp index 75c4272..c4da0c5 100755 --- a/PubSubClient/PubSubClient.cpp +++ b/PubSubClient/PubSubClient.cpp @@ -66,11 +66,18 @@ boolean PubSubClient::connect(char *id, char *user, char *pass, char* willTopic, if (result) { nextMsgId = 1; - uint8_t d[9] = {0x00,0x06,'M','Q','I','s','d','p',MQTTPROTOCOLVERSION}; // Leave room in the buffer for header and variable length field uint16_t length = 5; unsigned int j; - for (j = 0;j<9;j++) { + +#if MQTT_VERSION == MQTT_VERSION_3_1 + uint8_t d[9] = {0x00,0x06,'M','Q','I','s','d','p', MQTT_VERSION}; +#define MQTT_HEADER_VERSION_LENGTH 9 +#elif MQTT_VERSION == MQTT_VERSION_3_1_1 + uint8_t d[7] = {0x00,0x04,'M','Q','T','T',MQTT_VERSION}; +#define MQTT_HEADER_VERSION_LENGTH 7 +#endif + for (j = 0;j