[610][adas]能否启动自驾条件修改,Taxi无人化操作(DF和HQ)MAP>=360开始移除P档和手刹限制
This commit is contained in:
@@ -30,6 +30,8 @@ public class AutopilotAbility250 {
|
||||
private VehicleStateOuterClass.VehicleState vehicleState;
|
||||
private int mapVersion = -1;//MAP版本
|
||||
private int masterVersion = -1;//Master版本
|
||||
private boolean isHQ = false;//是否是HQ
|
||||
private boolean isDF = false;//是否是DF
|
||||
private OnAutopilotAbilityListener listener;
|
||||
|
||||
protected interface OnAutopilotAbilityListener {
|
||||
@@ -42,8 +44,10 @@ public class AutopilotAbility250 {
|
||||
void onRemoveTimeoutMessages();
|
||||
}
|
||||
|
||||
protected AutopilotAbility250(int mapVersion) {
|
||||
protected AutopilotAbility250(int mapVersion, boolean isHQ, boolean isDF) {
|
||||
this.mapVersion = mapVersion;
|
||||
this.isHQ = isHQ;
|
||||
this.isDF = isDF;
|
||||
this.masterVersion = -1;
|
||||
}
|
||||
|
||||
@@ -151,18 +155,19 @@ public class AutopilotAbility250 {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (vehicleState != null) {
|
||||
//TODO 关于手刹:目前只有老底盘中存在这个字段,df360开始,其他车型未知
|
||||
//电子驻车制动系统
|
||||
if (vehicleState.hasParkingBrake()) {
|
||||
boolean isBrake = vehicleState.getParkingBrake();
|
||||
if (isBrake) {
|
||||
isAutopilotAbility = false;
|
||||
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "施加驻车");
|
||||
if ((!isHQ && !isDF) || mapVersion < 30600) {
|
||||
if (vehicleState != null) {
|
||||
//TODO 关于手刹:目前只有老底盘中存在这个字段,df360开始,其他车型未知
|
||||
//电子驻车制动系统
|
||||
if (vehicleState.hasParkingBrake()) {
|
||||
boolean isBrake = vehicleState.getParkingBrake();
|
||||
if (isBrake) {
|
||||
isAutopilotAbility = false;
|
||||
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "施加驻车");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (listener != null) {
|
||||
listener.onAutopilotAbility(isAutopilotAbility, unableAutopilotReasons);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,10 @@ public class AutopilotAbility350And360 {
|
||||
private static final String TAG = AutopilotAbility250.class.getSimpleName();
|
||||
private ChassisStatesOuterClass.ChassisStates chassisStates;
|
||||
private VehicleStateOuterClass.VehicleState vehicleState;
|
||||
private int mapVersion = -1;//MAP版本
|
||||
private int masterVersion = -1;//Master版本
|
||||
private boolean isHQ = false;//是否是HQ
|
||||
private boolean isDF = false;//是否是DF
|
||||
private OnAutopilotAbilityListener listener;
|
||||
|
||||
protected interface OnAutopilotAbilityListener {
|
||||
@@ -31,7 +34,10 @@ public class AutopilotAbility350And360 {
|
||||
|
||||
}
|
||||
|
||||
protected AutopilotAbility350And360() {
|
||||
protected AutopilotAbility350And360(int mapVersion, boolean isHQ, boolean isDF) {
|
||||
this.mapVersion = mapVersion;
|
||||
this.isHQ = isHQ;
|
||||
this.isDF = isDF;
|
||||
this.masterVersion = -1;
|
||||
}
|
||||
|
||||
@@ -124,18 +130,19 @@ public class AutopilotAbility350And360 {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (vehicleState != null) {
|
||||
//TODO 关于手刹:目前只有老底盘中存在这个字段,df360开始,其他车型未知
|
||||
//电子驻车制动系统
|
||||
if (vehicleState.hasParkingBrake()) {
|
||||
boolean isBrake = vehicleState.getParkingBrake();
|
||||
if (isBrake) {
|
||||
isAutopilotAbility = false;
|
||||
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "施加驻车");
|
||||
if ((!isHQ && !isDF) || mapVersion < 30600) {
|
||||
if (vehicleState != null) {
|
||||
//TODO 关于手刹:目前只有老底盘中存在这个字段,df360开始,其他车型未知
|
||||
//电子驻车制动系统
|
||||
if (vehicleState.hasParkingBrake()) {
|
||||
boolean isBrake = vehicleState.getParkingBrake();
|
||||
if (isBrake) {
|
||||
isAutopilotAbility = false;
|
||||
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "施加驻车");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (listener != null) {
|
||||
listener.onAutopilotAbility(isAutopilotAbility, unableAutopilotReasons);
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class AutopilotAbilityManager implements AutopilotAbility230.OnAutopilotA
|
||||
private boolean isFutianSweeper = false;//是否是福田清扫车
|
||||
private boolean isJinlvM1 = false;//是否是M1
|
||||
private boolean isHQ = false;//是否是HQ
|
||||
private boolean isDF = false;//是否是DF
|
||||
private AutopilotAbility230 autopilotAbility230;
|
||||
private AutopilotAbility250 autopilotAbility250;
|
||||
private AutopilotAbility330 autopilotAbility330;
|
||||
@@ -79,6 +80,7 @@ public class AutopilotAbilityManager implements AutopilotAbility230.OnAutopilotA
|
||||
|
||||
public void setUnableLaunchAutopilotGear(Set<Chassis.GearPosition> unableLaunchAutopilotGear) {
|
||||
this.unableLaunchAutopilotGear = unableLaunchAutopilotGear;
|
||||
taxiUnmanned();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,11 +113,24 @@ public class AutopilotAbilityManager implements AutopilotAbility230.OnAutopilotA
|
||||
return unableAutopilotReasons;
|
||||
}
|
||||
|
||||
/**
|
||||
* Taxi无人化相关,从MAP360开始去掉P档限制和手刹限制
|
||||
*/
|
||||
private void taxiUnmanned() {
|
||||
if ((isHQ || isDF) && mapVersion >= 30600) {
|
||||
if (unableLaunchAutopilotGear != null) {
|
||||
unableLaunchAutopilotGear.remove(Chassis.GearPosition.GEAR_P);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setCarConfig(MessagePad.CarConfigResp carConfig) {
|
||||
mapVersion = carConfig.getMapVersion();
|
||||
isFutianSweeper = carConfig.getIsFutianSweeper();
|
||||
isJinlvM1 = carConfig.getIsJinlvM1();
|
||||
isHQ = carConfig.getIsHQ();
|
||||
isDF = carConfig.getIsDF();
|
||||
taxiUnmanned();
|
||||
if (mapVersion != -1) {
|
||||
stopTimer();
|
||||
CupidLogUtils.i(TAG, "工控机版本=" + mapVersion);
|
||||
@@ -265,7 +280,7 @@ public class AutopilotAbilityManager implements AutopilotAbility230.OnAutopilotA
|
||||
stop330();
|
||||
stop360();
|
||||
if (autopilotAbility350And360 == null) {
|
||||
autopilotAbility350And360 = new AutopilotAbility350And360();
|
||||
autopilotAbility350And360 = new AutopilotAbility350And360(mapVersion, isHQ, isDF);
|
||||
autopilotAbility350And360.start(this);
|
||||
}
|
||||
|
||||
@@ -286,7 +301,7 @@ public class AutopilotAbilityManager implements AutopilotAbility230.OnAutopilotA
|
||||
stop350And360();
|
||||
stop360();
|
||||
if (autopilotAbility250 == null) {
|
||||
autopilotAbility250 = new AutopilotAbility250(mapVersion);
|
||||
autopilotAbility250 = new AutopilotAbility250(mapVersion, isHQ, isDF);
|
||||
autopilotAbility250.start(this);
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user