aboutsummaryrefslogtreecommitdiff
path: root/apps/px4io/registers.c
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-03-07 19:47:43 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-03-07 19:47:43 +0100
commitebac51cad8e144b64938e6726e26bdc23aaf45e5 (patch)
tree918bbe5135e9d27754ad6bd6719a075cf58f0f71 /apps/px4io/registers.c
parent7013eb5e10c63f0d2be5b82d0fdeff31166f5000 (diff)
downloadpx4-firmware-ebac51cad8e144b64938e6726e26bdc23aaf45e5.tar.gz
px4-firmware-ebac51cad8e144b64938e6726e26bdc23aaf45e5.tar.bz2
px4-firmware-ebac51cad8e144b64938e6726e26bdc23aaf45e5.zip
Working on restart resilience, hunting down multi-load mixer issue (still present)
Diffstat (limited to 'apps/px4io/registers.c')
-rw-r--r--apps/px4io/registers.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/px4io/registers.c b/apps/px4io/registers.c
index d97fd8d86..511a47f8d 100644
--- a/apps/px4io/registers.c
+++ b/apps/px4io/registers.c
@@ -361,6 +361,13 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
break;
case PX4IO_PAGE_RC_CONFIG: {
+
+ /* do not allow a RC config change while fully armed */
+ if (/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_ARM_OK) &&
+ /* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED)) {
+ break;
+ }
+
unsigned channel = offset / PX4IO_P_RC_CONFIG_STRIDE;
unsigned index = offset - channel * PX4IO_P_RC_CONFIG_STRIDE;
uint16_t *conf = &r_page_rc_input_config[channel * PX4IO_P_RC_CONFIG_STRIDE];