diff options
author | Andrew Tridgell <tridge@samba.org> | 2014-11-08 15:48:33 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2014-11-26 11:39:41 +1100 |
commit | c0b47d6a74197a0dc57c56efbd63803424a9835a (patch) | |
tree | c81db98554a3b09d49d6017551e81097e7392677 /src/modules/px4iofirmware | |
parent | 29f000dc31f6f18af0130b46d5e143e983549d19 (diff) | |
download | px4-firmware-c0b47d6a74197a0dc57c56efbd63803424a9835a.tar.gz px4-firmware-c0b47d6a74197a0dc57c56efbd63803424a9835a.tar.bz2 px4-firmware-c0b47d6a74197a0dc57c56efbd63803424a9835a.zip |
px4io: only check SAFETY_OFF for allowing RC config changes and reboot
If we check OUTPUTS_ARMED then we can't update trim values and scaling
in flight, as there is no way to clear OUTPUTS_ARMED.
If safety is on then it should be perfectly safe to update the mixer
and RC config or reboot for fw update
Diffstat (limited to 'src/modules/px4iofirmware')
-rw-r--r-- | src/modules/px4iofirmware/registers.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/modules/px4iofirmware/registers.c b/src/modules/px4iofirmware/registers.c index a1a02965f..f0c2cfd26 100644 --- a/src/modules/px4iofirmware/registers.c +++ b/src/modules/px4iofirmware/registers.c @@ -412,7 +412,6 @@ registers_set(uint8_t page, uint8_t offset, const uint16_t *values, unsigned num * text handling function. */ return mixer_handle_text(values, num_values * sizeof(*values)); - break; default: /* avoid offset wrap */ @@ -584,10 +583,7 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value) break; case PX4IO_P_SETUP_REBOOT_BL: - // do not reboot if FMU is armed and IO's safety is off - // this state defines an active system. - if ((r_status_flags & PX4IO_P_STATUS_FLAGS_SAFETY_OFF) && - (r_status_flags & PX4IO_P_SETUP_ARMING_FMU_ARMED)) { + if (r_status_flags & PX4IO_P_STATUS_FLAGS_SAFETY_OFF) { // don't allow reboot while armed break; } @@ -633,12 +629,9 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value) case PX4IO_PAGE_RC_CONFIG: { /** - * do not allow a RC config change while outputs armed - * = FMU is armed and IO's safety is off - * this state defines an active system. + * do not allow a RC config change while safety is off */ - if ((r_status_flags & PX4IO_P_STATUS_FLAGS_SAFETY_OFF) && - (r_status_flags & PX4IO_P_SETUP_ARMING_FMU_ARMED)) { + if (r_status_flags & PX4IO_P_STATUS_FLAGS_SAFETY_OFF) { break; } |