准备驱动移植适配Rust

This commit is contained in:
冯佳
2026-01-29 15:08:30 +08:00
parent e879b18602
commit 1bdeca55ea
68 changed files with 4371 additions and 4392 deletions

View File

@ -2,7 +2,7 @@
/**
******************************************************************************
* @file : bsp_key.h
* @brief : Board support package key driver header file
* @brief : 板级支持包按键驱动头文件
******************************************************************************
*/
/* USER CODE END Header */
@ -13,7 +13,7 @@
#include <stdint.h>
/**
* @brief Key ID definitions
* @brief 按键 ID 定义
*/
typedef enum {
BSP_KEY_ID_KEY0 = 0,
@ -23,7 +23,7 @@ typedef enum {
} bsp_key_id_t;
/**
* @brief Key state definitions
* @brief 按键状态定义
*/
typedef enum {
BSP_KEY_STATE_RELEASED = 0,
@ -31,80 +31,80 @@ typedef enum {
} bsp_key_state_t;
/**
* @brief Key event definitions
* @brief 按键事件定义
*/
typedef enum {
BSP_KEY_EVENT_NONE = 0,
BSP_KEY_EVENT_PRESSED, /* Key pressed event */
BSP_KEY_EVENT_RELEASED, /* Key released event */
BSP_KEY_EVENT_LONG_PRESSED, /* Key long pressed event */
BSP_KEY_EVENT_REPEAT, /* Key repeat event */
BSP_KEY_EVENT_SHORT_PRESSED /* Key short pressed event */
BSP_KEY_EVENT_PRESSED, /* 按键按下事件 */
BSP_KEY_EVENT_RELEASED, /* 按键释放事件 */
BSP_KEY_EVENT_LONG_PRESSED, /* 按键长按事件 */
BSP_KEY_EVENT_REPEAT, /* 按键重复事件 */
BSP_KEY_EVENT_SHORT_PRESSED /* 按键短按事件 */
} bsp_key_event_t;
/**
* @brief Initialize all keys
* @brief 初始化所有按键
*/
void bsp_key_init(void);
/**
* @brief Update key state (call this function periodically, e.g. every 10ms)
* @brief 更新按键状态(定期调用此函数,例如每 10ms
*/
void bsp_key_update(void);
/**
* @brief Read debounced key state
* @param key_id: Key ID
* @retval Key state
* @brief 读取去抖后的按键状态
* @param key_id: 按键 ID
* @retval 按键状态
*/
bsp_key_state_t bsp_key_read(bsp_key_id_t key_id);
/**
* @brief Check if key is pressed
* @param key_id: Key ID
* @retval 1 if pressed, 0 otherwise
* @brief 检查按键是否按下
* @param key_id: 按键 ID
* @retval 按下返回 1否则返回 0
*/
uint8_t bsp_key_is_pressed(bsp_key_id_t key_id);
/**
* @brief Check if key is released
* @param key_id: Key ID
* @retval 1 if released, 0 otherwise
* @brief 检查按键是否释放
* @param key_id: 按键 ID
* @retval 释放返回 1否则返回 0
*/
uint8_t bsp_key_is_released(bsp_key_id_t key_id);
/**
* @brief Check for key press event (edge detection)
* @param key_id: Key ID
* @retval 1 if key was pressed, 0 otherwise
* @brief 检查按键按下事件(边沿检测)
* @param key_id: 按键 ID
* @retval 按键按下返回 1否则返回 0
*/
uint8_t bsp_key_get_press_event(bsp_key_id_t key_id);
/**
* @brief Check for key release event (edge detection)
* @param key_id: Key ID
* @retval 1 if key was released, 0 otherwise
* @brief 检查按键释放事件(边沿检测)
* @param key_id: 按键 ID
* @retval 按键释放返回 1否则返回 0
*/
uint8_t bsp_key_get_release_event(bsp_key_id_t key_id);
/**
* @brief Check for key long pressed event
* @param key_id: Key ID
* @retval 1 if key was long pressed, 0 otherwise
* @brief 检查按键长按事件
* @param key_id: 按键 ID
* @retval 按键长按返回 1否则返回 0
*/
uint8_t bsp_key_get_long_press_event(bsp_key_id_t key_id);
/**
* @brief Check for key repeat event
* @param key_id: Key ID
* @retval 1 if key repeat event occurred, 0 otherwise
* @brief 检查按键重复事件
* @param key_id: 按键 ID
* @retval 按键重复事件发生返回 1否则返回 0
*/
uint8_t bsp_key_get_repeat_event(bsp_key_id_t key_id);
/**
* @brief Check for key short pressed event
* @param key_id: Key ID
* @retval 1 if key was short pressed, 0 otherwise
* @brief 检查按键短按事件
* @param key_id: 按键 ID
* @retval 按键短按返回 1否则返回 0
*/
uint8_t bsp_key_get_short_press_event(bsp_key_id_t key_id);