From 8fcd42d1040708d9f4aa62b6ae218edf90ff8fe1 Mon Sep 17 00:00:00 2001 From: rishabsingh3003 Date: Sun, 21 Aug 2022 22:56:44 +0530 Subject: [PATCH] Copter: Convert PRX_ parameters to PRX1_ --- ArduCopter/Copter.h | 3 +++ ArduCopter/Parameters.cpp | 26 ++++++++++++++++++++++++++ ArduCopter/system.cpp | 5 +++++ 3 files changed, 34 insertions(+) diff --git a/ArduCopter/Copter.h b/ArduCopter/Copter.h index 7aa514ac69..230aa8f762 100644 --- a/ArduCopter/Copter.h +++ b/ArduCopter/Copter.h @@ -855,6 +855,9 @@ private: // Parameters.cpp void load_parameters(void) override; void convert_pid_parameters(void); +#if HAL_PROXIMITY_ENABLED + void convert_prx_parameters(); +#endif void convert_lgr_parameters(void); void convert_tradheli_parameters(void) const; void convert_fs_options_params(void) const; diff --git a/ArduCopter/Parameters.cpp b/ArduCopter/Parameters.cpp index 641d527c64..22a539f203 100644 --- a/ArduCopter/Parameters.cpp +++ b/ArduCopter/Parameters.cpp @@ -1514,6 +1514,32 @@ void Copter::convert_pid_parameters(void) SRV_Channels::upgrade_parameters(); } +#if HAL_PROXIMITY_ENABLED +void Copter::convert_prx_parameters() +{ + // convert PRX to PRX1_ parameters for Copter-4.3 + // PARAMETER_CONVERSION - Added: Aug-2022 + const AP_Param::ConversionInfo prx_conversion_info[] = { + { Parameters::k_param_g2, 72, AP_PARAM_INT8, "PRX1_TYPE" }, + { Parameters::k_param_g2, 136, AP_PARAM_INT8, "PRX1_ORIENT" }, + { Parameters::k_param_g2, 200, AP_PARAM_INT16, "PRX1_YAW_CORR" }, + { Parameters::k_param_g2, 264, AP_PARAM_INT16, "PRX1_IGN_ANG1" }, + { Parameters::k_param_g2, 328, AP_PARAM_INT8, "PRX1_IGN_WID1" }, + { Parameters::k_param_g2, 392, AP_PARAM_INT16, "PRX1_IGN_ANG2" }, + { Parameters::k_param_g2, 456, AP_PARAM_INT8, "PRX1_IGN_WID2" }, + { Parameters::k_param_g2, 520, AP_PARAM_INT16, "PRX1_IGN_ANG3" }, + { Parameters::k_param_g2, 584, AP_PARAM_INT8, "PRX1_IGN_WID3" }, + { Parameters::k_param_g2, 648, AP_PARAM_INT16, "PRX1_IGN_ANG4" }, + { Parameters::k_param_g2, 712, AP_PARAM_INT8, "PRX1_IGN_WID4" }, + { Parameters::k_param_g2, 1224, AP_PARAM_FLOAT, "PRX1_MIN" }, + { Parameters::k_param_g2, 1288, AP_PARAM_FLOAT, "PRX1_MAX" }, + }; + for (const auto &info : prx_conversion_info) { + AP_Param::convert_old_parameter(&info, 1.0); + } +} +#endif + #if LANDING_GEAR_ENABLED == ENABLED /* convert landing gear parameters diff --git a/ArduCopter/system.cpp b/ArduCopter/system.cpp index 0c0143a3a9..6bea6eae8d 100644 --- a/ArduCopter/system.cpp +++ b/ArduCopter/system.cpp @@ -521,6 +521,11 @@ void Copter::allocate_motors(void) convert_tradheli_parameters(); #endif +#if HAL_PROXIMITY_ENABLED + // convert PRX to PRX1_ parameters + convert_prx_parameters(); +#endif + // param count could have changed AP_Param::invalidate_count(); }