diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-10-25 15:08:17 +0200 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-10-25 15:08:17 +0200 |
commit | fa91766c740a238d17b9cd556b34c8ee054486cb (patch) | |
tree | 435bc4d959b2abeb08a6890153ea9efbe87d85cb /generic.c | |
parent | 4dfb70b68137b23747d321702ee5dc720287b73e (diff) | |
download | maverick-fa91766c740a238d17b9cd556b34c8ee054486cb.tar.gz maverick-fa91766c740a238d17b9cd556b34c8ee054486cb.tar.bz2 maverick-fa91766c740a238d17b9cd556b34c8ee054486cb.zip |
implement generic controller
Diffstat (limited to 'generic.c')
-rw-r--r-- | generic.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/generic.c b/generic.c new file mode 100644 index 0000000..8c32a97 --- /dev/null +++ b/generic.c @@ -0,0 +1,41 @@ +#include "controller.h" + +#define CHANNEL_THROTTLE 0 + +#define THROTTLE_MIN 12 +#define THROTTLE_MAX 255 + +void channel_reset(channel_t* channels) { + channels[0] = THROTTLE_MIN; + channels[1] = 127; + channels[2] = 127; + channels[3] = 127; + channels[4] = 127; +} +void event_axis(channel_t* channels, int axis, int value) { + channels[axis+1] = axis_to_channel(value); +} +void event_button(channel_t* channels, int button, bool value) { + if (value) { + switch(button) { + case 0: + channel_reset(channels); + break; + case 4: + channel_decrease(channels, CHANNEL_THROTTLE, 1, THROTTLE_MIN, THROTTLE_MAX); + break; + case 5: + channel_increase(channels, CHANNEL_THROTTLE, 1, THROTTLE_MIN, THROTTLE_MAX); + break; + case 6: + channel_decrease(channels, CHANNEL_THROTTLE, 10, THROTTLE_MIN, THROTTLE_MAX); + break; + case 7: + channel_increase(channels, CHANNEL_THROTTLE, 10, THROTTLE_MIN, THROTTLE_MAX); + break; + default: + break; + } + + } +}
\ No newline at end of file |