diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XLimitingVelocityBroadcastReceiver.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XLimitingVelocityBroadcastReceiver.kt
index decc8450d8..fad928ffe7 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XLimitingVelocityBroadcastReceiver.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XLimitingVelocityBroadcastReceiver.kt
@@ -56,8 +56,8 @@ class V2XLimitingVelocityBroadcastReceiver : BroadcastReceiver() {
*
* @param limitingVelocitySpeed 限速速度
*/
- private fun dispatchShowWaring(limitingVelocitySpeed: Int) { // TODO liyz
- CallerHmiManager.showLimitingVelocity(limitingVelocitySpeed, 3)
+ private fun dispatchShowWaring(limitingVelocitySpeed: Int) { // TODO
+// CallerHmiManager.showLimitingVelocity(limitingVelocitySpeed, 3)
}
/**
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XTrafficLightBroadcastReceiver.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XTrafficLightBroadcastReceiver.kt
index b6599e45b2..9bc78d5409 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XTrafficLightBroadcastReceiver.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XTrafficLightBroadcastReceiver.kt
@@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.hmi.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
+import android.util.Log
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.hmi.WaringConst
@@ -69,6 +70,7 @@ class V2XTrafficLightBroadcastReceiver : BroadcastReceiver() {
* 关闭交通灯
*/
private fun dispatchCloseWaring() {
+ Log.d("liyz", "receiver dispatchCloseWaring disableWarningTrafficLight ")
CallerHmiManager.disableWarningTrafficLight()
}
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XWarningBroadcastReceiver.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XWarningBroadcastReceiver.kt
index 47a26ddbc3..aa0216cc31 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XWarningBroadcastReceiver.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/V2XWarningBroadcastReceiver.kt
@@ -75,8 +75,8 @@ class V2XWarningBroadcastReceiver : BroadcastReceiver() {
ttsContent: String?,
tag: String?
) {
- if (EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType == v2xType.toString()) {
- CallerHmiManager.showLimitingVelocity(1, 4)
+ if (EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType == v2xType.toString()) { //TODO
+// CallerHmiManager.showLimitingVelocity(1, 4)
}
if (alertContent.isNullOrEmpty() || ttsContent.isNullOrEmpty()) {
Log.d("MsgBox-V2XWarningBR", "alertContent或ttsContent为空!")
diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-obu-mogo/src/main/AndroidManifest.xml
index dc0250ec9b..1f72d0c85c 100644
--- a/core/function-impl/mogo-core-function-obu-mogo/src/main/AndroidManifest.xml
+++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/AndroidManifest.xml
@@ -33,6 +33,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoObuDcCombineManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoObuDcCombineManager.kt
index d9f89b07cb..e3dbad41b2 100644
--- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoObuDcCombineManager.kt
+++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoObuDcCombineManager.kt
@@ -1,6 +1,7 @@
package com.mogo.eagle.core.function.obu.mogo
import android.content.Context
+import android.util.Log
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
@@ -509,6 +510,7 @@ class MogoObuDcCombineManager private constructor() : IMoGoObuDcCombineListener
// 删除
MogoObuConstants.STATUS.DELETE -> {
// 移除顶部弹窗,当收不到信号的时候触发一次
+ Log.d("liyz", "obudc handlerTrafficLight disableWarningTrafficLight() ---> ")
CallerHmiManager.disableWarningTrafficLight()
CallerHmiManager.disableWarningV2X(appId.toString())
isShowGreenWave = false
diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt
index 7daa235318..55943a67b8 100644
--- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt
+++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt
@@ -691,8 +691,8 @@ class MogoPrivateObuManager private constructor() {
// 删除
ObuConstants.STATUS.DELETE -> {
// 移除顶部弹窗
+ Log.e("liyz", "old obu delete disableWarningTrafficLight() ------>")
CallerHmiManager.disableWarningTrafficLight()
- Log.e("liyz", "old obu delete ------>")
// CallerHmiManager.disableWarningV2X(appId.toString())
}
}
diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt
index 05f98e7355..cc4f60497f 100644
--- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt
+++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt
@@ -183,17 +183,22 @@ class MogoPrivateObuNewManager private constructor() {
CallerLogger.d("$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", data.toString())
data.let {
//预警信息,预警类型 threat_level 2、3
- var status = data.status
data.vehBasicsMsg?.let {
//预警方位
val direction = getMessageDirection(data.vehBasicsMsg.targetPosition)
//处理预警类型
var appId = ""
var level = -1
+ var status = -1
data.warningMsg?.let {
if (data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) {
level = data.warningMsg.warningData[0].warningLevel
appId = data.warningMsg.warningData[0].warningType.toString()
+ status = data.warningMsg.warningData[0].status
+ //拼凑数据
+ if (appId != null) {
+ handleSdkObu(appId, direction, status, level, data)
+ }
}
}
@@ -203,10 +208,6 @@ class MogoPrivateObuNewManager private constructor() {
getMessageDirection(data.vehBasicsMsg.targetPosition)
} --- direction = $direction --- appId = $appId ---level = $level -- status = $status"
)
- //拼凑数据
- if (appId != null) {
- handleSdkObu(appId, direction, status, level, data)
- }
}
}
}
@@ -229,6 +230,9 @@ class MogoPrivateObuNewManager private constructor() {
}
}
+ val rsiMap = mutableMapOf()
+ val rsmMap = mutableMapOf()
+
/**
* RSI预警信息 onMogoObuRsiWarning(交通标志预警(前方限速、前方学校等等),交通事件预警(前方拥堵、前方积水等等))
*/
@@ -401,6 +405,22 @@ class MogoPrivateObuNewManager private constructor() {
}
}
+ //15秒内同一个事件只出现一次
+ if (rsiMap.containsKey(appId)) {
+ var oldTime = rsiMap[appId]
+ var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000
+ Log.d("lixp", "----1-- timeDiff = $timeDiff --appId = $appId")
+ if (timeDiff < 15) {
+ return
+ }
+ rsiMap.remove(appId)
+ rsiMap[appId] = System.currentTimeMillis()
+ Log.d("lixp", "---- timeDiff-----------2-----------")
+ } else {
+ rsiMap[appId] = System.currentTimeMillis()
+ }
+ Log.d("lixp", "---- timeDiff-----------3-----------")
+
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}",
"new onMogoObuRsiWarning appId = $appId --- ttsContent = $ttsContent --alertContent = $alertContent -- eventSerialNum = ${data.warningMsg[0].eventSerialNum} ---signSerialNum = ${data.warningMsg[0].signSerialNum} ---direction = ${direction.direction} --distance = ${
@@ -480,6 +500,10 @@ class MogoPrivateObuNewManager private constructor() {
data: MogoObuRsmWarningData?
) {
super.onMogoObuRsmWarning(data)
+ CallerLogger.d(
+ "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}",
+ "onMogoObuRsmWarning ------> ${data.toString()}"
+ )
// if (HmiBuildConfig.isShowObuV2iView) {
if (HmiBuildConfig.isShowObuWeaknessTrafficView) {
// 交通参与者类型 0x0:未知 UNKNOWN | 1机动车 2:非机动车 NON_MOTOR | 3:行人 PEDESTRIAN 4:obu
@@ -502,16 +526,66 @@ class MogoPrivateObuNewManager private constructor() {
EventTypeEnumNew.getWarningContent(v2xType)
var level = -1
val direction = getMessageDirection(data.participant.targetPosition)
+
+ //15秒内同一个事件只出现一次
+ if (rsmMap.containsKey(v2xType)) {
+ var oldTime = rsmMap[v2xType]
+ var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000
+ Log.e("lixp", "onMogoObuRsmWarning ------ timeDiff---1----- = $timeDiff --v2xType = $v2xType")
+ if (timeDiff < 15) {
+ return
+ }
+ rsmMap.remove(v2xType)
+ rsmMap[v2xType] = System.currentTimeMillis()
+ Log.e("lixp", "onMogoObuRsmWarning ---- timeDiff---------2---------")
+ } else {
+ rsmMap[v2xType] = System.currentTimeMillis()
+ }
+ Log.e("lixp", "onMogoObuRsmWarning ---- timeDiff----------3---------")
+
+ //物体数据绘制 TODO 这里与dc通过工控机有区别
+ when (data.status) {
+ MogoObuConstants.STATUS.ADD -> { // 添加
+ // 更新数据
+ TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)
+ ?.let {
+ CallerLogger.d(
+ "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}",
+ "add cvxPtcThreatIndInfo2TrafficData ---it---> $it"
+ )
+ CallerMapUIServiceManager.getMarkerService()
+ ?.updateITrafficThreatLevelInfo(it)
+ }
+ }
+
+ MogoObuConstants.STATUS.UPDATE -> {// 更新
+ }
+
+ MogoObuConstants.STATUS.DELETE -> { // 删除
+ // 更新数据 TODO 删除原来的,改变颜色,删除marker。不影响别的模型添加
+ TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)
+ ?.let {
+ // 事件结束,还原交通参与者颜色
+ it.threatLevel = 0x01
+ CallerMapUIServiceManager.getMarkerService()
+ ?.updateITrafficThreatLevelInfo(it)
+ }
+
+ //删除弱势交通元素
+ CallerMapUIServiceManager.getMarkerService()
+ ?.removeCvxRvInfoIndInfo(data.participant.ptcId.toString())
+ }
+ }
+
+ //预警status
if (data.warningMsg != null && data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) {
level = data.warningMsg.warningData[0].warningLevel //默认是1个
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}",
"onMogoObuRsmWarning ---status---> ${data.status} ---data.warningMsg.warningData[0].status = ${data.warningMsg.warningData[0].status} ---v2xType = $v2xType ---alertContent = $alertContent ---ttsContent = $ttsContent "
)
-
when (data.warningMsg.warningData[0].status) {
MogoObuConstants.STATUS.ADD -> { // 添加
-// if (level == 2 || level == 3) { //不考虑level
//显示警告红边
CallerHmiManager.showWarning(direction)
CallerMsgBoxManager.saveMsgBox(
@@ -542,39 +616,14 @@ class MogoPrivateObuNewManager private constructor() {
true,
5000L
)
-// }
-
- // 更新数据
- TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)
- ?.let {
- CallerLogger.d(
- "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}",
- "add cvxPtcThreatIndInfo2TrafficData ---it---> $it"
- )
- CallerMapUIServiceManager.getMarkerService()
- ?.updateITrafficThreatLevelInfo(it)
- }
}
MogoObuConstants.STATUS.UPDATE -> {// 更新
}
- // 删除
- MogoObuConstants.STATUS.DELETE -> {
+ MogoObuConstants.STATUS.DELETE -> { // 删除
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
- // 更新数据 TODO 删除原来的,改变颜色,删除marker。不影响别的模型添加
- TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)
- ?.let {
- // 事件结束,还原交通参与者颜色
- it.threatLevel = 0x01
- CallerMapUIServiceManager.getMarkerService()
- ?.updateITrafficThreatLevelInfo(it)
- }
-
- //删除弱势交通元素
- CallerMapUIServiceManager.getMarkerService()
- ?.removeCvxRvInfoIndInfo(data.participant.ptcId.toString())
}
}
}
@@ -623,44 +672,44 @@ class MogoPrivateObuNewManager private constructor() {
}
-/**
- * 获取消息的方位 车辆相关
- */
-private fun getMessageDirection(targetClassification: Int): WarningDirectionEnum {
-// CallerLogger.d("$M_OBU${TAG_MOGO_NEW_OBU}", "预警红边:预警方向->$targetClassification")
- return when (targetClassification) {
- MogoObuConstants.VEH_TARGET_POSITION.AHEAD_IN_LANE,
- MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_IN_LANE -> WarningDirectionEnum.ALERT_WARNING_TOP //正前方
+ /**
+ * 获取消息的方位 车辆相关
+ */
+ private fun getMessageDirection(targetClassification: Int): WarningDirectionEnum {
+ // CallerLogger.d("$M_OBU${TAG_MOGO_NEW_OBU}", "预警红边:预警方向->$targetClassification")
+ return when (targetClassification) {
+ MogoObuConstants.VEH_TARGET_POSITION.AHEAD_IN_LANE,
+ MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_IN_LANE -> WarningDirectionEnum.ALERT_WARNING_TOP //正前方
- MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_IN_LANE -> WarningDirectionEnum.ALERT_WARNING_BOTTOM //正后方
+ MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_IN_LANE -> WarningDirectionEnum.ALERT_WARNING_BOTTOM //正后方
- MogoObuConstants.VEH_TARGET_POSITION.INTERSECTION_RIGHT -> WarningDirectionEnum.ALERT_WARNING_RIGHT //正右方
+ MogoObuConstants.VEH_TARGET_POSITION.INTERSECTION_RIGHT -> WarningDirectionEnum.ALERT_WARNING_RIGHT //正右方
- MogoObuConstants.VEH_TARGET_POSITION.INTERSECTION_LEFT -> WarningDirectionEnum.ALERT_WARNING_LEFT //正左方
+ MogoObuConstants.VEH_TARGET_POSITION.INTERSECTION_LEFT -> WarningDirectionEnum.ALERT_WARNING_LEFT //正左方
- MogoObuConstants.VEH_TARGET_POSITION.AHEAD_LEFT, MogoObuConstants.VEH_TARGET_POSITION.AHEAD_FAR_LEFT,
- MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_LEFT, MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_FAR_LEFT
- -> WarningDirectionEnum.ALERT_WARNING_TOP_LEFT //左前方
+ MogoObuConstants.VEH_TARGET_POSITION.AHEAD_LEFT, MogoObuConstants.VEH_TARGET_POSITION.AHEAD_FAR_LEFT,
+ MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_LEFT, MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_FAR_LEFT
+ -> WarningDirectionEnum.ALERT_WARNING_TOP_LEFT //左前方
- MogoObuConstants.VEH_TARGET_POSITION.AHEAD_RIGHT, MogoObuConstants.VEH_TARGET_POSITION.AHEAD_FAR_RIGHT,
- MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_RIGHT, MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_FAT_RIGHT
- -> WarningDirectionEnum.ALERT_WARNING_TOP_RIGHT //右前方
+ MogoObuConstants.VEH_TARGET_POSITION.AHEAD_RIGHT, MogoObuConstants.VEH_TARGET_POSITION.AHEAD_FAR_RIGHT,
+ MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_RIGHT, MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_FAT_RIGHT
+ -> WarningDirectionEnum.ALERT_WARNING_TOP_RIGHT //右前方
- MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_LEFT, MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_FAR_LEFT,
- -> WarningDirectionEnum.ALERT_WARNING_BOTTOM_LEFT //左后方
+ MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_LEFT, MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_FAR_LEFT,
+ -> WarningDirectionEnum.ALERT_WARNING_BOTTOM_LEFT //左后方
- MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_RIGHT, MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_FAR_RIGHT,
- -> WarningDirectionEnum.ALERT_WARNING_BOTTOM_RIGHT //右后方
+ MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_RIGHT, MogoObuConstants.VEH_TARGET_POSITION.BEHEAD_FAR_RIGHT,
+ -> WarningDirectionEnum.ALERT_WARNING_BOTTOM_RIGHT //右后方
- MogoObuConstants.VEH_TARGET_POSITION.UNCLASSIFIED -> WarningDirectionEnum.ALERT_WARNING_NON //未知
- else -> WarningDirectionEnum.ALERT_WARNING_ALL
+ MogoObuConstants.VEH_TARGET_POSITION.UNCLASSIFIED -> WarningDirectionEnum.ALERT_WARNING_NON //未知
+ else -> WarningDirectionEnum.ALERT_WARNING_ALL
+ }
}
-}
/**
* 构造对应展示数据和场景 根据obu的场景,add change delete确定是否展示
*
- * @param appId 使用WarningTypeEnum获取icon、提示内容、tts内容
+ * @param appId 使用WarningTypeEnum获取icon、提示内容、tts内容 TODO 添加事件频繁播报拦截
*
* @see com.mogo.module.common.enums.EventTypeEnum
*/
@@ -833,6 +882,7 @@ private fun getMessageDirection(targetClassification: Int): WarningDirectionEnum
// 删除
MogoObuConstants.STATUS.DELETE -> {
// 移除顶部弹窗
+ Log.d("liyz","handlerTrafficLight new obu disableWarningTrafficLight() --->")
CallerHmiManager.disableWarningTrafficLight()
CallerHmiManager.disableWarningV2X(appId.toString())
isShowGreenWave = false
@@ -860,7 +910,7 @@ private fun getMessageDirection(targetClassification: Int): WarningDirectionEnum
val currentLight = lights[0]
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}",
- "currentLight = $currentLight ---currentLight.phase = ${currentLight.phaseId} ---appId = $appId"
+ "changeTrafficLightStatus currentLight = $currentLight ----currentLight.light = ${currentLight.light} ---currentLight.phase = ${currentLight.phaseId} ---appId = $appId"
)
// 闯红灯预警,绿波通行和闯红灯是互斥的
when (appId) {
@@ -961,8 +1011,9 @@ private fun getMessageDirection(targetClassification: Int): WarningDirectionEnum
when (currentLight.light) {
// 灯光不可用
0 -> {
- // CallerHmiManager.showWarningTrafficLight(0, 3)
+ // CallerHmiManager.showWarningTrafficLight(0, 3) //TODO
CallerObuTrafficLightListenerManager.invokeObuTrafficLight(0)
+ Log.e("liyz", "currentLight.light = ${currentLight.light} ----0-----")
}
// 红灯
2, 3 -> {
diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/receiver/ObuTestNewObuRsiReceiver.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/receiver/ObuTestNewObuRsiReceiver.kt
new file mode 100644
index 0000000000..c216a9e7be
--- /dev/null
+++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/receiver/ObuTestNewObuRsiReceiver.kt
@@ -0,0 +1,57 @@
+package com.mogo.eagle.core.function.obu.mogo.receiver
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+import com.mogo.eagle.core.function.obu.mogo.MogoPrivateObuNewManager
+import com.mogo.support.obu.model.MogoObuRsiWarningData
+import com.mogo.support.obu.model.MogoObuRvWarningData
+import com.mogo.support.obu.model.advance.RsiWarning
+import com.mogo.support.obu.model.advance.V2xWarning
+import com.mogo.support.obu.model.advance.VehBasics
+import com.mogo.support.obu.model.advance.WarningData
+
+/**
+ * @author lixiaopeng
+ * @date 2023/1/13 10:50 上午
+ *
+ * 自研OBU RSI 模拟场景
+ */
+class ObuTestNewObuRsiReceiver : BroadcastReceiver() {
+ private var mContext: Context? = null
+
+ companion object {
+ private const val TAG = "ObuTestNewObuReceiver"
+ }
+
+ override fun onReceive(context: Context, intent: Intent) {
+ mContext = context
+ /**
+ * OBU 场景类型
+ */
+ val obuSceneType = intent.getIntExtra("sceneType", 0)
+ val obuStatus = intent.getIntExtra("status", 0)
+// val obuDistance = intent.getDoubleExtra("distance", 0.0)
+ val obuEventSeriaNum = intent.getIntExtra("seriaNum", 0)
+ val obuSignSerialNum = intent.getIntExtra("signSerialNum", 0)
+
+ val rsiWarning = RsiWarning(1)
+ rsiWarning.warningLevel = 1
+
+ rsiWarning.setDistance(1000)
+ rsiWarning.sceneType = obuSceneType //预警类型 0:无效 1:限速信息 2:道路危险 3:车内标牌 4:前方拥堵
+ rsiWarning.eventSerialNum = obuEventSeriaNum //根据预警类型匹配 101 车辆故障
+ rsiWarning.signSerialNum = obuSignSerialNum // 2:急转弯,8:桥梁
+
+ val rsiWarningList = listOf(rsiWarning) //TODO
+
+ val cvxObuRsiInfo = MogoObuRsiWarningData(obuStatus, 1, rsiWarningList)
+
+ MogoPrivateObuNewManager.INSTANCE
+ .getMogoObuListener()
+ .onMogoObuRsiWarning(cvxObuRsiInfo)
+
+ }
+
+}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightHMIManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightHMIManager.kt
index 247cea2317..cfccde3912 100644
--- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightHMIManager.kt
+++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightHMIManager.kt
@@ -1,5 +1,6 @@
package com.mogo.eagle.core.function.v2x.trafficlight
+import android.util.Log
import com.mogo.eagle.core.data.trafficlight.*
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
@@ -60,6 +61,7 @@ class TrafficLightHMIManager {
fun hideTrafficLight() {
initView = false
+ Log.d("liyz", "TrafficLightHMIManager hideTrafficLight disableWarningTrafficLight ")
CallerHmiManager.disableWarningTrafficLight()
}
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/TrafficLightDispatcher.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/TrafficLightDispatcher.kt
index 782675613d..2b0c7209b5 100644
--- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/TrafficLightDispatcher.kt
+++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/TrafficLightDispatcher.kt
@@ -57,7 +57,6 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
* @param trafficLights 感知红绿灯
*/
override fun onAutopilotPerceptionTrafficLight(trafficLights: TrafficLightOuterClass.TrafficLights?) {
- Log.d("liyz", "onAutopilotPerceptionTrafficLight hasObuLightStatus = $hasObuLightStatus ---hasAiLightStatus = $hasAiLightStatus")
if (!hasObuLightStatus) {
if (!hasAiLightStatus) {
trafficLights?.let { it ->
@@ -73,7 +72,6 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
}
if (light == null) {
//隐藏红绿灯显示
- Log.e("liyz", "onAutopilotPerceptionTrafficLight delete ------>")
TrafficLightHMIManager.INSTANCE.hideTrafficLight()
} else {
when (light.state) {
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt
index a289e802c6..de725ae49d 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt
@@ -142,7 +142,7 @@ enum class EventTypeEnumNew(
tts = "最优车道"
),
- //-------------obu v2n start ------------>
+ //-------------obu v2v start ------------>
TYPE_USECASE_ID_FCW(
2010.toString(),
"前向碰撞预警",
@@ -214,7 +214,7 @@ enum class EventTypeEnumNew(
content = "注意特种车辆通行",
tts = "请避让特种车辆"
),
- //-------------obu v2n end ------------>
+ //-------------obu v2v end ------------>
//---------弱势交通参与者 obu and cloud start ------>
TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES(
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt
index 3f0e3eecbb..65d13a5f6c 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt
@@ -188,7 +188,7 @@ object CallerHmiManager : CallerBase() {
* @param lightSource 1:云端下发;2:自车感知;3:OBU
*/
fun showWarningTrafficLight(checkLightId: Int, lightSource: Int) {
- Log.d("liyz", "showWarningTrafficLight checkLightId = $checkLightId ---lightSource = $lightSource")
+ Log.e("liyz", "showWarningTrafficLight checkLightId = $checkLightId ---lightSource = $lightSource")
waringProviderApi?.showWarningTrafficLight(checkLightId, lightSource)
}
@@ -196,7 +196,7 @@ object CallerHmiManager : CallerBase() {
* 关闭红绿灯预警
*/
fun disableWarningTrafficLight() {
- Log.d("liyz", "disableWarningTrafficLight --------------------> ")
+ Log.e("liyz", "disableWarningTrafficLight --------------------> ")
waringProviderApi?.disableWarningTrafficLight()
}