From 5aabfd4dc46b466405af423456b40a16d04a204f Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 2 Dec 2014 15:49:50 +1100 Subject: [PATCH] AP_HAL: added RCInput example sketch --- libraries/AP_HAL/examples/RCInput/Makefile | 1 + libraries/AP_HAL/examples/RCInput/RCInput.pde | 74 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 libraries/AP_HAL/examples/RCInput/Makefile create mode 100644 libraries/AP_HAL/examples/RCInput/RCInput.pde diff --git a/libraries/AP_HAL/examples/RCInput/Makefile b/libraries/AP_HAL/examples/RCInput/Makefile new file mode 100644 index 0000000000..f5daf25151 --- /dev/null +++ b/libraries/AP_HAL/examples/RCInput/Makefile @@ -0,0 +1 @@ +include ../../../../mk/apm.mk diff --git a/libraries/AP_HAL/examples/RCInput/RCInput.pde b/libraries/AP_HAL/examples/RCInput/RCInput.pde new file mode 100644 index 0000000000..929b719bd6 --- /dev/null +++ b/libraries/AP_HAL/examples/RCInput/RCInput.pde @@ -0,0 +1,74 @@ +/* + simple test of RC input interface + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +const AP_HAL::HAL& hal = AP_HAL_BOARD_DRIVER; + +#define MAX_CHANNELS 16 + +static uint8_t max_channels = 0; +static uint16_t last_value[MAX_CHANNELS]; + +void setup(void) +{ + hal.console->printf("Starting RCInput test\n"); +} + +void loop(void) +{ + bool changed = false; + uint8_t nchannels = hal.rcin->num_channels(); + if (nchannels > MAX_CHANNELS) { + nchannels = MAX_CHANNELS; + } + for (uint8_t i=0; iread(i); + if (last_value[i] != v) { + changed = true; + last_value[i] = v; + } + if (i > max_channels) { + max_channels = i; + } + } + if (changed) { + for (uint8_t i=0; iprintf("%2u:%04u ", (unsigned)i+1, (unsigned)last_value[i]); + } + hal.console->println(); + } + hal.scheduler->delay(100); +} + +AP_HAL_MAIN();