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

对完8.5

parent 8bd7108c
......@@ -10,36 +10,24 @@ import com.cusc.adas.v2x.utils.RefNumFlag;
/**
* 异常车辆预警
* @author huangml
*
* @author huangml
*/
public class AbnormalVehicleDto {
//事件唯一标识
@FieldDef(type="BYTE",isArray=true,length=36)
@Order(1)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="BYTE",isArray=true,length=8)
private long timestamp;
//告警类型 用于匹配 RSI,取值为 6503,6505,6506,6507,6508
@Order(3)
private int alertType;
//告警半径
@Order(4)
private float alertRadius;
//路径点数量
@Order(5)
private short pointNum;
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
private List<PositionDto> alertPath;
//车速
@Order(7)
private int velocity;
private float velocity;
//航向角
@Order(8)
private long heading;
private double heading;
}
package com.cusc.adas.v2x.clouddecision.dto;
/**
* 动态车道级限速
* @author huangml
*
*/
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 {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private long timestamp;
//告警类型 固定值为 6517
@Order(3)
private int alertType;
//告警半径 单位:dm
@Order(4)
private int alertRadius;
private float alertRadius;
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
@Order(5)
private short pointNum;
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
private List<Position> alertPath;
// @RefNumFlag(value="pointNum")
private List<PositionDto> alertPath;
//车道数量
@Order(7)
private short laneNum;
//限速数据
@Order(1)
@RefNumFlag(value="laneNum")
private List<SpeedLimit> speedLmt;
// @RefNumFlag(value="laneNum")
private List<SpeedLimitDto> speedLmt;
}
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 java.util.List;
/**
* 紧急车辆预警
* @author huangml
*
* @author huangml
*/
public class EmergencyVehicleDto {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private long timestamp;
//告警类型
@Order(3)
private int alertType;
//告警半径
@Order(4)
private int alertRadius;
private float alertRadius;
//路径点数量
@Order(5)
private short pointNum;
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
private List<Position> alertPath;
private List<PositionDto> alertPath;
//车辆类型 0:失效;1:救护车;2:警车;3:消防车;4-10: 预留
@Order(7)
private short type;
//车速
@Order(8)
private int velocity;
private float velocity;
//航向角
@Order(9)
private long heading;
private double heading;
}
......@@ -2,56 +2,36 @@ package com.cusc.adas.v2x.clouddecision.dto;
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 {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private long timestamp;
//告警类型 固定值为 6518
@Order(3)
private int alertType;
//告警半径 单位:dm
@Order(4)
private int alertRadius;
private int alertType = 6518;
//告警半径
private float alertRadius;
//路径点数量
@Order(5)
private short pointNum;
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
private List<PositionDto> alertPath;
//碰撞预警目标 类型
@Order(7)
//碰撞预警目标 类型 0:行人;1:非机动车;2:机动车;3:其他; 0xFF 表示缺省,缺省则告警功能失效
private short objType;
//碰撞告警类型
@Order(8)
private short fcwLevel;
//碰撞距离
@Order(9)
private int fcwDistance;
//碰撞距离 转成米
private float fcwDistance;
//碰撞预警目标 所在车道
@Order(10)
private short fcwLaneId;
}
......@@ -11,16 +11,16 @@ public class LaneAdviceSpeedDto {
//车速上限 单位:0.01 m/s
@Order(1)
private int spdMax;
private float spdMax;
//车速下限 单位:0.01 m/s
@Order(2)
private int spdMin;
private float spdMin;
//建议车速 单位:0.01 m/s
@Order(3)
private int spdExp;
private float spdExp;
//通行行为 单位:0.01 m/s
@Order(4)
private short maneuver;
private float maneuver;
//绿灯通过前方 路口数量 车辆绿灯通过前方路口数量,其中 0 表示无法绿灯通过前 方路口
@Order(5)
private short numIntersection;
......
package com.cusc.adas.v2x.clouddecision.dto;
public class PositionDto {
//经度
private double longitude;
//纬度
private double latitude;
//高程 单位分米
private double elevation;
}
......@@ -8,68 +8,48 @@ import com.cusc.adas.v2x.vo.Position;
/**
* 通用 RSI 预警中交通事件和交通标志信息
* @author huangml
*
* @author huangml
*/
public class RSISDetailDto {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private long timestamp;
//交通事件位置 点
@Order(3)
private PositionDto eventPosition;
//道路交通事件 信息类型
@Order(4)
private int eventType;
//事件来源
@Order(5)
private short eventSource;
//事件(影响) 半径
@Order(6)
private int eventRadius;
//关联路段数量
@Order(7)
private int referenceLinksNum;
//关联路段数量
@Order(8)
// @Order(8)
private RelSetpDto referenceLinks;
//优先级
@Order(9)
private short priority;
//交通事件/标 志作用中心线 坐标点
@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;
}
......@@ -9,9 +9,14 @@ import com.cusc.adas.v2x.utils.Order;
*/
public class RSIWarnningDto {
//交通事件和交 通标志信息数 量
@Order(1)
private short rsisNum;
@Order(2)
private RSISDetailDto rsis;
public short getRsisNum() {
return rsisNum;
}
public RSISDetailDto getRsis() {
return rsis;
}
}
......@@ -2,6 +2,9 @@ package com.cusc.adas.v2x.clouddecision.dto;
import com.cusc.adas.v2x.utils.Order;
import java.util.ArrayList;
import java.util.List;
/**
* 关联路段
* @author huangml
......@@ -9,20 +12,19 @@ import com.cusc.adas.v2x.utils.Order;
*/
public class RelSetpDto {
public RelSetpDto() {
}
//上游节点编号
@Order(1)
private long upstreamNodeId;
//下游节点编号
@Order(2)
private long downstreamNodeId;
//受影响车道数量
@Order(3)
private short referenceLanesNum;
//受影响车道
@Order(4)
private short referenceLanes;
private List<Short> referenceLanes;
}
package com.cusc.adas.v2x.clouddecision.dto;
/**
* 限速 信息
* @author huangml
*
*/
public class SpeedLimitDto {
//车道编 号
private short laneId;
//限速值
private short speedLimit;
}
package com.cusc.adas.v2x.clouddecision.dto;
import com.cusc.adas.v2x.utils.FieldDef;
import com.cusc.adas.v2x.utils.Order;
import java.util.List;
/**
* 信号灯路口车速引导
* @author huangml
*
* @author huangml
*/
public class TrafficLightDto {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private long timestamp;
//告警类型 固定值为 6523
@Order(3)
private int alertType;
//有效标识 0:失效;1:有效
@Order(4)
private short valid;
//命令标识 0:失效;1:引导;2:停车指令;3:启动指令
@Order(5)
private short type;
private float type;
//车辆所在位置 到停止线距离 单位:0.01m
@Order(6)
private int d2StopLine;
private float d2StopLine;
//车道方向建议 速度组数 0 表示无效,不发送车道方向建议车速数据
@Order(7)
private short spdExpNum;
//车道方向建议 速度
@Order(8)
private byte[] spdExps;
// private byte[] spdExps;
private List<LaneAdviceSpeedDto> spdExps;
//车速上限
@Order(9)
private int spdMax;
private float spdMax;
//车速下限
@Order(10)
private int spdMin;
private float spdMin;
//建议车速
@Order(11)
private int spdExp;
private float spdExp;
//通行行为
private short maneuver;
private float maneuver;
//绿灯通过前方路口数量
private short numIntersection;
}
package com.cusc.adas.v2x.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;
package com.cusc.adas.v2x.clouddecision.dto;
//云端决策建议信息数据结构
public class VehAdviceDto<T> {
......@@ -29,10 +23,22 @@ public class VehAdviceDto<T> {
// 命令长度
private int dataLen;
//
@DynamicsClassDef(classtype="CloudDecision")
@DependencyDef(value="adviceType")
private T adviceData;
public float getSpdExp() {
return spdExp;
}
public short getAdviceType() {
return adviceType;
}
public short getEventType() {
return eventType;
}
public T getAdviceData() {
return adviceData;
}
}
......@@ -27,7 +27,7 @@ public class AbnormalVehicle {
private int alertType;
//告警半径
@Order(4)
@OffsetDef(value=10)
@OffsetDef(value=0.1)
private int alertRadius;
//路径点数量
@Order(5)
......@@ -38,10 +38,10 @@ public class AbnormalVehicle {
private List<Position> alertPath;
//车速
@Order(7)
@OffsetDef(value=36,type=2)
@OffsetDef(value=0.036,type=2)
private int velocity;
//航向角
@Order(8)
@OffsetDef(value=10000)
@OffsetDef(value=0.0001)
private long heading;
}
......@@ -29,7 +29,7 @@ public class AutoSpeedLimit {
private int alertType;
//告警半径 单位:dm
@Order(4)
@OffsetDef(value=10)
@OffsetDef(value=0.1)
private int alertRadius;
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
@Order(5)
......
package com.cusc.adas.v2x.clouddecision.vo;
import java.util.List;
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.RefNumFlag;
import com.cusc.adas.v2x.vo.Position;
import java.util.List;
/**
* 紧急车辆预警
* @author huangml
*
* @author huangml
*/
public class EmergencyVehicle {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
@FieldDef(type = "BYTE", isArray = true, length = 36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
@FieldDef(type = "TIMESTAMP", isArray = false, length = 8)
private long timestamp;
//告警类型
//告警类型固定值为 6511,用于匹配 RSI
@Order(3)
private int alertType;
private int alertType = 6511;
//告警半径
@Order(4)
@OffsetDef(value=10,type=1)
@OffsetDef(value = 0.1)
private int alertRadius;
//路径点数量
@Order(5)
private short pointNum;
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
@RefNumFlag(value = "pointNum")
private List<Position> alertPath;
//车辆类型 0:失效;1:救护车;2:警车;3:消防车;4-10: 预留
@Order(7)
private short type;
//车速
@Order(8)
@OffsetDef(value=36,type=2)
@OffsetDef(value = 0.03636)
private int velocity;
//航向角
@Order(9)
@OffsetDef(value=10000)
@OffsetDef(value = 0.0001)
private long heading;
}
package com.cusc.adas.v2x.clouddecision.vo;
import java.util.List;
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.RefNumFlag;
import com.cusc.adas.v2x.vo.Position;
import java.util.List;
/**
* 前向碰撞预警
* @author huangml
*
* @author huangml
*/
public class FawWarnning {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
@FieldDef(type = "BYTE", isArray = true, length = 36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
@FieldDef(type = "TIMESTAMP", isArray = false, length = 8)
private long timestamp;
//告警类型 固定值为 6518
@Order(3)
private int alertType=6518;
private int alertType = 6518;
//告警半径 单位:dm
@Order(4)
@OffsetDef(value=10)
@OffsetDef(value = 0.1)
private int alertRadius;
//路径点数量
......@@ -37,10 +37,10 @@ public class FawWarnning {
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
@RefNumFlag(value = "pointNum")
private List<Position> alertPath;
//碰撞预警目标 类型
//碰撞预警目标 类型 0:行人;1:非机动车;2:机动车;3:其他; 0xFF 表示缺省,缺省则告警功能失效
@Order(7)
private short objType;
......@@ -50,7 +50,7 @@ public class FawWarnning {
//碰撞距离 单位:cm
@Order(9)
@OffsetDef(value=100)
@OffsetDef(value = 0.01)
private int fcwDistance;
//碰撞预警目标 所在车道
......
......@@ -3,6 +3,7 @@ package com.cusc.adas.v2x.clouddecision.vo;
import java.util.List;
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.RefNumFlag;
import com.cusc.adas.v2x.vo.Position;
......@@ -55,6 +56,7 @@ public class RSISDetail {
private Position alertPath;
//交通标志/事 件作用中心线 范围半径
@Order(11)
@OffsetDef(value = 0.1)
private int pathRadius;
//事件状态
@Order(12)
......
package com.cusc.adas.v2x.clouddecision.vo;
import java.util.List;
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.RefNumFlag;
import java.util.List;
/**
* 信号灯路口车速引导
* @author huangml
*
* @author huangml
*/
public class TrafficLightInfo {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
@FieldDef(type = "BYTE", isArray = true, length = 36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
@FieldDef(type = "TIMESTAMP", isArray = false, length = 8)
private long timestamp;
//告警类型 固定值为 6523
@Order(3)
private int alertType=6523;
private int alertType = 6523;
//有效标识 0:失效;1:有效
@Order(4)
private short valid;
......@@ -31,13 +32,14 @@ public class TrafficLightInfo {
private short type;
//车辆所在位置 到停止线距离 单位:0.01m
@Order(6)
@OffsetDef(value = 0.01)
private int d2StopLine;
//车道方向建议 速度组数 0 表示无效,不发送车道方向建议车速数据
@Order(7)
private short spdExpNum;
//车道方向建议 速度
//N 组车道方向建议车速信息,
@Order(8)
@RefNumFlag(value="spdExpNum")
@RefNumFlag(value = "spdExpNum")
private List<LaneAdviceSpeed> spdExps;
//车速上限
@Order(9)
......
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.vo.MessageHeadInfo;
import com.cusc.adas.v2x.vo.VehAdviceInfo;
/**
* 云端决策建议信息
......
......@@ -6,7 +6,7 @@ public class VehicleBodyDto {
private VehicleStatusInfoDto vehicleStatusInfo;
// private AutomaticDriveInfoDto automaticDriveInfo;
private AutomaticDriveInfoDto automaticDriveInfo;
public VehicleInfoDto getVehicleInfo() {
return vehicleInfo;
......@@ -15,4 +15,8 @@ public class VehicleBodyDto {
public VehicleStatusInfoDto getVehicleStatusInfo() {
return vehicleStatusInfo;
}
public AutomaticDriveInfoDto getAutomaticDriveInfo() {
return automaticDriveInfo;
}
}
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