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