[650][adas] 新增FSM2024接口;新增FSM2024超时接口,FSM数据接入新增检测能否启动自驾440兼容版本;
This commit is contained in:
@@ -30,6 +30,7 @@ public enum MessageType {
|
||||
TYPE_RECEIVE_M1_STITCHED_VIDEO(MessagePad.MessageType.MsgTypeM1StitchedVideo, "M1拼接视频"),
|
||||
TYPE_RECEIVE_SSM(MessagePad.MessageType.MsgTypeSSMState, "SSM系统状态"),
|
||||
TYPE_RECEIVE_FM_STATE(MessagePad.MessageType.MsgTypeFMState, "FM状态"),
|
||||
TYPE_RECEIVE_FSM2024_STATE(MessagePad.MessageType.MsgTypeFSM2024State, "FSM状态"),
|
||||
TYPE_RECEIVE_LOC_STATE(MessagePad.MessageType.MsgTypeLocState, "定位状态"),
|
||||
|
||||
TYPE_RECEIVE_BASIC_INFO_REQ(MessagePad.MessageType.MsgTypeBasicInfoReq, "自动驾驶设备基础信息请求"),
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.json.JSONObject;
|
||||
|
||||
import chassis.Chassis;
|
||||
import chassis.ChassisStatesOuterClass;
|
||||
import fsm.Fsm2024;
|
||||
import function_state_management.FSMStatusReasonQueryOuterClass;
|
||||
import system_master.SsmInfo;
|
||||
import system_master.SystemStatusInfo;
|
||||
@@ -45,14 +46,19 @@ public class LaunchConditionData {
|
||||
*/
|
||||
public final SsmInfo.SsmStatusInf ssmInfo;
|
||||
public final FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond;//FSM数据
|
||||
public final Fsm2024.FSMStateMsg fsmState;//FSM数据
|
||||
|
||||
public final long createTime;
|
||||
|
||||
public LaunchConditionData(String abilityVersion, Fsm2024.FSMStateMsg fsmState) {
|
||||
this(abilityVersion, null, Float.MAX_VALUE, null, null, null, null, fsmState);
|
||||
}
|
||||
|
||||
public LaunchConditionData(String abilityVersion,
|
||||
SystemStatusInfo.StatusInfo statusInfo,
|
||||
SsmInfo.SsmStatusInf ssmInfo,
|
||||
FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
||||
this(abilityVersion, null, Float.MAX_VALUE, null, statusInfo, ssmInfo, fsmStatusReasonRespond);
|
||||
this(abilityVersion, null, Float.MAX_VALUE, null, statusInfo, ssmInfo, fsmStatusReasonRespond, null);
|
||||
}
|
||||
|
||||
public LaunchConditionData(String abilityVersion,
|
||||
@@ -62,6 +68,17 @@ public class LaunchConditionData {
|
||||
SystemStatusInfo.StatusInfo statusInfo,
|
||||
SsmInfo.SsmStatusInf ssmInfo,
|
||||
FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
||||
this(abilityVersion, chassisStates, oldSteering, light, statusInfo, ssmInfo, fsmStatusReasonRespond, null);
|
||||
}
|
||||
|
||||
public LaunchConditionData(String abilityVersion,
|
||||
ChassisStatesOuterClass.ChassisStates chassisStates,
|
||||
float oldSteering,
|
||||
Chassis.LightSwitch light,
|
||||
SystemStatusInfo.StatusInfo statusInfo,
|
||||
SsmInfo.SsmStatusInf ssmInfo,
|
||||
FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond,
|
||||
Fsm2024.FSMStateMsg fsmState) {
|
||||
this.abilityVersion = abilityVersion;
|
||||
this.chassisStates = chassisStates;
|
||||
this.oldSteering = oldSteering;
|
||||
@@ -69,6 +86,7 @@ public class LaunchConditionData {
|
||||
this.statusInfo = statusInfo;
|
||||
this.ssmInfo = ssmInfo;
|
||||
this.fsmStatusReasonRespond = fsmStatusReasonRespond;
|
||||
this.fsmState = fsmState;
|
||||
createTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
@@ -78,9 +96,10 @@ public class LaunchConditionData {
|
||||
jsonObject.put("ability_version", abilityVersion);
|
||||
jsonObject.put("create_object_time", createTime);
|
||||
JSONArray array = new JSONArray();
|
||||
JSONObject chassisStatesObject = new JSONObject();
|
||||
chassisStatesObject.put("name", "ChassisStates");
|
||||
JSONObject chassisStatesObject = null;
|
||||
if (chassisStates != null) {
|
||||
chassisStatesObject = new JSONObject();
|
||||
chassisStatesObject.put("name", "ChassisStates");
|
||||
if (chassisStates.hasHeader()) {
|
||||
chassisStatesObject.put("data_header", TextFormat.printer().escapingNonAscii(false).printToString(chassisStates.getHeader()));
|
||||
}
|
||||
@@ -120,18 +139,27 @@ public class LaunchConditionData {
|
||||
}
|
||||
//车灯
|
||||
if (light != null) {
|
||||
if (chassisStatesObject == null) {
|
||||
chassisStatesObject = new JSONObject();
|
||||
chassisStatesObject.put("name", "ChassisStates");
|
||||
}
|
||||
chassisStatesObject.put("light", light.name());
|
||||
}
|
||||
array.put(chassisStatesObject);
|
||||
if (chassisStatesObject != null) {
|
||||
array.put(chassisStatesObject);
|
||||
}
|
||||
if (statusInfo != null) {
|
||||
arrayPut(array, statusInfo.getClass().getName(), statusInfo.getAutoPilotReady(), statusInfo.getAutoPilotUnreadyReason());
|
||||
arrayPut(array, statusInfo);
|
||||
}
|
||||
if (ssmInfo != null) {
|
||||
arrayPut(array, ssmInfo.getClass().getName(), ssmInfo.getAutoPilotReady(), ssmInfo.getAutoPilotUnreadyReason());
|
||||
arrayPut(array, ssmInfo);
|
||||
}
|
||||
if (fsmStatusReasonRespond != null) {
|
||||
arrayPut(array, fsmStatusReasonRespond);
|
||||
}
|
||||
if (fsmState != null) {
|
||||
arrayPut(array, fsmState);
|
||||
}
|
||||
if (array.length() > 0) {
|
||||
jsonObject.put("data", array);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ public class UnableLaunchReason {
|
||||
CHASSIS,//底盤
|
||||
SSM,
|
||||
FSM,
|
||||
FSM2024,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -31,7 +32,9 @@ public class UnableLaunchReason {
|
||||
CHASSIS_HAZARD_LIGHTS,//危险报警灯
|
||||
SSM_OFFER,//SSM提供的原因
|
||||
FSM_OFFER,//FSM提供的原因
|
||||
SSM_TIMEOUT//SSM超时
|
||||
FSM2024_OFFER,//FSM2024提供的原因
|
||||
SSM_TIMEOUT,//SSM超时
|
||||
FSM2024_TIMEOUT//FSM2024超时
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user