#ifndef BOTTOM_HALF_HPP #define BOTTOM_HALF_HPP #include "driver/i2c.h" #include "driver/gpio.h" #include "esp_log.h" #define BOTTOM_I2C_NUM I2C_NUM_0 #define BOTTOM_I2C_ADDR 126 #define BOTTOM_PIN_INTERUPT GPIO_NUM_0 #define DELTA_BIT_KP 0 #define DELTA_BIT_BUTTON 1 typedef enum { k1 = 0, k4 = 1, k7 = 2, star = 3, k2 = 4, k5 = 5, k8 = 6, k0 = 7, k3 = 8, k6 = 9, k9 = 10, pound = 11, ka = 12, kb = 13, kc = 14, kd = 15, } KeypadKey; bool get_pressed_keypad(KeypadKey* kp); bool get_released_keypad(KeypadKey* kp); char char_of_keypad_key(KeypadKey kp); static void poll_bottom_task(void *arg); void init_bottom_half(); #endif /* BOTTOM_HALF_HPP */