aboutsummaryrefslogtreecommitdiff
path: root/src/modules/px4iofirmware/registers.c
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-07-04 23:17:55 -0700
committerpx4dev <px4@purgatory.org>2013-07-04 23:17:55 -0700
commit43210413a98dfe32302cd99c86847729100133fa (patch)
tree3872041bcfba79704c656e4ad9d9192c25a4c739 /src/modules/px4iofirmware/registers.c
parent52096f017f170ac873b782bc4ac260851ad01d89 (diff)
downloadpx4-firmware-43210413a98dfe32302cd99c86847729100133fa.tar.gz
px4-firmware-43210413a98dfe32302cd99c86847729100133fa.tar.bz2
px4-firmware-43210413a98dfe32302cd99c86847729100133fa.zip
More test work on the px4io side of the serial interface.
Diffstat (limited to 'src/modules/px4iofirmware/registers.c')
-rw-r--r--src/modules/px4iofirmware/registers.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/modules/px4iofirmware/registers.c b/src/modules/px4iofirmware/registers.c
index 42554456c..b977375f4 100644
--- a/src/modules/px4iofirmware/registers.c
+++ b/src/modules/px4iofirmware/registers.c
@@ -185,7 +185,7 @@ uint16_t r_page_rc_input_config[MAX_CONTROL_CHANNELS * PX4IO_P_RC_CONFIG_STRIDE
*/
uint16_t r_page_servo_failsafe[IO_SERVO_COUNT] = { 0 };
-void
+int
registers_set(uint8_t page, uint8_t offset, const uint16_t *values, unsigned num_values)
{
@@ -261,11 +261,13 @@ registers_set(uint8_t page, uint8_t offset, const uint16_t *values, unsigned num
/* iterate individual registers, set each in turn */
while (num_values--) {
if (registers_set_one(page, offset, *values))
- break;
+ return -1;
offset++;
values++;
}
+ break;
}
+ return 0;
}
static int
@@ -451,6 +453,14 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
/* case PX4IO_RC_PAGE_CONFIG */
}
+ case PX4IO_PAGE_TEST:
+ switch (offset) {
+ case PX4IO_P_TEST_LED:
+ LED_AMBER(value & 1);
+ break;
+ }
+ break;
+
default:
return -1;
}