#pragma once #define kp_NOP 0x0 #define kp_KEY_DOWN 0x1 #define kp_KEY_UP 0x2 #define kp_ROTATE_LEFT 0x3 #define kp_ROTATE_RIGHT 0x4 #define kp_SHORT_CLICK 0x5 #define kp_LONG_PRESS 0x6 #define kp_KEY1 0x0 #define kp_KEY2 0x1 #define kp_KEY3 0x2 #define kp_KEY4 0x3 #define kp_KEY5 0x4 #define kp_KEY6 0x5 #define kp_KEYENCODER 0x6 #define kp_Type(x) (x & 0b1111) #define kp_Value(x) (x >> 4) #define kp_LONG_PRESS_TIMEOUT_MS 500 // query and return keypad event uint8_t kp_query(); void discare_kp_events(void);