opt mogo obu

This commit is contained in:
lixiaopeng
2021-07-05 18:45:18 +08:00
parent 9f73b96b52
commit e6657f3941
4 changed files with 77 additions and 46 deletions

View File

@@ -119,9 +119,8 @@ public class V2XObuManager implements IObuCallback, Handler.Callback {
MogoObuManager.getInstance().registerListener(mogoObuListener);
//TODO 测试
// MogoObuManager.getInstance().test(icw_data);
// UiThreadHandler.postDelayed( () -> {
// MogoObuManager.getInstance().test(icw_data);
// MarkerServiceHandler.getApis().getV2XListenerManager().warningChangedForListenerWithDirection(3, MogoReceiver.ACTION_V2X_FRONT_WARNING);
// handleSdkObu(1);
//
@@ -201,26 +200,61 @@ public class V2XObuManager implements IObuCallback, Handler.Callback {
Logger.e("liyz", "onCvxV2vThreatIndInfo ------> " + info.toString());
//预警类型 threat_level 3
if (info != null) {
if (info.getThreat_info() != null && info.getControl() != null &&
if (info.getThreat_info() != null /*&& info.getControl() != null*/ &&
info.getThreat_info().getThreat_level() == 3) { //看看2的情况
//预警方位
int direction = V2XUtils.getDirection((float) info.getExt_info().getAzimuth());
Log.d("liyz", "direction = " + direction + "---azimuth = " + (float) info.getExt_info().getAzimuth());
MarkerServiceHandler.getApis().getV2XListenerManager().warningChangedForListenerWithDirection(direction, MogoReceiver.ACTION_V2X_FRONT_WARNING);
int direction = info.getExt_info().getTarget_classification();
Logger.d("liyz", "direction = " + direction + "----" + getMessage(direction));
MarkerServiceHandler.getApis().getV2XListenerManager().warningChangedForListenerWithDirection(getMessage(direction), MogoReceiver.ACTION_V2X_FRONT_WARNING);
//处理预警类型
int appId = info.getThreat_info().getApp_id();
handleSdkObu(getEventType(appId));
}
//预警数据的组装,车辆实时移动和变色 TODO 这里需要obu提供他车列表
AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult(getResultList(info));
//预警数据的组装,车辆实时移动和变色 TODO 这里需要obu提供他车列表 暂时不做
// AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult(getResultList(info));
} else {
Log.e("liyz", "info == null ");
Logger.e("liyz", "info == null ");
}
}
};
private int getMessage(int targetClassification) {
switch (targetClassification) {
case ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_IN_LANE:
case ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_LEFT:
case ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_RIGHT:
case ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_LEFT:
case ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_RIGHT:
return 1;
case ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_IN_LANE:
case ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_LEFT:
case ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_RIGHT:
case ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_LEFT:
case ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_RIGHT:
return 2;
case ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_IN_LANE:
case ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_LEFT:
case ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_LEFT:
case ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_LEFT:
return 3;
case ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_RIGHT:
case ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_RIGHT:
case ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_RIGHT:
return 4;
default:
case ObuConstants.TARGET_CLASSIFICATION.TC_UNCLASSIFIED:
return 1;
}
}
private int getEventType(int appid) {
if (appid == ObuConstants.USE_CASE_ID.EBW) {
return ObuConstant.TYPE_URGENCY_COLLISION_WARNING;