aboutsummaryrefslogtreecommitdiff
path: root/src/modules/px4iofirmware/registers.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2014-11-08 15:48:33 +1100
committerAndrew Tridgell <tridge@samba.org>2014-11-26 11:39:41 +1100
commitc0b47d6a74197a0dc57c56efbd63803424a9835a (patch)
treec81db98554a3b09d49d6017551e81097e7392677 /src/modules/px4iofirmware/registers.c
parent29f000dc31f6f18af0130b46d5e143e983549d19 (diff)
downloadpx4-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/registers.c')
-rw-r--r--src/modules/px4iofirmware/registers.c13
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;
}