diff options
author | Julian Oes <julian@oes.ch> | 2013-06-18 10:00:08 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2013-06-18 10:00:42 +0200 |
commit | b5f4f1ee808c176c5dc0705b76584b438f151650 (patch) | |
tree | c2e22e5940caec1873e5760bc6ad220b7dfcac4a /src/modules/px4iofirmware/registers.c | |
parent | cc452834c0dabd2689f5f102ce1cbbe714f056dd (diff) | |
download | px4-firmware-b5f4f1ee808c176c5dc0705b76584b438f151650.tar.gz px4-firmware-b5f4f1ee808c176c5dc0705b76584b438f151650.tar.bz2 px4-firmware-b5f4f1ee808c176c5dc0705b76584b438f151650.zip |
Adressed performance concern and fixed a copy paste bug
Diffstat (limited to 'src/modules/px4iofirmware/registers.c')
-rw-r--r-- | src/modules/px4iofirmware/registers.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/modules/px4iofirmware/registers.c b/src/modules/px4iofirmware/registers.c index 1fcfb2906..bc1c83901 100644 --- a/src/modules/px4iofirmware/registers.c +++ b/src/modules/px4iofirmware/registers.c @@ -268,7 +268,11 @@ registers_set(uint8_t page, uint8_t offset, const uint16_t *values, unsigned num /* copy channel data */ while ((offset < IO_SERVO_COUNT) && (num_values > 0)) { - if (*values > 1200) + if (*values == 0) + /* set to default */ + r_page_servo_control_min[offset] = 900; + + else if (*values > 1200) r_page_servo_control_min[offset] = 1200; else if (*values < 900) r_page_servo_control_min[offset] = 900; @@ -286,10 +290,14 @@ registers_set(uint8_t page, uint8_t offset, const uint16_t *values, unsigned num /* copy channel data */ while ((offset < IO_SERVO_COUNT) && (num_values > 0)) { - if (*values > 1200) - r_page_servo_control_max[offset] = 1200; - else if (*values < 900) - r_page_servo_control_max[offset] = 900; + if (*values == 0) + /* set to default */ + r_page_servo_control_max[offset] = 2100; + + else if (*values > 2100) + r_page_servo_control_max[offset] = 2100; + else if (*values < 1800) + r_page_servo_control_max[offset] = 1800; else r_page_servo_control_max[offset] = *values; |