[660][adas] 当鹰眼不传递可启动自驾档位时,自动调用默认配置
This commit is contained in:
@@ -32,6 +32,23 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes.each {
|
||||
//东风 T1
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_DF', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_D);add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);}}'
|
||||
//红旗 T2
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_HQ', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_D);add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);}}'
|
||||
//金旅小巴 B1
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_D);}}'
|
||||
//金旅M1 M1
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_M1', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_D);}}'
|
||||
//金旅M2 B2
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_M2', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_D);}}'
|
||||
//福田清扫车 C1
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_SWEEPER', 'null'
|
||||
//开沃
|
||||
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'LAUNCH_AUTOPILOT_GEAR_KAIWO', 'null'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
jniLibs.srcDirs = ['libs']
|
||||
|
||||
@@ -208,7 +208,6 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
this.adasOptions = options;
|
||||
}
|
||||
ReceiveTimeoutManager.getInstance().setEnable(adasOptions.isEnableTimeoutDetection(), getIpcConnectionStatus());
|
||||
setLaunchAutopilotGear(adasOptions.getLaunchAutopilotGear());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1125,16 +1124,6 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
adasOptionsBuild(adasOptionsToBuilder().setAutoConnect(enable));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置可以启动自动驾驶的档位
|
||||
*
|
||||
* @param launchAutopilotGear 能起自驾档位 null表示所有档位都可启动
|
||||
*/
|
||||
@Override
|
||||
public void setLaunchAutopilotGear(@Nullable Set<Chassis.GearPosition> launchAutopilotGear) {
|
||||
AutopilotAbilityManager.getInstance().setLaunchAutopilotGear(launchAutopilotGear);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动驾驶设备基础信息应答
|
||||
*
|
||||
|
||||
@@ -1801,7 +1801,6 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
*
|
||||
* @param launchAutopilotGear 能起自驾档位 null表示所有档位都可启动
|
||||
*/
|
||||
@Override
|
||||
public void setLaunchAutopilotGear(@Nullable Set<Chassis.GearPosition> launchAutopilotGear) {
|
||||
AutopilotAbilityManager.getInstance().setLaunchAutopilotGear(launchAutopilotGear);
|
||||
}
|
||||
|
||||
@@ -145,13 +145,6 @@ public interface IAdasNetCommApi {
|
||||
*/
|
||||
void setAutoConnect(boolean enable);
|
||||
|
||||
/**
|
||||
* 设置可以启动自动驾驶的档位
|
||||
*
|
||||
* @param launchAutopilotGear 能起自驾档位 null表示所有档位都可启动
|
||||
*/
|
||||
void setLaunchAutopilotGear(@Nullable Set<Chassis.GearPosition> launchAutopilotGear);
|
||||
|
||||
/**
|
||||
* 自动驾驶设备基础信息应答
|
||||
*
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
@@ -288,7 +286,7 @@ public class AutopilotAbility350And360 {
|
||||
//// }
|
||||
//// }
|
||||
// }
|
||||
Log.i(TAG, "方向盘是否在转动=" + isTurning.get());
|
||||
// Log.i(TAG, "方向盘是否在转动=" + isTurning.get());
|
||||
if (isTurning.get()) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.AdasOptions;
|
||||
import com.zhidao.support.adas.high.BuildConfig;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||
@@ -46,6 +49,8 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
private boolean isJinlvM1 = false;//是否是M1
|
||||
private boolean isJinlvM2 = false;//是否是M2
|
||||
private boolean isHQ = false;//是否是HQ
|
||||
private boolean isDF = false;//是否是DF
|
||||
private boolean isKaiwo = false;//是否是开沃
|
||||
private AutopilotAbility230 autopilotAbility230;
|
||||
private AutopilotAbility250 autopilotAbility250;
|
||||
private AutopilotAbility330 autopilotAbility330;
|
||||
@@ -60,10 +65,6 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
private final AtomicBoolean isOldSsmTimeout = new AtomicBoolean(false);//SSM是否超时 老状态
|
||||
private final AtomicBoolean isOldFsmTimeout = new AtomicBoolean(false);//FSM是否超时 老状态
|
||||
private final AtomicBoolean isInitCarConfig = new AtomicBoolean(false);//车辆信息是否初始化
|
||||
/**
|
||||
* 能启动自动驾驶的档位
|
||||
*/
|
||||
private Set<Chassis.GearPosition> launchAutopilotGear;
|
||||
private boolean isSupportFSM2024 = false;
|
||||
|
||||
private AutopilotAbilityManager() {
|
||||
@@ -81,7 +82,6 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
}
|
||||
|
||||
public void setLaunchAutopilotGear(Set<Chassis.GearPosition> launchAutopilotGear) {
|
||||
this.launchAutopilotGear = launchAutopilotGear;
|
||||
if (autopilotAbility230 != null) {
|
||||
autopilotAbility230.setLaunchAutopilotGear(launchAutopilotGear);
|
||||
} else if (autopilotAbility250 != null) {
|
||||
@@ -119,16 +119,15 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
isJinlvM1 = carConfig.getIsJinlvM1();
|
||||
isJinlvM2 = carConfig.getIsJinlvM2();
|
||||
isHQ = carConfig.getIsHQ();
|
||||
isDF = carConfig.getIsDF();
|
||||
isKaiwo = carConfig.getIsKaiwo();
|
||||
initAutopilotAbility();
|
||||
if (autopilotAbility230 != null) {
|
||||
autopilotAbility230.setCarConfig(carConfig);
|
||||
autopilotAbility230.setLaunchAutopilotGear(launchAutopilotGear);
|
||||
} else if (autopilotAbility250 != null) {
|
||||
autopilotAbility250.setCarConfig(carConfig);
|
||||
autopilotAbility250.setLaunchAutopilotGear(launchAutopilotGear);
|
||||
} else if (autopilotAbility350And360 != null) {
|
||||
autopilotAbility350And360.setCarConfig(carConfig);
|
||||
autopilotAbility350And360.setLaunchAutopilotGear(launchAutopilotGear);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -256,6 +255,33 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
if (autopilotAbility230 == null) {
|
||||
startTimeoutTimer();//MAP230及以下没有SSM和FSM所以不需要超时
|
||||
}
|
||||
Set<Chassis.GearPosition> launchAutopilotGear = getGearPositions();
|
||||
setLaunchAutopilotGear(launchAutopilotGear);
|
||||
}
|
||||
|
||||
private @Nullable Set<Chassis.GearPosition> getGearPositions() {
|
||||
AdasOptions options = AdasManager.getInstance().getAdasOptions();
|
||||
Set<Chassis.GearPosition> launchAutopilotGear = null;//用户未配置或未知车型时,默认null
|
||||
if (options != null && options.getLaunchAutopilotGear() != null) {
|
||||
launchAutopilotGear = options.getLaunchAutopilotGear();
|
||||
} else {
|
||||
if (isDF) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_DF;
|
||||
} else if (isHQ) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_HQ;
|
||||
} else if (isJinlv) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_BUS;
|
||||
} else if (isJinlvM1) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_M1;
|
||||
} else if (isJinlvM2) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_M2;
|
||||
} else if (isFutianSweeper) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_SWEEPER;
|
||||
} else if (isKaiwo) {
|
||||
launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR_KAIWO;
|
||||
}
|
||||
}
|
||||
return launchAutopilotGear;
|
||||
}
|
||||
|
||||
private void stop230() {
|
||||
@@ -414,10 +440,12 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
isInitCarConfig.set(false);
|
||||
mapVersion = -1;
|
||||
isFutianSweeper = false;
|
||||
isDF = false;
|
||||
isHQ = false;
|
||||
isJinlv = false;
|
||||
isJinlvM1 = false;
|
||||
isJinlvM2 = false;
|
||||
isKaiwo = false;
|
||||
isSupportFSM2024 = false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user