feat: 添加USB HID模块支持
- 添加usb_hid_event事件定义和实现,用于管理USB HID状态 - 添加usb_hid_module模块,实现USB HID协议栈的完整生命周期管理 - 在CMakeLists.txt中注册新的事件和模块源文件 - 在设备树overlay中配置三个HID设备:HID_BOOT、HID_NKRO、HID_RAW - 在prj.conf中启用USB设备栈相关配置选项 - 修复电池模块和模式切换模块中的重复挂起问题 - 改进蓝牙绑定模块的错误处理和日志记录 - 在app.overlay中启用usbd节点并添加PMIC配置调整
This commit is contained in:
41
src/events/usb_hid_event.h
Normal file
41
src/events/usb_hid_event.h
Normal file
@@ -0,0 +1,41 @@
|
||||
#ifndef USB_HID_EVENT_H__
|
||||
#define USB_HID_EVENT_H__
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <app_event_manager.h>
|
||||
#include <app_event_manager_profiler_tracer.h>
|
||||
|
||||
enum usb_hid_event_type {
|
||||
USB_HID_EVT_STATE_REPORT = 0,
|
||||
};
|
||||
|
||||
/* USB 连接层状态(偏“链路可用性”) */
|
||||
enum usb_hid_usbd_state {
|
||||
USB_HID_USBD_DISCONNECTED = 0,
|
||||
USB_HID_USBD_CONNECTED,
|
||||
USB_HID_USBD_SUSPENDED,
|
||||
};
|
||||
|
||||
/* HID 协议栈状态(偏“服务是否运行”) */
|
||||
enum usb_hid_stack_state {
|
||||
USB_HID_STACK_OFF = 0,
|
||||
USB_HID_STACK_READY,
|
||||
USB_HID_STACK_ACTIVE,
|
||||
USB_HID_STACK_SUSPENDED,
|
||||
USB_HID_STACK_ERROR,
|
||||
};
|
||||
|
||||
struct usb_hid_event {
|
||||
struct app_event_header header;
|
||||
|
||||
enum usb_hid_event_type evt_type;
|
||||
bool enable;
|
||||
enum usb_hid_usbd_state usbd_state;
|
||||
enum usb_hid_stack_state hid_state;
|
||||
};
|
||||
|
||||
APP_EVENT_TYPE_DECLARE(usb_hid_event);
|
||||
|
||||
#endif /* USB_HID_EVENT_H__ */
|
||||
Reference in New Issue
Block a user