Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
earlywarning
Commits
ee9bd6c6
Commit
ee9bd6c6
authored
Jul 02, 2025
by
p x
Browse files
对完8.5
parent
8bd7108c
Changes
23
Hide whitespace changes
Inline
Side-by-side
src/main/java/com/cusc/adas/v2x/clouddecision/dto/AbnormalVehicleDto.java
View file @
ee9bd6c6
...
@@ -10,36 +10,24 @@ import com.cusc.adas.v2x.utils.RefNumFlag;
...
@@ -10,36 +10,24 @@ import com.cusc.adas.v2x.utils.RefNumFlag;
/**
/**
* 异常车辆预警
* 异常车辆预警
* @author huangml
*
*
* @author huangml
*/
*/
public
class
AbnormalVehicleDto
{
public
class
AbnormalVehicleDto
{
//事件唯一标识
//事件唯一标识
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
private
String
uuid
;
@Order
(
1
)
//事件生成时间 戳
private
String
uuid
;
private
long
timestamp
;
//事件生成时间 戳
//告警类型 用于匹配 RSI,取值为 6503,6505,6506,6507,6508
@Order
(
2
)
private
int
alertType
;
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
//告警半径
private
long
timestamp
;
private
float
alertRadius
;
//告警类型 用于匹配 RSI,取值为 6503,6505,6506,6507,6508
//路径点数量
@Order
(
3
)
private
short
pointNum
;
private
int
alertType
;
//告警路径
//告警半径
private
List
<
PositionDto
>
alertPath
;
@Order
(
4
)
//车速
private
float
alertRadius
;
private
float
velocity
;
//路径点数量
//航向角
@Order
(
5
)
private
double
heading
;
private
short
pointNum
;
//告警路径
@Order
(
6
)
@RefNumFlag
(
value
=
"pointNum"
)
private
List
<
PositionDto
>
alertPath
;
//车速
@Order
(
7
)
private
int
velocity
;
//航向角
@Order
(
8
)
private
long
heading
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/AutoSpeedLimitDto.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.dto
;
package
com.cusc.adas.v2x.clouddecision.dto
;
/**
* 动态车道级限速
* @author huangml
*
*/
import
java.util.List
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.vo.Position
;
import
com.cusc.adas.v2x.vo.SpeedLimit
;
public
class
AutoSpeedLimitDto
{
public
class
AutoSpeedLimitDto
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
private
String
uuid
;
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
//事件生成时间 戳
private
String
uuid
;
private
long
timestamp
;
//事件生成时间 戳
//告警类型 固定值为 6517
@Order
(
2
)
private
int
alertType
;
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
//告警半径 单位:dm
private
long
timestamp
;
private
float
alertRadius
;
//告警类型 固定值为 6517
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
@Order
(
3
)
private
short
pointNum
;
private
int
alertType
;
//告警路径
//告警半径 单位:dm
// @RefNumFlag(value="pointNum")
@Order
(
4
)
private
List
<
PositionDto
>
alertPath
;
private
int
alertRadius
;
//车道数量
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
private
short
laneNum
;
@Order
(
5
)
//限速数据
private
short
pointNum
;
// @RefNumFlag(value="laneNum")
//告警路径
private
List
<
SpeedLimitDto
>
speedLmt
;
@Order
(
6
)
@RefNumFlag
(
value
=
"pointNum"
)
private
List
<
Position
>
alertPath
;
//车道数量
@Order
(
7
)
private
short
laneNum
;
//限速数据
@Order
(
1
)
@RefNumFlag
(
value
=
"laneNum"
)
private
List
<
SpeedLimit
>
speedLmt
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/EmergencyVehicleDto.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.dto
;
package
com.cusc.adas.v2x.clouddecision.dto
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.vo.Position
;
import
com.cusc.adas.v2x.vo.Position
;
import
java.util.List
;
/**
/**
* 紧急车辆预警
* 紧急车辆预警
* @author huangml
*
*
* @author huangml
*/
*/
public
class
EmergencyVehicleDto
{
public
class
EmergencyVehicleDto
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
private
String
uuid
;
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
//事件生成时间 戳
private
String
uuid
;
private
long
timestamp
;
//事件生成时间 戳
//告警类型
@Order
(
2
)
private
int
alertType
;
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
//告警半径
private
long
timestamp
;
private
float
alertRadius
;
//告警类型
//路径点数量
@Order
(
3
)
private
short
pointNum
;
private
int
alertType
;
//告警路径
//告警半径
private
List
<
PositionDto
>
alertPath
;
@Order
(
4
)
//车辆类型 0:失效;1:救护车;2:警车;3:消防车;4-10: 预留
private
int
alertRadius
;
private
short
type
;
//路径点数量
//车速
@Order
(
5
)
private
float
velocity
;
private
short
pointNum
;
//航向角
//告警路径
private
double
heading
;
@Order
(
6
)
@RefNumFlag
(
value
=
"pointNum"
)
private
List
<
Position
>
alertPath
;
//车辆类型 0:失效;1:救护车;2:警车;3:消防车;4-10: 预留
@Order
(
7
)
private
short
type
;
//车速
@Order
(
8
)
private
int
velocity
;
//航向角
@Order
(
9
)
private
long
heading
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/FawWarnningDto.java
View file @
ee9bd6c6
...
@@ -2,56 +2,36 @@ package com.cusc.adas.v2x.clouddecision.dto;
...
@@ -2,56 +2,36 @@ package com.cusc.adas.v2x.clouddecision.dto;
import
java.util.List
;
import
java.util.List
;
import
com.cusc.adas.v2x.dto.PositionDto
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
/**
/**
* 前向碰撞预警
* 前向碰撞预警
* @author huangml
*
*/
*/
public
class
FawWarnningDto
{
public
class
FawWarnningDto
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
private
String
uuid
;
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
//事件生成时间 戳
private
String
uuid
;
private
long
timestamp
;
//事件生成时间 戳
@Order
(
2
)
//告警类型 固定值为 6518
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
int
alertType
=
6518
;
private
long
timestamp
;
//告警半径
private
float
alertRadius
;
//告警类型 固定值为 6518
@Order
(
3
)
//路径点数量
private
int
alertType
;
private
short
pointNum
;
//告警半径 单位:dm
@Order
(
4
)
//告警路径
private
int
alertRadius
;
private
List
<
PositionDto
>
alertPath
;
//路径点数量
//碰撞预警目标 类型 0:行人;1:非机动车;2:机动车;3:其他; 0xFF 表示缺省,缺省则告警功能失效
@Order
(
5
)
private
short
objType
;
private
short
pointNum
;
//碰撞告警类型
//告警路径
private
short
fcwLevel
;
@Order
(
6
)
@RefNumFlag
(
value
=
"pointNum"
)
//碰撞距离 转成米
private
List
<
PositionDto
>
alertPath
;
private
float
fcwDistance
;
//碰撞预警目标 类型
//碰撞预警目标 所在车道
@Order
(
7
)
private
short
fcwLaneId
;
private
short
objType
;
//碰撞告警类型
@Order
(
8
)
private
short
fcwLevel
;
//碰撞距离
@Order
(
9
)
private
int
fcwDistance
;
//碰撞预警目标 所在车道
@Order
(
10
)
private
short
fcwLaneId
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/LaneAdviceSpeedDto.java
View file @
ee9bd6c6
...
@@ -11,16 +11,16 @@ public class LaneAdviceSpeedDto {
...
@@ -11,16 +11,16 @@ public class LaneAdviceSpeedDto {
//车速上限 单位:0.01 m/s
//车速上限 单位:0.01 m/s
@Order
(
1
)
@Order
(
1
)
private
in
t
spdMax
;
private
floa
t
spdMax
;
//车速下限 单位:0.01 m/s
//车速下限 单位:0.01 m/s
@Order
(
2
)
@Order
(
2
)
private
in
t
spdMin
;
private
floa
t
spdMin
;
//建议车速 单位:0.01 m/s
//建议车速 单位:0.01 m/s
@Order
(
3
)
@Order
(
3
)
private
in
t
spdExp
;
private
floa
t
spdExp
;
//通行行为 单位:0.01 m/s
//通行行为 单位:0.01 m/s
@Order
(
4
)
@Order
(
4
)
private
shor
t
maneuver
;
private
floa
t
maneuver
;
//绿灯通过前方 路口数量 车辆绿灯通过前方路口数量,其中 0 表示无法绿灯通过前 方路口
//绿灯通过前方 路口数量 车辆绿灯通过前方路口数量,其中 0 表示无法绿灯通过前 方路口
@Order
(
5
)
@Order
(
5
)
private
short
numIntersection
;
private
short
numIntersection
;
...
...
src/main/java/com/cusc/adas/v2x/clouddecision/dto/PositionDto.java
0 → 100644
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.dto
;
public
class
PositionDto
{
//经度
private
double
longitude
;
//纬度
private
double
latitude
;
//高程 单位分米
private
double
elevation
;
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/RSISDetailDto.java
View file @
ee9bd6c6
...
@@ -8,68 +8,48 @@ import com.cusc.adas.v2x.vo.Position;
...
@@ -8,68 +8,48 @@ import com.cusc.adas.v2x.vo.Position;
/**
/**
* 通用 RSI 预警中交通事件和交通标志信息
* 通用 RSI 预警中交通事件和交通标志信息
* @author huangml
*
*
* @author huangml
*/
*/
public
class
RSISDetailDto
{
public
class
RSISDetailDto
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
private
String
uuid
;
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
//事件生成时间 戳
private
String
uuid
;
private
long
timestamp
;
//事件生成时间 戳
//交通事件位置 点
@Order
(
2
)
private
PositionDto
eventPosition
;
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestamp
;
//道路交通事件 信息类型
//交通事件位置 点
private
int
eventType
;
@Order
(
3
)
private
PositionDto
eventPosition
;
//事件来源
private
short
eventSource
;
//道路交通事件 信息类型
@Order
(
4
)
//事件(影响) 半径
private
int
eventType
;
private
int
eventRadius
;
//事件来源
//关联路段数量
@Order
(
5
)
private
int
referenceLinksNum
;
private
short
eventSource
;
//关联路段数量
//事件(影响) 半径
// @Order(8)
@Order
(
6
)
private
RelSetpDto
referenceLinks
;
private
int
eventRadius
;
//优先级
//关联路段数量
private
short
priority
;
@Order
(
7
)
private
int
referenceLinksNum
;
//交通事件/标 志作用中心线 坐标点
private
PositionDto
alertPath
;
//关联路段数量
//交通标志/事 件作用中心线 范围半径
@Order
(
8
)
private
int
pathRadius
;
private
RelSetpDto
referenceLinks
;
//事件状态
private
short
status
;
//优先级
@Order
(
9
)
//自定义内容长度
private
short
priority
;
private
int
userdefinedDataLength
;
//交通事件/标 志作用中心线 坐标点
private
String
userdefinedData
;
@Order
(
10
)
private
PositionDto
alertPath
;
//交通标志/事 件作用中心线 范围半径
@Order
(
11
)
private
int
pathRadius
;
//事件状态
@Order
(
12
)
private
short
status
;
//自定义内容长度
@Order
(
13
)
private
int
userdefinedDataLength
;
@Order
(
14
)
//自定义内容
@RefNumFlag
(
value
=
"userdefinedDataLength"
)
private
String
userdefinedData
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/RSIWarnningDto.java
View file @
ee9bd6c6
...
@@ -9,9 +9,14 @@ import com.cusc.adas.v2x.utils.Order;
...
@@ -9,9 +9,14 @@ import com.cusc.adas.v2x.utils.Order;
*/
*/
public
class
RSIWarnningDto
{
public
class
RSIWarnningDto
{
//交通事件和交 通标志信息数 量
//交通事件和交 通标志信息数 量
@Order
(
1
)
private
short
rsisNum
;
private
short
rsisNum
;
@Order
(
2
)
private
RSISDetailDto
rsis
;
private
RSISDetailDto
rsis
;
public
short
getRsisNum
()
{
return
rsisNum
;
}
public
RSISDetailDto
getRsis
()
{
return
rsis
;
}
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/RelSetpDto.java
View file @
ee9bd6c6
...
@@ -2,27 +2,29 @@ package com.cusc.adas.v2x.clouddecision.dto;
...
@@ -2,27 +2,29 @@ package com.cusc.adas.v2x.clouddecision.dto;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.Order
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
/**
* 关联路段
* 关联路段
* @author huangml
* @author huangml
*
*
*/
*/
public
class
RelSetpDto
{
public
class
RelSetpDto
{
public
RelSetpDto
()
{
}
//上游节点编号
//上游节点编号
@Order
(
1
)
private
long
upstreamNodeId
;
private
long
upstreamNodeId
;
//下游节点编号
//下游节点编号
@Order
(
2
)
private
long
downstreamNodeId
;
private
long
downstreamNodeId
;
//受影响车道数量
//受影响车道数量
@Order
(
3
)
private
short
referenceLanesNum
;
private
short
referenceLanesNum
;
//受影响车道
//受影响车道
@Order
(
4
)
private
List
<
Short
>
referenceLanes
;
private
short
referenceLanes
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/SpeedLimitDto.java
0 → 100644
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.dto
;
/**
* 限速 信息
* @author huangml
*
*/
public
class
SpeedLimitDto
{
//车道编 号
private
short
laneId
;
//限速值
private
short
speedLimit
;
}
src/main/java/com/cusc/adas/v2x/clouddecision/dto/TrafficLightDto.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.dto
;
package
com.cusc.adas.v2x.clouddecision.dto
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.Order
;
/**
/**
* 信号灯路口车速引导
* 信号灯路口车速引导
* @author huangml
*
*
* @author huangml
*/
*/
public
class
TrafficLightDto
{
public
class
TrafficLightDto
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
private
String
uuid
;
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
//事件生成时间 戳
private
String
uuid
;
private
long
timestamp
;
//事件生成时间 戳
//告警类型 固定值为 6523
@Order
(
2
)
private
int
alertType
;
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
//有效标识 0:失效;1:有效
private
long
timestamp
;
private
short
valid
;
//告警类型 固定值为 6523
//命令标识 0:失效;1:引导;2:停车指令;3:启动指令
@Order
(
3
)
private
float
type
;
private
int
alertType
;
//车辆所在位置 到停止线距离 单位:0.01m
//有效标识 0:失效;1:有效
private
float
d2StopLine
;
@Order
(
4
)
//车道方向建议 速度组数 0 表示无效,不发送车道方向建议车速数据
private
short
valid
;
private
short
spdExpNum
;
//命令标识 0:失效;1:引导;2:停车指令;3:启动指令
//车道方向建议 速度
@Order
(
5
)
// private byte[] spdExps;
private
short
type
;
private
List
<
LaneAdviceSpeedDto
>
spdExps
;
//车辆所在位置 到停止线距离 单位:0.01m
//车速上限
@Order
(
6
)
private
float
spdMax
;
private
int
d2StopLine
;
//车速下限
//车道方向建议 速度组数 0 表示无效,不发送车道方向建议车速数据
private
float
spdMin
;
@Order
(
7
)
//建议车速
private
short
spdExpNum
;
private
float
spdExp
;
//车道方向建议 速度
//通行行为
@Order
(
8
)
private
float
maneuver
;
private
byte
[]
spdExps
;
//绿灯通过前方路口数量
//车速上限
private
short
numIntersection
;
@Order
(
9
)
private
int
spdMax
;
//车速下限
@Order
(
10
)
private
int
spdMin
;
//建议车速
@Order
(
11
)
private
int
spdExp
;
//通行行为
private
short
maneuver
;
//绿灯通过前方路口数量
private
short
numIntersection
;
}
}
src/main/java/com/cusc/adas/v2x/dto/VehAdviceDto.java
→
src/main/java/com/cusc/adas/v2x/
clouddecision/
dto/VehAdviceDto.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.dto
;
package
com.cusc.adas.v2x.clouddecision.dto
;
import
com.cusc.adas.v2x.utils.DependencyDef
;
import
com.cusc.adas.v2x.utils.DynamicsClassDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.Order
;
//云端决策建议信息数据结构
//云端决策建议信息数据结构
public
class
VehAdviceDto
<
T
>
{
public
class
VehAdviceDto
<
T
>
{
//车辆编号
//车辆编号
private
String
vehicleId
;
private
String
vehicleId
;
...
@@ -27,12 +21,24 @@ public class VehAdviceDto<T> {
...
@@ -27,12 +21,24 @@ public class VehAdviceDto<T> {
// 控车变道建 议转向状态
// 控车变道建 议转向状态
private
short
instructDirection
;
private
short
instructDirection
;
//
命令长度
// 命令长度
private
int
dataLen
;
private
int
dataLen
;
//
@DynamicsClassDef
(
classtype
=
"CloudDecision"
)
@DependencyDef
(
value
=
"adviceType"
)
private
T
adviceData
;
private
T
adviceData
;
public
float
getSpdExp
()
{
return
spdExp
;
}
public
short
getAdviceType
()
{
return
adviceType
;
}
public
short
getEventType
()
{
return
eventType
;
}
public
T
getAdviceData
()
{
return
adviceData
;
}
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/vo/AbnormalVehicle.java
View file @
ee9bd6c6
...
@@ -27,7 +27,7 @@ public class AbnormalVehicle {
...
@@ -27,7 +27,7 @@ public class AbnormalVehicle {
private
int
alertType
;
private
int
alertType
;
//告警半径
//告警半径
@Order
(
4
)
@Order
(
4
)
@OffsetDef
(
value
=
1
0
)
@OffsetDef
(
value
=
0
.1
)
private
int
alertRadius
;
private
int
alertRadius
;
//路径点数量
//路径点数量
@Order
(
5
)
@Order
(
5
)
...
@@ -38,10 +38,10 @@ public class AbnormalVehicle {
...
@@ -38,10 +38,10 @@ public class AbnormalVehicle {
private
List
<
Position
>
alertPath
;
private
List
<
Position
>
alertPath
;
//车速
//车速
@Order
(
7
)
@Order
(
7
)
@OffsetDef
(
value
=
36
,
type
=
2
)
@OffsetDef
(
value
=
0.0
36
,
type
=
2
)
private
int
velocity
;
private
int
velocity
;
//航向角
//航向角
@Order
(
8
)
@Order
(
8
)
@OffsetDef
(
value
=
1
000
0
)
@OffsetDef
(
value
=
0.
000
1
)
private
long
heading
;
private
long
heading
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/vo/AutoSpeedLimit.java
View file @
ee9bd6c6
...
@@ -29,7 +29,7 @@ public class AutoSpeedLimit {
...
@@ -29,7 +29,7 @@ public class AutoSpeedLimit {
private
int
alertType
;
private
int
alertType
;
//告警半径 单位:dm
//告警半径 单位:dm
@Order
(
4
)
@Order
(
4
)
@OffsetDef
(
value
=
1
0
)
@OffsetDef
(
value
=
0
.1
)
private
int
alertRadius
;
private
int
alertRadius
;
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
@Order
(
5
)
@Order
(
5
)
...
...
src/main/java/com/cusc/adas/v2x/clouddecision/vo/EmergencyVehicle.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.vo
;
package
com.cusc.adas.v2x.clouddecision.vo
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.vo.Position
;
import
com.cusc.adas.v2x.vo.Position
;
import
java.util.List
;
/**
/**
* 紧急车辆预警
* 紧急车辆预警
* @author huangml
*
*
* @author huangml
*/
*/
public
class
EmergencyVehicle
{
public
class
EmergencyVehicle
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
private
String
uuid
;
private
String
uuid
;
//事件生成时间 戳
//事件生成时间 戳
@Order
(
2
)
@Order
(
2
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestamp
;
private
long
timestamp
;
//告警类型
//告警类型
固定值为 6511,用于匹配 RSI
@Order
(
3
)
@Order
(
3
)
private
int
alertType
;
private
int
alertType
=
6511
;
//告警半径
//告警半径
@Order
(
4
)
@Order
(
4
)
@OffsetDef
(
value
=
10
,
type
=
1
)
@OffsetDef
(
value
=
0.
1
)
private
int
alertRadius
;
private
int
alertRadius
;
//路径点数量
//路径点数量
@Order
(
5
)
@Order
(
5
)
private
short
pointNum
;
private
short
pointNum
;
//告警路径
//告警路径
@Order
(
6
)
@Order
(
6
)
@RefNumFlag
(
value
=
"pointNum"
)
@RefNumFlag
(
value
=
"pointNum"
)
private
List
<
Position
>
alertPath
;
private
List
<
Position
>
alertPath
;
//车辆类型 0:失效;1:救护车;2:警车;3:消防车;4-10: 预留
//车辆类型 0:失效;1:救护车;2:警车;3:消防车;4-10: 预留
@Order
(
7
)
@Order
(
7
)
private
short
type
;
private
short
type
;
//车速
//车速
@Order
(
8
)
@Order
(
8
)
@OffsetDef
(
value
=
36
,
type
=
2
)
@OffsetDef
(
value
=
0.03636
)
private
int
velocity
;
private
int
velocity
;
//航向角
//航向角
@Order
(
9
)
@Order
(
9
)
@OffsetDef
(
value
=
10
000
)
@OffsetDef
(
value
=
0.
000
1
)
private
long
heading
;
private
long
heading
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/vo/FawWarnning.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.vo
;
package
com.cusc.adas.v2x.clouddecision.vo
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.vo.Position
;
import
com.cusc.adas.v2x.vo.Position
;
import
java.util.List
;
/**
/**
* 前向碰撞预警
* 前向碰撞预警
* @author huangml
*
*
* @author huangml
*/
*/
public
class
FawWarnning
{
public
class
FawWarnning
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
private
String
uuid
;
private
String
uuid
;
//事件生成时间 戳
//事件生成时间 戳
@Order
(
2
)
@Order
(
2
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestamp
;
private
long
timestamp
;
//告警类型 固定值为 6518
//告警类型 固定值为 6518
@Order
(
3
)
@Order
(
3
)
private
int
alertType
=
6518
;
private
int
alertType
=
6518
;
//告警半径 单位:dm
//告警半径 单位:dm
@Order
(
4
)
@Order
(
4
)
@OffsetDef
(
value
=
10
)
@OffsetDef
(
value
=
0.1
)
private
int
alertRadius
;
private
int
alertRadius
;
//路径点数量
//路径点数量
@Order
(
5
)
@Order
(
5
)
private
short
pointNum
;
private
short
pointNum
;
//告警路径
//告警路径
@Order
(
6
)
@Order
(
6
)
@RefNumFlag
(
value
=
"pointNum"
)
@RefNumFlag
(
value
=
"pointNum"
)
private
List
<
Position
>
alertPath
;
private
List
<
Position
>
alertPath
;
//碰撞预警目标 类型
//碰撞预警目标 类型
0:行人;1:非机动车;2:机动车;3:其他; 0xFF 表示缺省,缺省则告警功能失效
@Order
(
7
)
@Order
(
7
)
private
short
objType
;
private
short
objType
;
//碰撞告警类型
//碰撞告警类型
@Order
(
8
)
@Order
(
8
)
private
short
fcwLevel
;
private
short
fcwLevel
;
//碰撞距离 单位:cm
//碰撞距离 单位:cm
@Order
(
9
)
@Order
(
9
)
@OffsetDef
(
value
=
100
)
@OffsetDef
(
value
=
0.01
)
private
int
fcwDistance
;
private
int
fcwDistance
;
//碰撞预警目标 所在车道
//碰撞预警目标 所在车道
@Order
(
10
)
@Order
(
10
)
private
short
fcwLaneId
;
private
short
fcwLaneId
;
}
}
src/main/java/com/cusc/adas/v2x/clouddecision/vo/RSISDetail.java
View file @
ee9bd6c6
...
@@ -3,6 +3,7 @@ package com.cusc.adas.v2x.clouddecision.vo;
...
@@ -3,6 +3,7 @@ package com.cusc.adas.v2x.clouddecision.vo;
import
java.util.List
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.vo.Position
;
import
com.cusc.adas.v2x.vo.Position
;
...
@@ -55,6 +56,7 @@ public class RSISDetail {
...
@@ -55,6 +56,7 @@ public class RSISDetail {
private
Position
alertPath
;
private
Position
alertPath
;
//交通标志/事 件作用中心线 范围半径
//交通标志/事 件作用中心线 范围半径
@Order
(
11
)
@Order
(
11
)
@OffsetDef
(
value
=
0.1
)
private
int
pathRadius
;
private
int
pathRadius
;
//事件状态
//事件状态
@Order
(
12
)
@Order
(
12
)
...
...
src/main/java/com/cusc/adas/v2x/clouddecision/vo/TrafficLightInfo.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.clouddecision.vo
;
package
com.cusc.adas.v2x.clouddecision.vo
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.OffsetDef
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
import
java.util.List
;
/**
/**
* 信号灯路口车速引导
* 信号灯路口车速引导
* @author huangml
*
*
* @author huangml
*/
*/
public
class
TrafficLightInfo
{
public
class
TrafficLightInfo
{
//事件唯一标识
//事件唯一标识
@Order
(
1
)
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
private
String
uuid
;
private
String
uuid
;
//事件生成时间 戳
//事件生成时间 戳
@Order
(
2
)
@Order
(
2
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestamp
;
private
long
timestamp
;
//告警类型 固定值为 6523
//告警类型 固定值为 6523
@Order
(
3
)
@Order
(
3
)
private
int
alertType
=
6523
;
private
int
alertType
=
6523
;
//有效标识 0:失效;1:有效
//有效标识 0:失效;1:有效
@Order
(
4
)
@Order
(
4
)
private
short
valid
;
private
short
valid
;
//命令标识 0:失效;1:引导;2:停车指令;3:启动指令
//命令标识 0:失效;1:引导;2:停车指令;3:启动指令
@Order
(
5
)
@Order
(
5
)
private
short
type
;
private
short
type
;
//车辆所在位置 到停止线距离 单位:0.01m
//车辆所在位置 到停止线距离 单位:0.01m
@Order
(
6
)
@Order
(
6
)
private
int
d2StopLine
;
@OffsetDef
(
value
=
0.01
)
//车道方向建议 速度组数 0 表示无效,不发送车道方向建议车速数据
private
int
d2StopLine
;
@Order
(
7
)
//车道方向建议 速度组数 0 表示无效,不发送车道方向建议车速数据
private
short
spdExpNum
;
@Order
(
7
)
//车道方向建议 速度
private
short
spdExpNum
;
@Order
(
8
)
//N 组车道方向建议车速信息,
@RefNumFlag
(
value
=
"spdExpNum"
)
@Order
(
8
)
private
List
<
LaneAdviceSpeed
>
spdExps
;
@RefNumFlag
(
value
=
"spdExpNum"
)
//车速上限
private
List
<
LaneAdviceSpeed
>
spdExps
;
@Order
(
9
)
//车速上限
private
int
spdMax
;
@Order
(
9
)
//车速下限
private
int
spdMax
;
@Order
(
10
)
//车速下限
private
int
spdMin
;
@Order
(
10
)
//建议车速
private
int
spdMin
;
@Order
(
11
)
//建议车速
private
int
spdExp
;
@Order
(
11
)
//通行行为
private
int
spdExp
;
private
short
maneuver
;
//通行行为
//绿灯通过前方路口数量
private
short
maneuver
;
private
short
numIntersection
;
//绿灯通过前方路口数量
private
short
numIntersection
;
}
}
src/main/java/com/cusc/adas/v2x/vo/VehAdviceMessage.java
→
src/main/java/com/cusc/adas/v2x/
clouddecision/
vo/VehAdviceMessage.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.vo
;
package
com.cusc.adas.v2x.
clouddecision.
vo
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.vo.MessageHeadInfo
;
import
com.cusc.adas.v2x.vo.VehAdviceInfo
;
/**
/**
* 云端决策建议信息
* 云端决策建议信息
...
@@ -8,7 +10,7 @@ import com.cusc.adas.v2x.utils.Order;
...
@@ -8,7 +10,7 @@ import com.cusc.adas.v2x.utils.Order;
public
class
VehAdviceMessage
{
public
class
VehAdviceMessage
{
//报文头
//报文头
@Order
(
1
)
@Order
(
1
)
private
MessageHeadInfo
messageHeadInfo
;
private
MessageHeadInfo
messageHeadInfo
;
@Order
(
2
)
@Order
(
2
)
private
VehAdviceInfo
vehAdviceInfo
;
private
VehAdviceInfo
vehAdviceInfo
;
...
...
src/main/java/com/cusc/adas/v2x/dto/VehicleBodyDto.java
View file @
ee9bd6c6
package
com.cusc.adas.v2x.dto
;
package
com.cusc.adas.v2x.dto
;
public
class
VehicleBodyDto
{
public
class
VehicleBodyDto
{
private
VehicleInfoDto
vehicleInfo
;
private
VehicleStatusInfoDto
vehicleStatusInfo
;
// private AutomaticDriveInfoDto automaticDriveInfo;
public
VehicleInfoDto
getVehicleInfo
()
{
private
VehicleInfoDto
vehicleInfo
;
return
vehicleInfo
;
}
public
VehicleStatusInfoDto
getVehicleStatusInfo
()
{
private
VehicleStatusInfoDto
vehicleStatusInfo
;
return
vehicleStatusInfo
;
}
private
AutomaticDriveInfoDto
automaticDriveInfo
;
public
VehicleInfoDto
getVehicleInfo
()
{
return
vehicleInfo
;
}
public
VehicleStatusInfoDto
getVehicleStatusInfo
()
{
return
vehicleStatusInfo
;
}
public
AutomaticDriveInfoDto
getAutomaticDriveInfo
()
{
return
automaticDriveInfo
;
}
}
}
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment