增加OBU自测广播及测试数据
This commit is contained in:
@@ -23,6 +23,10 @@ adb shell am broadcast -a com.hmi.v2x.trafficlight --ez trafficLightIsShow false
|
||||
adb shell am broadcast -a com.hmi.v2x.limitingvelocity --ez limitingVelocityIsShow true --ei limitingVelocitySpeed 60
|
||||
adb shell am broadcast -a com.hmi.v2x.limitingvelocity --ez limitingVelocityIsShow false
|
||||
|
||||
// 控制OBU场景自测
|
||||
adb shell am broadcast -a com.obu.test_trigger --ei obuType 0x2A01 --ei obuStates 1
|
||||
|
||||
|
||||
|
||||
// (旧版本)使用命令行触发各种测试场景演示
|
||||
adb shell am broadcast -a com.v2x.test_panel_control --ei sceneType 1
|
||||
@@ -34,4 +38,5 @@ adb shell am broadcast -a com.v2x.adas_data_broadcast --es ADASData right
|
||||
adb shell am broadcast -a com.mogo.mock --ei oper 46
|
||||
|
||||
// 小智语音
|
||||
adb shell am broadcast -a com.zhidao.auto.txz.receiver --es text "欢迎乘坐’蘑菇车联‘无人驾驶小巴车" --ei speakType 5
|
||||
adb shell am broadcast -a com.zhidao.auto.txz.receiver --es text "欢迎乘坐’蘑菇车联‘无人驾驶小巴车" --ei speakType 5
|
||||
|
||||
|
||||
@@ -2,4 +2,14 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.module.obu.mogo">
|
||||
|
||||
|
||||
<application>
|
||||
<receiver android:name=".receiver.ObuTestTriggerReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="com.obu.test_trigger" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
</application>
|
||||
</manifest>
|
||||
@@ -2,8 +2,6 @@ package com.mogo.module.obu.mogo
|
||||
|
||||
import android.content.Context
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.module.obu.mogo.MogoPrivateObuManager.Companion.INSTANCE
|
||||
import com.mogo.module.obu.mogo.map.ObuRecognizedResultDrawer
|
||||
import com.mogo.service.MogoServicePaths
|
||||
import com.mogo.service.obu.IMoGoObuProvider
|
||||
import com.mogo.utils.logger.Logger
|
||||
@@ -18,7 +16,6 @@ class MoGoObuProvider : IMoGoObuProvider {
|
||||
override fun init(context: Context) {
|
||||
Logger.d(MogoObuConst.TAG_MOGO_OBU, "初始化蘑菇自研OBU……")
|
||||
|
||||
// MogoPrivateObuManager.getInstance().init(context);
|
||||
INSTANCE.init(context)
|
||||
MogoPrivateObuManager.INSTANCE.init(context)
|
||||
}
|
||||
}
|
||||
@@ -12,120 +12,10 @@ public class MogoObuConst {
|
||||
*/
|
||||
public static final String TAG_MOGO_OBU = "MogoObu";
|
||||
|
||||
/**
|
||||
* 前碰撞预警
|
||||
*/
|
||||
public static final int TYPE_FRONT_COLLISION_WARNING = 101;
|
||||
public static final String TYPE_FRONT_COLLISION_WARNING_TEXT = "前车碰撞预警";
|
||||
public static final String TYPE_FRONT_COLLISION_WARNING_VOICE_TEXT = "前车碰撞预警";
|
||||
|
||||
/**
|
||||
* 交叉路口碰撞预警
|
||||
*/
|
||||
public static final int TYPE_CROSS_COLLISION_WARNING = 102;
|
||||
public static final String TYPE_CROSS_COLLISION_WARNING_TEXT = "交叉路口碰撞预警";
|
||||
public static final String TYPE_CROSS_COLLISION_WARNING_VOICE_TEXT = "注意交叉路口车辆";
|
||||
|
||||
/**
|
||||
* 左转辅助
|
||||
*/
|
||||
public static final int TYPE_TURN_LEFT_WARN = 103;
|
||||
public static final String TYPE_TURN_LEFT_WARN_TEXT = "左转碰撞预警";
|
||||
public static final String TYPE_TURN_LEFT_WARN_VOICE_TEXT = "注意左前车辆";
|
||||
|
||||
/**
|
||||
* 盲区预警/变道预警 类似
|
||||
*/
|
||||
public static final int TYPE_BLIND_ASSIST_WARN = 104;
|
||||
public static final String TYPE_BLIND_ASSIST_WARN_TEXT = "盲区碰撞预警";
|
||||
public static final String TYPE_BLIND_ASSIST_WARN_VOICE_LEFT_TEXT = "注意左后车辆";
|
||||
public static final String TYPE_BLIND_ASSIST_WARN_VOICE_RIGHT_TEXT = "注意右后车辆";
|
||||
|
||||
/**
|
||||
* 逆向超车预警
|
||||
*/
|
||||
public static final int TYPE_REVERSE_OVERTAKING_WARN = 106;
|
||||
public static final String TYPE_REVERSE_OVERTAKING_WARN_TEXT = "逆向超车预警";
|
||||
public static final String TYPE_REVERSE_OVERTAKING_WARN_VOICE_TEXT = "注意逆向车道车辆";
|
||||
|
||||
/**
|
||||
* 紧急制动预警/前车急刹
|
||||
*/
|
||||
public static final int TYPE_URGENCY_COLLISION_WARNING = 107;
|
||||
public static final String TYPE_URGENCY_COLLISION_WARNING_TEXT = "前车急刹车";
|
||||
public static final String TYPE_URGENCY_COLLISION_WARNING_VOICE_TEXT = "前车急刹车";
|
||||
|
||||
/**
|
||||
* 异常车辆预警
|
||||
*/
|
||||
public static final int TYPE_UNUSUAL_CAR_WARN = 108;
|
||||
public static final String TYPE_UNUSUAL_CAR_WARN_TEXT = "前车异常";
|
||||
public static final String TYPE_UNUSUAL_CAR_WARN_VOICE_TEXT = "前车异常";
|
||||
public static final String TYPE_UNUSUAL_CAR_WARN_VOICE_LEFT_TEXT = "左前车辆异常";
|
||||
public static final String TYPE_UNUSUAL_CAR_WARN_VOICE_RIGHT_TEXT = "右前车辆异常";
|
||||
|
||||
/**
|
||||
* 车辆失控预警
|
||||
*/
|
||||
public static final int TYPE_CAR_OUT_OF_CONTROL_WARN = 109;
|
||||
public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_TEXT = "前车失控预警";
|
||||
public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_TEXT = "前车失控预警";
|
||||
public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_LEFT_TEXT = "左前车失控预警";
|
||||
public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_RIGHT_TEXT = "右前车失控预警";
|
||||
|
||||
/**
|
||||
* 限速预警 ? 未知
|
||||
*/
|
||||
public static final int TYPE_LIMIT_SPEED_WARN = 110;
|
||||
public static final String TYPE_LIMIT_SPEED_WARN_TEXT = "用户已超速";
|
||||
public static final String TYPE_LIMIT_SPEED_WARN_VOICE_TEXT = "";
|
||||
|
||||
/**
|
||||
* 闯红灯预警 ?
|
||||
*/
|
||||
public static final int TYPE_RUSH_RED_LIGHT = 111;
|
||||
public static final String TYPE_RUSH_RED_LIGHT_TEXT = "路口红灯,禁止通行";
|
||||
public static final String TYPE_RUSH_RED_LIGHT_VOICE_TEXT = "路口红灯,禁止通行";
|
||||
|
||||
|
||||
/**
|
||||
* 行人/摩托车 碰撞预警 -1 根据类型判断
|
||||
*/
|
||||
public static final int TYPE_ROAD_USER_COLLISION_WARNING = 112;
|
||||
public static final String TYPE_ROAD_USER_COLLISION_WARNING_PERSON_TEXT = "行人碰撞预警";
|
||||
public static final String TYPE_ROAD_USER_COLLISION_WARNING_MOTORBIKE_TEXT = "摩托车碰撞预警";
|
||||
|
||||
/**
|
||||
* 绿波车速引导 ?
|
||||
*/
|
||||
public static final int TYPE_OPTIMAL_SPEED_ADVISORY = 113;
|
||||
|
||||
/**
|
||||
* 交通标牌提示 ?
|
||||
*/
|
||||
public static final int TYPE_TRAFFIC_SIGN_INFO = 115;
|
||||
|
||||
/**
|
||||
* 道路危险情况预警 ?
|
||||
*/
|
||||
public static final int TYPE_UNUSUAL_ROAD_WARN = 114;
|
||||
public static final String TYPE_UNUSUAL_ROAD_WARN_TEXT = "道路危险情况预警";
|
||||
public static final String TYPE_UNUSUAL_ROAD_WARN_VOICE_TEXT = "前方路况危险";
|
||||
|
||||
/**
|
||||
* 前方拥堵提醒 ? 具体距离是否有未知
|
||||
*/
|
||||
public static final int TYPE_BLOCK_WARN = 116;
|
||||
public static final String TYPE_BLOCK_WARN_TEXT = "前方道路拥堵";
|
||||
public static final String TYPE_BLOCK_WARN_VOICE_TEXT = "前方X米道路拥堵,请减速慢行";
|
||||
|
||||
/**
|
||||
* 紧急车辆提示预警
|
||||
*/
|
||||
public static final int TYPE_PRESSING_CAR_WARN = 117;
|
||||
public static final String TYPE_PRESSING_CAR_WARN_TEXT = "请避让特种车辆";
|
||||
public static final String TYPE_PRESSING_CAR_WARN_VOICE_TEXT = "后方存在特殊车辆,请安排避让";
|
||||
|
||||
|
||||
// OBU 场景测试
|
||||
// 场景类型
|
||||
public static String BROADCAST_OBU_TYPE_EXTRA_KEY = "obuType";
|
||||
// 场景操作状态,ObuConstants.STATUS
|
||||
public static String BROADCAST_OBU_STATES_EXTRA_KEY = "obuStates";
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.mogo.module.obu.mogo
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.util.Log
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.module.common.enum.WarningTypeEnum
|
||||
@@ -11,7 +9,6 @@ import com.mogo.module.obu.mogo.map.ObuVulnerableGroupsDrawer
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
import com.mogo.service.MogoServicePaths
|
||||
import com.mogo.service.warning.IMoGoWaringProvider
|
||||
import com.mogo.utils.UiThreadHandler
|
||||
import com.mogo.utils.logger.Logger
|
||||
import com.zhidao.support.obu.MogoObuManager
|
||||
import com.zhidao.support.obu.OnMogoObuListener
|
||||
@@ -288,6 +285,13 @@ class MogoPrivateObuManager private constructor() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回OBU监听
|
||||
*/
|
||||
fun getMogoObuListener(): OnMogoObuListener {
|
||||
return mogoObuListener
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取消息的方位
|
||||
@@ -330,7 +334,10 @@ class MogoPrivateObuManager private constructor() {
|
||||
) {
|
||||
var alertContent = ""
|
||||
var ttsContent = ""
|
||||
Log.d(MogoObuConst.TAG_MOGO_OBU, "useCaseId = $useCaseId ---level = $level --direction = $direction ---status = $status ")
|
||||
Log.d(
|
||||
MogoObuConst.TAG_MOGO_OBU,
|
||||
"useCaseId = $useCaseId ---level = $level --direction = $direction ---status = $status "
|
||||
)
|
||||
// TODO 这里排除需要特殊定制的语音及文案外,其余的都可以使用 WarningTypeEnum 提供的
|
||||
when (useCaseId) {
|
||||
// 变道预警,注意左后车辆/注意右后车辆
|
||||
|
||||
@@ -122,7 +122,9 @@ class ObuRecognizedResultDrawer() {
|
||||
* 移除识别的数据
|
||||
*/
|
||||
fun removeCvxRvInfoIndInfo(key: String) {
|
||||
mCvxRvInfoIndInfoMap.remove(key)
|
||||
if (mCvxRvInfoIndInfoMap.contains(key)) {
|
||||
mCvxRvInfoIndInfoMap.remove(key)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.mogo.module.obu.mogo.receiver
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import com.mogo.module.obu.mogo.MogoObuConst
|
||||
import com.mogo.module.obu.mogo.MogoPrivateObuManager
|
||||
import com.mogo.utils.logger.Logger
|
||||
import com.zhidao.support.obu.constants.ObuConstants
|
||||
import com.zhidao.support.obu.model.CvxV2vThreatIndInfo
|
||||
import com.zhidao.support.obu.model.advance.MovingObjectInfo
|
||||
import com.zhidao.support.obu.model.advance.Position
|
||||
import com.zhidao.support.obu.model.advance.V2vThreat
|
||||
import com.zhidao.support.obu.model.advance.V2vThreatExt
|
||||
|
||||
/**
|
||||
* @author xiaoyuzhou
|
||||
* @date 2021/8/11 10:50 上午
|
||||
*
|
||||
* OBU 测试使用
|
||||
*/
|
||||
class ObuTestTriggerReceiver : BroadcastReceiver() {
|
||||
private var mContext: Context? = null
|
||||
|
||||
companion object {
|
||||
private const val TAG = "ObuTestTriggerReceiver"
|
||||
}
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
mContext = context
|
||||
/**
|
||||
* OBU 场景类型
|
||||
* @see com.zhidao.support.obu.constants.ObuConstants.USE_CASE_ID
|
||||
*/
|
||||
val obuType = intent.getIntExtra(MogoObuConst.BROADCAST_OBU_TYPE_EXTRA_KEY, 0)
|
||||
val obuStatus = intent.getIntExtra(MogoObuConst.BROADCAST_OBU_STATES_EXTRA_KEY, 0)
|
||||
Logger.d(
|
||||
TAG, "obuType:$obuType obuStatus:$obuStatus"
|
||||
)
|
||||
|
||||
when (obuType) {
|
||||
ObuConstants.USE_CASE_ID.EBW, ObuConstants.USE_CASE_ID.FCW, ObuConstants.USE_CASE_ID.ICW,
|
||||
ObuConstants.USE_CASE_ID.CLW, ObuConstants.USE_CASE_ID.DNPW, ObuConstants.USE_CASE_ID.AVW,
|
||||
ObuConstants.USE_CASE_ID.BSW, ObuConstants.USE_CASE_ID.LCW, ObuConstants.USE_CASE_ID.EVW, ObuConstants.USE_CASE_ID.VRUCW,
|
||||
ObuConstants.USE_CASE_ID.SLW, ObuConstants.USE_CASE_ID.LTA, ObuConstants.USE_CASE_ID.HLW, ObuConstants.USE_CASE_ID.IVS,
|
||||
ObuConstants.USE_CASE_ID.TJW, ObuConstants.USE_CASE_ID.IVP, ObuConstants.USE_CASE_ID.COC -> {
|
||||
|
||||
// 构建测试数据
|
||||
val cvxV2vThreatIndInfo = CvxV2vThreatIndInfo(1, 1, 1L)
|
||||
|
||||
val v2vThreat = V2vThreat(1, obuType, null, 1000, 2, 100)
|
||||
cvxV2vThreatIndInfo.threat_info = v2vThreat
|
||||
|
||||
val v2vThreatExt =
|
||||
V2vThreatExt(
|
||||
1, 1,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_LEFT, 1, 1
|
||||
)
|
||||
cvxV2vThreatIndInfo.ext_info = v2vThreatExt
|
||||
cvxV2vThreatIndInfo.status = obuStatus
|
||||
cvxV2vThreatIndInfo.vehicle_id = "123321"
|
||||
|
||||
// 设置位置
|
||||
val position = Position(0, 399739429, 1164115207, 20)
|
||||
val movingObjectInfo = MovingObjectInfo(0, position, 1800, 60)
|
||||
cvxV2vThreatIndInfo.basic_info = movingObjectInfo
|
||||
|
||||
MogoPrivateObuManager.INSTANCE.getMogoObuListener()
|
||||
.onCvxV2vThreatIndInfo(cvxV2vThreatIndInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user