Skip to content

Commit 2b0f40b

Browse files
author
ilcato
committed
Managed exit cases for IOT_STATUS_CLOUD_CONNECTED, removed unused states
1 parent 686c57b commit 2b0f40b

File tree

2 files changed

+9
-17
lines changed

2 files changed

+9
-17
lines changed

src/ArduinoIoTCloud.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -282,15 +282,11 @@ void ArduinoIoTCloudClass::handleMessage(int length)
282282
}
283283

284284
void ArduinoIoTCloudClass::connectionCheck() {
285-
if(connection != NULL){
285+
if(connection != NULL) {
286286
connection->check();
287-
288287
if (connection->getStatus() != CONNECTION_STATE_CONNECTED) {
289-
if(iotStatus == IOT_STATUS_CLOUD_CONNECTED){
290-
setIoTConnectionState(IOT_STATUS_CLOUD_DISCONNECTED);
291-
}else{
292-
//setIoTConnectionState(IOT_STATUS_CLOUD_CONNECTING);
293-
}
288+
if (iotStatus == IOT_STATUS_CLOUD_CONNECTED)
289+
setIoTConnectionState(IOT_STATUS_CLOUD_RECONNECTING);
294290
return;
295291
}
296292
}
@@ -299,7 +295,7 @@ void ArduinoIoTCloudClass::connectionCheck() {
299295

300296

301297
switch (iotStatus) {
302-
case IOT_STATUS_IDLE:
298+
case IOT_STATUS_CLOUD_IDLE:
303299
{
304300
int connectionAttempt;
305301
if(connection == NULL){
@@ -314,17 +310,15 @@ void ArduinoIoTCloudClass::connectionCheck() {
314310
}
315311
setIoTConnectionState(IOT_STATUS_CLOUD_CONNECTING);
316312
break;
317-
}
318-
313+
}
319314
case IOT_STATUS_CLOUD_ERROR:
320315
debugMessage("Cloud Error. Retrying...", 0);
321316
setIoTConnectionState(IOT_STATUS_CLOUD_RECONNECTING);
322317
break;
323318
case IOT_STATUS_CLOUD_CONNECTED:
324319
debugMessage(".", 4, false, true);
325-
break;
326-
case IOT_STATUS_CLOUD_DISCONNECTED:
327-
setIoTConnectionState(IOT_STATUS_CLOUD_RECONNECTING);
320+
if (!_mqttClient->connected())
321+
setIoTConnectionState(IOT_STATUS_CLOUD_RECONNECTING);
328322
break;
329323
case IOT_STATUS_CLOUD_RECONNECTING:
330324
int arduinoIoTReconnectionAttempt;

src/ArduinoIoTCloud.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@ typedef struct {
2424
extern ConnectionManager *ArduinoIoTPreferredConnection;
2525

2626
enum ArduinoIoTConnectionStatus {
27-
IOT_STATUS_IDLE,/* only at start */
2827
IOT_STATUS_CLOUD_IDLE,
2928
IOT_STATUS_CLOUD_CONNECTING,
3029
IOT_STATUS_CLOUD_CONNECTED,
3130
IOT_STATUS_CLOUD_DISCONNECTED,
3231
IOT_STATUS_CLOUD_RECONNECTING,
33-
IOT_STATUS_CLOUD_ERROR,
34-
IOT_STATUS_ERROR_GENERIC
32+
IOT_STATUS_CLOUD_ERROR
3533
};
3634

3735
class ArduinoIoTCloudClass {
@@ -106,7 +104,7 @@ class ArduinoIoTCloudClass {
106104
ArduinoIoTConnectionStatus getIoTStatus() { return iotStatus; }
107105
void setIoTConnectionState(ArduinoIoTConnectionStatus _newState);
108106
private:
109-
ArduinoIoTConnectionStatus iotStatus = IOT_STATUS_IDLE;
107+
ArduinoIoTConnectionStatus iotStatus = IOT_STATUS_CLOUD_IDLE;
110108
ConnectionManager *connection;
111109
static void onMessage(int length);
112110
void handleMessage(int length);

0 commit comments

Comments
 (0)