添加了完整的键盘协议功能,包括: - 新增多个事件类型: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设备状态管理和错误响应机制
59 lines
1.5 KiB
CMake
59 lines
1.5 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
cmake_minimum_required(VERSION 3.20.0)
|
|
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
|
project(blinky)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_BASE}/modules/nanopb)
|
|
include(nanopb)
|
|
|
|
zephyr_include_directories(
|
|
inc
|
|
inc/events
|
|
)
|
|
add_subdirectory(drivers)
|
|
|
|
zephyr_nanopb_sources(app
|
|
proto/device_comm.proto
|
|
)
|
|
|
|
target_sources(app PRIVATE
|
|
src/main.c
|
|
src/battery_module.c
|
|
src/ble_adv_ctrl_module.c
|
|
src/ble_adv_uuid16.c
|
|
src/ble_bas_module.c
|
|
src/ble_hid_module.c
|
|
src/ble_serial_module.c
|
|
src/display_module.c
|
|
src/encoder_module.c
|
|
src/hid_flowctrl_module.c
|
|
src/keyboard_core_module.c
|
|
src/ui/ui_main.c
|
|
src/cdc_wrapper_module.c
|
|
src/protocol_module.c
|
|
src/usb_cdc_module.c
|
|
src/usb_device_module.c
|
|
src/usb_hid_module.c
|
|
src/events/bat_state_event.c
|
|
src/events/ble_serial_rx_event.c
|
|
src/events/ble_serial_tx_event.c
|
|
src/events/cdc_proto_tx_event.c
|
|
src/events/encoder_event.c
|
|
src/events/function_bitmap_update_event.c
|
|
src/events/hid_led_event.c
|
|
src/events/hid_report_sent_event.c
|
|
src/events/hid_transport_state_event.c
|
|
src/events/hid_tx_report_event.c
|
|
src/events/key_function_event.c
|
|
src/mode_switch_module.c
|
|
src/events/keyboard_hid_report_event.c
|
|
src/events/mode_switch_event.c
|
|
src/events/set_protocol_event.c
|
|
src/events/usb_cdc_rx_event.c
|
|
src/events/usb_cdc_tx_event.c
|
|
src/events/usb_device_state_event.c
|
|
src/events/usb_function_ready_event.c
|
|
src/events/usb_prepare_event.c
|
|
)
|