Browse Source

param-reset: Add option to reset all configurable params, but not the ones that store vehicle information

v1.13.0-BW
Thomas Debrunner 3 years ago committed by Beat Küng
parent
commit
f6bdc42977
  1. 6
      src/modules/commander/Commander.cpp
  2. 14
      src/modules/commander/worker_thread.cpp
  3. 1
      src/modules/commander/worker_thread.hpp

6
src/modules/commander/Commander.cpp

@ -1535,11 +1535,15 @@ Commander::handle_command(const vehicle_command_s &cmd) @@ -1535,11 +1535,15 @@ Commander::handle_command(const vehicle_command_s &cmd)
} else if (((int)(cmd.param1)) == 2) {
answer_command(cmd, vehicle_command_s::VEHICLE_CMD_RESULT_ACCEPTED);
_worker_thread.startTask(WorkerThread::Request::ParamResetAll);
_worker_thread.startTask(WorkerThread::Request::ParamResetAllConfig);
} else if (((int)(cmd.param1)) == 3) {
answer_command(cmd, vehicle_command_s::VEHICLE_CMD_RESULT_ACCEPTED);
_worker_thread.startTask(WorkerThread::Request::ParamResetSensorFactory);
} else if (((int)(cmd.param1)) == 4) {
answer_command(cmd, vehicle_command_s::VEHICLE_CMD_RESULT_ACCEPTED);
_worker_thread.startTask(WorkerThread::Request::ParamResetAll);
}
}

14
src/modules/commander/worker_thread.cpp

@ -174,7 +174,7 @@ void WorkerThread::threadEntry() @@ -174,7 +174,7 @@ void WorkerThread::threadEntry()
_ret_value = 0;
break;
case Request::ParamResetSensorFactory:
case Request::ParamResetSensorFactory: {
const char *reset_cal[] = { "CAL_ACC*", "CAL_GYRO*", "CAL_MAG*" };
param_reset_specific(reset_cal, sizeof(reset_cal) / sizeof(reset_cal[0]));
_ret_value = param_save_default();
@ -184,6 +184,18 @@ void WorkerThread::threadEntry() @@ -184,6 +184,18 @@ void WorkerThread::threadEntry()
break;
}
case Request::ParamResetAllConfig: {
const char *exclude_list[] = {
"LND_FLIGHT_T_HI",
"LND_FLIGHT_T_LO",
"COM_FLIGHT_UUID"
};
param_reset_excludes(exclude_list, sizeof(exclude_list) / sizeof(exclude_list[0]));
_ret_value = 0;
break;
}
}
_state.store((int)State::Finished); // set this last to signal the main thread we're done
}

1
src/modules/commander/worker_thread.hpp

@ -64,6 +64,7 @@ public: @@ -64,6 +64,7 @@ public:
ParamSaveDefault,
ParamResetAll,
ParamResetSensorFactory,
ParamResetAllConfig
};
WorkerThread() = default;

Loading…
Cancel
Save