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; ...@@ -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;
} }
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;
} }
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;
} }
...@@ -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;
} }
...@@ -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 int spdMax; private float spdMax;
//车速下限 单位:0.01 m/s //车速下限 单位:0.01 m/s
@Order(2) @Order(2)
private int spdMin; private float spdMin;
//建议车速 单位:0.01 m/s //建议车速 单位:0.01 m/s
@Order(3) @Order(3)
private int spdExp; private float spdExp;
//通行行为 单位:0.01 m/s //通行行为 单位:0.01 m/s
@Order(4) @Order(4)
private short maneuver; private float maneuver;
//绿灯通过前方 路口数量 车辆绿灯通过前方路口数量,其中 0 表示无法绿灯通过前 方路口 //绿灯通过前方 路口数量 车辆绿灯通过前方路口数量,其中 0 表示无法绿灯通过前 方路口
@Order(5) @Order(5)
private short numIntersection; 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; ...@@ -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;
} }
...@@ -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;
}
} }
...@@ -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;
} }
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; 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;
} }
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;
}
} }
...@@ -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=10) @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.036,type=2)
private int velocity; private int velocity;
//航向角 //航向角
@Order(8) @Order(8)
@OffsetDef(value=10000) @OffsetDef(value=0.0001)
private long heading; private long heading;
} }
...@@ -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=10) @OffsetDef(value=0.1)
private int alertRadius; private int alertRadius;
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径 //路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
@Order(5) @Order(5)
......
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=10000) @OffsetDef(value = 0.0001)
private long heading; private long heading;
} }
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;
} }
...@@ -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)
......
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;
} }
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;
......
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;
}
} }
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