02 · 信号梳理
信号 ID 定义在 base/settingsBaseLib/.../vehicle/MiCarPropertyIds.java。
本章由作者直接读源码 + grep 提取,穷尽 VehicleBody 实际引用的信号。
一、跨域聚合(重要发现)
VehicleBody 虽叫「车辆控制」,但不是单一信号域。它引用了 8 个域的信号:
| 域 | 用途 | 代表信号 |
|---|
| MirrorControl | 后视镜 | REAR_VIEW_MIRROR_FOLD, TURN_DOWN_CONFIG, AUTO_ANTIDAZZLE |
| SeatAdjustControl | 座椅+童锁 | CHILD_SEAT_LOCATION, ACTIVE_BOLSTER_STATE, BACK/HORIZONTAL/HEIGHT_ADJUST |
| Steering | 方向盘 | ORIENTATION |
| BodyCtrl | 配置字+状态 | NFC_DETECT_STATUS, CNSL_CONTROL_TYPE_CONFIG |
| DrivingCtrl | 跨域聚合最多 | GLOVE_BOX, EASY_IN_OUT_MODE, GEAR, OUT_POSITION_, ELECTRIC_PEDAL_ |
| LockCtrl | 锁车折叠 | MIRROR_FOLD_WHEN_LOCK |
| EnergyManagement | 无线充电 | WIRELESS_CHARGE, RIGHT_WIRELESS_POWER_CHARGE |
| Service | 雨刮 | WIPER_SPEED_MODE, WIPER_RAIN_SENSOR_DETECT_LEVEL |
意外点:手套箱 GLOVE_BOX 在 DrivingCtrl 域;锁车折叠 MIRROR_FOLD_WHEN_LOCK 在 LockCtrl 域(不在 MirrorControl);无线充电在 EnergyManagement 域。功能归类与信号域归属不一致,因为信号域按车辆总线/EUC 归属划分,而非 UI 功能。
二、信号引用频次排行(grep 实测,按 Controller 引用次数)
| 次数 | 信号 | 域 | 说明 |
|---|
| 21 | CHILD_SEAT_LOCATION_ | SeatAdjustControl | 童锁(最多,5/6/7 座适配复杂) |
| 8 | EASY_IN_OUT_MODE | DrivingCtrl | 便利进出 |
| 7 | GLOVE_BOX | DrivingCtrl | 手套箱 |
| 6 | REAR_VIEW_MIRROR_FOLD | MirrorControl | 后视镜折叠 |
| 5 | OUT_POSITION_AVAILABLE | DrivingCtrl | 离车位置可用性 |
| 4 | TURN_DOWN_CONFIG | MirrorControl | 倒车自动下翻 |
| 4 | WIRELESS_CHARGE | EnergyManagement | 主驾无线充电 |
| 3 | RIGHT_WIRELESS_POWER_CHARGE | EnergyManagement | 副驾无线充电 |
| 3 | GEAR | DrivingCtrl | 档位(判断 P 挡,多个功能前置条件) |
| 2 | WIPER_SPEED_MODE | Service | 雨刮速度 |
| 2 | STEERWHEEL_MIRROR_HUD_ADJUST | MirrorControl | 后视镜/方向盘调节(共用互斥) |
| 2 | ELECTRIC_PEDAL_TEMPORARY_SWITCH_STATUS | DrivingCtrl | 踏板单次 |
三、各域信号清单
MirrorControl 域(后视镜,11 个,枚举值明确)
| 信号 | 值来源 | 枚举/含义 |
|---|
FOLD_STATE | Mirror.SIDE_MIRROR_FOLD | 折叠状态 |
FOLD_STATE_FOLDING | MOVING | FOLDING | 折叠中(位运算中间态) |
FOLD_STATE_UNFOLDING | MOVING | UNFOLDING | 展开中(位运算中间态) |
SELECTION | Mirror.SIDE_MIRROR_SELECTION | 选择哪边:1=Left, 2=Right |
AUTO_FOLD | Mirror.SIDE_MIRROR_AUTO_FOLD | 锁车自动折叠:0=Manual, 1=Auto |
TURN_DOWN_CONFIG | Mirror.SIDE_MIRROR_AUTO_TURN_DOWN | 倒车下翻:1=Off, 2=Only Left, 3=All |
AUTO_ANTIDAZZLE | Mirror.INTER_MIRROR_EMMC_ENABLE | 自动防眩目:1=Off, 2=On |
REAR_VIEW_ORIENTATION | Mirror.SIDE_MIRROR_MOVE | 调节方向:0/1/2/3(上下左右) |
REAR_VIEW_MIRROR_FOLD | Mirror.SIDE_MIRROR_FOLD | 后视镜折叠 |
REAR_VIEW_MIRROR_FOLD_EXCEPTION | Mirror.SIDE_MIRROR_FOLD_EXCEPTION | 折叠异常原因 |
MIRROR_AUTO_HEAT | Mirror.EXTERIOR_MIRROR_AUTO_HEAT_SET | 自动加热 |
STEERWHEEL_MIRROR_HUD_ADJUST | Body.STEERING_WHEEL_HUD_ADJUST_FLAG | 调节弹窗标识(与方向盘共用) |
SeatAdjustControl 域(座椅+童锁,节选)
| 信号 | 含义 |
|---|
BACK_ADJUST / BACK_RISE/BACK_DESCEND/BACK_IDLE | 靠背调节(前倾/后仰/停) |
HORIZONTAL_ADJUST / _FORWARD/_BACKWARD/_IDLE | 前后调节 |
HEIGHT_ADJUST / _UPWARD/_DOWNWARD/_IDLE | 高度调节 |
BACK_POSITION / HORIZONTAL_POSITION / HEIGHT_POSITION | 各位置值 |
*_MOVE_CURRENT_CMD / *_MOVE_STOP_REQUEST | 运动指令/停止 |
OCCUPATION | 座椅是否有人 |
ACTIVE_BOLSTER_STATE | 动态侧翼:OFF / STANDARD(LOW_SENSITIVITY) / FASTER(HIGH_SENSITIVITY) |
SEAT_BOSLTER_NOT_SUPPORT_REASON | 侧翼不可用原因 |
SIDE_BOLSTER_RELATED_SEAT_BELT_STATUS | 侧翼随安全带(AI 生成) |
LEG_REST_ADJUST / _UPWARD/_DOWNWARD/_IDLE | 副驾腿托 |
PASS_SEAT_POS1/2/3_SAVE / _RECOV | 副驾位置记忆保存/恢复 |
CHILD_SEAT_LOCATION_2ND_LEFT/RIGHT / 3RD_LEFT/RIGHT | 童锁安装位置(2排/3排,AI 生成 3 排) |
SEAT_NUMBER_CONFIG / FIVE_SEATER_TWO_ROW_CONFIG | 座位数配置 |
BodyCtrl 域(多为配置字)
| 信号 | 含义 |
|---|
NFC_DETECT_STATUS | NFC 卡片钥匙检测(唯一动态状态) |
CNSL_CONTROL_TYPE_CONFIG | 中控键类型配置字 |
REAR_WIPER_CONFIG | 后雨刮维修模式配置 |
VEHICLE_ID | 车辆 ID |
Steering 域
| 信号 | 含义 |
|---|
ORIENTATION = Body.STEERING_WHEEL_MOVE | 方向盘上下左右调节:1/2/3/4 |
DrivingCtrl 跨域借用信号(VehicleBody 用到的)
| 信号 | 用途 |
|---|
GLOVE_BOX | 手套箱开关 |
EASY_IN_OUT_MODE | 便利进出(CUSTOM/OFF) |
EASY_IN_OUT_NOT_AVI_RSN | 便利进出不可用原因 |
OUT_POSITION_AVAILABLE / OUT_POSITION_SET / _SET_STATE / _SET_RESULT / _POPUP_KEEP | 离车位置设置全套 |
ELECTRIC_PEDAL_TEMPORARY_SWITCH_STATUS / ELECTRIC_PEDAL_AUTO_MODE_STATUS | 电动踏板 |
GEAR | 档位(P 挡前置判断) |
CAR_MODE_STATUS | 车辆模式(手套箱用) |
Service / LockCtrl / EnergyManagement 借用
| 信号 | 域 | 用途 |
|---|
WIPER_SPEED_MODE | Service | 雨刮速度,areaId=WINDOW_FRONT_WINDSHIELD |
WIPER_RAIN_SENSOR_DETECT_LEVEL | Service | 自动灵敏度 |
MIRROR_FOLD_WHEN_LOCK | LockCtrl | 锁车折叠 |
WIRELESS_CHARGE | EnergyManagement | 主驾无线充电 |
RIGHT_WIRELESS_POWER_CHARGE | EnergyManagement | 副驾无线充电 |
四、Controller → 信号映射
| Controller | 信号 | areaId | 特殊 |
|---|
| MirrorFoldWhenLockController | LockCtrl.MIRROR_FOLD_WHEN_LOCK | — | 标准开关 |
| MirrorAutoDownController | TURN_DOWN_CONFIG | — | 4 档 Tab |
| MirrorAntiDazzleController | AUTO_ANTIDAZZLE | — | 标题随配置字 |
| MirrorAutoHeatController | MIRROR_AUTO_HEAT | — | — |
| MirrorAdjustControllerNew | STEERWHEEL_MIRROR_HUD_ADJUST | — | 心跳+互斥窗口 |
| SteeringWheelAdjustControllerNew | STEERWHEEL_MIRROR_HUD_ADJUST | — | 心跳+互斥窗口(共用信号) |
| DriverSeatBolsterController | ACTIVE_BOLSTER_STATE | SEAT_ROW_1_LEFT | 3 档+不可用原因 |
| DriverSideBolsterSeatBeltController | SIDE_BOLSTER_RELATED_SEAT_BELT_STATUS | SEAT_ROW_1_LEFT | — |
| WiperAdjustTabLayPrefController | Service.WIPER_SPEED_MODE | WINDOW_FRONT_WINDSHIELD | 6 档,控制子项可见 |
| WiperRainSensorTabLayPrefController | Service.WIPER_RAIN_SENSOR_DETECT_LEVEL | — | dependKey=wiper_entry |
| FrontWindshieldDeepCleaningController | Body.DEEP_CLEANING_STATUS | WINDOW_FRONT_WINDSHIELD | 5 类不可用原因 |
| SingleOpenPreferenceController | ELECTRIC_PEDAL_TEMPORARY_SWITCH_STATUS | — | 二次确认 |
| ElectricPedalModeController | ELECTRIC_PEDAL_AUTO_MODE_STATUS | — | 4 档+二次确认 |
| NfcDetectStatusPreferenceController | BodyCtrl.NFC_DETECT_STATUS | — | 关闭二次确认 |
| WirelessChargePreferenceController | WIRELESS_CHARGE / RIGHT_WIRELESS_POWER_CHARGE | position 0/1 | 联动手机遗忘 |
| EasyEntrySwitchPrefController | EASY_IN_OUT_MODE | — | EventBus 跳转 |
| EasyEntryResetPrefController | OUT_POSITION_AVAILABLE | — | 不可用原因 |
| GloveBoxController | DrivingCtrl.GLOVE_BOX | — | 密码+MIS |
| ChildSeatEntryController | CHILD_SEAT_LOCATION_* | 各座 | IoT 识别 |
五、areaId(区域)规律
多区域信号通过 VehicleAreaQuickCtrl(强制 genMapKey = "$propId#$areaId")区分:
| 场景 | areaId |
|---|
| 后视镜左/右 | SELECTION 信号 1=Left/2=Right |
| 主驾侧翼 | SEAT_ROW_1_LEFT |
| 主/副驾无线充电 | WirelessChargePreference.position 0/1 |
| 童锁 2 排/3 排左/右 | CHILD_SEAT_LOCATION_2ND/3RD_LEFT/RIGHT |
| 雨刮/前挡 | WINDOW_FRONT_WINDSHIELD |
六、特殊信号处理(VehiclePropertyConfig)
| 机制 | 涉及信号 | 说明 |
|---|
| 中间态缓存 | FOLD_STATE_FOLDING/UNFOLDING | 位运算组合值,UI 显示”运动中”,缓存终态防抖动 |
| 依赖信号映射 | DRIVE_MODE_EXIT→STEERING_MODE 模式 | 下行无回响时改听状态信号 |
| 超时分级 | 充电类 2000/4000ms,智驾类 750ms | VehiclePropertyConfig.getCustomTimeoutValue |
ConsoleKey/PUI 自定义不走 CarProperty,走 mis-device SDK(MisDeviceManager.publishSpec + ActionJsonBuilder + DID 查询),不在本表。