mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-28 10:46:33 +08:00
parameters: delete unused PARAM_TYPE_STRUCT
This commit is contained in:
@@ -110,7 +110,6 @@ param_export_internal(bool only_unsaved)
|
|||||||
/* append the appropriate BSON type object */
|
/* append the appropriate BSON type object */
|
||||||
|
|
||||||
switch (param_type(s->param)) {
|
switch (param_type(s->param)) {
|
||||||
|
|
||||||
case PARAM_TYPE_INT32:
|
case PARAM_TYPE_INT32:
|
||||||
i = s->val.i;
|
i = s->val.i;
|
||||||
|
|
||||||
@@ -131,18 +130,6 @@ param_export_internal(bool only_unsaved)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
|
|
||||||
if (bson_encoder_append_binary(&encoder,
|
|
||||||
param_name(s->param),
|
|
||||||
BSON_BIN_BINARY,
|
|
||||||
param_size(s->param),
|
|
||||||
param_get_value_ptr_external(s->param))) {
|
|
||||||
debug("BSON append failed for '%s'", param_name(s->param));
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
debug("unrecognized parameter type");
|
debug("unrecognized parameter type");
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -57,16 +57,12 @@ __BEGIN_DECLS
|
|||||||
/**
|
/**
|
||||||
* Parameter types.
|
* Parameter types.
|
||||||
*/
|
*/
|
||||||
#define PARAM_TYPE_INT32 0
|
#define PARAM_TYPE_UNKNOWN 0
|
||||||
#define PARAM_TYPE_FLOAT 1
|
#define PARAM_TYPE_INT32 1
|
||||||
#define PARAM_TYPE_STRUCT 100
|
#define PARAM_TYPE_FLOAT 2
|
||||||
#define PARAM_TYPE_STRUCT_MAX (16384 + PARAM_TYPE_STRUCT)
|
|
||||||
#define PARAM_TYPE_UNKNOWN (0xffff)
|
|
||||||
|
|
||||||
typedef uint16_t param_type_t;
|
typedef uint8_t param_type_t;
|
||||||
|
|
||||||
|
|
||||||
#ifdef __PX4_NUTTX // on NuttX use 16 bits to save RAM
|
|
||||||
/**
|
/**
|
||||||
* Parameter handle.
|
* Parameter handle.
|
||||||
*
|
*
|
||||||
@@ -86,29 +82,6 @@ typedef uint16_t param_t;
|
|||||||
*/
|
*/
|
||||||
#define PARAM_HASH ((uint16_t)INT16_MAX)
|
#define PARAM_HASH ((uint16_t)INT16_MAX)
|
||||||
|
|
||||||
#else // on other platforms use 32 bits for better performance
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parameter handle.
|
|
||||||
*
|
|
||||||
* Parameters are represented by parameter handles, which can
|
|
||||||
* be obtained by looking up parameters. They are an offset into a global
|
|
||||||
* constant parameter array.
|
|
||||||
*/
|
|
||||||
typedef uint32_t param_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle returned when a parameter cannot be found.
|
|
||||||
*/
|
|
||||||
#define PARAM_INVALID ((uint32_t)0xffffffff)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Magic handle for hash check param
|
|
||||||
*/
|
|
||||||
#define PARAM_HASH ((uint32_t)INT32_MAX)
|
|
||||||
|
|
||||||
#endif /* __PX4_NUTTX */
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the param backend. Call this on startup before calling any other methods.
|
* Initialize the param backend. Call this on startup before calling any other methods.
|
||||||
|
|||||||
@@ -515,17 +515,11 @@ size_t
|
|||||||
param_size(param_t param)
|
param_size(param_t param)
|
||||||
{
|
{
|
||||||
if (handle_in_range(param)) {
|
if (handle_in_range(param)) {
|
||||||
|
|
||||||
switch (param_type(param)) {
|
switch (param_type(param)) {
|
||||||
|
|
||||||
case PARAM_TYPE_INT32:
|
case PARAM_TYPE_INT32:
|
||||||
case PARAM_TYPE_FLOAT:
|
case PARAM_TYPE_FLOAT:
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
|
|
||||||
/* decode structure size from type value */
|
|
||||||
return param_type(param) - PARAM_TYPE_STRUCT;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -562,14 +556,7 @@ param_get_value_ptr(param_t param)
|
|||||||
v = ¶m_info_base[param].val;
|
v = ¶m_info_base[param].val;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (param_type(param) >= PARAM_TYPE_STRUCT &&
|
result = v;
|
||||||
param_type(param) <= PARAM_TYPE_STRUCT_MAX) {
|
|
||||||
|
|
||||||
result = v->p;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
result = v;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -718,7 +705,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
|
|
||||||
/* update the changed value */
|
/* update the changed value */
|
||||||
switch (param_type(param)) {
|
switch (param_type(param)) {
|
||||||
|
|
||||||
case PARAM_TYPE_INT32:
|
case PARAM_TYPE_INT32:
|
||||||
params_changed = params_changed || s->val.i != *(int32_t *)val;
|
params_changed = params_changed || s->val.i != *(int32_t *)val;
|
||||||
s->val.i = *(int32_t *)val;
|
s->val.i = *(int32_t *)val;
|
||||||
@@ -729,27 +715,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
s->val.f = *(float *)val;
|
s->val.f = *(float *)val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
|
|
||||||
if (s->val.p == nullptr) {
|
|
||||||
size_t psize = param_size(param);
|
|
||||||
|
|
||||||
if (psize > 0) {
|
|
||||||
s->val.p = malloc(psize);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
s->val.p = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (s->val.p == nullptr) {
|
|
||||||
PX4_ERR("failed to allocate parameter storage");
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(s->val.p, val, param_size(param));
|
|
||||||
params_changed = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@@ -1121,22 +1086,6 @@ param_export(int fd, bool only_unsaved)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX: {
|
|
||||||
const void *value_ptr = param_get_value_ptr(s->param);
|
|
||||||
|
|
||||||
/* lock as short as possible */
|
|
||||||
if (bson_encoder_append_binary(&encoder,
|
|
||||||
name,
|
|
||||||
BSON_BIN_BINARY,
|
|
||||||
size,
|
|
||||||
value_ptr)) {
|
|
||||||
|
|
||||||
PX4_ERR("BSON append failed for '%s'", name);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
PX4_ERR("unrecognized parameter type");
|
PX4_ERR("unrecognized parameter type");
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -541,17 +541,11 @@ size_t
|
|||||||
param_size(param_t param)
|
param_size(param_t param)
|
||||||
{
|
{
|
||||||
if (handle_in_range(param)) {
|
if (handle_in_range(param)) {
|
||||||
|
|
||||||
switch (param_type(param)) {
|
switch (param_type(param)) {
|
||||||
|
|
||||||
case PARAM_TYPE_INT32:
|
case PARAM_TYPE_INT32:
|
||||||
case PARAM_TYPE_FLOAT:
|
case PARAM_TYPE_FLOAT:
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
|
|
||||||
/* decode structure size from type value */
|
|
||||||
return param_type(param) - PARAM_TYPE_STRUCT;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -588,14 +582,7 @@ param_get_value_ptr(param_t param)
|
|||||||
v = ¶m_info_base[param].val;
|
v = ¶m_info_base[param].val;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (param_type(param) >= PARAM_TYPE_STRUCT &&
|
result = v;
|
||||||
param_type(param) <= PARAM_TYPE_STRUCT_MAX) {
|
|
||||||
|
|
||||||
result = v->p;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
result = v;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -761,7 +748,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
|
|
||||||
/* update the changed value */
|
/* update the changed value */
|
||||||
switch (param_type(param)) {
|
switch (param_type(param)) {
|
||||||
|
|
||||||
case PARAM_TYPE_INT32:
|
case PARAM_TYPE_INT32:
|
||||||
params_changed = params_changed || s->val.i != *(int32_t *)val;
|
params_changed = params_changed || s->val.i != *(int32_t *)val;
|
||||||
s->val.i = *(int32_t *)val;
|
s->val.i = *(int32_t *)val;
|
||||||
@@ -772,27 +758,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
|
|||||||
s->val.f = *(float *)val;
|
s->val.f = *(float *)val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
|
|
||||||
if (s->val.p == nullptr) {
|
|
||||||
size_t psize = param_size(param);
|
|
||||||
|
|
||||||
if (psize > 0) {
|
|
||||||
s->val.p = malloc(psize);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
s->val.p = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (s->val.p == nullptr) {
|
|
||||||
PX4_ERR("failed to allocate parameter storage");
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(s->val.p, val, param_size(param));
|
|
||||||
params_changed = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@@ -1199,22 +1164,6 @@ param_export(int fd, bool only_unsaved)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX: {
|
|
||||||
const void *value_ptr = param_get_value_ptr(s->param);
|
|
||||||
|
|
||||||
/* lock as short as possible */
|
|
||||||
if (bson_encoder_append_binary(&encoder,
|
|
||||||
name,
|
|
||||||
BSON_BIN_BINARY,
|
|
||||||
size,
|
|
||||||
value_ptr)) {
|
|
||||||
|
|
||||||
PX4_ERR("BSON append failed for '%s'", name);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
PX4_ERR("unrecognized parameter type");
|
PX4_ERR("unrecognized parameter type");
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -638,10 +638,6 @@ do_show_print(void *arg, param_t param)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
|
|
||||||
PARAM_PRINT("<struct type %d size %zu>\n", 0 + param_type(param), param_size(param));
|
|
||||||
return;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
PARAM_PRINT("<unknown type %d>\n", 0 + param_type(param));
|
PARAM_PRINT("<unknown type %d>\n", 0 + param_type(param));
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user