添加了完整的键盘协议功能,包括: - 新增多个事件类型:cdc_proto_tx_event、function_bitmap_update_event、key_function_event - 在CMakeLists.txt中注册新的事件源文件 - 扩展keyboard_core.h定义键盘协议相关宏 - 增强protocol_module.h定义协议消息类型常量 - 更新protobuf定义device_comm.proto添加Bitmap、FunctionKeyEvent、Ack、Error消息 - 实现CDC协议包装器模块处理协议消息传输 - 改进键盘核心模块实现按键功能映射和位图管理 - 添加协议模块处理Hello、Bitmap、FunctionKeyEvent等协议消息 - 实现USB设备状态管理和错误响应机制
31 lines
721 B
C
31 lines
721 B
C
#ifndef BLINKY_PROTOCOL_MODULE_H_
|
|
#define BLINKY_PROTOCOL_MODULE_H_
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define CDC_PROTO_TYPE_HELLO_REQ 0x01U
|
|
#define CDC_PROTO_TYPE_HELLO_RSP 0x02U
|
|
#define CDC_PROTO_TYPE_BITMAP 0x10U
|
|
#define CDC_PROTO_TYPE_FUNCTION_KEY_EVENT 0x20U
|
|
#define CDC_PROTO_TYPE_ACK 0x7EU
|
|
#define CDC_PROTO_TYPE_ERROR 0x7FU
|
|
|
|
int protocol_module_process_cdc_packet(uint8_t req_type,
|
|
const uint8_t *req_payload,
|
|
size_t req_payload_len,
|
|
uint8_t *rsp_type,
|
|
uint8_t *rsp_payload,
|
|
size_t rsp_payload_buf_size,
|
|
size_t *rsp_payload_len);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* BLINKY_PROTOCOL_MODULE_H_ */
|