#include /************************************************************************/ /* */ /* Debouncing 8 Keys */ /* Sampling 4 Times */ /* With Repeat Function */ /* */ /* Author: Peter Dannegger */ /* danni@specs.de */ /* */ /************************************************************************/ #include #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 XTAL 16e6 // 16MHz #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_A ( 1<<2 ) // Hand-Encoder Spur B #define KEY3 3 #define H_ENCODER_SPUR_B ( 1<<4 ) // Hand-Encoder Spur A #define KEY5 5 #define KEY6 6 #define KEY7 7 #define ALL_KEYS 0xFF #define REPEAT_MASK ( 1<