AirModeYaw - Change airmode type from bool to int

This commit is contained in:
bresch
2018-12-13 09:50:07 +01:00
committed by Beat Küng
parent b2fd8abf9e
commit 7cc00f41d2
12 changed files with 33 additions and 39 deletions
+4 -6
View File
@@ -116,7 +116,7 @@ static void subscribe();
static void task_main(int argc, char *argv[]);
static void update_params(bool &airmode);
static void update_params(int32_t &airmode);
/* mixer initialization */
int initialize_mixer(const char *mixer_filename);
@@ -135,15 +135,13 @@ int mixer_control_callback(uintptr_t handle,
}
void update_params(bool &airmode)
void update_params(int32_t &airmode)
{
// multicopter air-mode
param_t param_handle = param_find("MC_AIRMODE");
if (param_handle != PARAM_INVALID) {
int32_t val;
param_get(param_handle, &val);
airmode = val > 0;
param_get(param_handle, (int32_t *)&airmode);
}
}
@@ -257,7 +255,7 @@ void task_main(int argc, char *argv[])
// subscribe and set up polling
subscribe();
bool airmode = false;
int32_t airmode = false;
update_params(airmode);
int params_sub = orb_subscribe(ORB_ID(parameter_update));
+1 -3
View File
@@ -146,9 +146,7 @@ void PWMSim::update_params()
param_t param_handle = param_find("MC_AIRMODE");
if (param_handle != PARAM_INVALID) {
int32_t val;
param_get(param_handle, &val);
_airmode = val > 0;
param_get(param_handle, &_airmode);
}
}
+1 -1
View File
@@ -131,7 +131,7 @@ private:
actuator_controls_s _controls[actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] {};
orb_id_t _control_topics[actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] {};
bool _airmode{false}; ///< multicopter air-mode
int32_t _airmode{0}; ///< multicopter air-mode
perf_counter_t _perf_control_latency;
+4 -7
View File
@@ -237,7 +237,7 @@ private:
float _mot_t_max; ///< maximum rise time for motor (slew rate limiting)
float _thr_mdl_fac; ///< thrust to pwm modelling factor
bool _airmode; ///< multicopter air-mode
int32_t _airmode; ///< multicopter air-mode
MotorOrdering _motor_ordering;
perf_counter_t _perf_control_latency;
@@ -321,7 +321,7 @@ PX4FMU::PX4FMU(bool run_as_task) :
_to_mixer_status(nullptr),
_mot_t_max(0.0f),
_thr_mdl_fac(0.0f),
_airmode(false),
_airmode(0),
_motor_ordering(MotorOrdering::PX4),
_perf_control_latency(perf_alloc(PC_ELAPSED, "fmu control latency"))
{
@@ -1195,7 +1195,7 @@ PX4FMU::cycle()
}
}
/* overwrite outputs in case of lockdown with disarmed PWM values */
/* overwrite outputs in case of lockdown or parachute triggering with disarmed PWM values */
if (_armed.lockdown || _armed.manual_lockdown) {
for (size_t i = 0; i < mixed_num_outputs; i++) {
pwm_limited[i] = _disarmed_pwm[i];
@@ -1382,10 +1382,7 @@ void PX4FMU::update_params()
param_handle = param_find("MC_AIRMODE");
if (param_handle != PARAM_INVALID) {
int32_t val;
param_get(param_handle, &val);
_airmode = val > 0;
PX4_DEBUG("%s: %d", "MC_AIRMODE", _airmode);
param_get(param_handle, &_airmode);
}
// motor ordering
@@ -138,7 +138,7 @@ static void subscribe();
static void task_main(int argc, char *argv[]);
static void update_params(bool &airmode);
static void update_params(int32_t &airmode);
int initialize_mixer(const char *mixer_filename);
@@ -162,15 +162,13 @@ int mixer_control_callback(uintptr_t handle,
return 0;
}
void update_params(bool &airmode)
void update_params(int32_t &airmode)
{
// multicopter air-mode
param_t param_handle = param_find("MC_AIRMODE");
if (param_handle != PARAM_INVALID) {
int32_t val;
param_get(param_handle, &val);
airmode = val > 0;
param_get(param_handle, &airmode);
}
}
@@ -357,7 +355,7 @@ void task_main(int argc, char *argv[])
// subscribe and set up polling
subscribe();
bool airmode = false;
int32_t airmode = 0;
update_params(airmode);
int params_sub = orb_subscribe(ORB_ID(parameter_update));
+1 -3
View File
@@ -428,9 +428,7 @@ void UavcanNode::update_params()
param_t param_handle = param_find("MC_AIRMODE");
if (param_handle != PARAM_INVALID) {
int32_t val;
param_get(param_handle, &val);
_airmode = val > 0;
param_get(param_handle, &_airmode);
}
}
+1 -1
View File
@@ -210,7 +210,7 @@ private:
perf_counter_t _perf_control_latency;
bool _airmode = false;
int32_t _airmode = 0;
// index into _poll_fds for each _control_subs handle
uint8_t _poll_ids[NUM_ACTUATOR_CONTROL_GROUPS_UAVCAN];