#include /************************************************************************/ /* */ /* Debouncing 8 Keys */ /* Sampling 4 Times */ /* With Repeat Function */ /* */ /* Author: Peter Dannegger */ /* danni@specs.de */ /* */ /************************************************************************/ #include #include uint8_t get_key_press( uint8_t key_mask ); uint8_t get_key_rpt ( uint8_t key_mask ); uint8_t get_key_state( uint8_t key_mask ); uint8_t get_key_short( uint8_t key_mask ); uint8_t get_key_long ( uint8_t key_mask ); void init_entprell(void); #define KEY_DDR DDRC #define KEY_PORT PORTC #define KEY_PIN PINC #define H_ENCODER_TASTER 0 // Hand-Encoder Taster #define KEY1 1 #define H_ENCODER_SPUR_B 2 // Hand-Encoder Spur B #define KEY3 3 #define H_ENCODER_SPUR_A 4 // Hand-Encoder Spur A #define KEY5 5 #define KEY6 6 #define KEY7 7 #define ALL_KEYS 0xFF #define REPEAT_MASK ( 1<