Added the config.* files as used in the helights case
[cerebrum.git] / avr / input.c
blob05c67bebc7bb5cc4f5960a9c246a04f5b6a2033d
2 #include "input.h"
3 #ifdef HAS_INPUT_SUPPORT
5 void input_setup(void){
8 void input_loop(void){
9 input_scan_inputs();
10 for(int i=0; i<INPUT_COUNT; i++){
11 //A #define for the debounce time would be great
12 if(debounce_timeouts[i] == 0){
13 if(switch_states[i]&1 ^ switch_states[i]>>1){
14 uart_putc('c');
15 uart_puthex(i);
16 uart_puthex(switch_states[i]&1);
17 uart_putc('\n');
18 input_callback(i, switch_states[i]&1);
19 debounce_timeouts[i] = 0xF0;
20 switch_states[i] = (switch_states[i]<<1)&3;
22 switch_states[i] &= 0xFE;
23 }else{
24 debounce_timeouts[i]--;
29 uint8_t debounce_timeouts[INPUT_COUNT];
30 uint8_t switch_states[INPUT_COUNT];
32 #else//HAS_INPUT_SUPPORT
34 void input_setup(){}
35 void input_loop(){}
37 #endif//HAS_INPUT_SUPPORT