mavlink: parameters manually mark active minimal QGC set on first send

This commit is contained in:
Daniel Agar 2020-12-27 13:54:03 -05:00 committed by GitHub
parent 4b0d8efbc1
commit 409ea2ac02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 28 deletions

View File

@ -284,6 +284,38 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg)
void
MavlinkParametersManager::send()
{
if (!_first_send) {
// parameters QGC can't tolerate not finding (2020-11-11)
param_find("BAT_A_PER_V");
param_find("BAT_CRIT_THR");
param_find("BAT_EMERGEN_THR");
param_find("BAT_LOW_THR");
param_find("BAT_N_CELLS");
param_find("BAT_V_CHARGED");
param_find("BAT_V_DIV");
param_find("BAT_V_EMPTY");
param_find("CAL_ACC0_ID");
param_find("CAL_GYRO0_ID");
param_find("CAL_MAG0_ID");
param_find("CAL_MAG0_ROT");
param_find("CAL_MAG1_ID");
param_find("CAL_MAG1_ROT");
param_find("CAL_MAG2_ID");
param_find("CAL_MAG2_ROT");
param_find("CAL_MAG3_ID");
param_find("CAL_MAG3_ROT");
param_find("SENS_BOARD_ROT");
param_find("SENS_BOARD_X_OFF");
param_find("SENS_BOARD_Y_OFF");
param_find("SENS_BOARD_Z_OFF");
param_find("SENS_DPRES_OFF");
param_find("SYS_PARAM_VER");
param_find("TRIG_MODE");
param_find("UAVCAN_ENABLE");
_first_send = true;
}
int max_num_to_send;
if (_mavlink->get_protocol() == Protocol::SERIAL && !_mavlink->is_usb_uart()) {

View File

@ -152,4 +152,6 @@ protected:
int _param_update_index{0};
Mavlink *_mavlink;
bool _first_send{false};
};

View File

@ -235,23 +235,7 @@ Sensors::Sensors(bool hil_enabled) :
_parameter_handles.air_tube_length = param_find("CAL_AIR_TUBELEN");
_parameter_handles.air_tube_diameter_mm = param_find("CAL_AIR_TUBED_MM");
param_find("BAT_V_DIV");
param_find("BAT_A_PER_V");
param_find("CAL_ACC0_ID");
param_find("CAL_GYRO0_ID");
param_find("SENS_BOARD_ROT");
param_find("SENS_BOARD_X_OFF");
param_find("SENS_BOARD_Y_OFF");
param_find("SENS_BOARD_Z_OFF");
param_find("SYS_FAC_CAL_MODE");
param_find("SYS_PARAM_VER");
param_find("SYS_AUTOSTART");
param_find("SYS_AUTOCONFIG");
param_find("TRIG_MODE");
param_find("UAVCAN_ENABLE");
// Parameters controlling the on-board sensor thermal calibrator
param_find("SYS_CAL_TDEL");

View File

@ -48,18 +48,6 @@ VehicleMagnetometer::VehicleMagnetometer() :
ModuleParams(nullptr),
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::nav_and_controllers)
{
char str[20] {};
for (int mag_index = 0; mag_index < MAX_SENSOR_COUNT; mag_index++) {
// CAL_MAGx_ID
sprintf(str, "CAL_%s%u_ID", "MAG", mag_index);
param_find(str);
// CAL_MAGx_ROT
sprintf(str, "CAL_%s%u_ROT", "MAG", mag_index);
param_find(str);
}
param_find("CAL_MAG_SIDES");
param_find("CAL_MAG_ROT_AUTO");