aboutsummaryrefslogtreecommitdiff
path: root/apps/drivers/px4fmu/fmu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'apps/drivers/px4fmu/fmu.cpp')
-rw-r--r--apps/drivers/px4fmu/fmu.cpp71
1 files changed, 8 insertions, 63 deletions
diff --git a/apps/drivers/px4fmu/fmu.cpp b/apps/drivers/px4fmu/fmu.cpp
index dc9e431e4..ae888323d 100644
--- a/apps/drivers/px4fmu/fmu.cpp
+++ b/apps/drivers/px4fmu/fmu.cpp
@@ -74,7 +74,6 @@ public:
enum Mode {
MODE_2PWM,
MODE_4PWM,
- MODE_HIL_8PWM,
MODE_NONE
};
PX4FMU();
@@ -270,12 +269,6 @@ PX4FMU::set_mode(Mode mode)
_update_rate = 50; /* default output rate */
break;
- case MODE_HIL_8PWM:
- debug("MODE_HIL_8PWM");
- /* do not actually start a pwm device */
- _update_rate = 50; /* default output rate */
- break;
-
case MODE_NONE:
debug("MODE_NONE");
/* disable servo outputs and set a very low update rate */
@@ -328,26 +321,7 @@ PX4FMU::task_main()
fds[1].fd = _t_armed;
fds[1].events = POLLIN;
- unsigned num_outputs;
-
- /* select the number of (real or virtual) outputs */
- switch (_mode) {
- case MODE_2PWM:
- num_outputs = 2;
- break;
-
- case MODE_4PWM:
- num_outputs = 4;
- break;
-
- case MODE_HIL_8PWM:
- num_outputs = 8;
- break;
-
- case MODE_NONE:
- num_outputs = 0;
- break;
- }
+ unsigned num_outputs = (_mode == MODE_2PWM) ? 2 : 4;
log("starting");
@@ -360,11 +334,7 @@ PX4FMU::task_main()
if (update_rate_in_ms < 2)
update_rate_in_ms = 2;
orb_set_interval(_t_actuators, update_rate_in_ms);
-
- if (_mode != MODE_HIL_8PWM) {
- /* do not attempt to set servos in HIL mode */
- up_pwm_servo_set_rate(_update_rate);
- }
+ up_pwm_servo_set_rate(_update_rate);
_current_update_rate = _update_rate;
}
@@ -397,11 +367,7 @@ PX4FMU::task_main()
outputs.output[i] = 1500 + (600 * outputs.output[i]);
/* output to the servo */
- if (_mode != MODE_HIL_8PWM) {
- /* do not attempt to set servos in HIL mode */
- up_pwm_servo_set(i, outputs.output[i]);
- }
-
+ up_pwm_servo_set(i, outputs.output[i]);
}
/* and publish for anyone that cares to see */
@@ -417,14 +383,7 @@ PX4FMU::task_main()
orb_copy(ORB_ID(actuator_armed), _t_armed, &aa);
/* update PWM servo armed status */
-
- /*
- * armed = system wants to fly
- * locked = there is a low-level safety lock
- * in place, such as in hardware-in-the-loop
- * simulation setups.
- */
- up_pwm_servo_arm(aa.armed && !aa.lockdown);
+ up_pwm_servo_arm(aa.armed);
}
}
@@ -460,7 +419,7 @@ PX4FMU::ioctl(file *filp, int cmd, unsigned long arg)
{
int ret;
- // XXX disable debug output, users got confused
+ // XXX disabled, confusing users
//debug("ioctl 0x%04x 0x%08x", cmd, arg);
/* try it as a GPIO ioctl first */
@@ -474,11 +433,6 @@ PX4FMU::ioctl(file *filp, int cmd, unsigned long arg)
case MODE_4PWM:
ret = pwm_ioctl(filp, cmd, arg);
break;
- case MODE_HIL_8PWM:
- /* do nothing */
- debug("loading mixer for virtual HIL device");
- ret = 0;
- break;
default:
debug("not in a PWM mode");
break;
@@ -752,7 +706,6 @@ enum PortMode {
PORT_GPIO_AND_SERIAL,
PORT_PWM_AND_SERIAL,
PORT_PWM_AND_GPIO,
- PORT_HIL_PWM
};
PortMode g_port_mode;
@@ -801,11 +754,6 @@ fmu_new_mode(PortMode new_mode, int update_rate)
/* select 2-pin PWM mode */
servo_mode = PX4FMU::MODE_2PWM;
break;
-
- case PORT_HIL_PWM:
- /* virtual PWM mode */
- servo_mode = PX4FMU::MODE_HIL_8PWM;
- break;
}
/* adjust GPIO config for serial mode(s) */
@@ -935,14 +883,11 @@ fmu_main(int argc, char *argv[])
} else if (!strcmp(argv[i], "mode_pwm_gpio")) {
new_mode = PORT_PWM_AND_GPIO;
-
- } else if (!strcmp(argv[i], "mode_hil_pwm")) {
- new_mode = PORT_HIL_PWM;
}
/* look for the optional pwm update rate for the supported modes */
if (strcmp(argv[i], "-u") == 0 || strcmp(argv[i], "--update-rate") == 0) {
- if (new_mode == PORT_FULL_PWM || new_mode == PORT_PWM_AND_GPIO || PORT_HIL_PWM) {
+ if (new_mode == PORT_FULL_PWM || new_mode == PORT_PWM_AND_GPIO) {
if (argc > i + 1) {
pwm_update_rate_in_hz = atoi(argv[i + 1]);
} else {
@@ -968,7 +913,7 @@ fmu_main(int argc, char *argv[])
/* test, etc. here */
- fprintf(stderr, "FMU: unrecognized command, try:\n");
- fprintf(stderr, " mode_gpio, mode_serial, mode_pwm [-u pwm_update_rate_in_hz], mode_gpio_serial,\n mode_pwm_serial, mode_pwm_gpio, mode_hil_pwm\n");
+ fprintf(stderr, "FMU: unrecognised command, try:\n");
+ fprintf(stderr, " mode_gpio, mode_serial, mode_pwm [-u pwm_update_rate_in_hz], mode_gpio_serial, mode_pwm_serial, mode_pwm_gpio\n");
return -EINVAL;
}