Browse Source

parameters: delete unused PARAM_TYPE_STRUCT

sbg
Daniel Agar 5 years ago
parent
commit
0e64baa93b
  1. 13
      src/lib/parameters/flashparams/flashparams.cpp
  2. 35
      src/lib/parameters/param.h
  3. 53
      src/lib/parameters/parameters.cpp
  4. 53
      src/lib/parameters/parameters_shmem.cpp
  5. 4
      src/systemcmds/param/param.cpp

13
src/lib/parameters/flashparams/flashparams.cpp

@ -110,7 +110,6 @@ param_export_internal(bool only_unsaved) @@ -110,7 +110,6 @@ param_export_internal(bool only_unsaved)
/* append the appropriate BSON type object */
switch (param_type(s->param)) {
case PARAM_TYPE_INT32:
i = s->val.i;
@ -131,18 +130,6 @@ param_export_internal(bool only_unsaved) @@ -131,18 +130,6 @@ param_export_internal(bool only_unsaved)
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:
debug("unrecognized parameter type");
goto out;

35
src/lib/parameters/param.h

@ -57,16 +57,12 @@ __BEGIN_DECLS @@ -57,16 +57,12 @@ __BEGIN_DECLS
/**
* Parameter types.
*/
#define PARAM_TYPE_INT32 0
#define PARAM_TYPE_FLOAT 1
#define PARAM_TYPE_STRUCT 100
#define PARAM_TYPE_STRUCT_MAX (16384 + PARAM_TYPE_STRUCT)
#define PARAM_TYPE_UNKNOWN (0xffff)
#define PARAM_TYPE_UNKNOWN 0
#define PARAM_TYPE_INT32 1
#define PARAM_TYPE_FLOAT 2
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.
*
@ -86,29 +82,6 @@ typedef uint16_t param_t; @@ -86,29 +82,6 @@ typedef uint16_t param_t;
*/
#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.

53
src/lib/parameters/parameters.cpp

@ -515,17 +515,11 @@ size_t @@ -515,17 +515,11 @@ size_t
param_size(param_t param)
{
if (handle_in_range(param)) {
switch (param_type(param)) {
case PARAM_TYPE_INT32:
case PARAM_TYPE_FLOAT:
return 4;
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
/* decode structure size from type value */
return param_type(param) - PARAM_TYPE_STRUCT;
default:
return 0;
}
@ -562,14 +556,7 @@ param_get_value_ptr(param_t param) @@ -562,14 +556,7 @@ param_get_value_ptr(param_t param)
v = &param_info_base[param].val;
}
if (param_type(param) >= PARAM_TYPE_STRUCT &&
param_type(param) <= PARAM_TYPE_STRUCT_MAX) {
result = v->p;
} else {
result = v;
}
result = v;
}
return result;
@ -718,7 +705,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_ @@ -718,7 +705,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
/* update the changed value */
switch (param_type(param)) {
case PARAM_TYPE_INT32:
params_changed = params_changed || 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_ @@ -729,27 +715,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
s->val.f = *(float *)val;
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:
goto out;
}
@ -1121,22 +1086,6 @@ param_export(int fd, bool only_unsaved) @@ -1121,22 +1086,6 @@ param_export(int fd, bool only_unsaved)
}
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:
PX4_ERR("unrecognized parameter type");
goto out;

53
src/lib/parameters/parameters_shmem.cpp

@ -541,17 +541,11 @@ size_t @@ -541,17 +541,11 @@ size_t
param_size(param_t param)
{
if (handle_in_range(param)) {
switch (param_type(param)) {
case PARAM_TYPE_INT32:
case PARAM_TYPE_FLOAT:
return 4;
case PARAM_TYPE_STRUCT ... PARAM_TYPE_STRUCT_MAX:
/* decode structure size from type value */
return param_type(param) - PARAM_TYPE_STRUCT;
default:
return 0;
}
@ -588,14 +582,7 @@ param_get_value_ptr(param_t param) @@ -588,14 +582,7 @@ param_get_value_ptr(param_t param)
v = &param_info_base[param].val;
}
if (param_type(param) >= PARAM_TYPE_STRUCT &&
param_type(param) <= PARAM_TYPE_STRUCT_MAX) {
result = v->p;
} else {
result = v;
}
result = v;
}
return result;
@ -761,7 +748,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_ @@ -761,7 +748,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
/* update the changed value */
switch (param_type(param)) {
case PARAM_TYPE_INT32:
params_changed = params_changed || 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_ @@ -772,27 +758,6 @@ param_set_internal(param_t param, const void *val, bool mark_saved, bool notify_
s->val.f = *(float *)val;
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:
goto out;
}
@ -1199,22 +1164,6 @@ param_export(int fd, bool only_unsaved) @@ -1199,22 +1164,6 @@ param_export(int fd, bool only_unsaved)
}
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:
PX4_ERR("unrecognized parameter type");
goto out;

4
src/systemcmds/param/param.cpp

@ -638,10 +638,6 @@ do_show_print(void *arg, param_t param) @@ -638,10 +638,6 @@ do_show_print(void *arg, param_t param)
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:
PARAM_PRINT("<unknown type %d>\n", 0 + param_type(param));
return;

Loading…
Cancel
Save