[adas] MessagePad.CarConfigResp增加车型字段,增加解析后的MAP版本字段
This commit is contained in:
@@ -27,7 +27,10 @@ class AsyncDataToAutopilotServer private constructor() : IMoGoTrafficLightListen
|
||||
}
|
||||
|
||||
override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) {
|
||||
val version = AdasManager.getInstance().mapVersion
|
||||
var version = -1
|
||||
if (AdasManager.getInstance().carConfig != null) {
|
||||
version = AdasManager.getInstance().carConfig.mapVersion
|
||||
}
|
||||
if (version > -1 && version < 290)
|
||||
CallerAutoPilotControlManager.sendTrafficLightData(trafficLightResult)
|
||||
}
|
||||
|
||||
@@ -316,6 +316,15 @@ message CarConfigResp
|
||||
double maxAcceleration = 8; //最大加速度, 单位:m/s²
|
||||
string carType = 9; //车辆类型
|
||||
string subCarType = 10; //车辆子类型
|
||||
reserved 11 to 100;
|
||||
int32 mapVersion = 101;//dockVersion解析出版本号,解析失败为-1。例如:"MAP-taxi_RoboTaxi_df_2.8.0.3_20220928_test" 解析结果为:280
|
||||
bool isDF = 102;//车型是否是东风
|
||||
bool isHQ = 103;//车型是否是红旗
|
||||
bool isJinlv = 104;//车型是否是金旅小巴
|
||||
bool isJinlvM1 = 105;//车型是否是金旅M1
|
||||
bool isJinlvM2 = 106;//车型是否是金旅M2
|
||||
bool isFutianSweeper = 107;//车型是否是福田清扫车
|
||||
bool isKaiwo = 108;//车型是否是开沃
|
||||
}
|
||||
|
||||
// message definition for MsgTypeRecordCause
|
||||
|
||||
@@ -42,7 +42,6 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
*/
|
||||
private static final int PROTOCOL_VERSION = MessagePad.ProtocolVersion.CurrentVersion.getNumber();
|
||||
private volatile MessagePad.CarConfigResp carConfig;
|
||||
private int mapVersion = -1;//当前连接的MAP版本,断开连接会置为-1
|
||||
private static final String ADAS_VERSION = BuildConfig.VERSION_NAME;
|
||||
private final Pattern pattern = Pattern.compile("\\d+\\.\\d+\\.\\d+");
|
||||
|
||||
@@ -65,20 +64,6 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
|
||||
public synchronized void setCarConfig(MessagePad.CarConfigResp carConfig) {
|
||||
this.carConfig = carConfig;
|
||||
if (carConfig != null) {
|
||||
mapVersion = parseVersion(carConfig.getDockVersion());
|
||||
} else {
|
||||
mapVersion = -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前连接的MAP版本,断开连接会置为-1
|
||||
*
|
||||
* @return 版本
|
||||
*/
|
||||
public int getMapVersion() {
|
||||
return mapVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.zhidao.support.adas.high.msg;
|
||||
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.zhidao.support.adas.high.AdasChannel;
|
||||
@@ -20,6 +21,7 @@ public class CarConfigRespMessage extends MyAbstractMessageHandler {
|
||||
@Override
|
||||
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
|
||||
MessagePad.CarConfigResp carConfigResp = MessagePad.CarConfigResp.parser().parseFrom(raw.originalData.toByteArray(), raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
||||
carConfigResp = addPersonalParameter(carConfigResp);
|
||||
AdasChannel.calculateTimeConsumingOnDispatchRaw("车机基础信息应答", raw.receiveTime);
|
||||
AutopilotAbilityManager.getInstance().setCarConfig(carConfigResp);
|
||||
AdasManager.getInstance().setCarConfig(carConfigResp);
|
||||
@@ -32,4 +34,27 @@ public class CarConfigRespMessage extends MyAbstractMessageHandler {
|
||||
AdasChannel.calculateTimeConsumingBusiness("车机基础信息应答", nowTime);
|
||||
CupidLogUtils.e("车机基础信息应答--->" + carConfigResp.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加私有参数
|
||||
*/
|
||||
private MessagePad.CarConfigResp addPersonalParameter(MessagePad.CarConfigResp carConfigResp) {
|
||||
if (carConfigResp != null) {
|
||||
String dockVersion = carConfigResp.getDockVersion();
|
||||
String carType = carConfigResp.getCarType().toLowerCase();
|
||||
String subCarType = carConfigResp.getSubCarType().toLowerCase();
|
||||
MessagePad.CarConfigResp.Builder builder = carConfigResp.toBuilder();
|
||||
builder.setMapVersion(AdasManager.getInstance().parseVersion(dockVersion));
|
||||
builder.setIsDF("df".equals(carType))//是否是东风
|
||||
.setIsHQ("hq".equals(carType))//是否是红旗
|
||||
.setIsJinlv("jinlv".equals(carType) && TextUtils.isEmpty(subCarType))//是否是金旅小巴
|
||||
.setIsJinlvM1("jinlv".equals(carType) && "m1".equals(subCarType))//是否是金旅M1
|
||||
.setIsJinlvM2("jinlv".equals(carType) && "m2".equals(subCarType))//是否是金旅M2
|
||||
.setIsFutianSweeper("sweeper".equals(carType))//是否是福田清扫车
|
||||
.setIsKaiwo("kaiwo".equals(carType));//是否是开沃
|
||||
return builder.build();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user