mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-05 01:21:35 +08:00
Param interface: Only mark as changed if value changed
This commit is contained in:
@@ -538,10 +538,12 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
switch (param_type(param)) {
|
switch (param_type(param)) {
|
||||||
|
|
||||||
case PARAM_TYPE_INT32:
|
case PARAM_TYPE_INT32:
|
||||||
|
params_changed = s->val.i != *(int32_t *)val;
|
||||||
s->val.i = *(int32_t *)val;
|
s->val.i = *(int32_t *)val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_FLOAT:
|
case PARAM_TYPE_FLOAT:
|
||||||
|
params_changed = fabsf(s->val.f - *(float *)val) > FLT_EPSILON;
|
||||||
s->val.f = *(float *)val;
|
s->val.f = *(float *)val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -556,6 +558,7 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
}
|
}
|
||||||
|
|
||||||
memcpy(s->val.p, val, param_size(param));
|
memcpy(s->val.p, val, param_size(param));
|
||||||
|
params_changed = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -563,7 +566,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
}
|
}
|
||||||
|
|
||||||
s->unsaved = !mark_saved;
|
s->unsaved = !mark_saved;
|
||||||
params_changed = true;
|
|
||||||
result = 0;
|
result = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user