Merge remote-tracking branch 'origin/dev_robotaxi-d_241112_6.8.0' into dev_robotaxi-d_241112_6.8.0

This commit is contained in:
donghongyu
2024-11-21 10:38:13 +08:00
4 changed files with 75 additions and 3 deletions

View File

@@ -16,6 +16,7 @@ public enum PowerUnitChannel {
BACK_LED_SCREEN(8, "OUT8", 10, "后LED屏"),
POWER_AMPLIFIER(9, "OUT9", 10, "功放"),
AIO_DRIVER_SCREEN(10, "OUT10", 10, "司机屏一体机"),
SWEEPER_FILL_LIGHT(25, "OUT25", 15, "补光灯(清扫车)"),
RTK(27, "OUT27", 5, "RTK定位设备"),
VTBOX(28, "OUT28", 5, "VTBOX"),
FRONT_MILLIMETER_WAVE_RADAR(29, "OUT29", 10, "前毫米波雷达"),

View File

@@ -12,8 +12,22 @@ message FaultInfo {
repeated string fault_result = 6; //新增故障后果故障上报不需要填故障状态发布时由fm根据配置表填入 用于行为上层的禁止
optional string policy_code = 7; //新增故障策略,故障上报不需要填,故障表中所定义的故障策略
optional string fault_name = 8; //新增故障名称,故障上报不需要填,故障表中定义的故障中文名称
optional string recover_method = 9; //后处理的人为处理方法
optional string copywrite =10; // 文案,明确给人看的信息,重点给安全员看。 也可作为平台描述
optional uint32 playform = 11; //平台, 指定工单系统test平台或者不指定平台
optional string handle_src =12; //处理模块标识, 便于类似事件的src 通过《人员职责表》关联到handler。本字段填写需要处理的模块后处理转化工单时候转化到对应的人
optional uint32 duration =13; //故障持续时间,用于判断故障持续来多久触发工单 后处理可以一直判断持续时间但是fm实时记录故障不能一直判断写道文件所以策略是配置添加到字段但是由后处理判断
optional uint32 replaytime = 14; //工单提交后,重复提醒间隔配置 (后处理使用)
}
message FaultReportMsg { //主体消息
required string src = 1; //故障来源 node_name
repeated FaultInfo infos = 2; //故障原因与信息描述
}
enum FaultLevel {
NOTHING_TODO = 0; //不采用故障等级策略
EMERGENCY_STOP = 1; //紧急停车
@@ -35,6 +49,55 @@ message FaultResultMsg {
optional string downgrade_policy_code = 8; //唯一故障策略描述360后建议车型按该string类型区分 云端pad端按该字符串总计8种做分析处理
repeated string actions = 9; //所有当前存在故障的action 并集
repeated string results = 10; //所有当前存在故障的 result 并集
optional double longitude = 21; //当前位置 经度
optional double latitude = 22; //当前位置 维度
}
message FaultIgnoreMsg {
required uint64 time = 1; //故障忽略配置时间,毫秒
required string ignore_src = 2; //忽略来源pad云控调测工具
repeated string ignore_fault_id = 3; //故障忽略全量列表
}
message FaultQueryMsg {
required string fm_version = 1; //故障管理的版本
required FaultLevel level = 2; //故障汇总等级
required uint32 veh_policy = 3; //车端降级策略
required uint32 current_fault_num = 4; //当前故障数目
repeated string current_fault_id = 5; //当前故障id列表
required uint32 ignore_fault_num = 6; //忽略故障数目
repeated string ignore_fault_id = 7; //故障忽略id列表
optional uint32 health_level = 8; //对系统健康状态的总体影响,各个故障影响的加成
optional string downgrade_policy_code = 9; //唯一故障策略描述360后建议车型按该string类型区分 云端pad端按该字符串总计8种做分析处理
repeated string actions = 10; //所有当前存在故障的action 并集
repeated string results = 11; //所有当前存在故障的 result 并集
optional uint32 indirect_fault_num = 19; //间接故障数目
repeated string indirect_fault_id = 20; //间接故障id列表
optional double longitude = 21; //当前位置 经度
optional double latitude = 22; //当前位置 维度
}
message SetHandleFlag {
required bool fault_handle_flag = 1; //故障处理开关0 不处理1处理
optional string set_flag_src = 2; //设置开关消息源如ssm
optional int32 pilot_mode = 3 [default = -1]; //自动驾驶状态
optional string map_version = 4; //map的版本信息
}
message KeyFaultInfo {
required string key_node_name = 1; //故障发生节点
repeated string fault_id = 2; //故障标识,每个告警有一个全域唯一的标识
optional uint32 node_fault_level = 3; //对驾驶的影响等级
}
message KeyNodeFault {
required uint64 time = 1; //关键错误时间,毫秒
repeated KeyFaultInfo nodeinfo = 2; //关键故障节点与故障码
optional uint32 health_level = 3; //对系统健康状态的总体影响,各个故障影响的加成
}

View File

@@ -447,7 +447,9 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
NodeStateInfo info = getNodeStateInfo(AdasConstants.NodeName.FSM2024);
info.setNodeState(isSupport > 0 ? AdasConstants.NodeState.NODE_EXIST : AdasConstants.NodeState.NODE_NOT_EXIST);
info.setExistState(existState);
listener.onNodeStateInfo(info);
if (listener != null) {
listener.onNodeStateInfo(info);
}
}
private synchronized void onCallSSMTimeout(AdasConstants.SsmSource source, boolean isTimeout) {
@@ -463,7 +465,9 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
NodeStateInfo info = getNodeStateInfo(AdasConstants.NodeName.SSM);
info.setNodeState(AdasConstants.NodeState.NODE_EXIST);
info.setExistState(isTimeout ? AdasConstants.NodeExistState.NODE_EXIST_TIMEOUT : AdasConstants.NodeExistState.NODE_EXIST_NORMAL);
listener.onNodeStateInfo(info);
if (listener != null) {
listener.onNodeStateInfo(info);
}
}
}
@@ -473,7 +477,9 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
NodeStateInfo info = getNodeStateInfo(AdasConstants.NodeName.FSM2024);
info.setNodeState(AdasConstants.NodeState.NODE_EXIST);
info.setExistState(isTimeout ? AdasConstants.NodeExistState.NODE_EXIST_TIMEOUT : AdasConstants.NodeExistState.NODE_EXIST_NORMAL);
listener.onNodeStateInfo(info);
if (listener != null) {
listener.onNodeStateInfo(info);
}
}
}

View File

@@ -59,6 +59,8 @@ public class FSM2024StateMessage extends MyAbstractMessageHandler {
mode = 1;//自动驾驶
} else if (fsmState.getActiveMode() == Fsm2024.ActiveMode.PARALLEL_ACTIVE || fsmState.getActiveMode().getNumber() == 6) {
mode = 6;//远程驾驶
} else if (fsmState.getActiveMode() == Fsm2024.ActiveMode.M1_STEER_ACTIVE || fsmState.getActiveMode().getNumber() == 9) {
mode = 9;//模拟器驾驶
} else {
mode = 0;//人工驾驶
}