车控信号知识库
小米车机座舱车控信号(Vehicle Control Signal / VHAL Property)专属知识库:覆盖信号体系设计、App 接入、调试注入、日志查看、变更演进、中间件与测试。 数据来源:飞书 docx「信号接入指北 3.0」(LsEVdGZABowghyx1vMgcZ9oXnPc)、「车辆信号调试 Q&A」(J9ogd7EXJoxjhwxYD5JcD9FGnSf)、「libvhalclient」(CRUId5yBhoEOMhxMO8EcznDgnOb)、「信号接入指南」(GzAadtOoxo9lnMxqETfczg2HnFc)、「车辆数据服务技术分享」(Pw2NdT92KoKg01xlD0xc2ZbunDT) 等根文档及其引用的子文档。 与 CarSettings 的关系:CarSettings 偏应用实现(设置页、Preference 框架、车模适配),本库偏信号系统本身(VHAL/CarService/Mock/中间件/日志)。
🔍 AI 检索指南
被问到车控信号相关问题时,按问题类型路由:
| 问题 / 关键词 | 去哪篇 |
|---|---|
| 信号怎么构成、propId/areaId 怎么编出来的、AAOS 信号体系 | Mi AAOS 信号体系实现 |
| App 怎么读/写/订阅车控信号、MiCarPropertySDK 接入、AIDL | MiCarPropertyService 接入文档 |
| car-lib、CarPropertyManager、registerCallback、权限、CarDemo | 信号接入指北3.0 / 信号接入指南 |
| App 侧信号处理范式、UI 先行、超时回弹、SeekBar、订阅缓存 | 信号处理最佳实践 |
| 车控单元测试、CarService/CarPropertyManager mock、ShellMockPropertyUtil、模式A-D | MiCarSettings车控单元测试一期 |
| 怎么注入/Mock 信号、看 VHAL/CarService/QNX 日志、dumpsys、lshal(AIDL/HIDL 平台差异) | 车辆信号调试 Q&A — CarService与VHAL / 常用命令汇总 |
| CarService 日志开关、进程重启 App 兼容策略 | Android carservice 日志策略 |
| 整车信号架构总览、QNX CarService、中间件 V1→V2、DDS、自动化测试 | 车辆数据服务技术分享 |
| QAC 发布订阅中间件、QNX↔Android HAB/Binder 跨域通信 | QAC 发布订阅中间件使用文档 |
| QNX 侧 C++ 接口、prop_interface、PropClient、getProp/setProp/subscribe | CarService对外接口(cpp) |
| 怎么从需求文档反查某个信号的 propId、值范围、异常码 | 车控SOA信号流程查看说明 |
| 信号历史改名/合并/类型变更、某信号为什么变了 | 信号变更说明 |
| Status 超时、STATUS_TIMEOUT、信号 unavailable vs timeout | 信号 Status 值扩展说明 |
| 胎压/胎温等不能直接透传、需 E3 特殊处理的信号 | 需特殊处理信号 |
| 配置字(ConfigWord)怎么接入、SystemProperty/Settings | Android 配置字接入指南 |
| 时钟同步、timestamp、NTP、QNX↔Android 跨域对时 | DCD域内时钟同步策略 |
| createCar ANR、CarService 初始化阻塞主线程 | Create Car ANR 警告 |
| native 组件(C++)怎么访问 VHAL、libvhalclient、IVehicle AIDL/HIDL 切换、断链重连 | libvhalclient(IVehicle)使用文档 |
对接服务框架(MiVehicleService)、vehicle.support.jar、mi.car.config 类结构、SOA 信号划分 | 对接服务框架车辆信号手册 |
📚 文档清单(22 篇,2026-07-10 / 2026-07-13 入库)
A. 信号体系与接入(先读这几篇建立全局观)
- 信号接入指北3.0 — ⭐总入口。car-lib / CarPropertyManager 调用说明、PropertyId+AreaId 构成、Mock、权限与异常处理、Maven 依赖。
- 信号接入指南 — 🆕接入指南(2026-07-13)。与「指北3.0」互补,含 CarDemo4Test.apk 与 LogPropMonitor.py 信号模拟脚本(已上文件床)。
- Mi AAOS 信号体系实现 — Mi AAOS 基于 propId+areaId 扩展出 400+ 信号体系(兼容标准 136 个),双通道兼容方案(mi-car-support-lib + mi_property service)。
- MiCarPropertyService 接入文档 — MiCarPropertySDK 接入全流程:双实现架构、初始化/读写/订阅 API、属性配置常量、
dumpsys micar_property调试、A17 迁移 FAQ。 - libvhalclient(IVehicle)使用文档 — 🆕native 层接入(2026-07-10)。C++ 封装库
libvhalclient/libmivhalclient统一 AIDL+HIDL IVehicle,含 getService/getValue/setValue/subscribe/断链重连完整样例、ErrorCode 表、sepolicy。 - CarService对外接口(cpp) — 🆕QNX 侧(2026-07-13)。QNX CarService 对外 C++ 接口
prop_interface:PropClient 单例、getProp/setProp/subscribe/unsubscribe、VehiclePropValue/MiVehicleProperty 结构体、bazel 依赖。 - 对接服务框架车辆信号手册 — 🆕服务框架侧(2026-07-13)。
MiVehicleService编译安装、vehicle.support.jar(mi.car:vehicle.supportmaven)类结构、权限清单、CarService 绑定与 callback、adb 信号 Mock 命令。 - 车辆数据服务技术分享 — 🆕架构总览(2026-07-13)。整车信号架构:QNX CarService(Executor/Parser/Pipeline 三层)、中间件 V1→V2 演进(ROS2→CYBER-RT、fast-dds 选型、HAB 跨域)、Android MiVehicleHal、自动化测试。偏跨域/中间件视角。
B. 信号调试与日志
- 车辆信号调试 Q&A — CarService与VHAL — ⭐调试主力。Android CarService(
dumpsys car_service)、VHAL 调试(AIDLdumpsys ...IVehicle/micar --get/--set/--mock_from_car;老 HIDLlshal debug)、QNX CarService 日志抓取,含 Mock 注入命令与平台判定。 - 常用命令汇总 — 🆕命令清单(2026-07-13)。车控调试命令汇总,含开日志(
setprop log.tag.MiddlewareCarservice/vehicle_debug_enable)、读信号、Mock 注入--mock_from_car、参数(-i/-f/-s/-a/—stat)完整说明。 - Android carservice 日志策略及进程重启app兼容策略 — 🆕(2026-07-13)。CarService 日志开关与进程重启时 App 兼容策略。
- Newton VHAL 架构与调试入口(AIDL) — ⭐架构总览(源码核实)。newton/YU7 VHAL = 纯 AIDL
vehicle@2.0-service,同进程双实例(/defaultAAOS +/micar扩展);含平台演进决策、完整信号链路、prop 字典、1715482881=DOOR_STATE位布局。 - 车控SOA信号流程查看说明 — 如何通过 SC 需求文档、SOA 信号表、产品 TTS 表,定位车控三信号(状态/使能/异常)对应的中间件 propId、值范围与异常码。
C. App 接入处理与测试
- 信号处理最佳实践 — 🆕(2026-07-13)。App 侧信号处理范式:UI 先行、超时回弹、SeekBar 信号、订阅与缓存策略。
- MiCarSettings车控单元测试一期—设计方案与测试规范v1.0 — 🆕⭐测试规范(2026-07-13)。CarService/CarPropertyManager mock 完整方案:ShellMockPropertyUtil(
lshal debug --inject-event)、PropertySetCheckHelper、MiCarSwitchMatcher、SignalTimeoutChecker、四类 mock 模式(A 信号映射/B 不可用/C 下发验证/D 环境配置 mockkObject)、19 个被测 Controller 基类方法速查。 - QAC 发布订阅中间件使用文档 — 🆕(2026-07-13)。QAC 发布订阅中间件(QNX↔Android HAB/Binder),含 QNX/Android Java/Android Native 三套示例包与五层架构图。
D. 信号变更与扩展
- 信号变更说明 — E3/E4 历史 144 条信号改名/合并/类型(Area、Int↔Float)/枚举值偏移及上报机制改动,含 Jira 与 Gerrit 追溯链。
- 信号 Status 值扩展说明 — 扩展 CarPropertyValue Status 新增
STATUS_TIMEOUT(4)/STATUS_TIMEOUT_UNAVAILABLE(5),区分信号超时与不可用。 - 需特殊处理信号 — 胎温报警(TyreTWarn)与胎压传感器学习状态等需 E3 特殊处理(过滤 Invalid / 合成状态 / 四轮独立)的信号清单。
E. 配置与专题
- Android 配置字接入指南 — 车控配置字三种接入方式:SystemProperty、Settings.Global(MiCarSettings)与 SOA 信号下发。
- DCD域内时钟同步策略 — DCD 域用 NTP 开关切换 TBOX/开发环境时钟源,QNX TimeSyncService 做 Q↔A 跨域反向同步。
- Create Car ANR 警告 —
android.car.Car的 createCar 重载可能 block 主线程 5s+ 致 ANR;推荐CAR_WAIT_TIMEOUT_DO_NOT_WAIT异步初始化。
🚧 待入库(飞书源,权限受限)
以下文档已被父文档引用、确认为车控信号相关,但当前 MCP 账号(周本成 / zhoubencheng@xiaomi.com)无阅读权限,需找文档所有者授权后重抓(token 不变,直接续跑 fetch-feishu):
- 车机 Android 端方控实现方案 —
docx:I0z4dTlX1oxY53xxIc5cq8sWnNB(所有者:夏青) - 信号中间件详解 —
docx:SgQ0d0eHIoGzFsxxtHHcW3QLnVg(被「信号处理最佳实践」引用) - DDS 详解 —
docx:LQ4ld5vUZozlK8xS03ycGB1enHe(被「车辆数据服务技术分享」引用,中间件章节) - variant 配置字方案 —
docx:Rt5odkHX8oGTcnxwLhmc3FkxnNb(被「信号处理最佳实践」变体配置字章节引用) - pps_mock 工具使用方法 —
docx:SC0vdPOBrofoqjxUtDoc4NAznxg(QNX 侧 pps mock 工具,被「CarService对外接口(cpp)」引用) - CustomVehicleHAL 接入原生 VehicleHAL 选型分析 —
docx:P8YYdZpBrowFUDxOcQDcUcrUnub(被「Mi AAOS 信号体系实现」引用,选型背景) - SOA 服务接口定义表格 — 信号定义权威数据源(大型电子表格,非文档):
- 当前版本:
sheets:CIgSsCbznhjrIxtjQwVcJB8HnRc(MS11,定时更新,信号管理系统 维护) - E2/E3 备份(弃用):
sheets:Eo9zsXgVxhzLm4tgEJncqD3HnIc - 初版(未使用):
sheets:NWACs7zi8hDg9ctSpCXcKYj7nOg
- 当前版本:
🔗 关联
- _index.md — CarSettings 应用实现侧(含 CarSettings车控信号概述、车控信号测试联调、车控信号管理系统使用指南)。
- 信号变更通知群 / DCD 车辆数据服务 / 信号管理平台入口见 信号接入指北3.0 文末「相关链接」。
📝 入库说明
- 2026-07-10 第一批:
fetch-feishuskill 批量爬取 11 篇,全部type: reference/series: 车控信号知识库。补抓 libvhalclient(IVehicle)使用文档(docxCRUId5yBhoEOMhxMO8EcznDgnOb),补齐 native C++ 层 VHAL 接入缺口。 - 2026-07-13 第二批:
fetch-feishuskill 多 Agent 并行爬取,新增 9 篇——信号接入指南、信号处理最佳实践、MiCarSettings车控单元测试一期、常用命令汇总、车辆数据服务技术分享、对接服务框架车辆信号手册、Android carservice 日志策略、CarService对外接口(cpp)、QAC 发布订阅中间件使用文档。递归候选中去重已入库的 10 余篇,5 篇因 MCP 账号无阅读权限暂缓(见「待入库」)。 - 图片:
信号接入指南/对接服务框架/QAC中间件图片已上图床;信号处理最佳实践(18张)/车辆数据服务技术分享(8张) 因源空间禁 API 下载全 403,保留feishu.cn/file/{token}引用,后续可用rescue_feishu_images.py走 Playwright web 通道补图。 - 附件:CarDemo4Test.apk / LogPropMonitor.py / QAC 示例包等已上
blog-assets文件床;其余保留原 kpan/gerrit 链接。