[660][adas]当能否启动自驾原始数据缩减,只保留有用字段

This commit is contained in:
xinfengkun
2024-08-09 16:55:52 +08:00
parent 3de4b0d0f2
commit 3610f7878b

View File

@@ -9,6 +9,8 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.List;
import chassis.Chassis;
import chassis.ChassisStatesOuterClass;
import fsm.Fsm2024;
@@ -149,16 +151,16 @@ public class LaunchConditionData {
array.put(chassisStatesObject);
}
if (statusInfo != null) {
arrayPut(array, statusInfo);
arrayPutSSM1(array, statusInfo);
}
if (ssmInfo != null) {
arrayPut(array, ssmInfo);
}
if (fsmStatusReasonRespond != null) {
arrayPut(array, fsmStatusReasonRespond);
arrayPutSSM2(array, ssmInfo);
}
// if (fsmStatusReasonRespond != null) {
// arrayPut(array, fsmStatusReasonRespond);
// }
if (fsmState != null) {
arrayPut(array, fsmState);
arrayPutFSM(array, fsmState);
}
if (array.length() > 0) {
jsonObject.put("data", array);
@@ -169,14 +171,53 @@ public class LaunchConditionData {
return jsonObject.toString();
}
private void arrayPut(JSONArray array, String name, boolean isReady, String reason) throws JSONException {
private void arrayPutSSM1(JSONArray array, SystemStatusInfo.StatusInfo ssmInfo) throws JSONException {
JSONObject objectParse = new JSONObject();
objectParse.put("auto_pilot_ready", isReady);
if (reason != null) {
objectParse.put("auto_pilot_unready_reason", reason);
}
objectParse.put("map_version", ssmInfo.getMapVersion());
objectParse.put("master_version", ssmInfo.getMasterVersion());
objectParse.put("auto_pilot_ready", ssmInfo.getAutoPilotReady());
objectParse.put("auto_pilot_unready_reason", ssmInfo.getAutoPilotUnreadyReason());
JSONObject object = new JSONObject();
object.put("name", name);
object.put("name", ssmInfo.getClass().getName());
object.put("parse", objectParse);
array.put(object);
}
private void arrayPutSSM2(JSONArray array, SsmInfo.SsmStatusInf ssmInfo) throws JSONException {
JSONObject objectParse = new JSONObject();
objectParse.put("map_version", ssmInfo.getMapVersion());
objectParse.put("master_version", ssmInfo.getMasterVersion());
objectParse.put("auto_pilot_ready", ssmInfo.getAutoPilotReady());
List<SsmInfo.NodeInf> autoPilotUnreadyList = ssmInfo.getAutoPilotUnreadyListList();
if (!autoPilotUnreadyList.isEmpty()) {
JSONArray arr = new JSONArray();
for (SsmInfo.NodeInf inf : autoPilotUnreadyList) {
arr.put(TextFormat.printer().escapingNonAscii(false).printToString(inf));
}
objectParse.put("auto_pilot_unready_list", arr);
}else {
objectParse.put("auto_pilot_unready_list", "null");
}
objectParse.put("auto_pilot_unready_reason", ssmInfo.getAutoPilotUnreadyReason());
JSONObject object = new JSONObject();
object.put("name", ssmInfo.getClass().getName());
object.put("parse", objectParse);
array.put(object);
}
private void arrayPutFSM(JSONArray array, Fsm2024.FSMStateMsg fsmState) throws JSONException {
JSONObject objectParse = new JSONObject();
objectParse.put("header", TextFormat.printer().escapingNonAscii(false).printToString(fsmState.getHeader()));
objectParse.put("function_state", fsmState.getFunctionState());
objectParse.put("fsm_safety_stop_mode", fsmState.getFsmSafetyStopMode());
objectParse.put("active_mode", fsmState.getActiveMode());
objectParse.put("pilot_standby_flag", fsmState.getPilotStandbyFlag());
objectParse.put("pilot_not_standby_reason", fsmState.getPilotNotStandbyReason());
objectParse.put("fail_to_pilot_session_id", fsmState.getFailToPilotSessionId());
objectParse.put("abnormal_state_trans_reason", fsmState.getAbnormalStateTransReason());
JSONObject object = new JSONObject();
object.put("name", fsmState.getClass().getName());
object.put("parse", objectParse);
array.put(object);
}