From eade2915c1184c310ad7f3026f3b9ea72fdd5bc3 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 13 Nov 2021 14:26:36 -0500 Subject: [PATCH] cleanup old parameter translation --- src/drivers/drv_sensor.h | 12 +- src/lib/parameters/param_translation.cpp | 167 ++--------------------- src/lib/parameters/param_translation.h | 1 - 3 files changed, 15 insertions(+), 165 deletions(-) diff --git a/src/drivers/drv_sensor.h b/src/drivers/drv_sensor.h index 4627a39915..c136a44c88 100644 --- a/src/drivers/drv_sensor.h +++ b/src/drivers/drv_sensor.h @@ -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 diff --git a/src/lib/parameters/param_translation.cpp b/src/lib/parameters/param_translation.cpp index 1744082ced..6295ddf55b 100644 --- a/src/lib/parameters/param_translation.cpp +++ b/src/lib/parameters/param_translation.cpp @@ -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); - } -} diff --git a/src/lib/parameters/param_translation.h b/src/lib/parameters/param_translation.h index 2da4aa1dad..1d001ce09e 100644 --- a/src/lib/parameters/param_translation.h +++ b/src/lib/parameters/param_translation.h @@ -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);