Skip to content

Commit 2d60fea

Browse files
authored
Merge pull request #109 from arduino-libraries/add-formatting-elements-for-better-readability
Refactoring ArduinoIoTCloud
2 parents c354b6e + 72aca14 commit 2d60fea

15 files changed

+724
-618
lines changed

Diff for: src/utility/ECCX08TLSConfig.h renamed to examples/utility/Provisioning/ECCX08TLSConfig.h

-6
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
#ifndef _ECCX08_TLS_CONFIG_H_
1919
#define _ECCX08_TLS_CONFIG_H_
2020

21-
#include <ArduinoIoTCloud_Defines.h>
22-
23-
#ifdef BOARD_HAS_ECCX08
24-
2521
const byte DEFAULT_ECCX08_TLS_CONFIG[128] = {
2622
// Read only - start
2723
// SN[0:3]
@@ -106,6 +102,4 @@ const byte DEFAULT_ECCX08_TLS_CONFIG[128] = {
106102
0x1C, 0x00
107103
};
108104

109-
#endif /* BOARD_HAS_ECCX08 */
110-
111105
#endif /* _ECCX08_TLS_CONFIG_H_ */

Diff for: examples/utility/Provisioning/Provisioning.ino

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <ArduinoIoTCloud.h>
2-
#include <utility/ECCX08Cert.h>
3-
#include <utility/ECCX08TLSConfig.h>
2+
#include "ECCX08TLSConfig.h"
43

54
#include <ArduinoBearSSL.h>
65
#include <ArduinoECCX08.h>
@@ -11,6 +10,8 @@ const int compressedCertSlot = 10;
1110
const int serialNumberAndAuthorityKeyIdentifierSlot = 11;
1211
const int deviceIdSlot = 12;
1312

13+
ECCX08CertClass ECCX08Cert;
14+
1415
void setup() {
1516
Serial.begin(9600);
1617
while (!Serial);

Diff for: src/ArduinoIoTCloud.cpp

+84-35
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,28 @@
1515
a commercial license, send an email to [email protected].
1616
*/
1717

18+
/******************************************************************************
19+
* INCLUDE
20+
******************************************************************************/
21+
1822
#include <ArduinoIoTCloud.h>
1923

20-
void ArduinoIoTCloudClass::addPropertyReal(ArduinoCloudProperty& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
24+
/******************************************************************************
25+
* PUBLIC MEMBER FUNCTIONS
26+
******************************************************************************/
27+
28+
void ArduinoIoTCloudClass::addCallback(ArduinoIoTCloudEvent const event, OnCloudEventCallback callback)
29+
{
30+
_cloud_event_callback[static_cast<size_t>(event)] = callback;
31+
}
32+
33+
void ArduinoIoTCloudClass::addPropertyReal(ArduinoCloudProperty& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
34+
{
2135
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
2236
}
2337

24-
void ArduinoIoTCloudClass::addPropertyReal(ArduinoCloudProperty& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
38+
void ArduinoIoTCloudClass::addPropertyReal(ArduinoCloudProperty& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
39+
{
2540
Permission permission = Permission::ReadWrite;
2641
if (permission_type == READ) {
2742
permission = Permission::Read;
@@ -32,102 +47,136 @@ void ArduinoIoTCloudClass::addPropertyReal(ArduinoCloudProperty& property, Strin
3247
}
3348

3449
if (seconds == ON_CHANGE) {
35-
Thing.addPropertyReal(property, name, permission, tag).publishOnChange(minDelta, DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate(fn).onSync(synFn);
50+
_thing.addPropertyReal(property, name, permission, tag).publishOnChange(minDelta, DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate(fn).onSync(synFn);
3651
} else {
37-
Thing.addPropertyReal(property, name, permission, tag).publishEvery(seconds).onUpdate(fn).onSync(synFn);
52+
_thing.addPropertyReal(property, name, permission, tag).publishEvery(seconds).onUpdate(fn).onSync(synFn);
3853
}
3954
}
4055

41-
void ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
56+
void ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
57+
{
4258
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
4359
}
4460

45-
void ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
61+
void ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
62+
{
4663
ArduinoCloudProperty* p = new CloudWrapperBool(property);
4764
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
4865
}
49-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, Permission const permission) {
66+
67+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, Permission const permission)
68+
{
5069
return addPropertyReal(property, name, -1, permission);
5170
}
52-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, int tag, Permission const permission) {
71+
72+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, int tag, Permission const permission)
73+
{
5374
ArduinoCloudProperty* p = new CloudWrapperBool(property);
54-
return Thing.addPropertyReal(*p, name, permission, tag);
75+
return _thing.addPropertyReal(*p, name, permission, tag);
5576
}
5677

57-
void ArduinoIoTCloudClass::addPropertyReal(float& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
78+
void ArduinoIoTCloudClass::addPropertyReal(float& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
79+
{
5880
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
5981
}
6082

61-
void ArduinoIoTCloudClass::addPropertyReal(float& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
83+
void ArduinoIoTCloudClass::addPropertyReal(float& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
84+
{
6285
ArduinoCloudProperty* p = new CloudWrapperFloat(property);
6386
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
6487
}
6588

66-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(float& property, String name, Permission const permission) {
89+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(float& property, String name, Permission const permission)
90+
{
6791
return addPropertyReal(property, name, -1, permission);
6892
}
6993

70-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(float& property, String name, int tag, Permission const permission) {
94+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(float& property, String name, int tag, Permission const permission)
95+
{
7196
ArduinoCloudProperty* p = new CloudWrapperFloat(property);
72-
return Thing.addPropertyReal(*p, name, permission, tag);
97+
return _thing.addPropertyReal(*p, name, permission, tag);
7398
}
7499

75-
void ArduinoIoTCloudClass::addPropertyReal(int& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
100+
void ArduinoIoTCloudClass::addPropertyReal(int& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
101+
{
76102
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
77103
}
78104

79-
void ArduinoIoTCloudClass::addPropertyReal(int& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
105+
void ArduinoIoTCloudClass::addPropertyReal(int& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
106+
{
80107
ArduinoCloudProperty* p = new CloudWrapperInt(property);
81108
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
82109
}
83110

84-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(int& property, String name, Permission const permission) {
111+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(int& property, String name, Permission const permission)
112+
{
85113
return addPropertyReal(property, name, -1, permission);
86114
}
87115

88-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(int& property, String name, int tag, Permission const permission) {
116+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(int& property, String name, int tag, Permission const permission)
117+
{
89118
ArduinoCloudProperty* p = new CloudWrapperInt(property);
90-
return Thing.addPropertyReal(*p, name, permission, tag);
119+
return _thing.addPropertyReal(*p, name, permission, tag);
91120
}
92121

93-
void ArduinoIoTCloudClass::addPropertyReal(String& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
122+
void ArduinoIoTCloudClass::addPropertyReal(String& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
123+
{
94124
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
95125
}
96126

97-
void ArduinoIoTCloudClass::addPropertyReal(String& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property)) {
127+
void ArduinoIoTCloudClass::addPropertyReal(String& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(ArduinoCloudProperty & property))
128+
{
98129
ArduinoCloudProperty* p = new CloudWrapperString(property);
99130
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
100131
}
101132

102-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(String& property, String name, Permission const permission) {
133+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(String& property, String name, Permission const permission)
134+
{
103135
return addPropertyReal(property, name, -1, permission);
104136
}
105137

106-
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(String& property, String name, int tag, Permission const permission) {
138+
ArduinoCloudProperty& ArduinoIoTCloudClass::addPropertyReal(String& property, String name, int tag, Permission const permission)
139+
{
107140
ArduinoCloudProperty* p = new CloudWrapperString(property);
108-
return Thing.addPropertyReal(*p, name, permission, tag);
141+
return _thing.addPropertyReal(*p, name, permission, tag);
109142
}
110143

111-
void ArduinoIoTCloudClass::addCallback(ArduinoIoTCloudEvent const event, OnCloudEventCallback callback) {
112-
switch (event) {
113-
case ArduinoIoTCloudEvent::SYNC: _on_sync_event_callback = callback; break;
114-
case ArduinoIoTCloudEvent::CONNECT: _on_connect_event_callback = callback; break;
115-
case ArduinoIoTCloudEvent::DISCONNECT: _on_disconnect_event_callback = callback; break;
144+
/******************************************************************************
145+
* PROTECTED MEMBER FUNCTIONS
146+
******************************************************************************/
147+
148+
NetworkConnectionState ArduinoIoTCloudClass::checkPhyConnection()
149+
{
150+
NetworkConnectionState const connect_state = _connection->check();
151+
152+
if (_connection->check() != NetworkConnectionState::CONNECTED)
153+
{
154+
if (_iot_status == ArduinoIoTConnectionStatus::CONNECTED)
155+
{
156+
disconnect();
157+
}
116158
}
117-
};
118159

119-
void ArduinoIoTCloudClass::execCloudEventCallback(OnCloudEventCallback& callback, void* callback_arg) {
160+
return connect_state;
161+
}
162+
163+
void ArduinoIoTCloudClass::execCloudEventCallback(ArduinoIoTCloudEvent const event)
164+
{
165+
OnCloudEventCallback callback = _cloud_event_callback[static_cast<size_t>(event)];
120166
if (callback) {
121-
(*callback)(callback_arg);
167+
(*callback)();
122168
}
123169
}
124-
void ArduinoIoTCloudClass::printConnectionStatus(ArduinoIoTConnectionStatus status) {
125-
switch (status) {
170+
171+
void ArduinoIoTCloudClass::printConnectionStatus(ArduinoIoTConnectionStatus status)
172+
{
173+
switch (status)
174+
{
126175
case ArduinoIoTConnectionStatus::IDLE: Debug.print(DBG_INFO, "Arduino IoT Cloud Connection status: IDLE"); break;
127176
case ArduinoIoTConnectionStatus::ERROR: Debug.print(DBG_ERROR, "Arduino IoT Cloud Connection status: ERROR"); break;
128177
case ArduinoIoTConnectionStatus::CONNECTING: Debug.print(DBG_INFO, "Arduino IoT Cloud Connection status: CONNECTING"); break;
129178
case ArduinoIoTConnectionStatus::RECONNECTING: Debug.print(DBG_INFO, "Arduino IoT Cloud Connection status: RECONNECTING"); break;
130179
case ArduinoIoTConnectionStatus::CONNECTED: Debug.print(DBG_INFO, "Arduino IoT Cloud Connection status: CONNECTED"); break;
131180
case ArduinoIoTConnectionStatus::DISCONNECTED: Debug.print(DBG_ERROR, "Arduino IoT Cloud Connection status: DISCONNECTED"); break;
132181
}
133-
}
182+
}

0 commit comments

Comments
 (0)