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
ec54ed46
Commit
ec54ed46
authored
Jul 03, 2025
by
p x
Browse files
云端辅助
parent
ee9bd6c6
Changes
9
Hide whitespace changes
Inline
Side-by-side
src/main/java/com/cusc/adas/v2x/assist/dto/AssistMessageBodyDto.java
View file @
ec54ed46
...
@@ -7,25 +7,18 @@ import com.cusc.adas.v2x.utils.Order;
...
@@ -7,25 +7,18 @@ import com.cusc.adas.v2x.utils.Order;
public
class
AssistMessageBodyDto
<
T
>
{
public
class
AssistMessageBodyDto
<
T
>
{
//车辆编号
//车辆编号
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
private
String
vehicleId
;
private
String
vehicleId
;
//消息标识
//消息标识
@Order
(
2
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
private
long
seq
;
private
long
seq
;
//辅助功能类别
//辅助功能类别
@Order
(
3
)
private
short
astFuncType
;
private
short
astFuncType
;
//命令长度
//命令长度
@Order
(
4
)
private
int
dataLen
;
private
int
dataLen
;
//命令数据
//命令数据
@Order
(
5
)
private
T
infoData
;
private
List
<
T
>
infoData
;
}
}
src/main/java/com/cusc/adas/v2x/assist/dto/TrafficLightDto.java
View file @
ec54ed46
...
@@ -2,9 +2,6 @@ package com.cusc.adas.v2x.assist.dto;
...
@@ -2,9 +2,6 @@ package com.cusc.adas.v2x.assist.dto;
import
java.util.List
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.Order
;
import
com.cusc.adas.v2x.utils.RefNumFlag
;
/**
/**
* 信号灯
* 信号灯
* @author huangml
* @author huangml
...
@@ -12,35 +9,25 @@ import com.cusc.adas.v2x.utils.RefNumFlag;
...
@@ -12,35 +9,25 @@ import com.cusc.adas.v2x.utils.RefNumFlag;
*/
*/
public
class
TrafficLightDto
{
public
class
TrafficLightDto
{
//红绿灯控制方 式 1:固定周期;2:手动控制;3:黄闪控制,4-254: 预留
//红绿灯控制方 式 1:固定周期;2:手动控制;3:黄闪控制,4-254: 预留
@Order
(
1
)
private
short
controlMode
;
private
short
controlMode
;
//区域 ID 信号灯作用位置所在区域唯一编号,与路口 ID 一起确定 唯一路口
//区域 ID 信号灯作用位置所在区域唯一编号,与路口 ID 一起确定 唯一路口
@Order
(
2
)
private
int
regionId
;
private
int
regionId
;
//路口 ID 信号灯作用位置在该区域内唯一编号,与区域 ID 一起确 定唯一路口
//路口 ID 信号灯作用位置在该区域内唯一编号,与区域 ID 一起确 定唯一路口
@Order
(
3
)
private
int
nodeId
;
private
int
nodeId
;
//车辆所在车道 对应信号灯相 位数量
//车辆所在车道 对应信号灯相 位数量
@Order
(
4
)
private
int
numOfLanePhase
;
private
int
numOfLanePhase
;
//车辆所在车道 对应信号灯相 位 ID 列表
//车辆所在车道 对应信号灯相 位 ID 列表
@Order
(
5
)
@RefNumFlag
(
value
=
"numOfLanePhase"
)
private
List
<
Short
>
lanePhaseIds
;
private
List
<
Short
>
lanePhaseIds
;
//车辆到前方停 止线距离
//车辆到前方停 止线距离
@Order
(
6
)
private
float
d2StopLine
;
private
int
d2StopLine
;
//相位数量
//相位数量
@Order
(
7
)
private
short
phaseNumber
;
private
short
phaseNumber
;
//信号灯相位状 态
//信号灯相位状 态
@Order
(
8
)
@RefNumFlag
(
value
=
"phaseNumber"
)
private
List
<
TrafficLightStatusDto
>
phaseState
;
private
List
<
TrafficLightStatusDto
>
phaseState
;
...
...
src/main/java/com/cusc/adas/v2x/assist/dto/TrafficLightStatusDto.java
View file @
ec54ed46
package
com.cusc.adas.v2x.assist.dto
;
package
com.cusc.adas.v2x.assist.dto
;
import
com.cusc.adas.v2x.utils.Order
;
/**
/**
* 信号灯相位状态
* 信号灯相位状态
* @author huangml
* @author huangml
...
@@ -9,26 +7,20 @@ import com.cusc.adas.v2x.utils.Order;
...
@@ -9,26 +7,20 @@ import com.cusc.adas.v2x.utils.Order;
*/
*/
public
class
TrafficLightStatusDto
{
public
class
TrafficLightStatusDto
{
//相位编号
//相位编号
@Order
(
1
)
private
short
phaseID
;
private
short
phaseID
;
//当前灯色
//当前灯色
@Order
(
2
)
private
short
lightState
;
private
short
lightState
;
//当前灯色剩余 时间
//当前灯色剩余 时间
@Order
(
3
)
private
short
timeLeft
;
private
short
timeLeft
;
//下一阶段灯色
//下一阶段灯色
@Order
(
4
)
private
short
nextLightState
;
private
short
nextLightState
;
//下一阶段灯色 持续时间
//下一阶段灯色 持续时间
@Order
(
5
)
private
short
nextLightTime
;
private
short
nextLightTime
;
//灯组类型
//灯组类型
@Order
(
6
)
private
short
lightType
;
private
short
lightType
;
...
...
src/main/java/com/cusc/adas/v2x/assist/vo/AssistMessage.java
View file @
ec54ed46
...
@@ -4,7 +4,7 @@ import com.cusc.adas.v2x.utils.Order;
...
@@ -4,7 +4,7 @@ import com.cusc.adas.v2x.utils.Order;
import
com.cusc.adas.v2x.vo.MessageHeadInfo
;
import
com.cusc.adas.v2x.vo.MessageHeadInfo
;
/**
/**
* 辅助功能信息
*
云端
辅助功能信息
8.8
* @author huangml
* @author huangml
*
*
*/
*/
...
@@ -14,5 +14,8 @@ public class AssistMessage {
...
@@ -14,5 +14,8 @@ public class AssistMessage {
private
MessageHeadInfo
messageHeadInfo
;
private
MessageHeadInfo
messageHeadInfo
;
@Order
(
2
)
@Order
(
2
)
private
AssistMessageBody
assistMessageBody
;
private
AssistMessageBody
assistMessageBody
;
public
AssistMessageBody
getAssistMessageBody
()
{
return
assistMessageBody
;
}
}
}
src/main/java/com/cusc/adas/v2x/assist/vo/AssistMessageBody.java
View file @
ec54ed46
package
com.cusc.adas.v2x.assist.vo
;
package
com.cusc.adas.v2x.assist.vo
;
import
java.util.List
;
import
com.cusc.adas.v2x.utils.DependencyDef
;
import
com.cusc.adas.v2x.utils.DependencyDef
;
import
com.cusc.adas.v2x.utils.DynamicsClassDef
;
import
com.cusc.adas.v2x.utils.DynamicsClassDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
import
com.cusc.adas.v2x.utils.FieldDef
;
...
@@ -26,7 +24,7 @@ public class AssistMessageBody<T> {
...
@@ -26,7 +24,7 @@ public class AssistMessageBody<T> {
@Order
(
4
)
@Order
(
4
)
private
int
dataLen
;
private
int
dataLen
;
//
命令数据
//
长度为 N 个字节,其中N 为命令长度,数据结构根据功能不同应分别 符合 8.8.6~8.8.11 的要求
@Order
(
5
)
@Order
(
5
)
@DynamicsClassDef
(
classtype
=
"assist"
)
@DynamicsClassDef
(
classtype
=
"assist"
)
@DependencyDef
(
value
=
"astFuncType"
)
@DependencyDef
(
value
=
"astFuncType"
)
...
...
src/main/java/com/cusc/adas/v2x/assist/vo/TrafficLight.java
View file @
ec54ed46
...
@@ -2,16 +2,17 @@ package com.cusc.adas.v2x.assist.vo;
...
@@ -2,16 +2,17 @@ package com.cusc.adas.v2x.assist.vo;
import
java.util.List
;
import
java.util.List
;
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
;
/**
/**
* 信号灯
*
云端下发CLOUD2VEH_ASTFUNC_TLM = 7
信号灯
数据
* @author huangml
* @author huangml
*
*
*/
*/
public
class
TrafficLight
{
public
class
TrafficLight
{
//红绿灯控制方
式 1:固定周期;2:手动控制;3:黄闪控制,4-254: 预留
//红绿灯控制方式 1:固定周期;2:手动控制;3:黄闪控制,4-254: 预留
@Order
(
1
)
@Order
(
1
)
private
short
controlMode
;
private
short
controlMode
;
//区域 ID 信号灯作用位置所在区域唯一编号,与路口 ID 一起确定 唯一路口
//区域 ID 信号灯作用位置所在区域唯一编号,与路口 ID 一起确定 唯一路口
...
@@ -32,6 +33,7 @@ public class TrafficLight {
...
@@ -32,6 +33,7 @@ public class TrafficLight {
//车辆到前方停 止线距离
//车辆到前方停 止线距离
@Order
(
6
)
@Order
(
6
)
@OffsetDef
(
value
=
0.01
)
private
int
d2StopLine
;
private
int
d2StopLine
;
//相位数量
//相位数量
...
...
src/main/java/com/cusc/adas/v2x/clouddecision/dto/TrafficLightDto.java
→
src/main/java/com/cusc/adas/v2x/clouddecision/dto/TrafficLight
Info
Dto.java
View file @
ec54ed46
...
@@ -7,7 +7,7 @@ import java.util.List;
...
@@ -7,7 +7,7 @@ import java.util.List;
*
*
* @author huangml
* @author huangml
*/
*/
public
class
TrafficLightDto
{
public
class
TrafficLight
Info
Dto
{
//事件唯一标识
//事件唯一标识
private
String
uuid
;
private
String
uuid
;
//事件生成时间 戳
//事件生成时间 戳
...
...
src/main/java/com/cusc/adas/v2x/events/AssistMsgEvent.kt
0 → 100644
View file @
ec54ed46
package
com.cusc.adas.v2x.events
import
com.cusc.adas.v2x.assist.dto.AssistMessageBodyDto
class
AssistMsgEvent
{
var
assistMessageBodyDto
:
AssistMessageBodyDto
<
Any
>?
=
null
}
\ No newline at end of file
src/main/java/com/cusc/adas/v2x/vo/DynamicsClassMap.java
View file @
ec54ed46
package
com.cusc.adas.v2x.vo
;
package
com.cusc.adas.v2x.vo
;
import
java.util.HashMap
;
import
com.cusc.adas.v2x.assist.dto.TrafficLightDto
;
import
java.util.Map
;
import
com.cusc.adas.v2x.assist.vo.TrafficLight
;
import
com.cusc.adas.v2x.assist.vo.TrafficLight
;
import
com.cusc.adas.v2x.clouddecision.dto.AbnormalVehicleDto
;
import
com.cusc.adas.v2x.clouddecision.dto.AbnormalVehicleDto
;
import
com.cusc.adas.v2x.clouddecision.dto.AutoSpeedLimitDto
;
import
com.cusc.adas.v2x.clouddecision.dto.AutoSpeedLimitDto
;
import
com.cusc.adas.v2x.clouddecision.dto.EmergencyVehicleDto
;
import
com.cusc.adas.v2x.clouddecision.dto.EmergencyVehicleDto
;
import
com.cusc.adas.v2x.clouddecision.dto.FawWarnningDto
;
import
com.cusc.adas.v2x.clouddecision.dto.FawWarnningDto
;
import
com.cusc.adas.v2x.clouddecision.dto.RSIWarnningDto
;
import
com.cusc.adas.v2x.clouddecision.dto.RSIWarnningDto
;
import
com.cusc.adas.v2x.clouddecision.dto.TrafficLightDto
;
import
com.cusc.adas.v2x.clouddecision.dto.TrafficLight
Info
Dto
;
import
com.cusc.adas.v2x.clouddecision.vo.AbnormalVehicle
;
import
com.cusc.adas.v2x.clouddecision.vo.AbnormalVehicle
;
import
com.cusc.adas.v2x.clouddecision.vo.AutoSpeedLimit
;
import
com.cusc.adas.v2x.clouddecision.vo.AutoSpeedLimit
;
import
com.cusc.adas.v2x.clouddecision.vo.EmergencyVehicle
;
import
com.cusc.adas.v2x.clouddecision.vo.EmergencyVehicle
;
...
@@ -17,6 +15,9 @@ import com.cusc.adas.v2x.clouddecision.vo.FawWarnning;
...
@@ -17,6 +15,9 @@ import com.cusc.adas.v2x.clouddecision.vo.FawWarnning;
import
com.cusc.adas.v2x.clouddecision.vo.RSIWarnning
;
import
com.cusc.adas.v2x.clouddecision.vo.RSIWarnning
;
import
com.cusc.adas.v2x.clouddecision.vo.TrafficLightInfo
;
import
com.cusc.adas.v2x.clouddecision.vo.TrafficLightInfo
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
DynamicsClassMap
{
public
class
DynamicsClassMap
{
private
static
Map
<
String
,
Map
<
Short
,
Class
>>
map
=
new
HashMap
<>();
private
static
Map
<
String
,
Map
<
Short
,
Class
>>
map
=
new
HashMap
<>();
private
static
Map
<
String
,
Map
<
Short
,
Class
>>
mapDto
=
new
HashMap
<>();
private
static
Map
<
String
,
Map
<
Short
,
Class
>>
mapDto
=
new
HashMap
<>();
...
@@ -34,12 +35,12 @@ public class DynamicsClassMap {
...
@@ -34,12 +35,12 @@ public class DynamicsClassMap {
map
.
put
(
"CloudDecision"
,
cloundDecisionsubMap
);
map
.
put
(
"CloudDecision"
,
cloundDecisionsubMap
);
Map
<
Short
,
Class
>
assistSubMap
=
new
HashMap
<>();
Map
<
Short
,
Class
>
assistSubMap
=
new
HashMap
<>();
assistSubMap
.
put
((
short
)
7
,
TrafficLight
.
class
);
assistSubMap
.
put
((
short
)
7
,
TrafficLight
.
class
);
//云端下发信号灯信息数据
map
.
put
(
"assist"
,
assistSubMap
);
map
.
put
(
"assist"
,
assistSubMap
);
// 参考 adviceType 列表定义
// 参考 adviceType 列表定义
Map
<
Short
,
Class
>
cloundDecisionsubMapDto
=
new
HashMap
<>();
Map
<
Short
,
Class
>
cloundDecisionsubMapDto
=
new
HashMap
<>();
cloundDecisionsubMapDto
.
put
((
short
)
1
,
TrafficLightDto
.
class
);
//信号灯路口车速引导功能指令
cloundDecisionsubMapDto
.
put
((
short
)
1
,
TrafficLight
Info
Dto
.
class
);
//信号灯路口车速引导功能指令
cloundDecisionsubMapDto
.
put
((
short
)
5
,
AutoSpeedLimitDto
.
class
);
//动态车道级限速指令
cloundDecisionsubMapDto
.
put
((
short
)
5
,
AutoSpeedLimitDto
.
class
);
//动态车道级限速指令
cloundDecisionsubMapDto
.
put
((
short
)
9
,
FawWarnningDto
.
class
);
//前向碰撞预警
cloundDecisionsubMapDto
.
put
((
short
)
9
,
FawWarnningDto
.
class
);
//前向碰撞预警
cloundDecisionsubMapDto
.
put
((
short
)
11
,
AbnormalVehicleDto
.
class
);
//异常车辆预警
cloundDecisionsubMapDto
.
put
((
short
)
11
,
AbnormalVehicleDto
.
class
);
//异常车辆预警
...
@@ -47,6 +48,10 @@ public class DynamicsClassMap {
...
@@ -47,6 +48,10 @@ public class DynamicsClassMap {
cloundDecisionsubMapDto
.
put
((
short
)
17
,
RSIWarnningDto
.
class
);
//通用 RSI 预警
cloundDecisionsubMapDto
.
put
((
short
)
17
,
RSIWarnningDto
.
class
);
//通用 RSI 预警
//Android Dto
//Android Dto
mapDto
.
put
(
"CloudDecision"
,
cloundDecisionsubMapDto
);
mapDto
.
put
(
"CloudDecision"
,
cloundDecisionsubMapDto
);
Map
<
Short
,
Class
>
assistSubMapDto
=
new
HashMap
<>();
assistSubMapDto
.
put
((
short
)
7
,
TrafficLightDto
.
class
);
//云端下发信号灯信息数据
mapDto
.
put
(
"assist"
,
assistSubMapDto
);
}
}
...
...
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