add func of tracker select of origin and obu sourve

This commit is contained in:
zhongchao
2022-08-29 14:26:06 +08:00
parent 4c86968e3e
commit 12a925fcbd
5 changed files with 83 additions and 7 deletions

View File

@@ -624,6 +624,31 @@ class DebugSettingView @JvmOverloads constructor(
}
}
// 初始化 tracker感知数据源 数据
trackerProvider.check(
when (FunctionBuildConfig.debugTrackerProvider) {
0 -> {
R.id.trackerProviderOrigin
}
1 -> {
R.id.trackerProviderObu
}
else -> R.id.trackerProviderOrigin
}
)
trackerProvider.setOnCheckedChangeListener { _, checkedId ->
when (checkedId) {
R.id.trackerProviderOrigin -> {
FunctionBuildConfig.debugTrackerProvider = 0
// update tracker provider view
}
R.id.trackerProviderObu -> {
FunctionBuildConfig.debugTrackerProvider = 1
// update tracker provider view
}
}
}
// 初始化 ADAS感知数据是否绘制 选择情况
tbIsDrawIdentifyData.isChecked = FunctionBuildConfig.isDrawIdentifyData

View File

@@ -1729,6 +1729,35 @@
</RadioGroup>
<RadioGroup
android:id="@+id/trackerProvider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/rgGpsProvider">
<RadioButton
android:id="@+id/trackerProviderOrigin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="@dimen/dp_10"
android:text="使用工控感知数据"
android:textColor="#000"
android:textSize="@dimen/dp_24" />
<RadioButton
android:id="@+id/trackerProviderObu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="@dimen/dp_10"
android:text="使用debugOBU感知数据"
android:textColor="#000"
android:textSize="@dimen/dp_24" />
</RadioGroup>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -42,7 +42,7 @@ class MapIdentifySubscriber private constructor() : IMoGoSubscriber,
override fun onAutopilotIdentifyDataUpdate(trafficData: List<TrackedObject>?) {
try {
if (FunctionBuildConfig.isDrawIdentifyData) {
if (FunctionBuildConfig.isDrawIdentifyData && FunctionBuildConfig.debugTrackerProvider == 0) {
ThreadUtils.getSinglePool().execute {
IdentifyFactory.renderAdasRecognizedResult(trafficData)
}
@@ -56,10 +56,10 @@ class MapIdentifySubscriber private constructor() : IMoGoSubscriber,
override fun onAutopilotIdentifyPlanningObj(planningObjects: List<MessagePad.PlanningObject>?) {
try {
if (FunctionBuildConfig.isDrawIdentifyData) {
ThreadUtils.getSinglePool()
.execute {
IdentifyFactory.renderPlanningWarningObj(planningObjects) }
if (FunctionBuildConfig.isDrawIdentifyData && FunctionBuildConfig.debugTrackerProvider == 0) {
ThreadUtils.getSinglePool().execute {
IdentifyFactory.renderPlanningWarningObj(planningObjects)
}
} else {
IdentifyFactory.clearOldMarker()
}

View File

@@ -72,6 +72,20 @@ object FunctionBuildConfig {
@JvmField
var gpsProvider = 0
/**
* 调试模式下,感知物识别使用的数据来源 0 = 工控机 1 = OBU
*/
@Volatile
@JvmField
var debugTrackerProvider = 0
/**
* 感知物识别使用的数据来源 0 = 默认输出 1 = 只显示工控硬件数据感知来源 2 = 只显示V2V数据来源 3 = 只显示V2N数据来源
*/
@Volatile
@JvmField
var trackerProvider = 0
/**
* 地图是否绘制Adas识别回调的Marker
* true - 绘制

View File

@@ -6,6 +6,7 @@ import android.os.Handler
import android.os.Message
import android.text.TextUtils
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.enums.TrafficTypeEnum
import com.mogo.eagle.core.data.traffic.TrafficData
import com.mogo.eagle.core.data.traffic.threatLevelColor
@@ -46,8 +47,9 @@ object TrafficMarkerDrawer {
object : Handler(WorkThreadHandler.newInstance("other_traffic_drawer").looper) {
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
// TODO 因为与自动驾驶的感知重合临时关掉OBU车辆绘制
// drawerTrafficInfo()
if (FunctionBuildConfig.debugTrackerProvider == 1) {
drawerTrafficInfo()
}
// 延时50毫秒重复发送自己定时轮询进行车辆绘制可以及时将已经不存在车辆删除
sendEmptyMessageDelayed(0, 50L)
}
@@ -71,6 +73,9 @@ object TrafficMarkerDrawer {
* 更新识别数据位置
*/
fun updateITrafficLocationInfo(trafficData: TrafficData) {
if (FunctionBuildConfig.debugTrackerProvider != 1) {
return
}
val tempTraffic = mTrafficMap[trafficData.uuid]
if (tempTraffic != null) {
tempTraffic.lat = trafficData.lat
@@ -90,6 +95,9 @@ object TrafficMarkerDrawer {
* 更新识别数据颜色
*/
fun updateITrafficThreatLevelInfo(trafficData: TrafficData) {
if (FunctionBuildConfig.debugTrackerProvider != 1) {
return
}
if (trafficData != null && !TextUtils.isEmpty(trafficData.uuid)) {
val tempTraffic = mTrafficMap[trafficData.uuid]
if (tempTraffic != null) {