完成了 5.9、【道路危险情况预警】代码
This commit is contained in:
@@ -145,6 +145,83 @@ enum class WarningTypeEnum(
|
||||
"路况预警",
|
||||
R.drawable.icon_warning_v2x_abnormal_vehicle
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_TRAMCAR(
|
||||
0x2C01,
|
||||
"前方有轨电车提醒",
|
||||
"前方有轨电车提醒",
|
||||
"前方有轨电车经过,请注意行驶安全",
|
||||
R.drawable.icon_warning_v2x_tramcar
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP(
|
||||
0x2C02,
|
||||
"前方左转急弯",
|
||||
"前方左转急弯",
|
||||
"前方路口左转急弯,请减速慢行",
|
||||
R.drawable.icon_warning_v2x_turn_left_sharp
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP(
|
||||
0x2C03,
|
||||
"前方右转急弯",
|
||||
"前方右转急弯",
|
||||
"前方路口右转急弯,请减速慢行",
|
||||
R.drawable.icon_warning_v2x_turn_right_sharp
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING(
|
||||
0x2C04,
|
||||
"人行横道",
|
||||
"前方人行横道",
|
||||
"前方人行横道",
|
||||
R.drawable.icon_warning_v2x_pedestrian_crossing
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL(
|
||||
0x2C05,
|
||||
"学校",
|
||||
"前方学校,减速慢行",
|
||||
"前方人行横道,请减速慢行",
|
||||
R.drawable.icon_warning_v2x_school
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_COLLISION_WARNING(
|
||||
0x2C06,
|
||||
"事故易发路段",
|
||||
"当前路段事故多发",
|
||||
"当前路段事故多发,请谨慎行驶",
|
||||
R.drawable.icon_warning_v2x_collision_warning
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG(
|
||||
0x2C07,
|
||||
"环岛行驶",
|
||||
"前方驶入环岛",
|
||||
"前方驶入环岛,请谨慎行驶",
|
||||
R.drawable.icon_warning_v2x_roundaboutpng
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_TEST_SECTION(
|
||||
0x2C08,
|
||||
"驾校考试路段",
|
||||
"前方考试路段",
|
||||
"前方考试路段,减速慢行",
|
||||
R.drawable.icon_warning_v2x_test_section
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_HUMP_BRIDGE(
|
||||
0x2C09,
|
||||
"驼峰桥",
|
||||
"前方驼峰桥",
|
||||
"即将驶入桥梁,请减速慢行",
|
||||
R.drawable.icon_warning_v2x_hump_bridge
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_NO_PARKING(
|
||||
0x2C10,
|
||||
"禁止停车",
|
||||
"当前路段禁止停车",
|
||||
"当前路段,禁止停车",
|
||||
R.drawable.icon_warning_v2x_no_parking
|
||||
),
|
||||
TYPE_USECASE_ID_ROAD_GIVE_WAY(
|
||||
0x2C11,
|
||||
"减速慢行",
|
||||
"有车出入,减速慢行",
|
||||
"有车出入,减速慢行",
|
||||
R.drawable.icon_warning_v2x_give_way
|
||||
),
|
||||
TYPE_ERROR(
|
||||
ObuConstants.USE_CASE_ID.ERROR,
|
||||
"未知/错误/异常",
|
||||
@@ -175,6 +252,17 @@ enum class WarningTypeEnum(
|
||||
ObuConstants.USE_CASE_ID.IVP -> TYPE_USECASE_ID_IVP
|
||||
0x2B091 -> TYPE_USECASE_ID_IVP_GREEN
|
||||
ObuConstants.USE_CASE_ID.COC -> TYPE_USECASE_ID_COC
|
||||
0x2C01 -> TYPE_USECASE_ID_ROAD_TRAMCAR
|
||||
0x2C02 -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP
|
||||
0x2C03 -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP
|
||||
0x2C04 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING
|
||||
0x2C05 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL
|
||||
0x2C06 -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING
|
||||
0x2C07 -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG
|
||||
0x2C08 -> TYPE_USECASE_ID_ROAD_TEST_SECTION
|
||||
0x2C09 -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE
|
||||
0x2C0A -> TYPE_USECASE_ID_ROAD_NO_PARKING
|
||||
0x2C11 -> TYPE_USECASE_ID_ROAD_GIVE_WAY
|
||||
ObuConstants.USE_CASE_ID.ERROR -> TYPE_ERROR
|
||||
else -> TYPE_USECASE_ID_AVW
|
||||
}
|
||||
@@ -201,6 +289,17 @@ enum class WarningTypeEnum(
|
||||
ObuConstants.USE_CASE_ID.IVP -> TYPE_USECASE_ID_IVP.warningIconId
|
||||
0x2B091 -> TYPE_USECASE_ID_IVP_GREEN.warningIconId
|
||||
ObuConstants.USE_CASE_ID.COC -> TYPE_USECASE_ID_COC.warningIconId
|
||||
0x2C01 -> TYPE_USECASE_ID_ROAD_TRAMCAR.warningIconId
|
||||
0x2C02 -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.warningIconId
|
||||
0x2C03 -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.warningIconId
|
||||
0x2C04 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.warningIconId
|
||||
0x2C05 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.warningIconId
|
||||
0x2C06 -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.warningIconId
|
||||
0x2C07 -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.warningIconId
|
||||
0x2C08 -> TYPE_USECASE_ID_ROAD_TEST_SECTION.warningIconId
|
||||
0x2C09 -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.warningIconId
|
||||
0x2C0A -> TYPE_USECASE_ID_ROAD_NO_PARKING.warningIconId
|
||||
0x2C11 -> TYPE_USECASE_ID_ROAD_GIVE_WAY.warningIconId
|
||||
ObuConstants.USE_CASE_ID.ERROR -> TYPE_ERROR.warningIconId
|
||||
else -> TYPE_USECASE_ID_AVW.warningIconId
|
||||
}
|
||||
@@ -226,6 +325,17 @@ enum class WarningTypeEnum(
|
||||
ObuConstants.USE_CASE_ID.IVP -> TYPE_USECASE_ID_IVP.warningContent
|
||||
0x2B091 -> TYPE_USECASE_ID_IVP_GREEN.warningContent
|
||||
ObuConstants.USE_CASE_ID.COC -> TYPE_USECASE_ID_COC.warningContent
|
||||
0x2C01 -> TYPE_USECASE_ID_ROAD_TRAMCAR.warningContent
|
||||
0x2C02 -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.warningContent
|
||||
0x2C03 -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.warningContent
|
||||
0x2C04 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.warningContent
|
||||
0x2C05 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.warningContent
|
||||
0x2C06 -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.warningContent
|
||||
0x2C07 -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.warningContent
|
||||
0x2C08 -> TYPE_USECASE_ID_ROAD_TEST_SECTION.warningContent
|
||||
0x2C09 -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.warningContent
|
||||
0x2C0A -> TYPE_USECASE_ID_ROAD_NO_PARKING.warningContent
|
||||
0x2C11 -> TYPE_USECASE_ID_ROAD_GIVE_WAY.warningContent
|
||||
ObuConstants.USE_CASE_ID.ERROR -> TYPE_ERROR.warningContent
|
||||
else -> TYPE_USECASE_ID_AVW.warningContent
|
||||
}
|
||||
@@ -251,39 +361,21 @@ enum class WarningTypeEnum(
|
||||
ObuConstants.USE_CASE_ID.IVP -> TYPE_USECASE_ID_IVP.warningTts
|
||||
0x2B091 -> TYPE_USECASE_ID_IVP_GREEN.warningTts
|
||||
ObuConstants.USE_CASE_ID.COC -> TYPE_USECASE_ID_COC.warningTts
|
||||
0x2C01 -> TYPE_USECASE_ID_ROAD_TRAMCAR.warningTts
|
||||
0x2C02 -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.warningTts
|
||||
0x2C03 -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.warningTts
|
||||
0x2C04 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.warningTts
|
||||
0x2C05 -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.warningTts
|
||||
0x2C06 -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.warningTts
|
||||
0x2C07 -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.warningTts
|
||||
0x2C08 -> TYPE_USECASE_ID_ROAD_TEST_SECTION.warningTts
|
||||
0x2C09 -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.warningTts
|
||||
0x2C0A -> TYPE_USECASE_ID_ROAD_NO_PARKING.warningTts
|
||||
0x2C11 -> TYPE_USECASE_ID_ROAD_GIVE_WAY.warningTts
|
||||
ObuConstants.USE_CASE_ID.ERROR -> TYPE_ERROR.warningTts
|
||||
else -> TYPE_USECASE_ID_AVW.warningTts
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const val WARNING_PRIOR_COLLISION = 20001//前向碰撞
|
||||
const val WARNING_INTERSECTION_COLLISION = 20002//交叉路口碰撞
|
||||
const val WARNING_LEFT_AUXILIARY = 20003//左转辅助
|
||||
const val WARNING_BLIND_AREA_COLLISION = 20004//盲区/变道辅助
|
||||
const val WARNING_REVERSE_OVERTAKING = 20005//逆向超车
|
||||
const val WARNING_VEHICLE_BRAKES = 20006//紧急制动-前车急刹
|
||||
const val WARNING_ABNORMAL_VEHICLE = 20007//异常车辆提醒
|
||||
const val WARNING_VEHICLE_CONTROL = 20008//车辆失控预警
|
||||
const val WARNING_SPECIAL_VEHICLE_ACCESS = 20009//特种车辆通行
|
||||
const val WARNING_SPEED_LIMIT = 20010//限速预警
|
||||
const val WARNING_RED_LIGHT = 20011//闯红灯预警
|
||||
const val warning_congestion = 20012//前方道路拥堵
|
||||
const val WARNING_TRAFFIC_SPEED_GUIDE = 20013//绿波通行车速引导
|
||||
const val WARNING_CAR_PLATE = 20014//车内标牌
|
||||
const val WARNING_VULNERABLE_TRANSPORT_PARTICIPANT = 20015//弱势交通参与者预警
|
||||
const val WARNING_ROAD_HAZARDS = 20016//道路危险情况预警
|
||||
const val WARNING_OVER_SPEED = 20017//超速预警
|
||||
const val WARNING_ROUNDABOUT = 20018//环岛
|
||||
const val WARNING_GIVE_WAY = 20019//减速让行
|
||||
const val WARNING_BAN_ASTERN = 20020//禁止倒车
|
||||
const val WARNING_TURN_LEFT_SHARP = 20021//左转急弯
|
||||
const val WARNING_TURN_RIGHT_SHARP = 20022//左转急弯
|
||||
const val WARNING_TRAMCAR = 20023//有轨电车
|
||||
const val WARNING_TEST_SECTION = 20024//考试路段
|
||||
const val WARNING_ACCIDENT_PRONE_ROAD_SECTION = 20025//事故易发路段
|
||||
const val WARNING_HUMP_BRIDGE = 20026//驼峰桥
|
||||
const val WARNING_SCHOOL = 20027// 学校
|
||||
}
|
||||
|
||||
}
|
||||
@@ -176,7 +176,78 @@ class MogoPrivateObuManager private constructor() {
|
||||
// CVX_ROAD_TRAFFIC_INFO_IND 道路交通事件信息:十字路口、限速、人行道
|
||||
override fun onCvxRoadTrafficInfoIndInfo(info: CvxRoadTrafficInfoIndInfo?) {
|
||||
Logger.d(MogoObuConst.TAG_MOGO_OBU, "onCvxRoadTrafficInfoIndInfo ------> $info")
|
||||
info?.let {
|
||||
var appId = 0
|
||||
when (info.rti_type) {
|
||||
//急转弯
|
||||
0x2 -> {
|
||||
appId = ObuConstants.USE_CASE_ID.IVS
|
||||
}
|
||||
//施工
|
||||
0x7 -> {
|
||||
appId = ObuConstants.USE_CASE_ID.IVS
|
||||
}
|
||||
//限速
|
||||
0xA -> {
|
||||
appId = ObuConstants.USE_CASE_ID.SLW
|
||||
}
|
||||
//事故
|
||||
0xC -> {
|
||||
appId = 0x2C06
|
||||
}
|
||||
//拥堵
|
||||
0xD -> {
|
||||
appId = ObuConstants.USE_CASE_ID.TJW
|
||||
}
|
||||
//行人
|
||||
0xF -> {
|
||||
appId = 0x2C04
|
||||
}
|
||||
//禁止停车
|
||||
0x13 -> {
|
||||
appId = 0x2C10
|
||||
}
|
||||
//学校
|
||||
0x14 -> {
|
||||
appId = 0x2C05
|
||||
}
|
||||
//桥梁
|
||||
0x17 -> {
|
||||
appId = 0x2C09
|
||||
}
|
||||
}
|
||||
|
||||
// 只处理需要的场景
|
||||
if (appId > 0) {
|
||||
when (info.status) {
|
||||
// 添加
|
||||
ObuConstants.STATUS.ADD -> {
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
getMessageDirection(5),
|
||||
"ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
val ttsContent = WarningTypeEnum.getWarningTts(appId)
|
||||
val alertContent = WarningTypeEnum.getWarningContent(appId)
|
||||
mIMoGoWaringProvider!!.showWarningV2X(
|
||||
appId,
|
||||
alertContent,
|
||||
ttsContent,
|
||||
appId.toString()
|
||||
)
|
||||
}
|
||||
// 删除
|
||||
ObuConstants.STATUS.DELETE -> {
|
||||
// 移除顶部弹窗
|
||||
mIMoGoWaringProvider?.disableWarningV2X(appId.toString())
|
||||
}
|
||||
// 更新
|
||||
else -> {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user