From e70e2367b6383173f3a9d91b7062ad9610f36759 Mon Sep 17 00:00:00 2001 From: Todd Treece Date: Mon, 5 Oct 2015 11:32:10 -0400 Subject: [PATCH] only check for suback if using MQTT 3.1.1 or higher --- Adafruit_MQTT.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Adafruit_MQTT.cpp b/Adafruit_MQTT.cpp index d7e6fe1..302c47e 100644 --- a/Adafruit_MQTT.cpp +++ b/Adafruit_MQTT.cpp @@ -125,13 +125,16 @@ int8_t Adafruit_MQTT::connect() { if (!sendPacket(buffer, len)) return -1; - // Get SUBACK - len = readPacket(buffer, 5, CONNECT_TIMEOUT_MS); - DEBUG_PRINT(F("SUBACK:\t")); - DEBUG_PRINTBUFFER(buffer, len); - if ((len != 5) || (buffer[0] != (MQTT_CTRL_SUBACK << 4))) { - return 6; // failure to subscribe + // Check for SUBACK if using MQTT 3.1.1 or higher + if(MQTT_PROTOCOL_LEVEL > 3) { + len = readPacket(buffer, 5, CONNECT_TIMEOUT_MS); + DEBUG_PRINT(F("SUBACK:\t")); + DEBUG_PRINTBUFFER(buffer, len); + if ((len != 5) || (buffer[0] != (MQTT_CTRL_SUBACK << 4))) { + return 6; // failure to subscribe + } } + } return 0;