Skip to content

Commit dae4c02

Browse files
committed
[CM-474] Notify user if thing id is wrong / thing does not exist
1 parent 15881a0 commit dae4c02

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

src/ArduinoIoTCloud.cpp

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ const static int compressedCertSlot = 10;
3030
const static int serialNumberAndAuthorityKeyIdentifierSlot = 11;
3131
const static int thingIdSlot = 12;
3232

33+
constexpr static int CONNECT_FAILURE_SUBSCRIBE = -1;
34+
constexpr static int CONNECT_FAILURE = 0;
35+
constexpr static int CONNECT_SUCCESS = 1;
36+
37+
3338
static ConnectionManager *getTimeConnection = NULL;
3439

3540
static unsigned long getTime() {
@@ -185,16 +190,17 @@ int ArduinoIoTCloudClass::connect()
185190
// Username: device id
186191
// Password: empty
187192
if (!_mqttClient->connect(_brokerAddress.c_str(), _brokerPort)) {
188-
return 0;
193+
return CONNECT_FAILURE;
189194
}
190-
_mqttClient->subscribe(_stdinTopic);
191-
_mqttClient->subscribe(_dataTopicIn);
192-
_mqttClient->subscribe(_shadowTopicIn);
195+
196+
if(_mqttClient->subscribe(_stdinTopic ) == 0) return CONNECT_FAILURE_SUBSCRIBE;
197+
if(_mqttClient->subscribe(_dataTopicIn ) == 0) return CONNECT_FAILURE_SUBSCRIBE;
198+
if(_mqttClient->subscribe(_shadowTopicIn) == 0) return CONNECT_FAILURE_SUBSCRIBE;
193199

194200
_syncStatus = ArduinoIoTSynchronizationStatus::SYNC_STATUS_WAIT_FOR_CLOUD_VALUES;
195201
_lastSyncRequestTickTime = 0;
196202

197-
return 1;
203+
return CONNECT_SUCCESS;
198204
}
199205

200206
bool ArduinoIoTCloudClass::disconnect()
@@ -405,15 +411,18 @@ void ArduinoIoTCloudClass::connectionCheck()
405411
}
406412
break;
407413
case IOT_STATUS_CLOUD_CONNECTING:
408-
int arduinoIoTConnectionAttempt;
409-
arduinoIoTConnectionAttempt = connect();
410-
sprintf(msgBuffer, "ArduinoCloud.connect(): %d", arduinoIoTConnectionAttempt);
414+
int const ret_code_connect = connect();
415+
sprintf(msgBuffer, "ArduinoCloud.connect(): %d", ret_code_connect);
411416
debugMessage(msgBuffer, 4);
412-
if (arduinoIoTConnectionAttempt == 1) {
417+
if (ret_code_connect == CONNECT_SUCCESS) {
413418
setIoTConnectionState(IOT_STATUS_CLOUD_CONNECTED);
414419
CloudSerial.begin(9600);
415420
CloudSerial.println("Hello from Cloud Serial!");
416421
}
422+
else if (ret_code_connect == CONNECT_FAILURE_SUBSCRIBE) {
423+
sprintf(msgBuffer, "ERROR - Please verify your THING ID");
424+
debugMessage(msgBuffer, 0);
425+
}
417426
break;
418427
}
419428
}

0 commit comments

Comments
 (0)