C路: VL53L0X 用户态I2C直驱 + 高速模式 29.6fps
- 搬运 ST API C 源码到 lib/vl53l0x/, 替换 I2C 层为用户态 i2c-dev - 新增 vl53l0x_platform_user.cpp: WriteMulti/ReadMulti 等全平台接口 - 重写 vl53l0x.cpp: start时unbind内核驱动, 单次测距, 无后台轮询 - 高速模式 20000μs timing budget, 模型缓存零污染(41-43ms) - LiDAR 每5帧一读(~20ms), 隔帧模型推理, fps 25.1→29.6 (+18%) - 同事的LiDAR避障集成: 12个配置参数, 中线变形绕行, 刹车注释 - nice -10 + sched_yield 优先级优化
This commit is contained in:
+11
-2
@@ -21,6 +21,7 @@ message(STATUS "OpenCV Include Directories: ${OpenCV_INCLUDE_DIRS}")
|
||||
# 项目头文件路径
|
||||
include_directories(src)
|
||||
include_directories(lib)
|
||||
include_directories(lib/vl53l0x)
|
||||
|
||||
# 收集 src 下所有 .cpp (自动发现)
|
||||
aux_source_directory(src DIR_SRCS)
|
||||
@@ -30,8 +31,16 @@ aux_source_directory(src DIR_SRCS)
|
||||
# zebra_detect.cpp — 经典斑马线检测, 已被 Mild 模型替代
|
||||
# PIDController.cpp — PID 类未使用 (电机开环直驱)
|
||||
# serial.cpp — Vofa/串口图传未使用
|
||||
list(FILTER DIR_SRCS EXCLUDE REGEX "(vl53l0x\\.cpp|zebra_detect\\.cpp|PIDController\\.cpp|serial\\.cpp)")
|
||||
list(FILTER DIR_SRCS EXCLUDE REGEX "(zebra_detect\\.cpp|PIDController\\.cpp|serial\\.cpp)")
|
||||
|
||||
# VL53L0X ST API 源码 (纯 C)
|
||||
set(VL53L0X_API_SRCS
|
||||
lib/vl53l0x/vl53l0x_api.c
|
||||
lib/vl53l0x/vl53l0x_api_core.c
|
||||
lib/vl53l0x/vl53l0x_api_calibration.c
|
||||
lib/vl53l0x/vl53l0x_api_ranging.c
|
||||
)
|
||||
|
||||
# 静态库 + 主程序
|
||||
add_library(common_lib STATIC ${DIR_SRCS})
|
||||
add_library(common_lib STATIC ${DIR_SRCS} ${VL53L0X_API_SRCS})
|
||||
add_subdirectory(main)
|
||||
|
||||
Reference in New Issue
Block a user