- 添加新的UI页面基础架构(ui_page.h),包含页面操作接口 - 创建设置页面控制器(ui_settings_controller.h/.c)来管理页面导航 - 实现具体的设置页面类型:根页面、BLE页面、主题页面 - 修改display_module.c以使用新的页面系统替代旧的状态机 - 移除过时的settings_ui.h头文件和相关状态结构 - 更新事件处理逻辑以使用页面指针而非状态数据传递 - 修改主界面实现以适配统一的页面接口标准
75 lines
1.9 KiB
CMake
75 lines
1.9 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_linker_sources(SECTIONS src/usb_function_hook.ld)
|
|
|
|
zephyr_include_directories(
|
|
inc
|
|
inc/events
|
|
src
|
|
)
|
|
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_uuid16.c
|
|
src/ble_bas_module.c
|
|
src/ble_hid_module.c
|
|
src/ble_nus_module.c
|
|
src/display_module.c
|
|
src/encoder_module.c
|
|
src/hid_flowctrl_module.c
|
|
src/keyboard_core_module.c
|
|
src/led_effect/led_effect_registry.c
|
|
src/led_effect/effects/led_effect_key_fade.c
|
|
src/led_strip_module.c
|
|
src/mode_policy_module.c
|
|
src/time_sync_module.c
|
|
src/settings_module.c
|
|
src/ui/ui_main.c
|
|
src/ui/ui_settings.c
|
|
src/ui/ui_settings_controller.c
|
|
src/ui/ui_settings_root.c
|
|
src/ui/ui_settings_ble.c
|
|
src/ui/ui_settings_theme.c
|
|
src/protocol_module.c
|
|
src/usb_cdc_module.c
|
|
src/usb_device_module.c
|
|
src/usb_hid_consumer_module.c
|
|
src/usb_hid_keyboard_module.c
|
|
src/events/bat_state_event.c
|
|
src/events/datetime_event.c
|
|
src/events/encoder_event.c
|
|
src/events/function_bitmap_state_event.c
|
|
src/events/function_bitmap_update_event.c
|
|
src/events/hid_channel_state_event.c
|
|
src/events/hid_led_event.c
|
|
src/events/hid_report_sent_event.c
|
|
src/events/hid_tx_report_event.c
|
|
src/events/led_strip_en_event.c
|
|
src/mode_switch_module.c
|
|
src/events/keyboard_hid_report_event.c
|
|
src/events/mode_switch_event.c
|
|
src/events/proto_rx_event.c
|
|
src/events/proto_transport_state_event.c
|
|
src/events/proto_tx_event.c
|
|
src/events/set_protocol_event.c
|
|
src/events/settings_mode_event.c
|
|
src/events/settings_view_event.c
|
|
src/events/theme_rgb_update_event.c
|
|
src/events/time_sync_event.c
|
|
src/events/transport_policy_event.c
|
|
src/events/usb_control_event.c
|
|
src/events/usb_state_event.c
|
|
)
|