0,0 → 1,43 |
|
/************************************************************************/ |
/* */ |
/* Debouncing 8 Keys */ |
/* Sampling 4 Times */ |
/* With Repeat Function */ |
/* */ |
/* Author: Peter Dannegger */ |
/* danni@specs.de */ |
/* */ |
/* Ergänzt: gebad, beschschleunigende Tastenwiederholung */ |
/* */ |
/************************************************************************/ |
|
#ifndef KEYS_H_ |
#define KEYS_H_ |
|
#define REPEAT_START 50 // after 500ms |
#define REPEAT_NEXT 20 // every 200ms |
#define REPEAT_ACC_N 6 // wenn V_REPEAT, nach dem angegebenen Zeichen beschleunigen |
|
volatile uint8_t key_state; // debounced and inverted key state: |
// bit = 1: key pressed |
volatile uint8_t key_press; // key press detect |
volatile uint8_t key_rpt; // key long press and repeat |
volatile uint8_t key_repeat_next; |
volatile uint8_t key_counter; |
|
volatile uint8_t task_timer0_1; |
volatile uint8_t task_timer0_2; |
volatile uint8_t task_timer0_3; |
volatile uint8_t task_timer0_4; |
volatile uint8_t task_timer0_5; |
|
uint8_t Get_Key_Press( uint8_t key_mask ); |
uint8_t Get_Key_Rpt( uint8_t key_mask ); |
uint8_t Get_Key_Short( uint8_t key_mask ); |
uint8_t Get_Key_Long( uint8_t key_mask ); |
void Key_Speedup_rpt( uint8_t speedup ); |
|
volatile uint16_t light_count; // muss bei jeden Tastendruck auf 0 gesetzt werdwn |
|
#endif /* KEYS_H_ */ |