mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
fix param interface (#5797)
* param: fix bug when param value is changed to 'zero' for the first time, it won't be saved. * param: revert incorrectly removed code.
This commit is contained in:
parent
53e0bc5f12
commit
309c256e9e
@ -543,6 +543,7 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
||||
.val.p = NULL,
|
||||
.unsaved = false
|
||||
};
|
||||
params_changed = true;
|
||||
|
||||
/* add it to the array and sort */
|
||||
utarray_push_back(param_values, &buf);
|
||||
@ -556,12 +557,12 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
||||
switch (param_type(param)) {
|
||||
|
||||
case PARAM_TYPE_INT32:
|
||||
params_changed = s->val.i != *(int32_t *)val;
|
||||
params_changed = params_changed || s->val.i != *(int32_t *)val;
|
||||
s->val.i = *(int32_t *)val;
|
||||
break;
|
||||
|
||||
case PARAM_TYPE_FLOAT:
|
||||
params_changed = fabsf(s->val.f - * (float *)val) > FLT_EPSILON;
|
||||
params_changed = params_changed || fabsf(s->val.f - * (float *)val) > FLT_EPSILON;
|
||||
s->val.f = *(float *)val;
|
||||
break;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user