80 lines
3.6 KiB
Go
80 lines
3.6 KiB
Go
package message
|
||
|
||
type InitTrainInfo struct {
|
||
TrainIndex uint16 `json:"trainIndex"`
|
||
LinkIndex uint16 `json:"linkIndex"`
|
||
LinkOffset uint32 `json:"linkOffset"`
|
||
//单位0.1km/h
|
||
Speed uint16 `json:"speed"`
|
||
Up bool `json:"up"`
|
||
//TrainLength uint32 `json:"trainLength"`
|
||
TrainOperationConfig *TrainOperationConfig `json:"config"`
|
||
}
|
||
|
||
// 移除列车请求参数
|
||
type RemoveTrainReq struct {
|
||
TrainIndex uint16 `json:"trainIndex"`
|
||
}
|
||
|
||
// LineBaseInfo 线路基础信息,提供给动力学作为计算依据
|
||
type LineBaseInfo struct {
|
||
LinkList []*Link `json:"linkList"`
|
||
SlopeList []*Slope `json:"slopeList"`
|
||
CurveList []*Curve `json:"curveList"`
|
||
}
|
||
|
||
type Link struct {
|
||
ID int32 `json:"id"`
|
||
//长度 mm
|
||
Len int32 `json:"len"`
|
||
ARelTurnoutId int32 `json:"ARelTurnoutId"`
|
||
ARelTurnoutPoint string `json:"ARelTurnoutPoint"`
|
||
BRelTurnoutId int32 `json:"BRelTurnoutId"`
|
||
BRelTurnoutPoint string `json:"BRelTurnoutPoint"`
|
||
}
|
||
|
||
type Slope struct {
|
||
ID int32 `json:"id"`
|
||
StartLinkId int32 `json:"startLinkId"`
|
||
StartLinkOffset int32 `json:"startLinkOffset"`
|
||
EndLinkId int32 `json:"endLinkId"`
|
||
EndLinkOffset int32 `json:"endLinkOffset"`
|
||
//坡度的三角函数(猜是sin)值的*1000
|
||
DegreeTrig int32 `json:"degreeTrig"`
|
||
}
|
||
|
||
type Curve struct {
|
||
ID int32 `json:"id"`
|
||
StartLinkId int32 `json:"startLinkId"`
|
||
StartLinkOffset int32 `json:"startLinkOffset"`
|
||
EndLinkId int32 `json:"endLinkId"`
|
||
EndLinkOffset int32 `json:"endLinkOffset"`
|
||
Curvature int32 `json:"curvature"`
|
||
}
|
||
type TrainOperationConfig struct {
|
||
TrainIndex int `json:"trainIndex"`
|
||
//Mass int `json:"mass" form:"mass"` //列车的质量(100=1ton)
|
||
Length int `json:"length"` // 列车的长度(cm)
|
||
DavisParamA float32 `json:"davisParamA"` // 基本阻力参数A
|
||
DavisParamB float32 `json:"davisParamB"` // 基本阻力参数B
|
||
DavisParamC float32 `json:"davisParamC"` // 基本阻力参数C
|
||
CurveResistanceParamR1 float32 `json:"curveResistanceParamR1"` // 曲线阻力参数R1
|
||
CurveResistanceParamR2 float32 `json:"curveResistanceParamR2"` // 曲线阻力参数R2
|
||
CurveResistanceParamR3 float32 `json:"curveResistanceParamR3"` // 曲线阻力参数R3
|
||
CurveResistanceParamR4 float32 `json:"curveResistanceParamR4"` // 曲线阻力参数R4
|
||
RevolvingMassParam float32 `json:"revolvingMassParam"` // 旋转质量参数
|
||
Jump bool `json:"jump"` // 是否跳跃
|
||
SlipA float32 `json:"slipA"` // 打滑加速度(m/s) 默认0
|
||
SlipR float32 `json:"slipR"` // 打滑冲击率(m/s) 默认0
|
||
SlipD int `json:"slipD"` // 打滑持续时间ms 默认0
|
||
IdlingA float32 `json:"idlingA"` // 空转加速度(m/s) 默认0
|
||
IdlingR float32 `json:"idlingR"` // 空转冲击率(m/s) 默认0
|
||
IdlingD int `json:"idlingD"` // 空转持续时间ms 默认0
|
||
Slide float32 `json:"slide"` // FLOAT,前溜/后溜(m/s)(正数前溜,负数后溜),默认值:0
|
||
StopSign int `json:"stopSign"` // 过标/欠标(mm)(正数过标,负数欠标)
|
||
//WheelDiameter int `json:"轮径(mm)"`
|
||
//RadarSpeed float32 `json:"雷达速度差值(m/s)"`
|
||
//RadarDuration int `json:"雷达速度差值持续时间(ms)"`
|
||
//RadarIsValid bool `json:"雷达是否失效"`
|
||
}
|