Commit 630ecf68 authored by p x's avatar p x
Browse files

添加8.5 表64 局部路径

parent a92de540
package com.cusc.adas.v2x.clouddecision.dto;
import com.cusc.adas.v2x.dto.Position2DDto;
import com.cusc.adas.v2x.utils.Order;
import com.cusc.adas.v2x.vo.Position2D;
/****
* 局部路径点
* **/
public class PathPathDto {
// 分段编号长度
private short pathIdLen;
//分段编号
private String pathId;
//关联 GNSS 点 数量
private short pointsNum;
//关联 GNSS 点 位置
private Position2DDto pointsPos;
//分段长度
private long pathLen;
//分段名称长度
private short pathNameLen;
//分段名称
private String pathName;
//分段类型 ,0:常规路段;1:路口内连接路段,0xFF 表示缺 省 2=红色 3=绿色
private short pathType;
public short getPathType() {
return pathType;
}
public Position2DDto getPointsPos() {
return pointsPos;
}
}
...@@ -48,10 +48,14 @@ public class RSISDetailDto { ...@@ -48,10 +48,14 @@ public class RSISDetailDto {
//自定义内容长度 //自定义内容长度
private int userdefinedDataLength; private int userdefinedDataLength;
//这里用来拿到人的感知物id
private String userdefinedData; private String userdefinedData;
public String getUserdefinedData() {
return userdefinedData;
}
public PositionDto getEventPosition() { public PositionDto getEventPosition() {
return eventPosition; return eventPosition;
} }
......
package com.cusc.adas.v2x.clouddecision.dto;
import com.cusc.adas.v2x.dto.Position2DDto;
import java.util.List;
/**
* 8.5 CLOUD2VEH_ADVICE_GUIDANCE = 19
* 路线规划指令
***/
public class RoutePlanDto {
// 事件唯一标识
private String uuid;
//事件生成时间 戳
private String timestamp;
//告警类型 固定值为 6601,用于匹配 RSI
private int alertType;
//路线长度
private long totalLen;
//目的地位置
private Position2DDto destLocation;
//目的地停车航 向角
private double destHeading;
// 路线分段个数
private int pathNum;
//路线规划数据 长度
private int dataLen;
//长度为 N 个字节,其中 N 为路线规划数据长度,路线规划数据结构内
private List<PathPathDto> pathList;
public List<PathPathDto> getPathList() {
return pathList;
}
}
package com.cusc.adas.v2x.clouddecision.vo;
import com.cusc.adas.v2x.utils.Order;
import com.cusc.adas.v2x.vo.Position2D;
/****
* 局部路径点
* **/
public class PathPath {
// 分段编号长度
@Order(1)
private short pathIdLen;
//分段编号
@Order(2)
private String pathId;
//关联 GNSS 点 数量
@Order(3)
private short pointsNum;
//关联 GNSS 点 位置
@Order(4)
private Position2D pointsPos;
//分段长度
@Order(5)
private long pathLen;
//分段名称长度
@Order(6)
private short pathNameLen;
//分段名称
@Order(7)
private String pathName;
//分段类型 ,0:常规路段;1:路口内连接路段,0xFF 表示缺 省 2=红色 3=绿色
@Order(7)
private short pathType;
}
...@@ -62,7 +62,7 @@ public class RSISDetail { ...@@ -62,7 +62,7 @@ public class RSISDetail {
//自定义内容长度 //自定义内容长度
@Order(13) @Order(13)
private int userdefinedDataLength; private int userdefinedDataLength;
//这里用来拿到人的感知物id
@Order(14) @Order(14)
//自定义内容 //自定义内容
@RefNumFlag(value="userdefinedDataLength") @RefNumFlag(value="userdefinedDataLength")
......
package com.cusc.adas.v2x.clouddecision.vo;
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;
import com.cusc.adas.v2x.vo.Position2D;
import java.util.List;
/**
* 8.5 CLOUD2VEH_ADVICE_GUIDANCE = 19
* 路线规划指令
***/
public class RoutePlan {
// 事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private String timestamp;
//告警类型 固定值为 6601,用于匹配 RSI
@Order(3)
private int alertType;
//路线长度
@Order(4)
private long totalLen;
//目的地位置
@Order(5)
private Position2D destLocation;
//目的地停车航向角
@Order(6)
@OffsetDef(value=0.0001)
private long destHeading;
// 路线分段个数
@Order(7)
private int pathNum;
//路线规划数据 长度
@Order(8)
private int dataLen;
//长度为 N 个字节,其中 N 为路线规划数据长度,路线规划数据结构内
@Order(9)
private List<PathPath> pathList;
}
...@@ -9,12 +9,14 @@ import com.cusc.adas.v2x.clouddecision.dto.AutoSpeedLimitDto; ...@@ -9,12 +9,14 @@ 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.RoutePlanDto;
import com.cusc.adas.v2x.clouddecision.dto.TrafficLightInfoDto; 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;
import com.cusc.adas.v2x.clouddecision.vo.FawWarnning; 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.RoutePlan;
import com.cusc.adas.v2x.clouddecision.vo.TrafficLightInfo; import com.cusc.adas.v2x.clouddecision.vo.TrafficLightInfo;
import java.util.HashMap; import java.util.HashMap;
...@@ -34,6 +36,7 @@ public class DynamicsClassMap { ...@@ -34,6 +36,7 @@ public class DynamicsClassMap {
cloundDecisionsubMap.put((short) 11, AbnormalVehicle.class);//异常车辆预警 cloundDecisionsubMap.put((short) 11, AbnormalVehicle.class);//异常车辆预警
cloundDecisionsubMap.put((short) 13, EmergencyVehicle.class);//紧急车辆预警 cloundDecisionsubMap.put((short) 13, EmergencyVehicle.class);//紧急车辆预警
cloundDecisionsubMap.put((short) 17, RSIWarnning.class);//通用 RSI 预警 cloundDecisionsubMap.put((short) 17, RSIWarnning.class);//通用 RSI 预警
cloundDecisionsubMap.put((short) 19, RoutePlan.class);//路线规划指令,用于局部路径一半红,一半蓝
map.put("CloudDecision", cloundDecisionsubMap); map.put("CloudDecision", cloundDecisionsubMap);
// 8.8 云端辅助功能信息及返回 // 8.8 云端辅助功能信息及返回
...@@ -50,6 +53,7 @@ public class DynamicsClassMap { ...@@ -50,6 +53,7 @@ public class DynamicsClassMap {
cloundDecisionsubMapDto.put((short) 11, AbnormalVehicleDto.class);//异常车辆预警 cloundDecisionsubMapDto.put((short) 11, AbnormalVehicleDto.class);//异常车辆预警
cloundDecisionsubMapDto.put((short) 13, EmergencyVehicleDto.class);//紧急车辆预警 cloundDecisionsubMapDto.put((short) 13, EmergencyVehicleDto.class);//紧急车辆预警
cloundDecisionsubMapDto.put((short) 17, RSIWarnningDto.class);//通用 RSI 预警 cloundDecisionsubMapDto.put((short) 17, RSIWarnningDto.class);//通用 RSI 预警
cloundDecisionsubMapDto.put((short) 19, RoutePlanDto.class);//路线规划指令,用于局部路径一半红,一半蓝
mapDto.put("CloudDecision", cloundDecisionsubMapDto); mapDto.put("CloudDecision", cloundDecisionsubMapDto);
Map<Short, Class> assistSubMapDto = new HashMap<>(); Map<Short, Class> assistSubMapDto = new HashMap<>();
......
...@@ -7,7 +7,7 @@ import com.cusc.adas.v2x.utils.OffsetDef; ...@@ -7,7 +7,7 @@ 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;
//云端决策建议信息数据结构 //8.5 云端决策建议信息数据结构
public class VehAdviceInfo<T> { public class VehAdviceInfo<T> {
//车辆编号 //车辆编号
@Order(1) @Order(1)
...@@ -41,7 +41,7 @@ public class VehAdviceInfo<T> { ...@@ -41,7 +41,7 @@ public class VehAdviceInfo<T> {
// 命令长度 // 命令长度
@Order(8) @Order(8)
private int dataLen; private int dataLen;
// //各项功能对应的 adviceType
@Order(9) @Order(9)
@DynamicsClassDef(classtype="CloudDecision") @DynamicsClassDef(classtype="CloudDecision")
@DependencyDef(value="adviceType") @DependencyDef(value="adviceType")
......
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