[6.5.0]红绿灯逻辑调整
This commit is contained in:
@@ -105,6 +105,12 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
"${SceneConstant.M_D_C}${TAG}",
|
||||
"onAutopilotPerceptionTrafficLight ---- hasObuLightStatus = $hasObuLightStatus ----hasAiLightStatus = $hasAiLightStatus , trafficLights : ${trafficLights?:"null"}"
|
||||
)
|
||||
Log.i(TAG,"source="+trafficLights?.source)
|
||||
if(trafficLights?.source == 2){
|
||||
hasObuLightStatus = false
|
||||
hasAiLightStatus = false
|
||||
hasFusionLightStatus = true
|
||||
}
|
||||
if (!hasObuLightStatus) {
|
||||
if (!hasAiLightStatus) {
|
||||
trafficLights?.let {
|
||||
@@ -130,6 +136,7 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
if (!hasAutopilotPerception) {
|
||||
hasAutopilotPerception = true
|
||||
}
|
||||
|
||||
if(light.nextState == null || light.nextState == FusionTrafficLightOuterClass.FusionLightState.STATE_OFF_FUSION
|
||||
|| light.nextTwoState == null || light.nextTwoState == FusionTrafficLightOuterClass.FusionLightState.STATE_OFF_FUSION){
|
||||
if (HmiBuildConfig.isShowCarSourceTrafficLightView) {
|
||||
@@ -147,17 +154,25 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
onTrafficLightPlusSource(convert(light.state), 0, DataSourceType.TELEMATIC)
|
||||
}
|
||||
}else{
|
||||
//有下一和下二灯态,则为融合V2N红绿灯数据
|
||||
onFusionTrafficLight(convert(light.state),light.duration.toInt(),
|
||||
convert(light.nextState),light.nextDuration.toInt(),
|
||||
convert(light.nextTwoState),light.nextTwoDuration.toInt(),
|
||||
DataSourceType.TELEMATIC_UNION_V2N
|
||||
)
|
||||
//当前灯态倒计时小于5S时,展示额外的提示框
|
||||
if(light.duration < 5){
|
||||
onTrafficLightPrompt(convert(light.state),light.duration.toInt())
|
||||
Log.i(TAG,"current state="+light.state+" current duration="+light.duration+
|
||||
" nextState="+light.nextState+" nextDuration="+light.nextDuration+
|
||||
" nextTwoState="+light.nextTwoState+" nextTwoDuration="+light.nextTwoDuration)
|
||||
if(convert(light.state) == TrafficLightEnum.BLACK){
|
||||
//隐藏当前红绿灯以及额外提示框
|
||||
CallerTrafficLightListenerManager.disableTrafficLight()
|
||||
}else{
|
||||
//有下一和下二灯态,则为融合V2N红绿灯数据
|
||||
onFusionTrafficLight(convert(light.state),light.duration.toInt(),
|
||||
convert(light.nextState),light.nextDuration.toInt(),
|
||||
convert(light.nextTwoState),light.nextTwoDuration.toInt(),
|
||||
DataSourceType.TELEMATIC_UNION_V2N
|
||||
)
|
||||
//当前灯态倒计时小于5S时,展示额外的提示框
|
||||
if(light.duration < 5){
|
||||
onTrafficLightPrompt(convert(light.state),light.duration,convert(light.nextState),light.nextDuration,
|
||||
convert(light.nextTwoState),light.nextTwoDuration)
|
||||
}
|
||||
}
|
||||
//TODO 提示框的消失逻辑
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -277,10 +292,11 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
linkCode = ChainConstant.CHAIN_SOURCE_ADAS,
|
||||
nodeAliasCode = ChainConstant.CHAIN_CODE_ADAS_TRAFFIC_LIGHT,
|
||||
paramIndexes = [0, 1])
|
||||
override fun onTrafficLightPrompt(currentState: TrafficLightEnum, currentDuration: Int) {
|
||||
super.onTrafficLightPrompt(currentState, currentDuration)
|
||||
Log.i("xuxinchao","融合V2N红绿灯额外提示框提醒 Dis")
|
||||
CallerTrafficLightListenerManager.onShowTrafficLightPrompt(currentState, currentDuration)
|
||||
override fun onTrafficLightPrompt(currentState: TrafficLightEnum, currentDuration: Float,
|
||||
nextState: TrafficLightEnum, nextDuration: Float,
|
||||
nextTwoState: TrafficLightEnum, nextTwoDuration: Float) {
|
||||
super.onTrafficLightPrompt(currentState, currentDuration,nextState, nextDuration, nextTwoState, nextTwoDuration)
|
||||
CallerTrafficLightListenerManager.onShowTrafficLightPrompt(currentState, currentDuration,nextState, nextDuration, nextTwoState, nextTwoDuration)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user