aboutsummaryrefslogtreecommitdiff
path: root/src/modules/px4iofirmware/registers.c
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-08-21 15:19:19 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-08-21 15:19:19 +0200
commit309ea8146055528c22395fca06b7a70b660c22b3 (patch)
tree13478630a0543077da64db78ad59a972af1a5520 /src/modules/px4iofirmware/registers.c
parent5a8dc9c504f70b4ce1b45f91b3bdd9b7126ef0d3 (diff)
parentdb1229dca338890c4aef26e17ebc622e5ba61b59 (diff)
downloadpx4-firmware-309ea8146055528c22395fca06b7a70b660c22b3.tar.gz
px4-firmware-309ea8146055528c22395fca06b7a70b660c22b3.tar.bz2
px4-firmware-309ea8146055528c22395fca06b7a70b660c22b3.zip
Merged fmuv2_bringup
Diffstat (limited to 'src/modules/px4iofirmware/registers.c')
-rw-r--r--src/modules/px4iofirmware/registers.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/modules/px4iofirmware/registers.c b/src/modules/px4iofirmware/registers.c
index 3ff9307cd..655a0c7a8 100644
--- a/src/modules/px4iofirmware/registers.c
+++ b/src/modules/px4iofirmware/registers.c
@@ -158,9 +158,10 @@ volatile uint16_t r_page_setup[] =
#define PX4IO_P_SETUP_ARMING_VALID (PX4IO_P_SETUP_ARMING_FMU_ARMED | \
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK | \
PX4IO_P_SETUP_ARMING_INAIR_RESTART_OK | \
- PX4IO_P_SETUP_ARMING_IO_ARM_OK) | \
+ PX4IO_P_SETUP_ARMING_IO_ARM_OK | \
PX4IO_P_SETUP_ARMING_FAILSAFE_CUSTOM | \
- PX4IO_P_SETUP_ARMING_ALWAYS_PWM_ENABLE
+ PX4IO_P_SETUP_ARMING_ALWAYS_PWM_ENABLE | \
+ PX4IO_P_SETUP_ARMING_RC_HANDLING_DISABLED)
#define PX4IO_P_SETUP_RATES_VALID ((1 << PX4IO_SERVO_COUNT) - 1)
#define PX4IO_P_SETUP_RELAYS_VALID ((1 << PX4IO_RELAY_CHANNELS) - 1)
@@ -432,6 +433,10 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
// r_status_flags &= ~PX4IO_P_STATUS_FLAGS_ARMED;
// }
+ if (value & PX4IO_P_SETUP_ARMING_RC_HANDLING_DISABLED) {
+ r_status_flags |= PX4IO_P_STATUS_FLAGS_INIT_OK;
+ }
+
r_setup_arming = value;
break;
@@ -523,6 +528,9 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
value &= PX4IO_P_RC_CONFIG_OPTIONS_VALID;
r_status_flags |= PX4IO_P_STATUS_FLAGS_INIT_OK;
+ /* clear any existing RC disabled flag */
+ r_setup_arming &= ~(PX4IO_P_SETUP_ARMING_RC_HANDLING_DISABLED);
+
/* set all options except the enabled option */
conf[index] = value & ~PX4IO_P_RC_CONFIG_OPTIONS_ENABLED;