Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
MapMultiEngine
Commits
cdfc3702
Commit
cdfc3702
authored
Jan 29, 2026
by
p x
Browse files
删除16jinzhi 几西裤
parent
99964718
Changes
79
Hide whitespace changes
Inline
Side-by-side
sixteen_parse/src/main/java/com/sixteen/parse/normal/Position2DDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.normal
;
import
com.sixteen.parse.annotates.Order
;
public
class
Position2DDto
{
//经度
@Order
(
1
)
private
double
longitude
;
//纬度
@Order
(
2
)
private
double
latitude
;
public
double
getLongitude
()
{
return
longitude
;
}
public
double
getLatitude
()
{
return
latitude
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/normal/PositionDto.kt
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.normal
class
PositionDto
{
//经度
var
longitude
=
0.0
//纬度
var
latitude
=
0.0
//高程 单位米
var
elevation
=
0.0
}
sixteen_parse/src/main/java/com/sixteen/parse/selfdefine_810/dto/SelfDefineDetailDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.selfdefine_810.dto
;
import
com.sixteen.parse.normal.PositionDto
;
/**
* 下行自定义功能信息(CLOUD2VEH_TEST)数据结构应符合表 71 的要求。
*/
public
class
SelfDefineDetailDto
{
//RV远车id 用于让地图变红
private
String
rvVehicleId
;
//预警类型
private
short
type
;
//GNSS时间戳
private
long
timestampGNSS
;
//主车经纬度
private
PositionDto
location
;
//主车速度
private
double
speed
;
//主车航向角
private
double
heading
;
//RV远车经纬度
private
PositionDto
rvLocation
;
//RV远车速度
private
double
rvSpeed
;
//RV方向
private
double
rvHeading
;
//预警级别
private
short
level
;
//预警距离
private
float
distance
;
public
PositionDto
getLocation
()
{
return
location
;
}
public
String
getRvVehicleId
()
{
return
rvVehicleId
;
}
public
void
setRvVehicleId
(
String
rvVehicleId
)
{
this
.
rvVehicleId
=
rvVehicleId
;
}
public
double
getRvSpeed
()
{
return
rvSpeed
;
}
public
double
getRvHeading
()
{
return
rvHeading
;
}
public
short
getType
()
{
return
type
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/selfdefine_810/dto/SelfDefineMessageBodyDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.selfdefine_810.dto
;
public
class
SelfDefineMessageBodyDto
{
//车辆编号
private
String
vehicleId
;
//消息标识
private
long
seq
;
//数据长度
private
int
dataLen
;
//数据内容
private
SelfDefineDetailDto
data
;
public
int
getDataLen
()
{
return
dataLen
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/selfdefine_810/vo/SelfDefineDetail.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.selfdefine_810.vo
;
import
com.sixteen.parse.annotates.FieldDef
;
import
com.sixteen.parse.annotates.OffsetDef
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.normal.Position
;
/**
* @author huangml
*/
public
class
SelfDefineDetail
{
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
36
)
private
String
rvVehicleId
;
//预警类型
@Order
(
2
)
private
short
type
;
//GNSS时间戳
@Order
(
3
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestampGNSS
;
//主车经纬度
@Order
(
4
)
private
Position
location
;
//主车速度 0.01 m/s
@Order
(
5
)
@OffsetDef
(
value
=
0.036
)
private
int
speed
;
//主车航向角
@Order
(
6
)
@OffsetDef
(
value
=
0.0001
,
minValidLength
=
7
)
private
long
heading
;
//RV远车经纬度
@Order
(
7
)
private
Position
rvLocation
;
//RV远车速度 单位:0.01 m/s
@Order
(
8
)
@OffsetDef
(
value
=
0.036
)
private
int
rvSpeed
;
//RV方向
@Order
(
9
)
@OffsetDef
(
value
=
0.0001
,
minValidLength
=
7
)
private
long
rvHeading
;
//预警级别
@Order
(
10
)
private
short
level
;
//预警距离 ,自车与远车的距离,单位:cm
@Order
(
11
)
@OffsetDef
(
value
=
0.01
)
private
int
distance
;
}
sixteen_parse/src/main/java/com/sixteen/parse/selfdefine_810/vo/SelfDefineMessage.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.selfdefine_810.vo
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.normal.MessageHeadInfo
;
/**
* 自定义功能信息 8.10
* @author huangml
*/
public
class
SelfDefineMessage
{
//报文头
@Order
(
1
)
private
MessageHeadInfo
messageHeadInfo
;
@Order
(
2
)
private
SelfDefineMessageBody
selfDefineMessageBody
;
public
SelfDefineMessageBody
getSelfDefineMessageBody
()
{
return
selfDefineMessageBody
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/selfdefine_810/vo/SelfDefineMessageBody.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.selfdefine_810.vo
;
import
com.sixteen.parse.annotates.FieldDef
;
import
com.sixteen.parse.annotates.Order
;
/***8.10.4 数据结构及定义**/
public
class
SelfDefineMessageBody
{
//车辆编号 和感知车ptcid 对应
@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
int
dataLen
;
//数据内容
@Order
(
4
)
private
SelfDefineDetail
data
;
public
SelfDefineDetail
getData
()
{
return
data
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/dto/AutomaticDriveInfoDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.dto
;
import
com.sixteen.parse.annotates.NumFlag
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.annotates.RefNumFlag
;
import
java.util.List
;
/**
* 车辆自动驾驶信息
* @author huangml
*
*/
public
class
AutomaticDriveInfoDto
{
//执行云端控制命令编号
@Order
(
1
)
private
long
cloudMessageId
;
//自动驾驶需求加速度
@Order
(
2
)
private
int
accelCmd
;
//自动驾驶需求扭矩
@Order
(
3
)
private
long
torqueCmd
;
//自动驾驶需求速度
@Order
(
4
)
private
int
velocityCmd
;
//规划-位置点轨 迹数量
@Order
(
5
)
@NumFlag
private
int
planningLocNum
;
//规划-位置点轨 迹列表
@Order
(
6
)
@RefNumFlag
(
value
=
"planningLocNum"
)
private
List
<
TracePointDto
>
planningLocs
;
//决策-换道
@Order
(
7
)
private
short
decisionLaneChange
;
//加减速
@Order
(
8
)
private
short
decisionAccel
;
//决策-转向
@Order
(
9
)
private
short
decisionTurnSignal
;
//决策-车辆状态
@Order
(
10
)
private
short
decisionVehicleStatus
;
//感知目标个数
@Order
(
11
)
@NumFlag
private
short
detectionLen
;
//感知目标数据
@RefNumFlag
(
value
=
"detectionLen"
)
@Order
(
12
)
private
List
<
TrajectoryInfoDto
>
detectionData
;
//自动驾驶系统故障
@Order
(
13
)
private
int
autoDrivingSysFault
;
//电子手刹状态
@Order
(
14
)
private
short
epbFlag
;
//自定义字段长度
@Order
(
15
)
private
short
userdefinedDataLength
;
//自定义字段内容
@Order
(
16
)
private
byte
[]
userdefinedData
;
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/dto/TracePointDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.dto
;
import
com.sixteen.parse.annotates.Order
;
//轨迹点
public
class
TracePointDto
{
//期望经度
@Order
(
1
)
private
double
expLongitude
;
//期望纬度
@Order
(
2
)
private
double
expLatitude
;
//期望速度
@Order
(
3
)
private
float
expSpeed
;
//期望加速度
@Order
(
4
)
private
float
expAcceleration
;
//期望航向角
@Order
(
5
)
private
double
expHeading
;
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/dto/TrajectoryInfoDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.dto
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.normal.Position2DDto
;
/**
*
* @author huangml
*
*/
public
class
TrajectoryInfoDto
{
//位置
@Order
(
1
)
private
Position2DDto
position
;
//位置精度等级
@Order
(
2
)
private
short
posConfidence
;
//速度
@Order
(
3
)
private
int
speed
;
//速度精度等级
@Order
(
4
)
private
short
speedConfidence
;
//航向角
@Order
(
5
)
private
long
heading
;
//航向精度等级
@Order
(
6
)
private
short
headConfidence
;
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/dto/VehicleBodyDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.dto
;
public
class
VehicleBodyDto
{
private
VehicleInfoDto
vehicleInfo
;
private
VehicleStatusInfoDto
vehicleStatusInfo
;
private
AutomaticDriveInfoDto
automaticDriveInfo
;
public
VehicleInfoDto
getVehicleInfo
()
{
return
vehicleInfo
;
}
public
VehicleStatusInfoDto
getVehicleStatusInfo
()
{
return
vehicleStatusInfo
;
}
public
AutomaticDriveInfoDto
getAutomaticDriveInfo
()
{
return
automaticDriveInfo
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/dto/VehicleInfoDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.dto
;
import
com.sixteen.parse.annotates.FieldDef
;
import
com.sixteen.parse.annotates.NumFlag
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.annotates.RefNumFlag
;
import
com.sixteen.parse.normal.Position2DDto
;
import
com.sixteen.parse.normal.PositionDto
;
import
java.util.List
;
/**
* 车辆基础信息
* @author huangml
*
*/
public
class
VehicleInfoDto
{
//车辆编号
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
private
String
vehicleId
;
//消息编号
@Order
(
2
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
private
long
messageId
;
//GNSS 时间戳
@Order
(
3
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestampGNSS
;
//GNSS 速度
@Order
(
4
)
private
float
velocityGNSS
;
//位置
@Order
(
5
)
private
PositionDto
position
;
//航向角
@Order
(
6
)
private
double
heading
;
//档位
@Order
(
7
)
private
short
tapPos
;
//方向盘转角
@Order
(
8
)
private
double
steeringAngle
;
//当前车速
@Order
(
9
)
private
float
velocity
;
//纵向加速度
@Order
(
10
)
private
float
accelerationLon
;
//横向加速度
@Order
(
11
)
private
float
accelerationLat
;
//垂向加速度
@Order
(
12
)
private
float
accelerationVer
;
//横摆角速度
@Order
(
13
)
private
float
yawRate
;
//油门开度
@Order
(
14
)
private
float
accelPos
;
//发动机输出转速
@Order
(
15
)
private
float
engineSpeed
;
//发动机扭矩
@Order
(
16
)
private
double
engineTorque
;
//制动踏板开关
@Order
(
17
)
private
short
brakeFlag
;
//制动踏板开度
@Order
(
18
)
private
float
brakePos
;
//制动主缸压力
@Order
(
19
)
private
float
brakePressure
;
//油耗
@Order
(
20
)
private
float
fuelConsumption
;
//车辆驾驶模式
@Order
(
21
)
private
short
driveMode
;
//目的地位置
@Order
(
22
)
private
Position2DDto
destLocation
;
//途经点数量
@Order
(
23
)
@NumFlag
private
short
passPointsNum
;
//途经点
@Order
(
24
)
@RefNumFlag
(
value
=
"passPointsNum"
)
private
List
<
Position2DDto
>
passPoints
;
public
String
getVehicleId
()
{
return
vehicleId
;
}
public
short
getTapPos
()
{
return
tapPos
;
}
public
float
getVelocity
()
{
return
velocity
;
}
public
short
getDriveMode
()
{
return
driveMode
;
}
public
double
getHeading
()
{
return
heading
;
}
public
PositionDto
getPosition
()
{
return
position
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/dto/VehicleStatusInfoDto.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.dto
;
import
com.sixteen.parse.annotates.NumFlag
;
import
com.sixteen.parse.annotates.Order
;
import
java.util.List
;
/**
* 车辆辅助驾驶信息及状态信息
* @author huangml
*
*/
public
class
VehicleStatusInfoDto
{
@Order
(
1
)
//ABS 状态
private
short
absFlag
;
//TCS 状态
@Order
(
2
)
private
short
tcsFlag
;
//ESP 状态
@Order
(
3
)
private
short
espFlag
;
//LKA 状态
@Order
(
4
)
private
short
lkaFlag
;
//ACC 工作模式
@Order
(
5
)
private
short
accMode
;
//FCW 状态
@Order
(
6
)
private
short
fcwFlag
;
//LDW 状态
@Order
(
7
)
private
short
ldwFlag
;
//AEB 状态
@Order
(
8
)
private
short
aebFlag
;
//LCA 状态
@Order
(
9
)
private
short
lcaFlag
;
//DMS 状态
@Order
(
10
)
private
short
dmsFlag
;
//里程
@Order
(
11
)
private
double
mileage
;
//sweeping状态
@Order
(
12
)
private
short
sweepingFlag
;
//watering状态
@Order
(
13
)
private
short
wateringFlag
;
// 车辆运行状态数据 2-车辆辅助驾驶系统信息及其他状态信息数据结构(续)
//油量 对应车辆油量表读数,单位:0.1 L,
@Order
(
14
)
private
float
fuelGauge
;
//电池剩余电量 0.01%,
@Order
(
15
)
private
float
soc
;
//电池温度 [0..200],单位:摄氏度(℃),
//数据偏移量 100,表示-100℃~100℃ ,0xFF 表示缺省
@Order
(
16
)
private
short
temperature
;
//预计续航里程 单位:千米(km),
@Order
(
17
)
private
double
endurance
;
//车辆故障状态
@Order
(
18
)
private
int
vehFault
;
//电机转速
@Order
(
19
)
private
int
motorspeed
;
//电机转矩
@Order
(
20
)
private
double
motortorque
;
//运行模式 车辆运行模式,1:纯电驱动模式;2:混合驱动 模式;3:行车充电模式;4:能量回收模式;5:停车充电模式;6: 能量混合回充模式;
@Order
(
21
)
private
short
vehMode
;
//充电状态 1:未充电;2:充电准备;3:正在充电;4:充电故障;5:充电结束; 0xFF 表示缺省
@Order
(
22
)
private
short
chargeState
;
//动力电池实时电压
@Order
(
23
)
private
int
battVol
;
//动力电池实时电流
@Order
(
24
)
private
int
battCur
;
//喇叭状态
@Order
(
25
)
private
short
hornState
;
//车轮数
@Order
(
26
)
@NumFlag
private
short
wheelNum
;
//轮速 表示车轮线速度,单位:0.01 m/s,
//数据偏移量 200,表示-200.00 m/s~200.00 m/s,
@Order
(
27
)
private
List
<
Integer
>
wheelVelocity
;
//胎压
@Order
(
28
)
private
List
<
Integer
>
tirePressure
;
//车灯状态 BIT2 = 左转灯 BIT3 = 右转灯
@Order
(
30
)
private
int
lights
;
//车门状态
@Order
(
31
)
private
int
doors
;
//自定义字段长度
@Order
(
32
)
@NumFlag
private
short
userdefinedDataLength
;
//自定义字段内容
@Order
(
33
)
private
String
userdefinedData
;
public
float
getSoc
()
{
return
soc
;
}
public
int
getLights
()
{
return
lights
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/vo/VehicleInfo.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.vo
;
import
com.sixteen.parse.annotates.FieldDef
;
import
com.sixteen.parse.annotates.NumFlag
;
import
com.sixteen.parse.annotates.OffsetDef
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.annotates.RefNumFlag
;
import
com.sixteen.parse.normal.Position
;
import
com.sixteen.parse.normal.Position2D
;
import
java.util.List
;
/**
* 车辆基础信息
*
* @author huangml
*/
public
class
VehicleInfo
{
//车辆编号
@Order
(
1
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
private
String
vehicleId
;
//消息编号
@Order
(
2
)
@FieldDef
(
type
=
"BYTE"
,
isArray
=
true
,
length
=
8
)
private
long
messageId
;
//GNSS 时间戳
@Order
(
3
)
@FieldDef
(
type
=
"TIMESTAMP"
,
isArray
=
false
,
length
=
8
)
private
long
timestampGNSS
;
//GNSS 速度 单位:0.01 m/s
@Order
(
4
)
@OffsetDef
(
value
=
0.036
,
type
=
2
)
private
int
velocityGNSS
;
//位置
@Order
(
5
)
private
Position
position
;
//航向角
/****[0..3600000],正北方向顺时针旋转至与车辆当前运动方向重合所转 过的角度,单位为 1e-4 ° , 不可缺省,0xFFFFFFFF 表示异常**/
@Order
(
6
)
@OffsetDef
(
value
=
0.0001
,
minValidLength
=
7
)
private
long
heading
;
/**
* 档位 枚举类型:[0..50],0:数据失效;1-20:表示手动档车辆前进档对 应档位,1 表示 1 档,2 表示 2 档,以此类推;21-30:表示手动挡车 辆倒档对应档位,
* 21 表示 R1 档,22 表示 R2 档,以此类推;31:D 档 (前进档);32:R 档(倒档);33:P 档(驻车档);34:N 档(空 档);
* 35:S 档(运动模式);36:L 档(低速档);37:H 档;38; HL 档;39-50:预留,不可缺省,0xFF 表示异常
*/
@Order
(
7
)
private
short
tapPos
;
//方向盘转角 单位为 1e-4 °
@Order
(
8
)
@OffsetDef
(
value
=
0.0001
)
private
long
steeringAngle
;
/**[0..20000],CAN 总线数据中的行驶速度,单位:0.01m/s,0xFFFF 表 示缺省***/
@Order
(
9
)
@OffsetDef
(
value
=
0.036
,
type
=
2
)
private
int
velocity
;
//纵向加速度 单位:0.01m/s
@Order
(
10
)
@OffsetDef
(
value
=
0.036
,
type
=
2
)
private
int
accelerationLon
;
//横向加速度 单位:0.01m/s
@Order
(
11
)
@OffsetDef
(
value
=
0.036
,
type
=
2
)
private
int
accelerationLat
;
//垂向加速度 单位:0.01m/s
@Order
(
12
)
@OffsetDef
(
value
=
0.036
,
type
=
2
)
private
int
accelerationVer
;
//横摆角速度 单位:0.01m/s
@Order
(
13
)
@OffsetDef
(
value
=
0.036
,
type
=
2
)
private
int
yawRate
;
//油门开度 单位:0.1%
@Order
(
14
)
private
int
accelPos
;
//发动机输出转速 单位:r/min
@Order
(
15
)
private
int
engineSpeed
;
//发动机扭矩 单位:0.01Nm
@Order
(
16
)
private
long
engineTorque
;
//制动踏板开关
@Order
(
17
)
private
short
brakeFlag
;
//制动踏板开度 单位:0.1%
@Order
(
18
)
private
int
brakePos
;
//制动主缸压力 单位 0.01MPa
@Order
(
19
)
private
int
brakePressure
;
//油耗 单位 0.01L/100km
@Order
(
20
)
private
int
fuelConsumption
;
//车辆驾驶模式
@Order
(
21
)
private
short
driveMode
;
//车辆当前驾驶任务的终点位置
@Order
(
22
)
private
Position2D
destLocation
;
//途经点数量
@Order
(
23
)
@NumFlag
private
short
passPointsNum
;
//途经点
@Order
(
24
)
@RefNumFlag
(
value
=
"passPointsNum"
)
private
List
<
Position2D
>
passPoints
;
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/vo/VehicleMessage.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.vo
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.normal.MessageHeadInfo
;
/**
*8.2 车辆运行状态
*/
public
class
VehicleMessage
{
//报文头
@Order
(
1
)
private
MessageHeadInfo
messageHeadInfo
;
//报文体
@Order
(
2
)
private
VehicleMessageBody
vehicleMessageBody
;
public
MessageHeadInfo
getMessageHeadInfo
()
{
return
messageHeadInfo
;
}
public
void
setMessageHeadInfo
(
MessageHeadInfo
messageHeadInfo
)
{
this
.
messageHeadInfo
=
messageHeadInfo
;
}
public
VehicleMessageBody
getVehicleMessageBody
()
{
return
vehicleMessageBody
;
}
public
void
setVehicleMessageBody
(
VehicleMessageBody
vehicleMessageBody
)
{
this
.
vehicleMessageBody
=
vehicleMessageBody
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/vo/VehicleMessageBody.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.vo
;
import
com.sixteen.parse.annotates.Order
;
/**车辆运行状态报文体
* 8.2
* **/
public
class
VehicleMessageBody
{
//车辆基础信息
@Order
(
1
)
private
VehicleInfo
vehicleInfo
;
/****车辆辅助驾驶信息及状态信息*/
@Order
(
2
)
private
VehicleStatusInfo
vehicleStatusInfo
;
// //车辆自动驾驶信息
// @Order(3)
// private AutomaticDriveInfo automaticDriveInfo;
public
void
setVehicleInfo
(
VehicleInfo
vehicleInfo
)
{
this
.
vehicleInfo
=
vehicleInfo
;
}
public
void
setVehicleStatusInfo
(
VehicleStatusInfo
vehicleStatusInfo
)
{
this
.
vehicleStatusInfo
=
vehicleStatusInfo
;
}
}
sixteen_parse/src/main/java/com/sixteen/parse/vehcloud_state_82/vo/VehicleStatusInfo.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse.vehcloud_state_82.vo
;
import
com.sixteen.parse.annotates.FieldDef
;
import
com.sixteen.parse.annotates.NumFlag
;
import
com.sixteen.parse.annotates.OffsetDef
;
import
com.sixteen.parse.annotates.Order
;
import
com.sixteen.parse.annotates.RefNumFlag
;
import
java.util.List
;
/**
* 车辆辅助驾驶信息及状态信息
* @author huangml
* 车辆运行状态数据 2-车辆辅助驾驶系统信息及其他状态信息数据结构(续)
*/
public
class
VehicleStatusInfo
{
@Order
(
1
)
//ABS 状态
private
short
absFlag
;
//TCS 状态
@Order
(
2
)
private
short
tcsFlag
;
//ESP 状态
@Order
(
3
)
private
short
espFlag
;
//LKA 状态
@Order
(
4
)
private
short
lkaFlag
;
//ACC 工作模式
@Order
(
5
)
private
short
accMode
;
//FCW 状态
@Order
(
6
)
private
short
fcwFlag
;
//LDW 状态
@Order
(
7
)
private
short
ldwFlag
;
//AEB 状态
@Order
(
8
)
private
short
aebFlag
;
//LCA 状态
@Order
(
9
)
private
short
lcaFlag
;
//DMS 状态
@Order
(
10
)
private
short
dmsFlag
;
//里程单位:0.1km,
@Order
(
11
)
@OffsetDef
(
value
=
0.1
)
private
long
mileage
;
//sweeping状态
@Order
(
12
)
private
short
sweepingFlag
;
//watering状态
@Order
(
13
)
private
short
wateringFlag
;
//油量 对应车辆油量表读数,单位:0.1 L,
@Order
(
14
)
@OffsetDef
(
value
=
0.1
)
private
int
fuelGauge
;
//电池剩余电量 0.01%,
@Order
(
15
)
@OffsetDef
(
value
=
0.01
)
private
int
soc
;
//电池温度 [0..200],单位:摄氏度(℃),
//数据偏移量 100,表示-100℃~100℃ ,0xFF 表示缺省
@Order
(
16
)
private
short
temperature
;
//预计续航里程 单位:千米(km),
@Order
(
17
)
private
long
endurance
;
//车辆故障状态
@Order
(
18
)
private
int
vehFault
;
//电机转速
@Order
(
19
)
private
int
motorspeed
;
//电机转矩
@Order
(
20
)
private
long
motortorque
;
//运行模式 车辆运行模式,1:纯电驱动模式;2:混合驱动 模式;3:行车充电模式;4:能量回收模式;5:停车充电模式;6: 能量混合回充模式;
@Order
(
21
)
private
short
vehMode
;
//充电状态 1:未充电;2:充电准备;3:正在充电;4:充电故障;5:充电结束; 0xFF 表示缺省
@Order
(
22
)
private
short
chargeState
;
//动力电池实时电压
@Order
(
23
)
private
int
battVol
;
//动力电池实时电流
@Order
(
24
)
private
int
battCur
;
//喇叭状态
@Order
(
25
)
private
short
hornState
;
//车轮数
@Order
(
26
)
@NumFlag
private
short
wheelNum
;
//轮速 表示车轮线速度,单位:0.01 m/s,
//数据偏移量 200,表示-200.00 m/s~200.00 m/s,
@Order
(
27
)
@RefNumFlag
(
value
=
"wheelNum"
)
private
List
<
Integer
>
wheelVelocity
;
//胎压
@Order
(
28
)
@RefNumFlag
(
value
=
"wheelNum"
)
private
List
<
Integer
>
tirePressure
;
//车灯状态 BIT2 = 左转灯 BIT3 = 右转灯
@Order
(
30
)
private
int
lights
;
//车门状态
@Order
(
31
)
private
int
doors
;
//自定义字段长度
@Order
(
32
)
@NumFlag
private
short
userdefinedDataLength
;
//自定义字段内容
@Order
(
33
)
@RefNumFlag
(
value
=
"userdefinedDataLength"
)
@FieldDef
(
type
=
"BYTE"
,
isAutoLength
=
true
)
private
String
userdefinedData
;
}
sixteen_parse/src/test/java/com/sixteen/parse/ExampleUnitTest.kt
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse
import
androidx.annotation.NonNull
import
com.sixteen.parse.annotates.Order
import
com.sixteen.parse.cloud2veh_advice_85.vo.VehAdviceInfo
import
com.sixteen.parse.cloud2veh_advice_85.vo.VehAdviceMessage
import
io.netty.buffer.ByteBuf
import
org.junit.Assert.assertEquals
import
org.junit.Test
import
java.util.concurrent.ConcurrentHashMap
import
kotlin.reflect.KClass
import
kotlin.reflect.KMutableProperty
import
kotlin.reflect.KMutableProperty1
import
kotlin.reflect.KProperty1
import
kotlin.reflect.full.declaredMemberProperties
import
kotlin.reflect.full.findAnnotation
import
kotlin.reflect.jvm.isAccessible
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class
ExampleUnitTest
{
@Test
fun
addition_isCorrect
()
{
assertEquals
(
4
,
2
+
2
)
}
//测试解析16进制数据
@Test
fun
testParse
()
{
//8.5
var
vehAdviceMessage
=
VehAdviceMessage
()
parse
(
null
,
vehAdviceMessage
)
}
//属性排序缓存
private
var
cacheSortMap
=
ConcurrentHashMap
<
KClass
<
*
>,
List
<
KProperty1
<
*
,
*
>>>()
fun
parse
(
data
:
ByteBuf
?,
obj
:
Any
)
{
var
clz
=
obj
::
class
val
fields
=
clz
.
declaredMemberProperties
var
orderedProps
:
List
<
KProperty1
<
*
,
*
>>
if
(
cacheSortMap
.
containsKey
(
clz
))
{
orderedProps
=
cacheSortMap
.
get
(
clz
)
?:
listOf
()
}
else
{
orderedProps
=
fields
.
sortedBy
{
prop
->
// 无注解的属性排最后(或抛异常)
val
ord
=
prop
.
findAnnotation
<
Order
>()
ord
?.
value
?:
Int
.
MAX_VALUE
}
cacheSortMap
.
put
(
clz
,
orderedProps
)
}
orderedProps
.
forEach
{
field
->
// 仅处理可变属性(var)
if
(
field
is
KMutableProperty
<
*
>)
{
// field.setter.call(obj, "123")
// var ss=field as KMutableProperty1<obj, Short>
// ss.set(any, "123")
when
(
field
.
returnType
.
classifier
)
{
String
::
class
->
{
val
strField
=
field
as
KMutableProperty1
<
Any
,
String
>
println
(
"------field = ${strField.get(obj)}"
)
// field.setter.call("strstr")
strField
.
set
(
obj
,
"str"
)
}
Short
::
class
->
{
val
shortField
=
field
as
KMutableProperty1
<
Any
,
Short
>
shortField
.
set
(
obj
,
111
.
toShort
())
}
Int
::
class
->
{
val
intField
=
field
as
KMutableProperty1
<
Any
,
Int
>
intField
.
set
(
obj
,
123
)
}
Long
::
class
->
{
val
longField
=
field
as
KMutableProperty1
<
Any
,
Long
>
}
List
::
class
->
{
val
longField
=
field
as
KMutableProperty1
<
Any
,
List
<
*
>>
}
Array
::
class
->
{
val
longField
=
0
}
is
KClass
<
*
>
->
{
val
longField
=
0
}
}
when
(
field
.
returnType
.
toString
())
{
"T?"
,
"T"
->
{
val
objField
=
field
as
KMutableProperty1
<
Any
,
*
>
}
}
}
// println("--------名称:${field.name} | 类型:${field.returnType.classifier}}")
}
}
}
\ No newline at end of file
sixteen_parse/src/test/java/com/sixteen/parse/TestSer.java
deleted
100644 → 0
View file @
99964718
package
com.sixteen.parse
;
import
org.junit.Test
;
public
class
TestSer
{
@Test
public
void
clsToHex
()
{
try
{
byte
[]
bytes
=
VehicleMessageHexSerializer
.
take8_2Bytes
((
short
)
10
,
119.987987
,
30.123456
,
6.3
,
99.5f
,
"aabbccdd"
);
// System.out.println("----------bytes = " + bytes);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
Prev
1
2
3
4
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment