/* * keys.h * * Created on: Mar 7, 2022 * Author: Brian.Bailey */ #ifndef KEYS_H_ #define KEYS_H_ #include #include #define KEY_NUM 6 //number of keys /* Key event_bits structure * bits 0 - 5 are KEY0 - 5 short presses * bits 6 - 11 are KEY0 - 5 long presses * KEY_SHORT_PRESS is 0 and KEY_LONG_PRESS is 6 * Accessing key data: * KEY3 short press would be KEY3 or (KEY3 << SHORT_PRESS) * KEY4 long press bit would be (KEY4 << KEY_LONG_PRESS) */ #define KEY0 (1 << 0) #define KEY1 (1 << 1) #define KEY2 (1 << 2) #define KEY3 (1 << 3) #define KEY4 (1 << 4) #define KEY5 (1 << 5) #define KEY_SHORT_PRESS 0 #define KEY_LONG_PRESS 6 #define KEY_ALL 0xfff //All short and long keypresses #define KEY_TIMER_PERIOD_MS 10 //pdMS_TO_TICKS(25) //25mS //Key Press Parameters #define KEY_SHORT_PRESS_MIN_TICKS 5 //50mS #define KEY_SHORT_PRESS_MAX_TICKS 49 //490mS #define KEY_LONG_PRESS_TICKS 50 //500mS //Key Aliases //Short Press Functions #define KEY_VOLUME KEY0 //Change Volume #define KEY_MODE KEY1 //Change Mode //Cancel / Back in menu #define KEY_UP KEY2 //Increase Gain //Up in menu #define KEY_DOWN KEY3 //Decrease Gain //Down in menu #define KEY_FREQ KEY4 //Change Frequency //Enter / Select in menu #define KEY_MENU KEY5 //Menu #if 1//Long Press Functions #define KEY_POWER (KEY0 << KEY_LONG_PRESS) //Power ON/OFF #endif //Menu Press Functions #define KEY_HOME KEY0 #define KEY_BACK KEY1 //Cancel / Back in menu #define KEY_UP KEY2 //Up in menu #define KEY_DOWN KEY3 //Down in menu #define KEY_SEL KEY4 //Enter / Select in menu #define KEY_ENTER KEY4 //Enter / Select in menu //Keith Translations #define ON_OFF_KEY KEY0 #define FRQ_KEY KEY4 #define PWR_UP_KEY KEY2 #define PWR_DN_KEY KEY3 #define MODE_KEY KEY1 #define MENU_KEY KEY5 void KEY_Init(void); void KEY_ClearAll(void); void KEY_ClearKeyPresses(void); uint32_t KEY_WaitForKeyPress(uint32_t keyMask); bool KEY_IsKeyPressed(uint32_t keyMask); uint32_t KEY_GetPressed(void); uint8_t KEY_GetModeKeyHeld(void); uint8_t KEY_GetUpKeyHeld(void); uint8_t KEY_GetDownKeyHeld(void); uint8_t KEY_GetFrequencyKeyHeld(void); uint8_t KEY_GetPowerKeyHeld(void); void KEY_Locate(void); void KEY_Update(void); #endif /* KEYS_H_ */