Skip to content

Commit 961a71c

Browse files
committed
- implemented some of the changes requested by @ilcato on PR #37
1 parent f86f04f commit 961a71c

File tree

2 files changed

+5
-24
lines changed

2 files changed

+5
-24
lines changed

Diff for: src/ArduinoIoTCloud.cpp

+4-23
Original file line numberDiff line numberDiff line change
@@ -188,28 +188,6 @@ void ArduinoIoTCloudClass::update()
188188
update(MAX_RETRIES, RECONNECTION_TIMEOUT);
189189
}
190190

191-
bool ArduinoIoTCloudClass::mqttReconnect(int const maxRetries, int const timeout)
192-
{
193-
// Counter for reconnection retries
194-
int retries = 0;
195-
unsigned long start = millis();
196-
197-
// Check for MQTT broker connection, of if maxReties limit is reached
198-
// if MQTTClient is connected , simply do nothing and retun true
199-
while (!_mqttClient->connected() && (retries++ < maxRetries) && (millis() - start < timeout)) {
200-
// int connectError = _mqttClient->connectError();
201-
202-
// try establish the MQTT broker connection
203-
connect();
204-
}
205-
206-
// It was impossible to establish a connection, return
207-
if ((retries == maxRetries) || (millis() - start >= timeout))
208-
return false;
209-
210-
return true;
211-
}
212-
213191
void ArduinoIoTCloudClass::update(int const reconnectionMaxRetries, int const reconnectionTimeoutMs)
214192
{
215193
connectionCheck();
@@ -317,7 +295,7 @@ void ArduinoIoTCloudClass::connectionCheck()
317295

318296

319297
switch (iotStatus) {
320-
case IOT_STATUS_IDLE:
298+
case IOT_STATUS_CLOUD_IDLE:
321299
setIoTConnectionState(IOT_STATUS_CLOUD_CONNECTING);
322300
break;
323301
case IOT_STATUS_CLOUD_ERROR:
@@ -326,6 +304,9 @@ void ArduinoIoTCloudClass::connectionCheck()
326304
break;
327305
case IOT_STATUS_CLOUD_CONNECTED:
328306
debugMessage(".", 4, false, true);
307+
if (!_mqttClient->connected()){
308+
setIoTConnectionState(IOT_STATUS_CLOUD_DISCONNECTED);
309+
}
329310
break;
330311
case IOT_STATUS_CLOUD_DISCONNECTED:
331312
setIoTConnectionState(IOT_STATUS_CLOUD_RECONNECTING);

Diff for: src/ArduinoIoTCloud.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ class ArduinoIoTCloudClass {
130130
ArduinoIoTConnectionStatus getIoTStatus() { return iotStatus; }
131131
void setIoTConnectionState(ArduinoIoTConnectionStatus _newState);
132132
private:
133-
ArduinoIoTConnectionStatus iotStatus = IOT_STATUS_IDLE;
133+
ArduinoIoTConnectionStatus iotStatus = IOT_STATUS_CLOUD_IDLE;
134134
ConnectionManager *connection;
135135
static void onMessage(int length);
136136
void handleMessage(int length);

0 commit comments

Comments
 (0)