File tree 1 file changed +8
-1
lines changed
1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ class ArduinoCloudPropertyGeneric
39
39
virtual ArduinoCloudPropertyGeneric& setTag (int _tag) = 0;
40
40
virtual ArduinoCloudPropertyGeneric& readOnly () = 0;
41
41
virtual ArduinoCloudPropertyGeneric& writeOnly () = 0;
42
+ virtual ArduinoCloudPropertyGeneric& minimumDelta (void * delta) = 0;
42
43
virtual int getTag () = 0;
43
44
virtual ArduinoCloudPropertyGeneric& setPermission (permissionType _permission) = 0;
44
45
virtual permissionType getPermission () = 0;
@@ -119,6 +120,11 @@ class ArduinoCloudProperty : public ArduinoCloudPropertyGeneric
119
120
return *(reinterpret_cast <ArduinoCloudPropertyGeneric*>(this ));
120
121
}
121
122
123
+ ArduinoCloudPropertyGeneric& minimumDelta (void * delta) {
124
+ minDelta = *(T*)delta;
125
+ return *(reinterpret_cast <ArduinoCloudPropertyGeneric*>(this ));
126
+ }
127
+
122
128
permissionType getPermission () {
123
129
return permission;
124
130
}
@@ -150,7 +156,7 @@ class ArduinoCloudProperty : public ArduinoCloudPropertyGeneric
150
156
}
151
157
152
158
bool newData () {
153
- return (property != shadow_property);
159
+ return (property != shadow_property && abs (property - shadow_property) > minDelta );
154
160
}
155
161
156
162
bool shouldBeUpdated () {
@@ -171,6 +177,7 @@ class ArduinoCloudProperty : public ArduinoCloudPropertyGeneric
171
177
int tag = -1 ;
172
178
long lastUpdated = 0 ;
173
179
long updatePolicy = ON_CHANGE;
180
+ T minDelta = 0 ;
174
181
permissionType permission = READWRITE;
175
182
static int tagIndex;
176
183
};
You can’t perform that action at this time.
0 commit comments