#ifndef __GE_INTERFACE_H__ #define __GE_INTERFACE_H__ #include "include/ge_input.h" #include "include/ge_render.h" #include "include/ge_resource.h" #include "include/ge_timer.h" #include extern ge_input_t ge_input; extern ge_render_t ge_render; extern ge_resource_t ge_resource; extern ge_timer_t ge_timer; enum { GE_ITYPE_NONE, GE_ITYPE_KEY_1, GE_ITYPE_KEY_2, GE_ITYPE_KEY_3, GE_ITYPE_KEY_4, GE_ITYPE_KEY_L1H1, GE_ITYPE_KEY_L1H2, GE_ITYPE_KEY_L1H3, GE_ITYPE_KEY_L1H4, GE_ITYPE_KEY_L2H1, GE_ITYPE_KEY_L2H2, GE_ITYPE_KEY_L2H3, GE_ITYPE_KEY_L2H4, GE_ITYPE_KEY_L3H1, GE_ITYPE_KEY_L3H2, GE_ITYPE_KEY_L3H3, GE_ITYPE_KEY_L3H4, GE_ITYPE_KEY_L4H1, GE_ITYPE_KEY_L4H2, GE_ITYPE_KEY_L4H3, GE_ITYPE_KEY_L4H4, }; #define GE_FAST_SET_ON(name) (name##_GPIO_Port->BSRR = name##_Pin) #define GE_FAST_SET_OFF(name) (name##_GPIO_Port->BRR = name##_Pin) // #define GE_FAST_SET_OFF(name) (name##_GPIO_Port->BSRR = (uint32_t)name##_Pin << 16u;) #define GE_SET_STATE(name, state) HAL_GPIO_WritePin(name##_GPIO_Port, name##_Pin, state) #define GE_SET_ON(name) GE_SET_STATE(name, GPIO_PIN_SET) #define GE_SET_OFF(name) GE_SET_STATE(name, GPIO_PIN_RESET) #define GE_LED_SET(num, state) HAL_GPIO_WritePin(LED_##num##_GPIO_Port, LED_##num##_Pin, state); #define GE_LED_TOGGLE(num) HAL_GPIO_TogglePin(LED_##num##_GPIO_Port, LED_##num##_Pin); #define GE_LED_ON(num) GE_LED_SET(num, GPIO_PIN_SET) #define GE_LED_OFF(num) GE_LED_SET(num, GPIO_PIN_RESET) #define GE_IS_BIN_PRESSD(num) (HAL_GPIO_ReadPin(KEY_##num##_GPIO_Port, KEY_##num##_Pin) == GPIO_PIN_RESET) void input_btn_func(ge_input_t* ctx); #endif // __GE_INTERFACE_H__