Skip to content

Commit 0d14d57

Browse files
committed
add property tag
1 parent 2dd49c0 commit 0d14d57

File tree

2 files changed

+62
-20
lines changed

2 files changed

+62
-20
lines changed

src/ArduinoIoTCloud.h

Lines changed: 61 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,11 @@ class ArduinoIoTCloudClass {
100100

101101
static unsigned long const DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS = 500; /* Data rate throttled to 2 Hz */
102102

103-
void addPropertyReal(ArduinoCloudProperty& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty& property) = CLOUD_WINS) {
103+
void addPropertyReal(ArduinoCloudProperty & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
104+
addPropertyReal( property, name, -1, permission_type, seconds, fn, minDelta, synFn);
105+
}
106+
107+
void addPropertyReal( ArduinoCloudProperty& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty& property) = CLOUD_WINS ) {
104108
Permission permission = Permission::ReadWrite;
105109
if (permission_type == READ) {
106110
permission = Permission::Read;
@@ -111,42 +115,80 @@ class ArduinoIoTCloudClass {
111115
}
112116

113117
if (seconds == ON_CHANGE) {
114-
Thing.addPropertyReal(property, name, permission).publishOnChange(minDelta, DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate(fn).onSync(synFn);
118+
Thing.addPropertyReal(property, name, permission, tag).publishOnChange(minDelta, DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate(fn).onSync(synFn);
115119
} else {
116-
Thing.addPropertyReal(property, name, permission).publishEvery(seconds).onUpdate(fn).onSync(synFn);
120+
Thing.addPropertyReal(property, name, permission, tag).publishEvery(seconds).onUpdate(fn).onSync(synFn);
117121
}
118122
}
119-
void addPropertyReal(bool& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
123+
124+
void addPropertyReal(bool& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
125+
addPropertyReal( property, name, -1, permission_type, seconds, fn, minDelta, synFn);
126+
}
127+
128+
void addPropertyReal( bool& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
120129
ArduinoCloudProperty *p = new CloudWrapperBool(property);
121-
addPropertyReal(*p, name, permission_type, seconds, fn, minDelta, synFn);
130+
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
122131
}
123-
ArduinoCloudProperty& addPropertyReal(bool& property, String name, Permission const permission) {
132+
ArduinoCloudProperty& addPropertyReal(bool& property, String name, Permission const permission) {
133+
return addPropertyReal(property, name, -1, permission);
134+
}
135+
ArduinoCloudProperty& addPropertyReal(bool& property, String name, int tag, Permission const permission) {
124136
ArduinoCloudProperty *p = new CloudWrapperBool(property);
125-
return Thing.addPropertyReal(*p, name, permission);
137+
return Thing.addPropertyReal(*p, name, permission, tag);
126138
}
127-
void addPropertyReal(float& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
139+
140+
void addPropertyReal(float& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
141+
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
142+
}
143+
144+
void addPropertyReal( float& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
128145
ArduinoCloudProperty *p = new CloudWrapperFloat(property);
129-
addPropertyReal(*p, name, permission_type, seconds, fn, minDelta, synFn);
146+
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
130147
}
131-
ArduinoCloudProperty& addPropertyReal(float& property, String name, Permission const permission) {
148+
149+
ArduinoCloudProperty& addPropertyReal(float& property, String name, Permission const permission) {
150+
return addPropertyReal( property, name, -1, permission);
151+
}
152+
153+
ArduinoCloudProperty& addPropertyReal( float& property, String name, int tag, Permission const permission ) {
132154
ArduinoCloudProperty *p = new CloudWrapperFloat(property);
133-
return Thing.addPropertyReal(*p, name, permission);
155+
return Thing.addPropertyReal(*p, name, permission, tag);
134156
}
135-
void addPropertyReal(int& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
157+
158+
void addPropertyReal(int& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
159+
addPropertyReal(property, name, -1, permission_type, seconds,fn,minDelta,synFn);
160+
}
161+
162+
void addPropertyReal( int& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
136163
ArduinoCloudProperty *p = new CloudWrapperInt(property);
137-
addPropertyReal(*p, name, permission_type, seconds, fn, minDelta, synFn);
164+
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
138165
}
139-
ArduinoCloudProperty& addPropertyReal(int& property, String name, Permission const permission) {
166+
167+
ArduinoCloudProperty& addPropertyReal(int& property, String name, Permission const permission) {
168+
return addPropertyReal(property, name, -1, permission);
169+
}
170+
171+
ArduinoCloudProperty& addPropertyReal( int& property, String name, int tag, Permission const permission) {
140172
ArduinoCloudProperty *p = new CloudWrapperInt(property);
141-
return Thing.addPropertyReal(*p, name, permission);
173+
return Thing.addPropertyReal(*p, name, permission, tag);
142174
}
143-
void addPropertyReal(String& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
175+
176+
void addPropertyReal(String& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
177+
addPropertyReal( property, name, -1, permission_type, seconds, fn, minDelta, synFn);
178+
}
179+
180+
void addPropertyReal( String& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
144181
ArduinoCloudProperty *p = new CloudWrapperString(property);
145-
addPropertyReal(*p, name, permission_type, seconds, fn, minDelta, synFn);
182+
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
146183
}
147-
ArduinoCloudProperty& addPropertyReal(String& property, String name, Permission const permission) {
184+
185+
ArduinoCloudProperty& addPropertyReal(String& property, String name, Permission const permission) {
186+
return addPropertyReal(property, name, -1, permission);
187+
}
188+
189+
ArduinoCloudProperty& addPropertyReal(String& property, String name, int tag, Permission const permission) {
148190
ArduinoCloudProperty *p = new CloudWrapperString(property);
149-
return Thing.addPropertyReal(*p, name, permission);
191+
return Thing.addPropertyReal(*p, name, permission, tag);
150192
}
151193

152194
void addCallback(ArduinoIoTCloudEvent const event, OnCloudEventCallback callback) {

src/ArduinoIoTCloudLPWAN.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ int ArduinoIoTCloudLPWAN::writeShadowOut(const byte data[], int length) {
183183

184184
void ArduinoIoTCloudLPWAN::sendPropertiesToCloud() {
185185
uint8_t data[DEFAULT_CBOR_LORA_MSG_SIZE];
186-
int const length = Thing.encode(data, sizeof(data));
186+
int const length = Thing.encode(data, sizeof(data), true);
187187
if (length > 0) {
188188
writeProperties(data, length);
189189
}

0 commit comments

Comments
 (0)