diff options
author | px4dev <px4@purgatory.org> | 2013-07-04 23:17:55 -0700 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2013-07-04 23:17:55 -0700 |
commit | 43210413a98dfe32302cd99c86847729100133fa (patch) | |
tree | 3872041bcfba79704c656e4ad9d9192c25a4c739 /src/modules/px4iofirmware/registers.c | |
parent | 52096f017f170ac873b782bc4ac260851ad01d89 (diff) | |
download | px4-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.c | 14 |
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; } |