Commit ec54ed46 authored by p x's avatar p x
Browse files

云端辅助

parent ee9bd6c6
...@@ -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;
} }
...@@ -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;
......
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;
......
...@@ -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
* *
*/ */
...@@ -15,4 +15,7 @@ public class AssistMessage { ...@@ -15,4 +15,7 @@ public class AssistMessage {
@Order(2) @Order(2)
private AssistMessageBody assistMessageBody; private AssistMessageBody assistMessageBody;
public AssistMessageBody getAssistMessageBody() {
return assistMessageBody;
}
} }
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")
......
...@@ -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;
//相位数量 //相位数量
......
...@@ -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 TrafficLightInfoDto {
//事件唯一标识 //事件唯一标识
private String uuid; private String uuid;
//事件生成时间 戳 //事件生成时间 戳
......
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
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.TrafficLightInfoDto;
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, TrafficLightInfoDto.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);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment