[660][adas]当能否启动自驾原始数据缩减,只保留有用字段
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user