forked from Archive/PX4-Autopilot
cleanup old parameter translation
This commit is contained in:
parent
91c48606ee
commit
eade2915c1
|
@ -51,7 +51,7 @@
|
|||
*/
|
||||
|
||||
#define DRV_MAG_DEVTYPE_HMC5883 0x01
|
||||
#define DRV_MAG_DEVTYPE_LSM303D_LEGACY 0x02
|
||||
|
||||
#define DRV_MAG_DEVTYPE_MAGSIM 0x03
|
||||
#define DRV_MAG_DEVTYPE_AK8963 0x04
|
||||
#define DRV_MAG_DEVTYPE_LIS3MDL 0x05
|
||||
|
@ -66,9 +66,7 @@
|
|||
|
||||
#define DRV_IMU_DEVTYPE_LSM303D 0x11
|
||||
|
||||
#define DRV_ACC_DEVTYPE_MPU6000_LEGACY 0x13
|
||||
#define DRV_IMU_DEVTYPE_SIM 0x14
|
||||
#define DRV_ACC_DEVTYPE_MPU9250_LEGACY 0x16
|
||||
|
||||
#define DRV_IMU_DEVTYPE_MPU6000 0x21
|
||||
#define DRV_GYR_DEVTYPE_L3GD20 0x22
|
||||
|
@ -83,14 +81,14 @@
|
|||
#define DRV_RNG_DEVTYPE_MB12XX 0x31
|
||||
#define DRV_RNG_DEVTYPE_LL40LS 0x32
|
||||
#define DRV_ACC_DEVTYPE_MPU6050 0x33
|
||||
#define DRV_ACC_DEVTYPE_MPU6500_LEGACY 0x34
|
||||
|
||||
#define DRV_GYR_DEVTYPE_MPU6050 0x35
|
||||
#define DRV_IMU_DEVTYPE_MPU6500 0x36
|
||||
#define DRV_ACC_DEVTYPE_ICM20602_LEGACY 0x37
|
||||
|
||||
#define DRV_IMU_DEVTYPE_ICM20602 0x38
|
||||
#define DRV_ACC_DEVTYPE_ICM20608_LEGACY 0x39
|
||||
|
||||
#define DRV_IMU_DEVTYPE_ICM20608G 0x3A
|
||||
#define DRV_ACC_DEVTYPE_ICM20689_LEGACY 0x3B
|
||||
|
||||
#define DRV_IMU_DEVTYPE_ICM20689 0x3C
|
||||
#define DRV_BARO_DEVTYPE_MS5611 0x3D
|
||||
#define DRV_BARO_DEVTYPE_MS5607 0x3E
|
||||
|
|
|
@ -73,25 +73,6 @@ bool param_modify_on_import(bson_node_t node)
|
|||
}
|
||||
}
|
||||
|
||||
// migrate MPC_*_VEL_* -> MPC_*_VEL_*_ACC (2020-04-27). This can be removed after the next release (current release=1.10)
|
||||
if (node->type == BSON_DOUBLE) {
|
||||
param_migrate_velocity_gain(node, "MPC_XY_VEL_P");
|
||||
param_migrate_velocity_gain(node, "MPC_XY_VEL_I");
|
||||
param_migrate_velocity_gain(node, "MPC_XY_VEL_D");
|
||||
param_migrate_velocity_gain(node, "MPC_Z_VEL_P");
|
||||
param_migrate_velocity_gain(node, "MPC_Z_VEL_I");
|
||||
param_migrate_velocity_gain(node, "MPC_Z_VEL_D");
|
||||
}
|
||||
|
||||
// migrate MC_DTERM_CUTOFF -> IMU_DGYRO_CUTOFF (2020-03-12). This can be removed after the next release (current release=1.10)
|
||||
if (node->type == BSON_DOUBLE) {
|
||||
if (strcmp("MC_DTERM_CUTOFF", node->name) == 0) {
|
||||
strcpy(node->name, "IMU_DGYRO_CUTOFF");
|
||||
PX4_INFO("param migrating MC_DTERM_CUTOFF (removed) -> IMU_DGYRO_CUTOFF: value=%.3f", node->d);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 2021-08-27: translate LED_RGB_MAXBRT (0-15) to SYS_RGB_MAXBRT(0.f-1.f)
|
||||
if (node->type == BSON_INT32) {
|
||||
if (strcmp("LED_RGB_MAXBRT", node->name) == 0) {
|
||||
|
@ -104,54 +85,18 @@ bool param_modify_on_import(bson_node_t node)
|
|||
}
|
||||
}
|
||||
|
||||
// 2020-06-29 (v1.11 beta): translate CAL_ACCx_EN/CAL_GYROx_EN/CAL_MAGx_EN -> CAL_ACCx_PRIO/CAL_GYROx_PRIO/CAL_MAGx_PRIO
|
||||
if (node->type == BSON_INT32) {
|
||||
|
||||
const char *cal_sensor_en_params[] = {
|
||||
"CAL_ACC0_EN",
|
||||
"CAL_ACC1_EN",
|
||||
"CAL_ACC2_EN",
|
||||
"CAL_GYRO0_EN",
|
||||
"CAL_GYRO1_EN",
|
||||
"CAL_GYRO2_EN",
|
||||
"CAL_MAG0_EN",
|
||||
"CAL_MAG1_EN",
|
||||
"CAL_MAG2_EN",
|
||||
"CAL_MAG3_EN",
|
||||
};
|
||||
|
||||
for (int i = 0; i < sizeof(cal_sensor_en_params) / sizeof(cal_sensor_en_params[0]); ++i) {
|
||||
if (strcmp(cal_sensor_en_params[i], node->name) == 0) {
|
||||
|
||||
char new_parameter_name[17] {};
|
||||
strcpy(new_parameter_name, cal_sensor_en_params[i]);
|
||||
|
||||
char *str_replace = strstr(new_parameter_name, "_EN");
|
||||
|
||||
if (str_replace != nullptr) {
|
||||
strcpy(str_replace, "_PRIO");
|
||||
PX4_INFO("%s -> %s", cal_sensor_en_params[i], new_parameter_name);
|
||||
strcpy(node->name, new_parameter_name);
|
||||
}
|
||||
|
||||
// if sensor wasn't disabled, reset to -1 so that it can be set to an appropriate default
|
||||
if (node->i != 0) {
|
||||
node->i = -1; // special value to process later
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 2020-08-23 (v1.12 alpha): translate GPS blending parameters from EKF2 -> SENS
|
||||
{
|
||||
if (strcmp("EKF2_GPS_MASK", node->name) == 0) {
|
||||
strcpy(node->name, "SENS_GPS_MASK");
|
||||
PX4_INFO("copying %s -> %s", "EKF2_GPS_MASK", "SENS_GPS_MASK");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (strcmp("EKF2_GPS_TAU", node->name) == 0) {
|
||||
strcpy(node->name, "SENS_GPS_TAU");
|
||||
PX4_INFO("copying %s -> %s", "EKF2_GPS_TAU", "SENS_GPS_TAU");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -160,21 +105,25 @@ bool param_modify_on_import(bson_node_t node)
|
|||
if (strcmp("PWM_MIN", node->name) == 0) {
|
||||
strcpy(node->name, "PWM_MAIN_MIN");
|
||||
PX4_INFO("copying %s -> %s", "PWM_MIN", "PWM_MAIN_MIN");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (strcmp("PWM_MAX", node->name) == 0) {
|
||||
strcpy(node->name, "PWM_MAIN_MAX");
|
||||
PX4_INFO("copying %s -> %s", "PWM_MAX", "PWM_MAIN_MAX");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (strcmp("PWM_RATE", node->name) == 0) {
|
||||
strcpy(node->name, "PWM_MAIN_RATE");
|
||||
PX4_INFO("copying %s -> %s", "PWM_RATE", "PWM_MAIN_RATE");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (strcmp("PWM_DISARMED", node->name) == 0) {
|
||||
strcpy(node->name, "PWM_MAIN_DISARM");
|
||||
PX4_INFO("copying %s -> %s", "PWM_DISARMED", "PWM_MAIN_DISARM");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,6 +132,7 @@ bool param_modify_on_import(bson_node_t node)
|
|||
if (strcmp("ASPD_STALL", node->name) == 0) {
|
||||
strcpy(node->name, "FW_AIRSPD_STALL");
|
||||
PX4_INFO("copying %s -> %s", "ASPD_STALL", "FW_AIRSPD_STALL");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -192,6 +142,7 @@ bool param_modify_on_import(bson_node_t node)
|
|||
strcpy(node->name, "VT_PITCH_MIN");
|
||||
node->d *= -1;
|
||||
PX4_INFO("copying and inverting sign %s -> %s", "VT_DWN_PITCH_MAX", "VT_PITCH_MIN");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,113 +151,15 @@ bool param_modify_on_import(bson_node_t node)
|
|||
if (strcmp("NAV_GPSF_LT", node->name) == 0) {
|
||||
strcpy(node->name, "FW_GPSF_LT");
|
||||
PX4_INFO("copying %s -> %s", "NAV_GPSF_LT", "FW_GPSF_LT");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (strcmp("NAV_GPSF_R", node->name) == 0) {
|
||||
strcpy(node->name, "FW_GPSF_R");
|
||||
PX4_INFO("copying and inverting sign %s -> %s", "NAV_GPSF_R", "FW_GPSF_R");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// translate (SPI) calibration ID parameters. This can be removed after the next release (current release=1.10)
|
||||
|
||||
if (node->type != BSON_INT32) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int64_t *ivalue = &node->i;
|
||||
const char *cal_id_params[] = {
|
||||
"CAL_ACC0_ID",
|
||||
"CAL_GYRO0_ID",
|
||||
"CAL_MAG0_ID",
|
||||
"TC_A0_ID",
|
||||
"TC_B0_ID",
|
||||
"TC_G0_ID",
|
||||
"CAL_ACC1_ID",
|
||||
"CAL_GYRO1_ID",
|
||||
"CAL_MAG1_ID",
|
||||
"TC_A1_ID",
|
||||
"TC_B1_ID",
|
||||
"TC_G1_ID",
|
||||
"CAL_ACC2_ID",
|
||||
"CAL_GYRO2_ID",
|
||||
"CAL_MAG2_ID",
|
||||
"TC_A2_ID",
|
||||
"TC_B2_ID",
|
||||
"TC_G2_ID"
|
||||
};
|
||||
bool found = false;
|
||||
|
||||
for (int i = 0; i < sizeof(cal_id_params) / sizeof(cal_id_params[0]); ++i) {
|
||||
if (strcmp(cal_id_params[i], node->name) == 0) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
device::Device::DeviceId device_id;
|
||||
device_id.devid = (uint32_t) * ivalue;
|
||||
|
||||
// SPI board config translation
|
||||
#ifdef __PX4_NUTTX // only on NuttX the address is 0
|
||||
|
||||
if (device_id.devid_s.bus_type == device::Device::DeviceBusType_SPI) {
|
||||
device_id.devid_s.address = 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// deprecated ACC -> IMU translations
|
||||
if (device_id.devid_s.devtype == DRV_ACC_DEVTYPE_MPU6000_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_MPU6000;
|
||||
}
|
||||
|
||||
if (device_id.devid_s.devtype == DRV_ACC_DEVTYPE_MPU6500_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_MPU6500;
|
||||
}
|
||||
|
||||
if (device_id.devid_s.devtype == DRV_ACC_DEVTYPE_MPU9250_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_MPU9250;
|
||||
}
|
||||
|
||||
if (device_id.devid_s.devtype == DRV_ACC_DEVTYPE_ICM20602_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_ICM20602;
|
||||
}
|
||||
|
||||
if (device_id.devid_s.devtype == DRV_ACC_DEVTYPE_ICM20608_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_ICM20608G;
|
||||
}
|
||||
|
||||
if (device_id.devid_s.devtype == DRV_ACC_DEVTYPE_ICM20689_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_ICM20689;
|
||||
}
|
||||
|
||||
if (device_id.devid_s.devtype == DRV_MAG_DEVTYPE_LSM303D_LEGACY) {
|
||||
device_id.devid_s.devtype = DRV_IMU_DEVTYPE_LSM303D;
|
||||
}
|
||||
|
||||
int32_t new_value = (int32_t)device_id.devid;
|
||||
|
||||
if (new_value != *ivalue) {
|
||||
PX4_INFO("param modify: %s, value=0x%" PRId32 " (old=0x%" PRId32 ")", node->name, new_value, (int32_t)*ivalue);
|
||||
*ivalue = new_value;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void param_migrate_velocity_gain(bson_node_t node, const char *parameter_name)
|
||||
{
|
||||
if (strcmp(parameter_name, node->name) == 0) {
|
||||
strcat(node->name, "_ACC");
|
||||
node->d *= 20.0;
|
||||
PX4_INFO("migrating %s (removed) -> %s: new value=%.3f", parameter_name, node->name, node->d);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,4 +36,3 @@
|
|||
#include "tinybson/tinybson.h"
|
||||
|
||||
__EXPORT bool param_modify_on_import(bson_node_t node);
|
||||
__EXPORT void param_migrate_velocity_gain(bson_node_t node, const char *parameter_name);
|
||||
|
|
Loading…
Reference in New Issue