列车控制支持门模式更新
All checks were successful
local-test分支打包构建docker并发布运行 / Docker-Build (push) Successful in 3m15s
All checks were successful
local-test分支打包构建docker并发布运行 / Docker-Build (push) Successful in 3m15s
This commit is contained in:
parent
f8517f0ead
commit
fa600673a6
File diff suppressed because it is too large
Load Diff
@ -74,6 +74,7 @@ type TccKey_TccKeyType int32
|
|||||||
const (
|
const (
|
||||||
TccKey_driverControllerActivationClint TccKey_TccKeyType = 0 //司控器激活端
|
TccKey_driverControllerActivationClint TccKey_TccKeyType = 0 //司控器激活端
|
||||||
TccKey_frontAndRearDirectionalControl TccKey_TccKeyType = 1 //前后方向控制
|
TccKey_frontAndRearDirectionalControl TccKey_TccKeyType = 1 //前后方向控制
|
||||||
|
TccKey_trainDoorMode TccKey_TccKeyType = 2 //列车门模式
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for TccKey_TccKeyType.
|
// Enum value maps for TccKey_TccKeyType.
|
||||||
@ -81,10 +82,12 @@ var (
|
|||||||
TccKey_TccKeyType_name = map[int32]string{
|
TccKey_TccKeyType_name = map[int32]string{
|
||||||
0: "driverControllerActivationClint",
|
0: "driverControllerActivationClint",
|
||||||
1: "frontAndRearDirectionalControl",
|
1: "frontAndRearDirectionalControl",
|
||||||
|
2: "trainDoorMode",
|
||||||
}
|
}
|
||||||
TccKey_TccKeyType_value = map[string]int32{
|
TccKey_TccKeyType_value = map[string]int32{
|
||||||
"driverControllerActivationClint": 0,
|
"driverControllerActivationClint": 0,
|
||||||
"frontAndRearDirectionalControl": 1,
|
"frontAndRearDirectionalControl": 1,
|
||||||
|
"trainDoorMode": 2,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -591,7 +594,7 @@ var file_tccGraphics_proto_rawDesc = []byte{
|
|||||||
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
|
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
|
||||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1a, 0x0a,
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1a, 0x0a,
|
||||||
0x08, 0x66, 0x6f, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x08, 0x66, 0x6f, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
0x08, 0x66, 0x6f, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x06, 0x54, 0x63,
|
0x08, 0x66, 0x6f, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x06, 0x54, 0x63,
|
||||||
0x63, 0x4b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01,
|
0x63, 0x4b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
|
||||||
0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63,
|
0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63,
|
||||||
@ -600,37 +603,38 @@ var file_tccGraphics_proto_rawDesc = []byte{
|
|||||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x74, 0x63, 0x63, 0x47, 0x72, 0x61,
|
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x74, 0x63, 0x63, 0x47, 0x72, 0x61,
|
||||||
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x63, 0x63, 0x4b, 0x65, 0x79, 0x2e,
|
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x63, 0x63, 0x4b, 0x65, 0x79, 0x2e,
|
||||||
0x54, 0x63, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
|
0x54, 0x63, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
|
||||||
0x22, 0x55, 0x0a, 0x0a, 0x54, 0x63, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23,
|
0x22, 0x68, 0x0a, 0x0a, 0x54, 0x63, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23,
|
||||||
0x0a, 0x1f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
0x0a, 0x1f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
||||||
0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x6e,
|
0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x6e,
|
||||||
0x74, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x52,
|
0x74, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x52,
|
||||||
0x65, 0x61, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f,
|
0x65, 0x61, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f,
|
||||||
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x10, 0x01, 0x22, 0x50, 0x0a, 0x09, 0x54, 0x63, 0x63, 0x48, 0x61,
|
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e,
|
||||||
0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01,
|
0x44, 0x6f, 0x6f, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x09, 0x54, 0x63,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
|
0x63, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||||
0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63,
|
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
|
||||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
|
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x08, 0x54, 0x63,
|
0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
|
||||||
0x63, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xd6, 0x01, 0x0a,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
|
0x08, 0x54, 0x63, 0x63, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
|
||||||
0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
|
||||||
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
|
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x6c,
|
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
|
||||||
0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3f,
|
||||||
0x1f, 0x2e, 0x74, 0x63, 0x63, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
|
0x0a, 0x0a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
|
||||||
0x2e, 0x54, 0x63, 0x63, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
|
0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x74, 0x63, 0x63, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
|
||||||
0x52, 0x0a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b,
|
0x61, 0x74, 0x61, 0x2e, 0x54, 0x63, 0x63, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f,
|
||||||
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
|
0x6c, 0x6f, 0x72, 0x52, 0x0a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12,
|
||||||
0x08, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22,
|
0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04,
|
||||||
0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05,
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x76, 0x65,
|
||||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61,
|
0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
|
||||||
0x74, 0x65, 0x2a, 0x2f, 0x0a, 0x0f, 0x54, 0x63, 0x63, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
|
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
|
||||||
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x00,
|
0x53, 0x74, 0x61, 0x74, 0x65, 0x2a, 0x2f, 0x0a, 0x0f, 0x54, 0x63, 0x63, 0x45, 0x6c, 0x65, 0x6d,
|
||||||
0x12, 0x07, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x62, 0x6c, 0x75,
|
0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x67, 0x72, 0x65, 0x65,
|
||||||
0x65, 0x10, 0x02, 0x42, 0x2d, 0x5a, 0x2b, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63,
|
0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04,
|
||||||
0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73, 0x65, 0x72,
|
0x62, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x42, 0x2d, 0x5a, 0x2b, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e,
|
||||||
0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f,
|
0x6b, 0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d,
|
||||||
0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -538,10 +538,11 @@ func (Psd_Fault) EnumDescriptor() ([]byte, []int) {
|
|||||||
type TrainControl_TrainControlType int32
|
type TrainControl_TrainControlType int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
TrainControl_EMERGENT_BUTTON TrainControl_TrainControlType = 0 // 摁钮
|
TrainControl_EMERGENT_BUTTON TrainControl_TrainControlType = 0 // 摁钮
|
||||||
TrainControl_DRIVER_KEY_SWITCH TrainControl_TrainControlType = 1 //驾驶端钥匙
|
TrainControl_DRIVER_KEY_SWITCH TrainControl_TrainControlType = 1 //驾驶端钥匙
|
||||||
TrainControl_DIRECTION_KEY_SWITCH TrainControl_TrainControlType = 2 //方向钥匙
|
TrainControl_DIRECTION_KEY_SWITCH TrainControl_TrainControlType = 2 //方向钥匙
|
||||||
TrainControl_HANDLER TrainControl_TrainControlType = 3 //手柄
|
TrainControl_HANDLER TrainControl_TrainControlType = 3 //手柄
|
||||||
|
TrainControl_TRAIN_DOOR_MODE_CHANGE TrainControl_TrainControlType = 4 //列车门模式
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for TrainControl_TrainControlType.
|
// Enum value maps for TrainControl_TrainControlType.
|
||||||
@ -551,12 +552,14 @@ var (
|
|||||||
1: "DRIVER_KEY_SWITCH",
|
1: "DRIVER_KEY_SWITCH",
|
||||||
2: "DIRECTION_KEY_SWITCH",
|
2: "DIRECTION_KEY_SWITCH",
|
||||||
3: "HANDLER",
|
3: "HANDLER",
|
||||||
|
4: "TRAIN_DOOR_MODE_CHANGE",
|
||||||
}
|
}
|
||||||
TrainControl_TrainControlType_value = map[string]int32{
|
TrainControl_TrainControlType_value = map[string]int32{
|
||||||
"EMERGENT_BUTTON": 0,
|
"EMERGENT_BUTTON": 0,
|
||||||
"DRIVER_KEY_SWITCH": 1,
|
"DRIVER_KEY_SWITCH": 1,
|
||||||
"DIRECTION_KEY_SWITCH": 2,
|
"DIRECTION_KEY_SWITCH": 2,
|
||||||
"HANDLER": 3,
|
"HANDLER": 3,
|
||||||
|
"TRAIN_DOOR_MODE_CHANGE": 4,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -587,52 +590,52 @@ func (TrainControl_TrainControlType) EnumDescriptor() ([]byte, []int) {
|
|||||||
return file_request_proto_rawDescGZIP(), []int{14, 0}
|
return file_request_proto_rawDescGZIP(), []int{14, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type TrainControl_Direction int32
|
type TrainControl_KeyLocation int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
TrainControl_BACKWARD TrainControl_Direction = 0 //后退
|
TrainControl_KL_END TrainControl_KeyLocation = 0 //方向:后退 门模式:mm模式
|
||||||
TrainControl_FORWARD TrainControl_Direction = 1 //前进
|
TrainControl_KL_FONT TrainControl_KeyLocation = 1 //方向:前进 门模式:AA模式
|
||||||
TrainControl_NEUTRALWARD TrainControl_Direction = 2 //中位
|
TrainControl_KL_CENTER TrainControl_KeyLocation = 2 //方向:中位 门模式:AM模式
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for TrainControl_Direction.
|
// Enum value maps for TrainControl_KeyLocation.
|
||||||
var (
|
var (
|
||||||
TrainControl_Direction_name = map[int32]string{
|
TrainControl_KeyLocation_name = map[int32]string{
|
||||||
0: "BACKWARD",
|
0: "KL_END",
|
||||||
1: "FORWARD",
|
1: "KL_FONT",
|
||||||
2: "NEUTRALWARD",
|
2: "KL_CENTER",
|
||||||
}
|
}
|
||||||
TrainControl_Direction_value = map[string]int32{
|
TrainControl_KeyLocation_value = map[string]int32{
|
||||||
"BACKWARD": 0,
|
"KL_END": 0,
|
||||||
"FORWARD": 1,
|
"KL_FONT": 1,
|
||||||
"NEUTRALWARD": 2,
|
"KL_CENTER": 2,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (x TrainControl_Direction) Enum() *TrainControl_Direction {
|
func (x TrainControl_KeyLocation) Enum() *TrainControl_KeyLocation {
|
||||||
p := new(TrainControl_Direction)
|
p := new(TrainControl_KeyLocation)
|
||||||
*p = x
|
*p = x
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x TrainControl_Direction) String() string {
|
func (x TrainControl_KeyLocation) String() string {
|
||||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (TrainControl_Direction) Descriptor() protoreflect.EnumDescriptor {
|
func (TrainControl_KeyLocation) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_request_proto_enumTypes[11].Descriptor()
|
return file_request_proto_enumTypes[11].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (TrainControl_Direction) Type() protoreflect.EnumType {
|
func (TrainControl_KeyLocation) Type() protoreflect.EnumType {
|
||||||
return &file_request_proto_enumTypes[11]
|
return &file_request_proto_enumTypes[11]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x TrainControl_Direction) Number() protoreflect.EnumNumber {
|
func (x TrainControl_KeyLocation) Number() protoreflect.EnumNumber {
|
||||||
return protoreflect.EnumNumber(x)
|
return protoreflect.EnumNumber(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use TrainControl_Direction.Descriptor instead.
|
// Deprecated: Use TrainControl_KeyLocation.Descriptor instead.
|
||||||
func (TrainControl_Direction) EnumDescriptor() ([]byte, []int) {
|
func (TrainControl_KeyLocation) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_request_proto_rawDescGZIP(), []int{14, 1}
|
return file_request_proto_rawDescGZIP(), []int{14, 1}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1682,14 +1685,14 @@ type TrainControl struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id
|
SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id
|
||||||
TrainId string `protobuf:"bytes,2,opt,name=trainId,proto3" json:"trainId,omitempty"`
|
TrainId string `protobuf:"bytes,2,opt,name=trainId,proto3" json:"trainId,omitempty"`
|
||||||
DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` //设备id
|
DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` //设备id
|
||||||
ControlType TrainControl_TrainControlType `protobuf:"varint,4,opt,name=controlType,proto3,enum=request.TrainControl_TrainControlType" json:"controlType,omitempty"`
|
ControlType TrainControl_TrainControlType `protobuf:"varint,4,opt,name=controlType,proto3,enum=request.TrainControl_TrainControlType" json:"controlType,omitempty"`
|
||||||
ControlButton *TrainControl_ControlButton `protobuf:"bytes,5,opt,name=controlButton,proto3" json:"controlButton,omitempty"` // 控制按钮
|
ControlButton *TrainControl_ControlButton `protobuf:"bytes,5,opt,name=controlButton,proto3" json:"controlButton,omitempty"` // 控制按钮
|
||||||
DriverKey *TrainControl_DriverKeySwitch `protobuf:"bytes,6,opt,name=driverKey,proto3" json:"driverKey,omitempty"`
|
DriverKey *TrainControl_DriverKeySwitch `protobuf:"bytes,6,opt,name=driverKey,proto3" json:"driverKey,omitempty"`
|
||||||
DirKey *TrainControl_DirectionKeySwitch `protobuf:"bytes,7,opt,name=dirKey,proto3" json:"dirKey,omitempty"` //方向
|
SwitchKey *TrainControl_SwitchKeyChange `protobuf:"bytes,7,opt,name=switchKey,proto3" json:"switchKey,omitempty"` //方向/门模式
|
||||||
Handler *TrainControl_PushHandler `protobuf:"bytes,8,opt,name=handler,proto3" json:"handler,omitempty"` //手柄
|
Handler *TrainControl_PushHandler `protobuf:"bytes,8,opt,name=handler,proto3" json:"handler,omitempty"` //手柄
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControl) Reset() {
|
func (x *TrainControl) Reset() {
|
||||||
@ -1766,9 +1769,9 @@ func (x *TrainControl) GetDriverKey() *TrainControl_DriverKeySwitch {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControl) GetDirKey() *TrainControl_DirectionKeySwitch {
|
func (x *TrainControl) GetSwitchKey() *TrainControl_SwitchKeyChange {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.DirKey
|
return x.SwitchKey
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -2259,16 +2262,16 @@ func (x *TrainControl_DriverKeySwitch) GetVal() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
type TrainControl_DirectionKeySwitch struct {
|
type TrainControl_SwitchKeyChange struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Val uint32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` //0=后,1=前,2=中位
|
Val uint32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` //0=后(门模式:MM),1=前(门模式:AA),2=中位(门模式:AM)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControl_DirectionKeySwitch) Reset() {
|
func (x *TrainControl_SwitchKeyChange) Reset() {
|
||||||
*x = TrainControl_DirectionKeySwitch{}
|
*x = TrainControl_SwitchKeyChange{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_request_proto_msgTypes[24]
|
mi := &file_request_proto_msgTypes[24]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
@ -2276,13 +2279,13 @@ func (x *TrainControl_DirectionKeySwitch) Reset() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControl_DirectionKeySwitch) String() string {
|
func (x *TrainControl_SwitchKeyChange) String() string {
|
||||||
return protoimpl.X.MessageStringOf(x)
|
return protoimpl.X.MessageStringOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*TrainControl_DirectionKeySwitch) ProtoMessage() {}
|
func (*TrainControl_SwitchKeyChange) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TrainControl_DirectionKeySwitch) ProtoReflect() protoreflect.Message {
|
func (x *TrainControl_SwitchKeyChange) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_request_proto_msgTypes[24]
|
mi := &file_request_proto_msgTypes[24]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
@ -2294,12 +2297,12 @@ func (x *TrainControl_DirectionKeySwitch) ProtoReflect() protoreflect.Message {
|
|||||||
return mi.MessageOf(x)
|
return mi.MessageOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use TrainControl_DirectionKeySwitch.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TrainControl_SwitchKeyChange.ProtoReflect.Descriptor instead.
|
||||||
func (*TrainControl_DirectionKeySwitch) Descriptor() ([]byte, []int) {
|
func (*TrainControl_SwitchKeyChange) Descriptor() ([]byte, []int) {
|
||||||
return file_request_proto_rawDescGZIP(), []int{14, 3}
|
return file_request_proto_rawDescGZIP(), []int{14, 3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControl_DirectionKeySwitch) GetVal() uint32 {
|
func (x *TrainControl_SwitchKeyChange) GetVal() uint32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Val
|
return x.Val
|
||||||
}
|
}
|
||||||
@ -2482,7 +2485,7 @@ var file_request_proto_rawDesc = []byte{
|
|||||||
0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x2e, 0x50, 0x73, 0x64, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c,
|
0x2e, 0x50, 0x73, 0x64, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c,
|
||||||
0x74, 0x22, 0xa2, 0x06, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
0x74, 0x22, 0xbd, 0x06, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||||
0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
|
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x49,
|
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x49,
|
||||||
@ -2502,89 +2505,90 @@ var file_request_proto_rawDesc = []byte{
|
|||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
||||||
0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x44, 0x72, 0x69, 0x76,
|
0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x44, 0x72, 0x69, 0x76,
|
||||||
0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64, 0x72, 0x69,
|
0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64, 0x72, 0x69,
|
||||||
0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79,
|
0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68,
|
||||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x4b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x71, 0x75,
|
||||||
0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x44, 0x69,
|
|
||||||
0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
|
|
||||||
0x52, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64,
|
|
||||||
0x6c, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x71, 0x75,
|
|
||||||
0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
|
0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
|
||||||
0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x07, 0x68, 0x61,
|
0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
|
||||||
0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x27, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
|
0x52, 0x09, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x07, 0x68,
|
||||||
0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
|
0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x28,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
||||||
0x0a, 0x0e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e,
|
0x72, 0x6f, 0x6c, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52,
|
||||||
0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
|
0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x27, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74,
|
||||||
0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x23, 0x0a, 0x0f, 0x44, 0x72, 0x69, 0x76,
|
0x72, 0x6f, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74,
|
||||||
0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x76,
|
0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76,
|
||||||
0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x26, 0x0a,
|
0x65, 0x1a, 0x28, 0x0a, 0x0e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x74,
|
||||||
0x12, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69,
|
0x74, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20,
|
||||||
0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
|
0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x23, 0x0a, 0x0f, 0x44,
|
||||||
|
0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x10,
|
||||||
|
0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c,
|
||||||
|
0x1a, 0x23, 0x0a, 0x0f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x68, 0x61,
|
||||||
|
0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
|
||||||
0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x1f, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e,
|
0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x1f, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e,
|
||||||
0x64, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x64, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x65, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43,
|
0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x81, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6e,
|
||||||
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4d,
|
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45,
|
||||||
0x45, 0x52, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x55, 0x54, 0x54, 0x4f, 0x4e, 0x10, 0x00, 0x12,
|
0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x55, 0x54, 0x54, 0x4f, 0x4e, 0x10, 0x00,
|
||||||
0x15, 0x0a, 0x11, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x57,
|
0x12, 0x15, 0x0a, 0x11, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53,
|
||||||
0x49, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54,
|
0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x49, 0x52, 0x45, 0x43,
|
||||||
0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x02,
|
0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10,
|
||||||
0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x22, 0x37, 0x0a,
|
0x02, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x12, 0x1a,
|
||||||
0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41,
|
0x0a, 0x16, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x5f, 0x44, 0x4f, 0x4f, 0x52, 0x5f, 0x4d, 0x4f, 0x44,
|
||||||
0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x57,
|
0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x22, 0x35, 0x0a, 0x0b, 0x4b, 0x65,
|
||||||
0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c,
|
0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x4c, 0x5f,
|
||||||
0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x43, 0x6b, 0x6d, 0x4f, 0x70,
|
0x45, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x4c, 0x5f, 0x46, 0x4f, 0x4e, 0x54,
|
||||||
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69,
|
0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x4c, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10,
|
||||||
0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x02, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x43, 0x6b, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
|
||||||
0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14,
|
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74,
|
||||||
0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d,
|
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d,
|
||||||
0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
|
0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
|
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12,
|
||||||
0x12, 0x34, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
|
0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b,
|
0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x6f,
|
||||||
0x6d, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65,
|
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
|
||||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18,
|
0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x4f, 0x70, 0x65,
|
||||||
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||||
0x43, 0x6b, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22,
|
0x6e, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
|
||||||
0x82, 0x01, 0x0a, 0x03, 0x43, 0x6b, 0x6d, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61,
|
0x32, 0x11, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x50, 0x61,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
|
0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x82, 0x01, 0x0a, 0x03, 0x43,
|
||||||
0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
0x6b, 0x6d, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
||||||
0x10, 0x01, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x46,
|
0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d,
|
||||||
0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x5f, 0x4b, 0x4d, 0x10,
|
0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x27, 0x0a,
|
||||||
0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x5f, 0x47, 0x4d, 0x10, 0x02, 0x22, 0x27, 0x0a, 0x05, 0x46,
|
0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
|
||||||
0x61, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
|
0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x5f, 0x4b, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04,
|
||||||
0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4c, 0x6f,
|
0x46, 0x5f, 0x47, 0x4d, 0x10, 0x02, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12,
|
||||||
0x73, 0x73, 0x10, 0x01, 0x22, 0x5e, 0x0a, 0x08, 0x43, 0x6b, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
|
||||||
0x12, 0x28, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
0x46, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4c, 0x6f, 0x73, 0x73, 0x10, 0x01, 0x22,
|
||||||
0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x46, 0x6f,
|
0x5e, 0x0a, 0x08, 0x43, 0x6b, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x05, 0x66,
|
||||||
0x72, 0x63, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61,
|
0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71,
|
||||||
0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75,
|
0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x05,
|
||||||
0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66,
|
0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02,
|
||||||
0x61, 0x75, 0x6c, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x58, 0x63, 0x6a, 0x4f, 0x70, 0x65, 0x72,
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43,
|
||||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75,
|
0x6b, 0x6d, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22,
|
||||||
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
|
0xc6, 0x01, 0x0a, 0x0f, 0x58, 0x63, 0x6a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
|
0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,
|
||||||
0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70,
|
0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c,
|
||||||
0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03,
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64,
|
||||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a,
|
||||||
0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
|
0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||||
0x0e, 0x32, 0x16, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x2e,
|
0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x6f, 0x70, 0x65,
|
||||||
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61,
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x72,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63,
|
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
||||||
0x6a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x54, 0x0a,
|
0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
|
||||||
0x03, 0x58, 0x63, 0x6a, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x50, 0x61, 0x72, 0x61,
|
||||||
0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00,
|
0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x54, 0x0a, 0x03, 0x58, 0x63, 0x6a, 0x22,
|
||||||
0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22,
|
0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09,
|
||||||
0x22, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e,
|
0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53,
|
||||||
0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x5f, 0x46, 0x61, 0x75, 0x6c,
|
0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x22, 0x0a, 0x05, 0x46, 0x61,
|
||||||
0x74, 0x10, 0x01, 0x22, 0x34, 0x0a, 0x08, 0x58, 0x63, 0x6a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12,
|
0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
|
||||||
0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12,
|
0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x5f, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x01, 0x22, 0x34,
|
||||||
0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x2e, 0x46, 0x61, 0x75,
|
0x0a, 0x08, 0x58, 0x63, 0x6a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61,
|
||||||
0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x30, 0x5a, 0x2e, 0x6a, 0x6f, 0x79,
|
0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75,
|
||||||
0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73,
|
0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66,
|
||||||
0x74, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x72, 0x65,
|
0x61, 0x75, 0x6c, 0x74, 0x42, 0x30, 0x5a, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73, 0x65,
|
||||||
0x74, 0x6f, 0x33,
|
0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
|
0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -2602,49 +2606,49 @@ func file_request_proto_rawDescGZIP() []byte {
|
|||||||
var file_request_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
|
var file_request_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
|
||||||
var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
|
var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
|
||||||
var file_request_proto_goTypes = []interface{}{
|
var file_request_proto_goTypes = []interface{}{
|
||||||
(Relay_Operation)(0), // 0: request.Relay.Operation
|
(Relay_Operation)(0), // 0: request.Relay.Operation
|
||||||
(Points_Operation)(0), // 1: request.Points.Operation
|
(Points_Operation)(0), // 1: request.Points.Operation
|
||||||
(Points_Force)(0), // 2: request.Points.Force
|
(Points_Force)(0), // 2: request.Points.Force
|
||||||
(Signal_Operation)(0), // 3: request.Signal.Operation
|
(Signal_Operation)(0), // 3: request.Signal.Operation
|
||||||
(Signal_DS)(0), // 4: request.Signal.DS
|
(Signal_DS)(0), // 4: request.Signal.DS
|
||||||
(Signal_Force)(0), // 5: request.Signal.Force
|
(Signal_Force)(0), // 5: request.Signal.Force
|
||||||
(Section_Operation)(0), // 6: request.Section.Operation
|
(Section_Operation)(0), // 6: request.Section.Operation
|
||||||
(Psd_Operation)(0), // 7: request.Psd.Operation
|
(Psd_Operation)(0), // 7: request.Psd.Operation
|
||||||
(Psd_Force)(0), // 8: request.Psd.Force
|
(Psd_Force)(0), // 8: request.Psd.Force
|
||||||
(Psd_Fault)(0), // 9: request.Psd.Fault
|
(Psd_Fault)(0), // 9: request.Psd.Fault
|
||||||
(TrainControl_TrainControlType)(0), // 10: request.TrainControl.TrainControlType
|
(TrainControl_TrainControlType)(0), // 10: request.TrainControl.TrainControlType
|
||||||
(TrainControl_Direction)(0), // 11: request.TrainControl.Direction
|
(TrainControl_KeyLocation)(0), // 11: request.TrainControl.KeyLocation
|
||||||
(Ckm_Operation)(0), // 12: request.Ckm.Operation
|
(Ckm_Operation)(0), // 12: request.Ckm.Operation
|
||||||
(Ckm_Force)(0), // 13: request.Ckm.Force
|
(Ckm_Force)(0), // 13: request.Ckm.Force
|
||||||
(Ckm_Fault)(0), // 14: request.Ckm.Fault
|
(Ckm_Fault)(0), // 14: request.Ckm.Fault
|
||||||
(Xcj_Operation)(0), // 15: request.Xcj.Operation
|
(Xcj_Operation)(0), // 15: request.Xcj.Operation
|
||||||
(Xcj_Fault)(0), // 16: request.Xcj.Fault
|
(Xcj_Fault)(0), // 16: request.Xcj.Fault
|
||||||
(*Relay)(nil), // 17: request.Relay
|
(*Relay)(nil), // 17: request.Relay
|
||||||
(*RelayOperationReq)(nil), // 18: request.RelayOperationReq
|
(*RelayOperationReq)(nil), // 18: request.RelayOperationReq
|
||||||
(*Points)(nil), // 19: request.Points
|
(*Points)(nil), // 19: request.Points
|
||||||
(*PointsOperationReq)(nil), // 20: request.PointsOperationReq
|
(*PointsOperationReq)(nil), // 20: request.PointsOperationReq
|
||||||
(*PointsParam)(nil), // 21: request.PointsParam
|
(*PointsParam)(nil), // 21: request.PointsParam
|
||||||
(*Signal)(nil), // 22: request.Signal
|
(*Signal)(nil), // 22: request.Signal
|
||||||
(*SignalOperationReq)(nil), // 23: request.SignalOperationReq
|
(*SignalOperationReq)(nil), // 23: request.SignalOperationReq
|
||||||
(*SignalParam)(nil), // 24: request.SignalParam
|
(*SignalParam)(nil), // 24: request.SignalParam
|
||||||
(*Section)(nil), // 25: request.Section
|
(*Section)(nil), // 25: request.Section
|
||||||
(*SectionOperationReq)(nil), // 26: request.SectionOperationReq
|
(*SectionOperationReq)(nil), // 26: request.SectionOperationReq
|
||||||
(*SectionParam)(nil), // 27: request.SectionParam
|
(*SectionParam)(nil), // 27: request.SectionParam
|
||||||
(*Psd)(nil), // 28: request.Psd
|
(*Psd)(nil), // 28: request.Psd
|
||||||
(*PsdOperationReq)(nil), // 29: request.PsdOperationReq
|
(*PsdOperationReq)(nil), // 29: request.PsdOperationReq
|
||||||
(*PsdParam)(nil), // 30: request.PsdParam
|
(*PsdParam)(nil), // 30: request.PsdParam
|
||||||
(*TrainControl)(nil), // 31: request.TrainControl
|
(*TrainControl)(nil), // 31: request.TrainControl
|
||||||
(*CkmOperationReq)(nil), // 32: request.CkmOperationReq
|
(*CkmOperationReq)(nil), // 32: request.CkmOperationReq
|
||||||
(*Ckm)(nil), // 33: request.Ckm
|
(*Ckm)(nil), // 33: request.Ckm
|
||||||
(*CkmParam)(nil), // 34: request.CkmParam
|
(*CkmParam)(nil), // 34: request.CkmParam
|
||||||
(*XcjOperationReq)(nil), // 35: request.XcjOperationReq
|
(*XcjOperationReq)(nil), // 35: request.XcjOperationReq
|
||||||
(*Xcj)(nil), // 36: request.Xcj
|
(*Xcj)(nil), // 36: request.Xcj
|
||||||
(*XcjParam)(nil), // 37: request.XcjParam
|
(*XcjParam)(nil), // 37: request.XcjParam
|
||||||
(*TrainControl_ControlButton)(nil), // 38: request.TrainControl.ControlButton
|
(*TrainControl_ControlButton)(nil), // 38: request.TrainControl.ControlButton
|
||||||
(*TrainControl_EmergentButton)(nil), // 39: request.TrainControl.EmergentButton
|
(*TrainControl_EmergentButton)(nil), // 39: request.TrainControl.EmergentButton
|
||||||
(*TrainControl_DriverKeySwitch)(nil), // 40: request.TrainControl.DriverKeySwitch
|
(*TrainControl_DriverKeySwitch)(nil), // 40: request.TrainControl.DriverKeySwitch
|
||||||
(*TrainControl_DirectionKeySwitch)(nil), // 41: request.TrainControl.DirectionKeySwitch
|
(*TrainControl_SwitchKeyChange)(nil), // 41: request.TrainControl.SwitchKeyChange
|
||||||
(*TrainControl_PushHandler)(nil), // 42: request.TrainControl.PushHandler
|
(*TrainControl_PushHandler)(nil), // 42: request.TrainControl.PushHandler
|
||||||
}
|
}
|
||||||
var file_request_proto_depIdxs = []int32{
|
var file_request_proto_depIdxs = []int32{
|
||||||
0, // 0: request.RelayOperationReq.operation:type_name -> request.Relay.Operation
|
0, // 0: request.RelayOperationReq.operation:type_name -> request.Relay.Operation
|
||||||
@ -2664,7 +2668,7 @@ var file_request_proto_depIdxs = []int32{
|
|||||||
10, // 14: request.TrainControl.controlType:type_name -> request.TrainControl.TrainControlType
|
10, // 14: request.TrainControl.controlType:type_name -> request.TrainControl.TrainControlType
|
||||||
38, // 15: request.TrainControl.controlButton:type_name -> request.TrainControl.ControlButton
|
38, // 15: request.TrainControl.controlButton:type_name -> request.TrainControl.ControlButton
|
||||||
40, // 16: request.TrainControl.driverKey:type_name -> request.TrainControl.DriverKeySwitch
|
40, // 16: request.TrainControl.driverKey:type_name -> request.TrainControl.DriverKeySwitch
|
||||||
41, // 17: request.TrainControl.dirKey:type_name -> request.TrainControl.DirectionKeySwitch
|
41, // 17: request.TrainControl.switchKey:type_name -> request.TrainControl.SwitchKeyChange
|
||||||
42, // 18: request.TrainControl.handler:type_name -> request.TrainControl.PushHandler
|
42, // 18: request.TrainControl.handler:type_name -> request.TrainControl.PushHandler
|
||||||
12, // 19: request.CkmOperationReq.operation:type_name -> request.Ckm.Operation
|
12, // 19: request.CkmOperationReq.operation:type_name -> request.Ckm.Operation
|
||||||
34, // 20: request.CkmOperationReq.param:type_name -> request.CkmParam
|
34, // 20: request.CkmOperationReq.param:type_name -> request.CkmParam
|
||||||
@ -2975,7 +2979,7 @@ func file_request_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_request_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
file_request_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*TrainControl_DirectionKeySwitch); i {
|
switch v := v.(*TrainControl_SwitchKeyChange); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -5072,13 +5072,14 @@ type TrainControlState struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Buttons map[string]*TrainControlState_ControlButton `protobuf:"bytes,1,rep,name=buttons,proto3" json:"buttons,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
Buttons map[string]*TrainControlState_ControlButton `protobuf:"bytes,1,rep,name=buttons,proto3" json:"buttons,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
DriverKey []*TrainControlState_DriverKeySwitch `protobuf:"bytes,2,rep,name=driverKey,proto3" json:"driverKey,omitempty"` //驾驶端激活
|
DriverKey []*TrainControlState_DriverKeySwitch `protobuf:"bytes,2,rep,name=driverKey,proto3" json:"driverKey,omitempty"` //驾驶端激活
|
||||||
DirKey *TrainControlState_DirectionKeySwitch `protobuf:"bytes,3,opt,name=dirKey,proto3" json:"dirKey,omitempty"` //接车运行方向
|
SwitchKeyMap map[string]*TrainControlState_SwitchKeyChange `protobuf:"bytes,3,rep,name=switchKeyMap,proto3" json:"switchKeyMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
PushHandler *TrainControlState_PushHandler `protobuf:"bytes,4,opt,name=pushHandler,proto3" json:"pushHandler,omitempty"` //牵引制动手柄
|
// DirectionKeySwitch dirKey = 3; //接车运行方向
|
||||||
LightMaps map[string]*TrainControlState_ControlLight `protobuf:"bytes,5,rep,name=lightMaps,proto3" json:"lightMaps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
PushHandler *TrainControlState_PushHandler `protobuf:"bytes,4,opt,name=pushHandler,proto3" json:"pushHandler,omitempty"` //牵引制动手柄
|
||||||
LineInitTimeStamp12 int64 `protobuf:"varint,6,opt,name=lineInitTimeStamp12,proto3" json:"lineInitTimeStamp12,omitempty"` //12号线列出初始化时间戳
|
LightMaps map[string]*TrainControlState_ControlLight `protobuf:"bytes,5,rep,name=lightMaps,proto3" json:"lightMaps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
Line12ConnErr bool `protobuf:"varint,7,opt,name=line12ConnErr,proto3" json:"line12ConnErr,omitempty"` //12号线连接错误,因为12号线atp故障(此时atp需要重启)时,还是会发送数据通过此次属性标记atp状态情况(多次观察atp故障时,atp输出数字量返回的数据最后一个直接是0)
|
LineInitTimeStamp12 int64 `protobuf:"varint,6,opt,name=lineInitTimeStamp12,proto3" json:"lineInitTimeStamp12,omitempty"` //12号线列出初始化时间戳
|
||||||
|
Line12ConnErr bool `protobuf:"varint,7,opt,name=line12ConnErr,proto3" json:"line12ConnErr,omitempty"` //12号线连接错误,因为12号线atp故障(此时atp需要重启)时,还是会发送数据通过此次属性标记atp状态情况(多次观察atp故障时,atp输出数字量返回的数据最后一个直接是0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState) Reset() {
|
func (x *TrainControlState) Reset() {
|
||||||
@ -5127,9 +5128,9 @@ func (x *TrainControlState) GetDriverKey() []*TrainControlState_DriverKeySwitch
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState) GetDirKey() *TrainControlState_DirectionKeySwitch {
|
func (x *TrainControlState) GetSwitchKeyMap() map[string]*TrainControlState_SwitchKeyChange {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.DirKey
|
return x.SwitchKeyMap
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -5168,11 +5169,11 @@ type TrainControlStateMsg struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Buttons []*TrainControlState_ControlButton `protobuf:"bytes,1,rep,name=buttons,proto3" json:"buttons,omitempty"`
|
Buttons []*TrainControlState_ControlButton `protobuf:"bytes,1,rep,name=buttons,proto3" json:"buttons,omitempty"`
|
||||||
DriverKey []*TrainControlState_DriverKeySwitch `protobuf:"bytes,2,rep,name=driverKey,proto3" json:"driverKey,omitempty"` //驾驶端激活
|
DriverKey []*TrainControlState_DriverKeySwitch `protobuf:"bytes,2,rep,name=driverKey,proto3" json:"driverKey,omitempty"` //驾驶端激活
|
||||||
DirKey *TrainControlState_DirectionKeySwitch `protobuf:"bytes,3,opt,name=dirKey,proto3" json:"dirKey,omitempty"` //接车运行方向
|
SwitchKeys []*TrainControlState_SwitchKeyChange `protobuf:"bytes,3,rep,name=switchKeys,proto3" json:"switchKeys,omitempty"` //接车运行方向
|
||||||
PushHandler *TrainControlState_PushHandler `protobuf:"bytes,4,opt,name=pushHandler,proto3" json:"pushHandler,omitempty"` //牵引制动手柄
|
PushHandler *TrainControlState_PushHandler `protobuf:"bytes,4,opt,name=pushHandler,proto3" json:"pushHandler,omitempty"` //牵引制动手柄
|
||||||
Lights []*TrainControlState_ControlLight `protobuf:"bytes,5,rep,name=lights,proto3" json:"lights,omitempty"`
|
Lights []*TrainControlState_ControlLight `protobuf:"bytes,5,rep,name=lights,proto3" json:"lights,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlStateMsg) Reset() {
|
func (x *TrainControlStateMsg) Reset() {
|
||||||
@ -5221,9 +5222,9 @@ func (x *TrainControlStateMsg) GetDriverKey() []*TrainControlState_DriverKeySwit
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlStateMsg) GetDirKey() *TrainControlState_DirectionKeySwitch {
|
func (x *TrainControlStateMsg) GetSwitchKeys() []*TrainControlState_SwitchKeyChange {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.DirKey
|
return x.SwitchKeys
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -5488,7 +5489,7 @@ type TrainControlState_ControlButton struct {
|
|||||||
func (x *TrainControlState_ControlButton) Reset() {
|
func (x *TrainControlState_ControlButton) Reset() {
|
||||||
*x = TrainControlState_ControlButton{}
|
*x = TrainControlState_ControlButton{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_device_state_proto_msgTypes[46]
|
mi := &file_device_state_proto_msgTypes[47]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -5501,7 +5502,7 @@ func (x *TrainControlState_ControlButton) String() string {
|
|||||||
func (*TrainControlState_ControlButton) ProtoMessage() {}
|
func (*TrainControlState_ControlButton) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TrainControlState_ControlButton) ProtoReflect() protoreflect.Message {
|
func (x *TrainControlState_ControlButton) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_device_state_proto_msgTypes[46]
|
mi := &file_device_state_proto_msgTypes[47]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -5514,7 +5515,7 @@ func (x *TrainControlState_ControlButton) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use TrainControlState_ControlButton.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TrainControlState_ControlButton.ProtoReflect.Descriptor instead.
|
||||||
func (*TrainControlState_ControlButton) Descriptor() ([]byte, []int) {
|
func (*TrainControlState_ControlButton) Descriptor() ([]byte, []int) {
|
||||||
return file_device_state_proto_rawDescGZIP(), []int{37, 2}
|
return file_device_state_proto_rawDescGZIP(), []int{37, 3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_ControlButton) GetId() uint32 {
|
func (x *TrainControlState_ControlButton) GetId() uint32 {
|
||||||
@ -5543,7 +5544,7 @@ type TrainControlState_DriverKeySwitch struct {
|
|||||||
func (x *TrainControlState_DriverKeySwitch) Reset() {
|
func (x *TrainControlState_DriverKeySwitch) Reset() {
|
||||||
*x = TrainControlState_DriverKeySwitch{}
|
*x = TrainControlState_DriverKeySwitch{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_device_state_proto_msgTypes[47]
|
mi := &file_device_state_proto_msgTypes[48]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -5556,7 +5557,7 @@ func (x *TrainControlState_DriverKeySwitch) String() string {
|
|||||||
func (*TrainControlState_DriverKeySwitch) ProtoMessage() {}
|
func (*TrainControlState_DriverKeySwitch) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TrainControlState_DriverKeySwitch) ProtoReflect() protoreflect.Message {
|
func (x *TrainControlState_DriverKeySwitch) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_device_state_proto_msgTypes[47]
|
mi := &file_device_state_proto_msgTypes[48]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -5569,7 +5570,7 @@ func (x *TrainControlState_DriverKeySwitch) ProtoReflect() protoreflect.Message
|
|||||||
|
|
||||||
// Deprecated: Use TrainControlState_DriverKeySwitch.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TrainControlState_DriverKeySwitch.ProtoReflect.Descriptor instead.
|
||||||
func (*TrainControlState_DriverKeySwitch) Descriptor() ([]byte, []int) {
|
func (*TrainControlState_DriverKeySwitch) Descriptor() ([]byte, []int) {
|
||||||
return file_device_state_proto_rawDescGZIP(), []int{37, 3}
|
return file_device_state_proto_rawDescGZIP(), []int{37, 4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_DriverKeySwitch) GetId() uint32 {
|
func (x *TrainControlState_DriverKeySwitch) GetId() uint32 {
|
||||||
@ -5586,32 +5587,32 @@ func (x *TrainControlState_DriverKeySwitch) GetVal() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
type TrainControlState_DirectionKeySwitch struct {
|
type TrainControlState_SwitchKeyChange struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||||
Val uint32 `protobuf:"varint,2,opt,name=val,proto3" json:"val,omitempty"` //0=后,1=前,2=中位
|
Val uint32 `protobuf:"varint,2,opt,name=val,proto3" json:"val,omitempty"` //0=后(mm),1=前(AA),2=中位(AM)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_DirectionKeySwitch) Reset() {
|
func (x *TrainControlState_SwitchKeyChange) Reset() {
|
||||||
*x = TrainControlState_DirectionKeySwitch{}
|
*x = TrainControlState_SwitchKeyChange{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_device_state_proto_msgTypes[48]
|
mi := &file_device_state_proto_msgTypes[49]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_DirectionKeySwitch) String() string {
|
func (x *TrainControlState_SwitchKeyChange) String() string {
|
||||||
return protoimpl.X.MessageStringOf(x)
|
return protoimpl.X.MessageStringOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*TrainControlState_DirectionKeySwitch) ProtoMessage() {}
|
func (*TrainControlState_SwitchKeyChange) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TrainControlState_DirectionKeySwitch) ProtoReflect() protoreflect.Message {
|
func (x *TrainControlState_SwitchKeyChange) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_device_state_proto_msgTypes[48]
|
mi := &file_device_state_proto_msgTypes[49]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -5622,19 +5623,19 @@ func (x *TrainControlState_DirectionKeySwitch) ProtoReflect() protoreflect.Messa
|
|||||||
return mi.MessageOf(x)
|
return mi.MessageOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use TrainControlState_DirectionKeySwitch.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TrainControlState_SwitchKeyChange.ProtoReflect.Descriptor instead.
|
||||||
func (*TrainControlState_DirectionKeySwitch) Descriptor() ([]byte, []int) {
|
func (*TrainControlState_SwitchKeyChange) Descriptor() ([]byte, []int) {
|
||||||
return file_device_state_proto_rawDescGZIP(), []int{37, 4}
|
return file_device_state_proto_rawDescGZIP(), []int{37, 5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_DirectionKeySwitch) GetId() uint32 {
|
func (x *TrainControlState_SwitchKeyChange) GetId() uint32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Id
|
return x.Id
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_DirectionKeySwitch) GetVal() uint32 {
|
func (x *TrainControlState_SwitchKeyChange) GetVal() uint32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Val
|
return x.Val
|
||||||
}
|
}
|
||||||
@ -5654,7 +5655,7 @@ type TrainControlState_PushHandler struct {
|
|||||||
func (x *TrainControlState_PushHandler) Reset() {
|
func (x *TrainControlState_PushHandler) Reset() {
|
||||||
*x = TrainControlState_PushHandler{}
|
*x = TrainControlState_PushHandler{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_device_state_proto_msgTypes[49]
|
mi := &file_device_state_proto_msgTypes[50]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -5667,7 +5668,7 @@ func (x *TrainControlState_PushHandler) String() string {
|
|||||||
func (*TrainControlState_PushHandler) ProtoMessage() {}
|
func (*TrainControlState_PushHandler) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TrainControlState_PushHandler) ProtoReflect() protoreflect.Message {
|
func (x *TrainControlState_PushHandler) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_device_state_proto_msgTypes[49]
|
mi := &file_device_state_proto_msgTypes[50]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -5680,7 +5681,7 @@ func (x *TrainControlState_PushHandler) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use TrainControlState_PushHandler.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TrainControlState_PushHandler.ProtoReflect.Descriptor instead.
|
||||||
func (*TrainControlState_PushHandler) Descriptor() ([]byte, []int) {
|
func (*TrainControlState_PushHandler) Descriptor() ([]byte, []int) {
|
||||||
return file_device_state_proto_rawDescGZIP(), []int{37, 5}
|
return file_device_state_proto_rawDescGZIP(), []int{37, 6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_PushHandler) GetId() uint32 {
|
func (x *TrainControlState_PushHandler) GetId() uint32 {
|
||||||
@ -5709,7 +5710,7 @@ type TrainControlState_ControlLight struct {
|
|||||||
func (x *TrainControlState_ControlLight) Reset() {
|
func (x *TrainControlState_ControlLight) Reset() {
|
||||||
*x = TrainControlState_ControlLight{}
|
*x = TrainControlState_ControlLight{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_device_state_proto_msgTypes[50]
|
mi := &file_device_state_proto_msgTypes[51]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -5722,7 +5723,7 @@ func (x *TrainControlState_ControlLight) String() string {
|
|||||||
func (*TrainControlState_ControlLight) ProtoMessage() {}
|
func (*TrainControlState_ControlLight) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TrainControlState_ControlLight) ProtoReflect() protoreflect.Message {
|
func (x *TrainControlState_ControlLight) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_device_state_proto_msgTypes[50]
|
mi := &file_device_state_proto_msgTypes[51]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -5735,7 +5736,7 @@ func (x *TrainControlState_ControlLight) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use TrainControlState_ControlLight.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TrainControlState_ControlLight.ProtoReflect.Descriptor instead.
|
||||||
func (*TrainControlState_ControlLight) Descriptor() ([]byte, []int) {
|
func (*TrainControlState_ControlLight) Descriptor() ([]byte, []int) {
|
||||||
return file_device_state_proto_rawDescGZIP(), []int{37, 6}
|
return file_device_state_proto_rawDescGZIP(), []int{37, 7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TrainControlState_ControlLight) GetId() uint32 {
|
func (x *TrainControlState_ControlLight) GetId() uint32 {
|
||||||
@ -6713,7 +6714,7 @@ var file_device_state_proto_rawDesc = []byte{
|
|||||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
|
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
|
||||||
0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
|
0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
|
||||||
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
|
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||||
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x07, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43,
|
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8d, 0x08, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43,
|
||||||
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x62,
|
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x62,
|
||||||
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73,
|
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73,
|
||||||
0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||||
@ -6723,88 +6724,96 @@ var file_device_state_proto_rawDesc = []byte{
|
|||||||
0x28, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e,
|
0x28, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e,
|
||||||
0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72,
|
0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72,
|
||||||
0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65,
|
0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65,
|
||||||
0x72, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x03,
|
0x72, 0x4b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61,
|
0x79, 0x4d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x61,
|
||||||
0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44,
|
0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53,
|
||||||
0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63,
|
0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x4d, 0x61,
|
||||||
0x68, 0x52, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x75, 0x73,
|
0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65,
|
||||||
0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
|
0x79, 0x4d, 0x61, 0x70, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64,
|
||||||
0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x61, 0x74,
|
||||||
0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e,
|
0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74,
|
||||||
0x64, 0x6c, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65,
|
0x61, 0x74, 0x65, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52,
|
||||||
0x72, 0x12, 0x45, 0x0a, 0x09, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x61, 0x70, 0x73, 0x18, 0x05,
|
0x0b, 0x70, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x09,
|
||||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61,
|
0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x61, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4c,
|
0x27, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e,
|
||||||
0x69, 0x67, 0x68, 0x74, 0x4d, 0x61, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c,
|
0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x4d,
|
||||||
0x69, 0x67, 0x68, 0x74, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x65,
|
0x61, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d,
|
||||||
0x49, 0x6e, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x31, 0x32, 0x18,
|
0x61, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x54,
|
||||||
0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x54,
|
0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x31, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x31, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x69,
|
0x52, 0x13, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74,
|
||||||
0x6e, 0x65, 0x31, 0x32, 0x43, 0x6f, 0x6e, 0x6e, 0x45, 0x72, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28,
|
0x61, 0x6d, 0x70, 0x31, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x32, 0x43,
|
||||||
0x08, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x32, 0x43, 0x6f, 0x6e, 0x6e, 0x45, 0x72, 0x72,
|
0x6f, 0x6e, 0x6e, 0x45, 0x72, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69,
|
||||||
0x1a, 0x62, 0x0a, 0x0c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
0x6e, 0x65, 0x31, 0x32, 0x43, 0x6f, 0x6e, 0x6e, 0x45, 0x72, 0x72, 0x1a, 0x62, 0x0a, 0x0c, 0x42,
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
||||||
0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a,
|
||||||
0x0b, 0x32, 0x26, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43,
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73,
|
||||||
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
|
|
||||||
0x72, 0x6f, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
||||||
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x61, 0x70,
|
|
||||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
|
||||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
||||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e,
|
|
||||||
0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74,
|
|
||||||
0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x05,
|
|
||||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x0d, 0x43, 0x6f, 0x6e,
|
|
||||||
0x74, 0x72, 0x6f, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
|
|
||||||
0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73,
|
|
||||||
0x65, 0x64, 0x1a, 0x33, 0x0a, 0x0f, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x53,
|
|
||||||
0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
||||||
0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
|
|
||||||
0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x36, 0x0a, 0x12, 0x44, 0x69, 0x72, 0x65, 0x63,
|
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x0e, 0x0a,
|
|
||||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a,
|
|
||||||
0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a,
|
|
||||||
0x2f, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x0e,
|
|
||||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10,
|
|
||||||
0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c,
|
|
||||||
0x1a, 0x30, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74,
|
|
||||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
|
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76,
|
|
||||||
0x61, 0x6c, 0x22, 0xec, 0x02, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
|
||||||
0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x40, 0x0a, 0x07, 0x62,
|
|
||||||
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73,
|
|
||||||
0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||||
0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x75,
|
0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x75,
|
||||||
0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a,
|
0x74, 0x74, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
|
||||||
0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
|
0x69, 0x0a, 0x11, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x70, 0x45,
|
||||||
0x32, 0x28, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f,
|
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65,
|
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||||
0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64, 0x72, 0x69, 0x76,
|
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72,
|
||||||
0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18,
|
|
||||||
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72,
|
|
||||||
0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
|
0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
|
||||||
0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74,
|
0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52,
|
||||||
0x63, 0x68, 0x52, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x75,
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0e, 0x4c, 0x69,
|
||||||
0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
0x67, 0x68, 0x74, 0x4d, 0x61, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
||||||
0x24, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e,
|
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b,
|
||||||
0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61,
|
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
|
||||||
0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c,
|
0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||||
0x65, 0x72, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03,
|
0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4c,
|
||||||
0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e,
|
0x69, 0x67, 0x68, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
|
||||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e,
|
0x37, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e,
|
||||||
0x74, 0x72, 0x6f, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x6c, 0x69, 0x67, 0x68, 0x74,
|
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
|
||||||
0x73, 0x2a, 0x37, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
|
0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
|
||||||
0x12, 0x07, 0x0a, 0x03, 0x41, 0x6e, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x78, 0x6c,
|
0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x1a, 0x33, 0x0a, 0x0f, 0x44, 0x72, 0x69, 0x76,
|
||||||
0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x10, 0x02, 0x12, 0x0a,
|
0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
||||||
0x0a, 0x06, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x10, 0x03, 0x42, 0x67, 0x0a, 0x25, 0x63, 0x6c,
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76,
|
||||||
0x75, 0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73,
|
0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x33, 0x0a,
|
||||||
0x73, 0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
|
0x0f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
|
||||||
0x74, 0x6f, 0x73, 0x42, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
|
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
|
||||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x2c, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63,
|
0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76,
|
||||||
0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73, 0x65, 0x72,
|
0x61, 0x6c, 0x1a, 0x2f, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65,
|
||||||
0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72,
|
0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
|
||||||
0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
|
||||||
|
0x76, 0x61, 0x6c, 0x1a, 0x30, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4c, 0x69,
|
||||||
|
0x67, 0x68, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||||
|
0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
|
||||||
|
0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xf1, 0x02, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43,
|
||||||
|
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x40,
|
||||||
|
0x0a, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
|
0x26, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e,
|
||||||
|
0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||||
|
0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73,
|
||||||
|
0x12, 0x46, 0x0a, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20,
|
||||||
|
0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69,
|
||||||
|
0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x72,
|
||||||
|
0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64,
|
||||||
|
0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0a, 0x73, 0x77, 0x69, 0x74,
|
||||||
|
0x63, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73,
|
||||||
|
0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||||
|
0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79,
|
||||||
|
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4b, 0x65,
|
||||||
|
0x79, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65,
|
||||||
|
0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e,
|
||||||
|
0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74,
|
||||||
|
0x65, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x0b, 0x70,
|
||||||
|
0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x69,
|
||||||
|
0x67, 0x68, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x61,
|
||||||
|
0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53,
|
||||||
|
0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4c, 0x69, 0x67, 0x68,
|
||||||
|
0x74, 0x52, 0x06, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2a, 0x37, 0x0a, 0x0b, 0x53, 0x65, 0x63,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x6e, 0x79, 0x10,
|
||||||
|
0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x78, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4c,
|
||||||
|
0x6f, 0x67, 0x69, 0x63, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63,
|
||||||
|
0x10, 0x03, 0x42, 0x67, 0x0a, 0x25, 0x63, 0x6c, 0x75, 0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69,
|
||||||
|
0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73, 0x73, 0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x65,
|
||||||
|
0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x42, 0x10, 0x44, 0x65, 0x76,
|
||||||
|
0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x2c, 0x6a,
|
||||||
|
0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72,
|
||||||
|
0x74, 0x73, 0x74, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f,
|
||||||
|
0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||||
|
0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -6820,87 +6829,88 @@ func file_device_state_proto_rawDescGZIP() []byte {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var file_device_state_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
|
var file_device_state_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
|
||||||
var file_device_state_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
|
var file_device_state_proto_msgTypes = make([]protoimpl.MessageInfo, 52)
|
||||||
var file_device_state_proto_goTypes = []interface{}{
|
var file_device_state_proto_goTypes = []interface{}{
|
||||||
(SectionType)(0), // 0: state.SectionType
|
(SectionType)(0), // 0: state.SectionType
|
||||||
(Signal_Aspect)(0), // 1: state.Signal.Aspect
|
(Signal_Aspect)(0), // 1: state.Signal.Aspect
|
||||||
(TrainConnState_TrainConnType)(0), // 2: state.TrainConnState.TrainConnType
|
(TrainConnState_TrainConnType)(0), // 2: state.TrainConnState.TrainConnType
|
||||||
(SimulationStatus_SimulationState)(0), // 3: state.SimulationStatus.SimulationState
|
(SimulationStatus_SimulationState)(0), // 3: state.SimulationStatus.SimulationState
|
||||||
(SimulationThirdPartyApiService_Type)(0), // 4: state.SimulationThirdPartyApiService.Type
|
(SimulationThirdPartyApiService_Type)(0), // 4: state.SimulationThirdPartyApiService.Type
|
||||||
(SimulationThirdPartyApiService_State)(0), // 5: state.SimulationThirdPartyApiService.State
|
(SimulationThirdPartyApiService_State)(0), // 5: state.SimulationThirdPartyApiService.State
|
||||||
(*LinkState)(nil), // 6: state.LinkState
|
(*LinkState)(nil), // 6: state.LinkState
|
||||||
(*SectionState)(nil), // 7: state.SectionState
|
(*SectionState)(nil), // 7: state.SectionState
|
||||||
(*AxleCountingSectionState)(nil), // 8: state.AxleCountingSectionState
|
(*AxleCountingSectionState)(nil), // 8: state.AxleCountingSectionState
|
||||||
(*SwitchState)(nil), // 9: state.SwitchState
|
(*SwitchState)(nil), // 9: state.SwitchState
|
||||||
(*SignalState)(nil), // 10: state.SignalState
|
(*SignalState)(nil), // 10: state.SignalState
|
||||||
(*Signal)(nil), // 11: state.Signal
|
(*Signal)(nil), // 11: state.Signal
|
||||||
(*PlatformState)(nil), // 12: state.PlatformState
|
(*PlatformState)(nil), // 12: state.PlatformState
|
||||||
(*StationState)(nil), // 13: state.StationState
|
(*StationState)(nil), // 13: state.StationState
|
||||||
(*TrainConnState)(nil), // 14: state.TrainConnState
|
(*TrainConnState)(nil), // 14: state.TrainConnState
|
||||||
(*TrainState)(nil), // 15: state.TrainState
|
(*TrainState)(nil), // 15: state.TrainState
|
||||||
(*TrainBtmCache)(nil), // 16: state.TrainBtmCache
|
(*TrainBtmCache)(nil), // 16: state.TrainBtmCache
|
||||||
(*VobcBtmState)(nil), // 17: state.VobcBtmState
|
(*VobcBtmState)(nil), // 17: state.VobcBtmState
|
||||||
(*SensorSpeedPulseCount)(nil), // 18: state.SensorSpeedPulseCount
|
(*SensorSpeedPulseCount)(nil), // 18: state.SensorSpeedPulseCount
|
||||||
(*TrainDynamicState)(nil), // 19: state.TrainDynamicState
|
(*TrainDynamicState)(nil), // 19: state.TrainDynamicState
|
||||||
(*TrainVobcState)(nil), // 20: state.TrainVobcState
|
(*TrainVobcState)(nil), // 20: state.TrainVobcState
|
||||||
(*TrainMapState)(nil), // 21: state.TrainMapState
|
(*TrainMapState)(nil), // 21: state.TrainMapState
|
||||||
(*BTMState)(nil), // 22: state.BTMState
|
(*BTMState)(nil), // 22: state.BTMState
|
||||||
(*TrainDynamicConfigMqtt)(nil), // 23: state.TrainDynamicConfigMqtt
|
(*TrainDynamicConfigMqtt)(nil), // 23: state.TrainDynamicConfigMqtt
|
||||||
(*TrainEndsStateMqtt)(nil), // 24: state.TrainEndsStateMqtt
|
(*TrainEndsStateMqtt)(nil), // 24: state.TrainEndsStateMqtt
|
||||||
(*ReplyState)(nil), // 25: state.ReplyState
|
(*ReplyState)(nil), // 25: state.ReplyState
|
||||||
(*ButtonState)(nil), // 26: state.ButtonState
|
(*ButtonState)(nil), // 26: state.ButtonState
|
||||||
(*AlarmState)(nil), // 27: state.AlarmState
|
(*AlarmState)(nil), // 27: state.AlarmState
|
||||||
(*LightState)(nil), // 28: state.LightState
|
(*LightState)(nil), // 28: state.LightState
|
||||||
(*PsdState)(nil), // 29: state.PsdState
|
(*PsdState)(nil), // 29: state.PsdState
|
||||||
(*AsdState)(nil), // 30: state.AsdState
|
(*AsdState)(nil), // 30: state.AsdState
|
||||||
(*KeyState)(nil), // 31: state.KeyState
|
(*KeyState)(nil), // 31: state.KeyState
|
||||||
(*MkxJState)(nil), // 32: state.MkxJState
|
(*MkxJState)(nil), // 32: state.MkxJState
|
||||||
(*BaliseState)(nil), // 33: state.BaliseState
|
(*BaliseState)(nil), // 33: state.BaliseState
|
||||||
(*StationQc)(nil), // 34: state.StationQc
|
(*StationQc)(nil), // 34: state.StationQc
|
||||||
(*CkmState)(nil), // 35: state.CkmState
|
(*CkmState)(nil), // 35: state.CkmState
|
||||||
(*XcjState)(nil), // 36: state.XcjState
|
(*XcjState)(nil), // 36: state.XcjState
|
||||||
(*VariationStatus)(nil), // 37: state.VariationStatus
|
(*VariationStatus)(nil), // 37: state.VariationStatus
|
||||||
(*AllDevicesStatus)(nil), // 38: state.AllDevicesStatus
|
(*AllDevicesStatus)(nil), // 38: state.AllDevicesStatus
|
||||||
(*PushedDevicesStatus)(nil), // 39: state.PushedDevicesStatus
|
(*PushedDevicesStatus)(nil), // 39: state.PushedDevicesStatus
|
||||||
(*SimulationStatus)(nil), // 40: state.SimulationStatus
|
(*SimulationStatus)(nil), // 40: state.SimulationStatus
|
||||||
(*SimulationThirdPartyApiService)(nil), // 41: state.SimulationThirdPartyApiService
|
(*SimulationThirdPartyApiService)(nil), // 41: state.SimulationThirdPartyApiService
|
||||||
(*SimulationThirdPartyApiServiceState)(nil), // 42: state.SimulationThirdPartyApiServiceState
|
(*SimulationThirdPartyApiServiceState)(nil), // 42: state.SimulationThirdPartyApiServiceState
|
||||||
(*TrainControlState)(nil), // 43: state.TrainControlState
|
(*TrainControlState)(nil), // 43: state.TrainControlState
|
||||||
(*TrainControlStateMsg)(nil), // 44: state.TrainControlStateMsg
|
(*TrainControlStateMsg)(nil), // 44: state.TrainControlStateMsg
|
||||||
nil, // 45: state.SignalState.RelayStateMapEntry
|
nil, // 45: state.SignalState.RelayStateMapEntry
|
||||||
nil, // 46: state.VobcBtmState.HistoryEntry
|
nil, // 46: state.VobcBtmState.HistoryEntry
|
||||||
(*VobcBtmState_TelegramState)(nil), // 47: state.VobcBtmState.TelegramState
|
(*VobcBtmState_TelegramState)(nil), // 47: state.VobcBtmState.TelegramState
|
||||||
(*VobcBtmState_VobcBtmHistoryState)(nil), // 48: state.VobcBtmState.VobcBtmHistoryState
|
(*VobcBtmState_VobcBtmHistoryState)(nil), // 48: state.VobcBtmState.VobcBtmHistoryState
|
||||||
(*StationQc_State)(nil), // 49: state.StationQc.State
|
(*StationQc_State)(nil), // 49: state.StationQc.State
|
||||||
nil, // 50: state.TrainControlState.ButtonsEntry
|
nil, // 50: state.TrainControlState.ButtonsEntry
|
||||||
nil, // 51: state.TrainControlState.LightMapsEntry
|
nil, // 51: state.TrainControlState.SwitchKeyMapEntry
|
||||||
(*TrainControlState_ControlButton)(nil), // 52: state.TrainControlState.ControlButton
|
nil, // 52: state.TrainControlState.LightMapsEntry
|
||||||
(*TrainControlState_DriverKeySwitch)(nil), // 53: state.TrainControlState.DriverKeySwitch
|
(*TrainControlState_ControlButton)(nil), // 53: state.TrainControlState.ControlButton
|
||||||
(*TrainControlState_DirectionKeySwitch)(nil), // 54: state.TrainControlState.DirectionKeySwitch
|
(*TrainControlState_DriverKeySwitch)(nil), // 54: state.TrainControlState.DriverKeySwitch
|
||||||
(*TrainControlState_PushHandler)(nil), // 55: state.TrainControlState.PushHandler
|
(*TrainControlState_SwitchKeyChange)(nil), // 55: state.TrainControlState.SwitchKeyChange
|
||||||
(*TrainControlState_ControlLight)(nil), // 56: state.TrainControlState.ControlLight
|
(*TrainControlState_PushHandler)(nil), // 56: state.TrainControlState.PushHandler
|
||||||
(*request_proto.PointsParam)(nil), // 57: request.PointsParam
|
(*TrainControlState_ControlLight)(nil), // 57: state.TrainControlState.ControlLight
|
||||||
(*request_proto.SignalParam)(nil), // 58: request.SignalParam
|
(*request_proto.PointsParam)(nil), // 58: request.PointsParam
|
||||||
(*common_proto.TrainDynamicConfig)(nil), // 59: common.TrainDynamicConfig
|
(*request_proto.SignalParam)(nil), // 59: request.SignalParam
|
||||||
(*common_proto.TrainEndsState)(nil), // 60: common.TrainEndsState
|
(*common_proto.TrainDynamicConfig)(nil), // 60: common.TrainDynamicConfig
|
||||||
(*request_proto.PsdParam)(nil), // 61: request.PsdParam
|
(*common_proto.TrainEndsState)(nil), // 61: common.TrainEndsState
|
||||||
(*data_proto.KilometerSystem)(nil), // 62: graphicData.KilometerSystem
|
(*request_proto.PsdParam)(nil), // 62: request.PsdParam
|
||||||
(*request_proto.CkmParam)(nil), // 63: request.CkmParam
|
(*data_proto.KilometerSystem)(nil), // 63: graphicData.KilometerSystem
|
||||||
(*request_proto.XcjParam)(nil), // 64: request.XcjParam
|
(*request_proto.CkmParam)(nil), // 64: request.CkmParam
|
||||||
|
(*request_proto.XcjParam)(nil), // 65: request.XcjParam
|
||||||
}
|
}
|
||||||
var file_device_state_proto_depIdxs = []int32{
|
var file_device_state_proto_depIdxs = []int32{
|
||||||
57, // 0: state.SwitchState.param:type_name -> request.PointsParam
|
58, // 0: state.SwitchState.param:type_name -> request.PointsParam
|
||||||
1, // 1: state.SignalState.aspect:type_name -> state.Signal.Aspect
|
1, // 1: state.SignalState.aspect:type_name -> state.Signal.Aspect
|
||||||
58, // 2: state.SignalState.param:type_name -> request.SignalParam
|
59, // 2: state.SignalState.param:type_name -> request.SignalParam
|
||||||
45, // 3: state.SignalState.relayStateMap:type_name -> state.SignalState.RelayStateMapEntry
|
45, // 3: state.SignalState.relayStateMap:type_name -> state.SignalState.RelayStateMapEntry
|
||||||
25, // 4: state.PlatformState.spksState:type_name -> state.ReplyState
|
25, // 4: state.PlatformState.spksState:type_name -> state.ReplyState
|
||||||
32, // 5: state.PlatformState.mkxJState:type_name -> state.MkxJState
|
32, // 5: state.PlatformState.mkxJState:type_name -> state.MkxJState
|
||||||
2, // 6: state.TrainConnState.connType:type_name -> state.TrainConnState.TrainConnType
|
2, // 6: state.TrainConnState.connType:type_name -> state.TrainConnState.TrainConnType
|
||||||
19, // 7: state.TrainState.dynamicState:type_name -> state.TrainDynamicState
|
19, // 7: state.TrainState.dynamicState:type_name -> state.TrainDynamicState
|
||||||
20, // 8: state.TrainState.vobcState:type_name -> state.TrainVobcState
|
20, // 8: state.TrainState.vobcState:type_name -> state.TrainVobcState
|
||||||
59, // 9: state.TrainState.trainDynamicConfig:type_name -> common.TrainDynamicConfig
|
60, // 9: state.TrainState.trainDynamicConfig:type_name -> common.TrainDynamicConfig
|
||||||
60, // 10: state.TrainState.trainEndsA:type_name -> common.TrainEndsState
|
61, // 10: state.TrainState.trainEndsA:type_name -> common.TrainEndsState
|
||||||
60, // 11: state.TrainState.trainEndsB:type_name -> common.TrainEndsState
|
61, // 11: state.TrainState.trainEndsB:type_name -> common.TrainEndsState
|
||||||
22, // 12: state.TrainState.btmState:type_name -> state.BTMState
|
22, // 12: state.TrainState.btmState:type_name -> state.BTMState
|
||||||
43, // 13: state.TrainState.tcc:type_name -> state.TrainControlState
|
43, // 13: state.TrainState.tcc:type_name -> state.TrainControlState
|
||||||
14, // 14: state.TrainState.connState:type_name -> state.TrainConnState
|
14, // 14: state.TrainState.connState:type_name -> state.TrainConnState
|
||||||
@ -6916,13 +6926,13 @@ var file_device_state_proto_depIdxs = []int32{
|
|||||||
22, // 24: state.TrainMapState.btmState:type_name -> state.BTMState
|
22, // 24: state.TrainMapState.btmState:type_name -> state.BTMState
|
||||||
14, // 25: state.TrainMapState.connState:type_name -> state.TrainConnState
|
14, // 25: state.TrainMapState.connState:type_name -> state.TrainConnState
|
||||||
30, // 26: state.PsdState.asdStates:type_name -> state.AsdState
|
30, // 26: state.PsdState.asdStates:type_name -> state.AsdState
|
||||||
61, // 27: state.PsdState.param:type_name -> request.PsdParam
|
62, // 27: state.PsdState.param:type_name -> request.PsdParam
|
||||||
25, // 28: state.MkxJState.replyState:type_name -> state.ReplyState
|
25, // 28: state.MkxJState.replyState:type_name -> state.ReplyState
|
||||||
62, // 29: state.BaliseState.km:type_name -> graphicData.KilometerSystem
|
63, // 29: state.BaliseState.km:type_name -> graphicData.KilometerSystem
|
||||||
49, // 30: state.StationQc.qdStates:type_name -> state.StationQc.State
|
49, // 30: state.StationQc.qdStates:type_name -> state.StationQc.State
|
||||||
49, // 31: state.StationQc.cjStates:type_name -> state.StationQc.State
|
49, // 31: state.StationQc.cjStates:type_name -> state.StationQc.State
|
||||||
63, // 32: state.CkmState.param:type_name -> request.CkmParam
|
64, // 32: state.CkmState.param:type_name -> request.CkmParam
|
||||||
64, // 33: state.XcjState.param:type_name -> request.XcjParam
|
65, // 33: state.XcjState.param:type_name -> request.XcjParam
|
||||||
21, // 34: state.VariationStatus.updatedTrain:type_name -> state.TrainMapState
|
21, // 34: state.VariationStatus.updatedTrain:type_name -> state.TrainMapState
|
||||||
9, // 35: state.VariationStatus.updatedSwitch:type_name -> state.SwitchState
|
9, // 35: state.VariationStatus.updatedSwitch:type_name -> state.SwitchState
|
||||||
7, // 36: state.VariationStatus.updatedSection:type_name -> state.SectionState
|
7, // 36: state.VariationStatus.updatedSection:type_name -> state.SectionState
|
||||||
@ -6951,23 +6961,24 @@ var file_device_state_proto_depIdxs = []int32{
|
|||||||
4, // 59: state.SimulationThirdPartyApiServiceState.type:type_name -> state.SimulationThirdPartyApiService.Type
|
4, // 59: state.SimulationThirdPartyApiServiceState.type:type_name -> state.SimulationThirdPartyApiService.Type
|
||||||
5, // 60: state.SimulationThirdPartyApiServiceState.state:type_name -> state.SimulationThirdPartyApiService.State
|
5, // 60: state.SimulationThirdPartyApiServiceState.state:type_name -> state.SimulationThirdPartyApiService.State
|
||||||
50, // 61: state.TrainControlState.buttons:type_name -> state.TrainControlState.ButtonsEntry
|
50, // 61: state.TrainControlState.buttons:type_name -> state.TrainControlState.ButtonsEntry
|
||||||
53, // 62: state.TrainControlState.driverKey:type_name -> state.TrainControlState.DriverKeySwitch
|
54, // 62: state.TrainControlState.driverKey:type_name -> state.TrainControlState.DriverKeySwitch
|
||||||
54, // 63: state.TrainControlState.dirKey:type_name -> state.TrainControlState.DirectionKeySwitch
|
51, // 63: state.TrainControlState.switchKeyMap:type_name -> state.TrainControlState.SwitchKeyMapEntry
|
||||||
55, // 64: state.TrainControlState.pushHandler:type_name -> state.TrainControlState.PushHandler
|
56, // 64: state.TrainControlState.pushHandler:type_name -> state.TrainControlState.PushHandler
|
||||||
51, // 65: state.TrainControlState.lightMaps:type_name -> state.TrainControlState.LightMapsEntry
|
52, // 65: state.TrainControlState.lightMaps:type_name -> state.TrainControlState.LightMapsEntry
|
||||||
52, // 66: state.TrainControlStateMsg.buttons:type_name -> state.TrainControlState.ControlButton
|
53, // 66: state.TrainControlStateMsg.buttons:type_name -> state.TrainControlState.ControlButton
|
||||||
53, // 67: state.TrainControlStateMsg.driverKey:type_name -> state.TrainControlState.DriverKeySwitch
|
54, // 67: state.TrainControlStateMsg.driverKey:type_name -> state.TrainControlState.DriverKeySwitch
|
||||||
54, // 68: state.TrainControlStateMsg.dirKey:type_name -> state.TrainControlState.DirectionKeySwitch
|
55, // 68: state.TrainControlStateMsg.switchKeys:type_name -> state.TrainControlState.SwitchKeyChange
|
||||||
55, // 69: state.TrainControlStateMsg.pushHandler:type_name -> state.TrainControlState.PushHandler
|
56, // 69: state.TrainControlStateMsg.pushHandler:type_name -> state.TrainControlState.PushHandler
|
||||||
56, // 70: state.TrainControlStateMsg.lights:type_name -> state.TrainControlState.ControlLight
|
57, // 70: state.TrainControlStateMsg.lights:type_name -> state.TrainControlState.ControlLight
|
||||||
48, // 71: state.VobcBtmState.HistoryEntry.value:type_name -> state.VobcBtmState.VobcBtmHistoryState
|
48, // 71: state.VobcBtmState.HistoryEntry.value:type_name -> state.VobcBtmState.VobcBtmHistoryState
|
||||||
52, // 72: state.TrainControlState.ButtonsEntry.value:type_name -> state.TrainControlState.ControlButton
|
53, // 72: state.TrainControlState.ButtonsEntry.value:type_name -> state.TrainControlState.ControlButton
|
||||||
56, // 73: state.TrainControlState.LightMapsEntry.value:type_name -> state.TrainControlState.ControlLight
|
55, // 73: state.TrainControlState.SwitchKeyMapEntry.value:type_name -> state.TrainControlState.SwitchKeyChange
|
||||||
74, // [74:74] is the sub-list for method output_type
|
57, // 74: state.TrainControlState.LightMapsEntry.value:type_name -> state.TrainControlState.ControlLight
|
||||||
74, // [74:74] is the sub-list for method input_type
|
75, // [75:75] is the sub-list for method output_type
|
||||||
74, // [74:74] is the sub-list for extension type_name
|
75, // [75:75] is the sub-list for method input_type
|
||||||
74, // [74:74] is the sub-list for extension extendee
|
75, // [75:75] is the sub-list for extension type_name
|
||||||
0, // [0:74] is the sub-list for field type_name
|
75, // [75:75] is the sub-list for extension extendee
|
||||||
|
0, // [0:75] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_device_state_proto_init() }
|
func init() { file_device_state_proto_init() }
|
||||||
@ -7480,7 +7491,7 @@ func file_device_state_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_device_state_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
|
file_device_state_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*TrainControlState_ControlButton); i {
|
switch v := v.(*TrainControlState_ControlButton); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -7492,7 +7503,7 @@ func file_device_state_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_device_state_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
|
file_device_state_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*TrainControlState_DriverKeySwitch); i {
|
switch v := v.(*TrainControlState_DriverKeySwitch); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -7504,20 +7515,8 @@ func file_device_state_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_device_state_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*TrainControlState_DirectionKeySwitch); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_device_state_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
|
file_device_state_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*TrainControlState_PushHandler); i {
|
switch v := v.(*TrainControlState_SwitchKeyChange); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -7529,6 +7528,18 @@ func file_device_state_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_device_state_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
|
file_device_state_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*TrainControlState_PushHandler); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_device_state_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*TrainControlState_ControlLight); i {
|
switch v := v.(*TrainControlState_ControlLight); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -7547,7 +7558,7 @@ func file_device_state_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_device_state_proto_rawDesc,
|
RawDescriptor: file_device_state_proto_rawDesc,
|
||||||
NumEnums: 6,
|
NumEnums: 6,
|
||||||
NumMessages: 51,
|
NumMessages: 52,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
@ -70,7 +70,11 @@ func NewTrainControlMs(vs *memory.VerifySimulation, mapId int32) ms_api.MsgTask
|
|||||||
for _, button := range ttcc.Buttons {
|
for _, button := range ttcc.Buttons {
|
||||||
buttons = append(buttons, button)
|
buttons = append(buttons, button)
|
||||||
}
|
}
|
||||||
tcc := &state_proto.TrainControlStateMsg{Buttons: buttons, DriverKey: ttcc.DriverKey, DirKey: ttcc.DirKey, PushHandler: ttcc.PushHandler, Lights: lights}
|
sks := make([]*state_proto.TrainControlState_SwitchKeyChange, 0)
|
||||||
|
for _, sk := range ttcc.SwitchKeyMap {
|
||||||
|
sks = append(sks, sk)
|
||||||
|
}
|
||||||
|
tcc := &state_proto.TrainControlStateMsg{Buttons: buttons, DriverKey: ttcc.DriverKey, SwitchKeys: sks, PushHandler: ttcc.PushHandler, Lights: lights}
|
||||||
err := mqtt.GetMsgClient().PubTrainControlState(vs.SimulationId, trainId, tcc)
|
err := mqtt.GetMsgClient().PubTrainControlState(vs.SimulationId, trainId, tcc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("发送列车控制mqtt失败", err)
|
slog.Error("发送列车控制mqtt失败", err)
|
||||||
|
39
third_party/can_btm/balise_detection.go
vendored
39
third_party/can_btm/balise_detection.go
vendored
@ -32,7 +32,7 @@ type BtmAntennaRunningInfo struct {
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
//BtmAntennaOffsetHead = int64(1000) //车载BTM天线距车头端点的距离,mm
|
//BtmAntennaOffsetHead = int64(1000) //车载BTM天线距车头端点的距离,mm
|
||||||
BtmAntennaOffsetHead = int64(-1000) //车载BTM天线距车头端点的距离,mm
|
BtmAntennaOffsetHead = int64(0) //车载BTM天线距车头端点的距离,mm
|
||||||
)
|
)
|
||||||
|
|
||||||
// TrainHeadPositionInfo 列车车头运行位置信息
|
// TrainHeadPositionInfo 列车车头运行位置信息
|
||||||
@ -86,8 +86,7 @@ func (t *BaliseDetector) newDetect(wd *component.WorldData, repo *repository.Rep
|
|||||||
curAntennaRi2 := t.createBtmAntennaRunningInfo(wd, repo, th2) //上次车头
|
curAntennaRi2 := t.createBtmAntennaRunningInfo(wd, repo, th2) //上次车头
|
||||||
var startBalises []*repository.Transponder
|
var startBalises []*repository.Transponder
|
||||||
|
|
||||||
//startBalises = t.searchBalisesFromBetweenLinkPosition(repo, th.Up, curAntennaRi2.LinkId, th2.LinkOffset, th.LinkOffset)
|
//startBalises = t.searchBalisesFromBetweenLinkPosition(repo, th.Up, curAntennaRi.LinkId, th2.LinkOffset, th.LinkOffset)
|
||||||
|
|
||||||
startBalises = t.searchBalisesFromBetweenLinkPosition(repo, th.Up, curAntennaRi.LinkId, curAntennaRi2.LinkOffset, curAntennaRi.LinkOffset)
|
startBalises = t.searchBalisesFromBetweenLinkPosition(repo, th.Up, curAntennaRi.LinkId, curAntennaRi2.LinkOffset, curAntennaRi.LinkOffset)
|
||||||
|
|
||||||
balises := make([]*repository.Transponder, 0)
|
balises := make([]*repository.Transponder, 0)
|
||||||
@ -106,8 +105,12 @@ func (t *BaliseDetector) newDetect(wd *component.WorldData, repo *repository.Rep
|
|||||||
}
|
}
|
||||||
if len(balises) > 0 {
|
if len(balises) > 0 {
|
||||||
balise := balises[0]
|
balise := balises[0]
|
||||||
|
//slog.Info(fmt.Sprintf("-----------------id:%v ,offset:%v, up: %v,linkeId:%v ,headoffset:%v,tailOffset:%v", balise.Id(), balise.LinkPosition().Offset(), th.Up, curAntennaRi.LinkId, curAntennaRi.LinkOffset, curAntennaRi2.LinkOffset))
|
||||||
telegram, utel := t.rcvTelegram(wd, balise.Id())
|
telegram, utel := t.rcvTelegram(wd, balise.Id())
|
||||||
t.addNewExpectedBalise(balise, btmCache, telegram, utel)
|
if t.addNewExpectedBalise(balise, btmCache, telegram, utel) {
|
||||||
|
|
||||||
|
//slog.Info(fmt.Sprintf("+++++++++++++id:%v ,offset:%v, up: %v,linkeId:%v ,headoffset:%v,tailOffset:%v", balise.Id(), balise.LinkPosition().Offset(), th.Up, curAntennaRi.LinkId, curAntennaRi.LinkOffset, curAntennaRi2.LinkOffset))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -501,6 +504,34 @@ func (t *BaliseDetector) searchBalisesFromLinkPosition(repo *repository.Reposito
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 列车车头端点运行信息转换为车载BTM天线中心点运行信息
|
// 列车车头端点运行信息转换为车载BTM天线中心点运行信息
|
||||||
|
func (t *BaliseDetector) createBtmAntennaRunningInfo2(wd *component.WorldData, isSameLink bool, repo *repository.Repository, head *TrainHeadPositionInfo) *BtmAntennaRunningInfo {
|
||||||
|
headLink := repo.FindLink(head.Link)
|
||||||
|
if head.Up {
|
||||||
|
if isSameLink { //车头与BTM天线在同一个轨道上
|
||||||
|
return &BtmAntennaRunningInfo{Up: head.Up, LinkId: head.Link, LinkOffset: head.LinkOffset + int64(math.Abs(float64(BtmAntennaOffsetHead))), Speed: head.Speed, Acceleration: head.Acceleration}
|
||||||
|
} else { //车头与BTM天线在同一个轨道上
|
||||||
|
nextLinkPort := t.getNextLink(wd, repo, head.Link, !head.Up)
|
||||||
|
nextLink := nextLinkPort.Link()
|
||||||
|
if nextLinkPort.IsPortA() {
|
||||||
|
return &BtmAntennaRunningInfo{Up: false, LinkId: nextLink.Id(), LinkOffset: BtmAntennaOffsetHead - head.LinkOffset, Speed: head.Speed, Acceleration: head.Acceleration}
|
||||||
|
} else {
|
||||||
|
return &BtmAntennaRunningInfo{Up: true, LinkId: nextLink.Id(), LinkOffset: nextLink.Length() - (BtmAntennaOffsetHead - head.LinkOffset), Speed: head.Speed, Acceleration: head.Acceleration}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if isSameLink { //车头与BTM天线在同一个轨道上
|
||||||
|
return &BtmAntennaRunningInfo{Up: head.Up, LinkId: head.Link, LinkOffset: head.LinkOffset + BtmAntennaOffsetHead, Speed: head.Speed, Acceleration: head.Acceleration}
|
||||||
|
} else {
|
||||||
|
nextLinkPort := t.getNextLink(wd, repo, head.Link, !head.Up)
|
||||||
|
nextLink := nextLinkPort.Link()
|
||||||
|
if nextLinkPort.IsPortA() {
|
||||||
|
return &BtmAntennaRunningInfo{Up: false, LinkId: nextLink.Id(), LinkOffset: BtmAntennaOffsetHead - headLink.Length() + head.LinkOffset, Speed: head.Speed, Acceleration: head.Acceleration}
|
||||||
|
} else {
|
||||||
|
return &BtmAntennaRunningInfo{Up: true, LinkId: nextLink.Id(), LinkOffset: nextLink.Length() - (BtmAntennaOffsetHead - headLink.Length() + head.LinkOffset), Speed: head.Speed, Acceleration: head.Acceleration}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
func (t *BaliseDetector) createBtmAntennaRunningInfo(wd *component.WorldData, repo *repository.Repository, head *TrainHeadPositionInfo) *BtmAntennaRunningInfo {
|
func (t *BaliseDetector) createBtmAntennaRunningInfo(wd *component.WorldData, repo *repository.Repository, head *TrainHeadPositionInfo) *BtmAntennaRunningInfo {
|
||||||
headLink := repo.FindLink(head.Link)
|
headLink := repo.FindLink(head.Link)
|
||||||
if head.Up {
|
if head.Up {
|
||||||
|
5
third_party/message/train_pc_sim_message.go
vendored
5
third_party/message/train_pc_sim_message.go
vendored
@ -222,9 +222,9 @@ const (
|
|||||||
DRIVER_ACTIVE_REPORT
|
DRIVER_ACTIVE_REPORT
|
||||||
//制动重故障按钮
|
//制动重故障按钮
|
||||||
BRAKE_HEAVY_FAULT
|
BRAKE_HEAVY_FAULT
|
||||||
//左门状态按钮
|
//左门状态
|
||||||
LEFT_DOOR_STATE
|
LEFT_DOOR_STATE
|
||||||
//右门状态按钮
|
//右门状态
|
||||||
RIGHT_DOOR_STATE
|
RIGHT_DOOR_STATE
|
||||||
//唤醒按钮
|
//唤醒按钮
|
||||||
WAKE_UP
|
WAKE_UP
|
||||||
@ -249,7 +249,6 @@ const (
|
|||||||
ATP_CUT
|
ATP_CUT
|
||||||
//AA自动开关门
|
//AA自动开关门
|
||||||
DOOR_MODE_AA
|
DOOR_MODE_AA
|
||||||
|
|
||||||
//AM自开人关
|
//AM自开人关
|
||||||
DOOR_MODE_AM
|
DOOR_MODE_AM
|
||||||
//MM人开人关
|
//MM人开人关
|
||||||
|
6
third_party/train_pc_sim/train_pc_sim.go
vendored
6
third_party/train_pc_sim/train_pc_sim.go
vendored
@ -383,7 +383,7 @@ func (d *trainPcSimService) sendTrainLocationAndSpeedTask(ctx context.Context) {
|
|||||||
trainClient.updateState(connState)
|
trainClient.updateState(connState)
|
||||||
s1, _ := d.pluseSpeed(train)
|
s1, _ := d.pluseSpeed(train)
|
||||||
runDir := uint16(2)
|
runDir := uint16(2)
|
||||||
if train.Tcc.DirKey.Val == 1 {
|
if train.VobcState.DirectionForward {
|
||||||
runDir = 1
|
runDir = 1
|
||||||
}
|
}
|
||||||
disPluse := pluseCountSpeed(train.WheelDiameter, trainClient.speedPlace.PulseCount1)
|
disPluse := pluseCountSpeed(train.WheelDiameter, trainClient.speedPlace.PulseCount1)
|
||||||
@ -540,7 +540,9 @@ func (d *trainPcSimService) SendTrainControlMsg(train *state_proto.TrainState, b
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, msg := range baseMessage {
|
for _, msg := range baseMessage {
|
||||||
d.sendData(trainClient.tcpClient, msg.Encode())
|
dd := msg.Encode()
|
||||||
|
//slog.Info(fmt.Sprintf("发送列车控制信息:%x", dd))
|
||||||
|
d.sendData(trainClient.tcpClient, dd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (d *trainPcSimService) sendData(client *tcp.TcpClient, data []byte) {
|
func (d *trainPcSimService) sendData(client *tcp.TcpClient, data []byte) {
|
||||||
|
@ -2,6 +2,7 @@ package memory
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"joylink.club/bj-rtsts-server/dto/data_proto"
|
"joylink.club/bj-rtsts-server/dto/data_proto"
|
||||||
|
"joylink.club/bj-rtsts-server/dto/request_proto"
|
||||||
"joylink.club/bj-rtsts-server/dto/state_proto"
|
"joylink.club/bj-rtsts-server/dto/state_proto"
|
||||||
"joylink.club/bj-rtsts-server/third_party/message"
|
"joylink.club/bj-rtsts-server/third_party/message"
|
||||||
)
|
)
|
||||||
@ -100,16 +101,13 @@ func findTrainTccGraphicDataHandler(tccG *data_proto.TccGraphicStorage, id uint3
|
|||||||
|
|
||||||
func initTrainVobc(trainLoad int64, trainIsUp bool) (*state_proto.TrainVobcState, uint32) {
|
func initTrainVobc(trainLoad int64, trainIsUp bool) (*state_proto.TrainVobcState, uint32) {
|
||||||
vobc := &state_proto.TrainVobcState{TrainLoad: int64(trainLoad), BrakingStatus: true, BrakeForce: DEFAULT_BRAKE_FORCE * 100, DirectionForward: true,
|
vobc := &state_proto.TrainVobcState{TrainLoad: int64(trainLoad), BrakingStatus: true, BrakeForce: DEFAULT_BRAKE_FORCE * 100, DirectionForward: true,
|
||||||
AllDoorClose: true, ObstacleCheckBtn: true, RightDoorCloseCommand: true, LeftDoorCloseCommand: true, BrakeHeavyFault: true, AtpCutSwitch: true,
|
AllDoorClose: true, ObstacleCheckBtn: true /*RightDoorCloseCommand: true, LeftDoorCloseCommand: true,*/, BrakeHeavyFault: true, AtpCutSwitch: true,
|
||||||
ConfirmBtn: true, AtpPowerOnBtn: true,
|
ConfirmBtn: true, AtpPowerOnBtn: true, DoorModeMM: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
var trainActDir uint32 = 0
|
var trainActDir uint32 = 0
|
||||||
if trainIsUp {
|
if trainIsUp {
|
||||||
//vobc.Tc1Active = true
|
|
||||||
trainActDir = 1
|
trainActDir = 1
|
||||||
} else {
|
} else {
|
||||||
//vobc.Tc2Active = true
|
|
||||||
trainActDir = 2
|
trainActDir = 2
|
||||||
}
|
}
|
||||||
return vobc, trainActDir
|
return vobc, trainActDir
|
||||||
@ -136,7 +134,7 @@ func initTrainTcc(vs *VerifySimulation) *state_proto.TrainControlState {
|
|||||||
for _, b := range tccGI.TccButtons {
|
for _, b := range tccGI.TccButtons {
|
||||||
btn := &state_proto.TrainControlState_ControlButton{Id: b.Common.Id, Passed: false}
|
btn := &state_proto.TrainControlState_ControlButton{Id: b.Common.Id, Passed: false}
|
||||||
switch b.Code {
|
switch b.Code {
|
||||||
case ATPQCKG, GZM, GYM, ZAWTGJC, ZDZGZ, ATPSD, MSQR:
|
case ATPQCKG /*GZM, GYM,*/, ZAWTGJC, ZDZGZ, ATPSD, MSQR:
|
||||||
btn.Passed = true
|
btn.Passed = true
|
||||||
}
|
}
|
||||||
btns[b.Code] = btn
|
btns[b.Code] = btn
|
||||||
@ -149,6 +147,7 @@ func initTrainTcc(vs *VerifySimulation) *state_proto.TrainControlState {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ds := make([]*state_proto.TrainControlState_DriverKeySwitch, 0)
|
ds := make([]*state_proto.TrainControlState_DriverKeySwitch, 0)
|
||||||
|
tcc.SwitchKeyMap = make(map[string]*state_proto.TrainControlState_SwitchKeyChange, 0)
|
||||||
for _, b := range tccGI.TccKeys {
|
for _, b := range tccGI.TccKeys {
|
||||||
if b.GetType() == data_proto.TccKey_driverControllerActivationClint {
|
if b.GetType() == data_proto.TccKey_driverControllerActivationClint {
|
||||||
val := false
|
val := false
|
||||||
@ -159,7 +158,10 @@ func initTrainTcc(vs *VerifySimulation) *state_proto.TrainControlState {
|
|||||||
}*/
|
}*/
|
||||||
ds = append(ds, &state_proto.TrainControlState_DriverKeySwitch{Id: b.Common.Id, Val: val})
|
ds = append(ds, &state_proto.TrainControlState_DriverKeySwitch{Id: b.Common.Id, Val: val})
|
||||||
} else if b.GetType() == data_proto.TccKey_frontAndRearDirectionalControl {
|
} else if b.GetType() == data_proto.TccKey_frontAndRearDirectionalControl {
|
||||||
tcc.DirKey = &state_proto.TrainControlState_DirectionKeySwitch{Id: b.Common.Id, Val: uint32(message.IsTrue(true))}
|
tcc.SwitchKeyMap[b.Code] = &state_proto.TrainControlState_SwitchKeyChange{Id: b.Common.Id, Val: uint32(message.IsTrue(true))}
|
||||||
|
|
||||||
|
} else if b.GetType() == data_proto.TccKey_trainDoorMode {
|
||||||
|
tcc.SwitchKeyMap[b.Code] = &state_proto.TrainControlState_SwitchKeyChange{Id: b.Common.Id, Val: uint32(request_proto.TrainControl_KL_END.Number())}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tcc.DriverKey = ds
|
tcc.DriverKey = ds
|
||||||
|
@ -73,8 +73,6 @@ func AddTrainStateNew(vs *VerifySimulation, status *state_proto.TrainState, conf
|
|||||||
linkId, loffset := QueryLinkAndOffsetByDevice(vs.Repo, uid, status.DevicePort, status.HeadOffset)
|
linkId, loffset := QueryLinkAndOffsetByDevice(vs.Repo, uid, status.DevicePort, status.HeadOffset)
|
||||||
// link上的运行方向、设备上的运行方向
|
// link上的运行方向、设备上的运行方向
|
||||||
up, pointTo := QueryUpAndABByDevice(vs.Repo, uid, status.DevicePort, status.TrainRunUp)
|
up, pointTo := QueryUpAndABByDevice(vs.Repo, uid, status.DevicePort, status.TrainRunUp)
|
||||||
//up, pointTo, _ = QueryDirectionAndABByDevice(vs.Repo, uid, status.DevicePort, status.TrainRunUp)
|
|
||||||
//fmt.Println(up2, pointTo2)
|
|
||||||
|
|
||||||
// 车头所在公里标
|
// 车头所在公里标
|
||||||
kilometer := CalcTrainKilometer(vs.Repo, uid, status.DevicePort, status.TrainRunUp, status.HeadOffset)
|
kilometer := CalcTrainKilometer(vs.Repo, uid, status.DevicePort, status.TrainRunUp, status.HeadOffset)
|
||||||
@ -111,19 +109,16 @@ func AddTrainStateNew(vs *VerifySimulation, status *state_proto.TrainState, conf
|
|||||||
vobc, _ := initTrainVobc(int64(tl), status.TrainRunUp)
|
vobc, _ := initTrainVobc(int64(tl), status.TrainRunUp)
|
||||||
status.VobcState = vobc
|
status.VobcState = vobc
|
||||||
|
|
||||||
//status.TrainActiveDirection = trainActDir
|
|
||||||
|
|
||||||
status.Tcc = initTrainTcc(vs)
|
status.Tcc = initTrainTcc(vs)
|
||||||
status.VobcBtm = &state_proto.VobcBtmState{TelegramState: make([]*state_proto.VobcBtmState_TelegramState, 3), History: make(map[uint32]*state_proto.VobcBtmState_VobcBtmHistoryState)}
|
status.VobcBtm = &state_proto.VobcBtmState{TelegramState: make([]*state_proto.VobcBtmState_TelegramState, 3), History: make(map[uint32]*state_proto.VobcBtmState_VobcBtmHistoryState)}
|
||||||
//slog.Debug("列车初始化", "trainIndex", trainIndex, "linkId", linkId, "loffset", loffset)
|
//slog.Debug("列车初始化", "trainIndex", trainIndex, "linkId", linkId, "loffset", loffset)
|
||||||
linkIdInt, _ := strconv.Atoi(linkId)
|
linkIdInt, _ := strconv.Atoi(linkId)
|
||||||
err := dynamics.Default().RequestAddTrain(&message.InitTrainInfo{
|
err := dynamics.Default().RequestAddTrain(&message.InitTrainInfo{
|
||||||
TrainIndex: uint16(trainIndex),
|
TrainIndex: uint16(trainIndex),
|
||||||
LinkIndex: uint16(linkIdInt),
|
LinkIndex: uint16(linkIdInt),
|
||||||
LinkOffset: uint32(loffset),
|
LinkOffset: uint32(loffset),
|
||||||
Speed: status.Speed / 3.6,
|
Speed: status.Speed / 3.6,
|
||||||
Up: status.Up,
|
Up: status.Up,
|
||||||
//Up: status.TrainRunUp,
|
|
||||||
TrainOperationConfig: CreateMsgTrainConfig(int(trainIndex), status.TrainLength, configTrainData),
|
TrainOperationConfig: CreateMsgTrainConfig(int(trainIndex), status.TrainLength, configTrainData),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -45,7 +45,7 @@ func ControlTrainUpdate(s *VerifySimulation, ct *request_proto.TrainControl) {
|
|||||||
baseMsg = trainControlDriverKey(sta, ct.DriverKey, ct.DeviceId, tccGraphicData)
|
baseMsg = trainControlDriverKey(sta, ct.DriverKey, ct.DeviceId, tccGraphicData)
|
||||||
train_pc_sim.Default().SendDriverActive(sta)
|
train_pc_sim.Default().SendDriverActive(sta)
|
||||||
} else if ct.ControlType == request_proto.TrainControl_DIRECTION_KEY_SWITCH {
|
} else if ct.ControlType == request_proto.TrainControl_DIRECTION_KEY_SWITCH {
|
||||||
baseMsg = trainControlDirKey(sta.DynamicState.Speed, vobc, tcc, ct.DirKey, ct.DeviceId, tccGraphicData)
|
baseMsg = trainControlDirKey(sta.DynamicState.Speed, vobc, tcc, ct.SwitchKey, ct.DeviceId, tccGraphicData)
|
||||||
//此处先注释,根据现场调试情况 2024-4-16
|
//此处先注释,根据现场调试情况 2024-4-16
|
||||||
train_pc_sim.Default().SendTrainDirection(sta, sta.VobcState.DirectionForward, sta.VobcState.DirectionBackward)
|
train_pc_sim.Default().SendTrainDirection(sta, sta.VobcState.DirectionForward, sta.VobcState.DirectionBackward)
|
||||||
} else if ct.ControlType == request_proto.TrainControl_HANDLER {
|
} else if ct.ControlType == request_proto.TrainControl_HANDLER {
|
||||||
@ -60,12 +60,28 @@ func ControlTrainUpdate(s *VerifySimulation, ct *request_proto.TrainControl) {
|
|||||||
isTraction := ct.Handler.Val > 0 //是否制动
|
isTraction := ct.Handler.Val > 0 //是否制动
|
||||||
baseMsg = trainControlHandle(vobc, tcc, ct.Handler, ct.DeviceId, tccGraphicData)
|
baseMsg = trainControlHandle(vobc, tcc, ct.Handler, ct.DeviceId, tccGraphicData)
|
||||||
train_pc_sim.Default().SendHandleSwitch(oldTraction, oldBrakeForce, isTraction, sta)
|
train_pc_sim.Default().SendHandleSwitch(oldTraction, oldBrakeForce, isTraction, sta)
|
||||||
|
} else if ct.ControlType == request_proto.TrainControl_TRAIN_DOOR_MODE_CHANGE {
|
||||||
|
baseMsg = trainDoorModeChangeHandle(vobc, tcc, ct.SwitchKey, ct.DeviceId, tccGraphicData)
|
||||||
}
|
}
|
||||||
if vobc.DirectionForward && vobc.TractionForce == 0 {
|
if vobc.DirectionForward && vobc.TractionForce == 0 {
|
||||||
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DIR_ZERO_FORWARD, 1}})
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DIR_ZERO_FORWARD, 1}})
|
||||||
} else {
|
} else {
|
||||||
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DIR_ZERO_FORWARD, 0}})
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DIR_ZERO_FORWARD, 0}})
|
||||||
}
|
}
|
||||||
|
if vobc.LeftDoorOpenCommand || vobc.RightDoorOpenCommand {
|
||||||
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_LOCK_STATE, 0}})
|
||||||
|
if vobc.LeftDoorOpenCommand {
|
||||||
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.LEFT_DOOR_STATE, 1}})
|
||||||
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.RIGHT_DOOR_STATE, 0}})
|
||||||
|
} else if vobc.RightDoorOpenCommand {
|
||||||
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.LEFT_DOOR_STATE, 0}})
|
||||||
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.RIGHT_DOOR_STATE, 1}})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if vobc.LeftDoorCloseCommand && vobc.RightDoorCloseCommand {
|
||||||
|
baseMsg = append(baseMsg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_LOCK_STATE, 1}})
|
||||||
|
}
|
||||||
|
|
||||||
if !vobc.DirectionForward && !vobc.DirectionBackward {
|
if !vobc.DirectionForward && !vobc.DirectionBackward {
|
||||||
vobc.TractionStatus = false
|
vobc.TractionStatus = false
|
||||||
vobc.TractionForce = 0
|
vobc.TractionForce = 0
|
||||||
@ -92,16 +108,16 @@ func trainControlButton(vobc *state_proto.TrainVobcState, buttonMap map[string]*
|
|||||||
return controlEBBtn(vobc, active, btn)
|
return controlEBBtn(vobc, active, btn)
|
||||||
case ATPQCKG: //atp切除
|
case ATPQCKG: //atp切除
|
||||||
return controlAtpBtn(vobc, active, btn)
|
return controlAtpBtn(vobc, active, btn)
|
||||||
/* case "WBJJZDFK": //外部紧急制动反馈
|
case KZM, KYM: //开左门按钮
|
||||||
return controlOutEbReportBtn(vobc, active, btn)*/
|
return controlDoorOpenBtn(vobc, active, btn, graphicBtn.Code == KZM)
|
||||||
case KZM: //开左门按钮
|
|
||||||
return controlLeftDoorBtn(vobc, active, btn)
|
case GZM, GYM: //关左门按钮
|
||||||
case GZM: //关左门按钮
|
return controlDoorCloseBtn(vobc, active, btn, graphicBtn.Code == KZM)
|
||||||
return controlLeftDoorCloseBtn(vobc, active, btn)
|
//return controlLeftDoorCloseBtn(vobc, active, btn)
|
||||||
case KYM: //开右门按钮
|
//case KYM: //开右门按钮
|
||||||
return controlRightDoorBtn(vobc, active, btn)
|
// return controlRightDoorBtn(vobc, active, btn)
|
||||||
case GYM: //关右门按钮
|
//case GYM: //关右门按钮
|
||||||
return controlRightDoorCloseBtn(vobc, active, btn)
|
// return controlRightDoorCloseBtn(vobc, active, btn)
|
||||||
case ZF: //折返按钮
|
case ZF: //折返按钮
|
||||||
return controlReverseBtn(vobc, active, btn)
|
return controlReverseBtn(vobc, active, btn)
|
||||||
case QZMYX: //强制门允许
|
case QZMYX: //强制门允许
|
||||||
@ -158,6 +174,45 @@ func controlAtpBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *state_
|
|||||||
tccBtn.Passed = active
|
tccBtn.Passed = active
|
||||||
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.ATP_CUT, status}}}
|
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.ATP_CUT, status}}}
|
||||||
}
|
}
|
||||||
|
func controlDoorCloseBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *state_proto.TrainControlState_ControlButton, isLeft bool) []message.TrainPcSimBaseMessage {
|
||||||
|
status := message.IsTrue(active)
|
||||||
|
tccBtn.Passed = active
|
||||||
|
var doorAct byte = message.CLOSE_LEFT_DOOR
|
||||||
|
var doorState byte = message.LEFT_DOOR_STATE
|
||||||
|
if isLeft {
|
||||||
|
vobc.LeftDoorCloseCommand = active
|
||||||
|
} else {
|
||||||
|
vobc.RightDoorCloseCommand = active
|
||||||
|
doorAct = message.CLOSE_RIGHT_DOOR
|
||||||
|
doorState = message.RIGHT_DOOR_STATE
|
||||||
|
}
|
||||||
|
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{doorAct, status}},
|
||||||
|
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{doorState, 0}},
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开车门
|
||||||
|
func controlDoorOpenBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *state_proto.TrainControlState_ControlButton, isLeft bool) []message.TrainPcSimBaseMessage {
|
||||||
|
status := message.IsTrue(active)
|
||||||
|
msg := make([]message.TrainPcSimBaseMessage, 0)
|
||||||
|
tccBtn.Passed = active
|
||||||
|
var doorAct byte = message.LEFT_OPEN_DOOR
|
||||||
|
var doorState byte = message.LEFT_DOOR_STATE
|
||||||
|
if isLeft {
|
||||||
|
vobc.LeftDoorOpenCommand = active
|
||||||
|
} else {
|
||||||
|
vobc.RightDoorOpenCommand = active
|
||||||
|
doorAct = message.OPEN_RIGHT_DOOR
|
||||||
|
doorState = message.RIGHT_DOOR_STATE
|
||||||
|
}
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{doorAct, status}})
|
||||||
|
if active {
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_LOCK_STATE, 0}})
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{doorState, status}})
|
||||||
|
}
|
||||||
|
return msg
|
||||||
|
}
|
||||||
|
|
||||||
// 开左门按钮
|
// 开左门按钮
|
||||||
func controlLeftDoorBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *state_proto.TrainControlState_ControlButton) []message.TrainPcSimBaseMessage {
|
func controlLeftDoorBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *state_proto.TrainControlState_ControlButton) []message.TrainPcSimBaseMessage {
|
||||||
@ -167,7 +222,9 @@ func controlLeftDoorBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *s
|
|||||||
}
|
}
|
||||||
vobc.LeftDoorOpenCommand = active
|
vobc.LeftDoorOpenCommand = active
|
||||||
tccBtn.Passed = active
|
tccBtn.Passed = active
|
||||||
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.LEFT_OPEN_DOOR, status}}}
|
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.LEFT_OPEN_DOOR, status}},
|
||||||
|
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.LEFT_DOOR_STATE, status}},
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,27 +391,25 @@ func controlSleepBtn(vobc *state_proto.TrainVobcState, active bool, tccBtn *stat
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 列车方向
|
// 列车方向
|
||||||
func trainControlDirKey(trainSpeed int32, vobc *state_proto.TrainVobcState, tcc *state_proto.TrainControlState, request *request_proto.TrainControl_DirectionKeySwitch, deviceId uint32, tccGraphic *data_proto.TccGraphicStorage) []message.TrainPcSimBaseMessage {
|
func trainControlDirKey(trainSpeed int32, vobc *state_proto.TrainVobcState, tcc *state_proto.TrainControlState, request *request_proto.TrainControl_SwitchKeyChange, deviceId uint32, tccGraphic *data_proto.TccGraphicStorage) []message.TrainPcSimBaseMessage {
|
||||||
_, find := findTrainTccGraphicDataKey(tccGraphic, deviceId)
|
dirKey, find := findTrainTccGraphicDataKey(tccGraphic, deviceId)
|
||||||
if !find {
|
if !find {
|
||||||
slog.Error("未找到对应的列车方向键deviceId:", deviceId)
|
slog.Error("未找到对应的列车方向键deviceId:", deviceId)
|
||||||
panic(sys_error.New("未找到对应的列车方向键"))
|
panic(sys_error.New("未找到对应的列车方向键"))
|
||||||
}
|
}
|
||||||
if tcc.DirKey == nil {
|
|
||||||
tcc.DirKey = &state_proto.TrainControlState_DirectionKeySwitch{Id: deviceId}
|
direction := request_proto.TrainControl_KeyLocation(request.Val)
|
||||||
}
|
|
||||||
direction := request_proto.TrainControl_Direction(request.Val)
|
|
||||||
if trainSpeed > 0 {
|
if trainSpeed > 0 {
|
||||||
panic(sys_error.New("列车未停稳时,不能变更方向"))
|
panic(sys_error.New("列车未停稳时,不能变更方向"))
|
||||||
}
|
}
|
||||||
vobc.DirectionBackward = false
|
vobc.DirectionBackward = false
|
||||||
vobc.DirectionForward = false
|
vobc.DirectionForward = false
|
||||||
if direction == request_proto.TrainControl_FORWARD {
|
if direction == request_proto.TrainControl_KL_FONT {
|
||||||
vobc.DirectionForward = true
|
vobc.DirectionForward = true
|
||||||
} else if direction == request_proto.TrainControl_BACKWARD {
|
} else if direction == request_proto.TrainControl_KL_END {
|
||||||
vobc.DirectionBackward = true
|
vobc.DirectionBackward = true
|
||||||
}
|
}
|
||||||
tcc.DirKey.Val = request.Val
|
tcc.SwitchKeyMap[dirKey.Code].Val = request.Val
|
||||||
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.HANDLE_BACKWORD, message.IsTrue(vobc.DirectionBackward)}},
|
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.HANDLE_BACKWORD, message.IsTrue(vobc.DirectionBackward)}},
|
||||||
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.HANDLE_FORWORD, message.IsTrue(vobc.DirectionForward)}}}
|
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.HANDLE_FORWORD, message.IsTrue(vobc.DirectionForward)}}}
|
||||||
}
|
}
|
||||||
@ -399,6 +454,31 @@ func trainControlDriverKey(train *state_proto.TrainState, request *request_proto
|
|||||||
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.KEY_STATE, message.IsTrue(request.Val)}}}
|
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.KEY_STATE, message.IsTrue(request.Val)}}}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
func trainDoorModeChangeHandle(vobc *state_proto.TrainVobcState, tcc *state_proto.TrainControlState, request *request_proto.TrainControl_SwitchKeyChange, deviceId uint32, tccGraphic *data_proto.TccGraphicStorage) []message.TrainPcSimBaseMessage {
|
||||||
|
sk, find := findTrainTccGraphicDataHandler(tccGraphic, deviceId)
|
||||||
|
if !find {
|
||||||
|
slog.Error("未找到对应的牵引制动手柄设备deviceId:", deviceId)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
msg := make([]message.TrainPcSimBaseMessage, 0)
|
||||||
|
kl := request_proto.TrainControl_KeyLocation(request.Val)
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_MODE_AA, 0}})
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_MODE_AM, 0}})
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_MODE_MM, 0}})
|
||||||
|
switch kl {
|
||||||
|
case request_proto.TrainControl_KL_END:
|
||||||
|
vobc.DoorModeMM = true
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_MODE_AA, 1}})
|
||||||
|
case request_proto.TrainControl_KL_CENTER:
|
||||||
|
vobc.DoorModeAM = true
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_MODE_AM, 1}})
|
||||||
|
case request_proto.TrainControl_KL_FONT:
|
||||||
|
msg = append(msg, message.TrainPcSimBaseMessage{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.DOOR_MODE_MM, 1}})
|
||||||
|
vobc.DoorModeAA = true
|
||||||
|
}
|
||||||
|
tcc.SwitchKeyMap[sk.Code].Val = request.Val
|
||||||
|
return msg
|
||||||
|
}
|
||||||
|
|
||||||
// 列车牵引控制
|
// 列车牵引控制
|
||||||
func trainControlHandle(vobc *state_proto.TrainVobcState, tcc *state_proto.TrainControlState, request *request_proto.TrainControl_PushHandler, deviceId uint32, tccGraphic *data_proto.TccGraphicStorage) []message.TrainPcSimBaseMessage {
|
func trainControlHandle(vobc *state_proto.TrainVobcState, tcc *state_proto.TrainControlState, request *request_proto.TrainControl_PushHandler, deviceId uint32, tccGraphic *data_proto.TccGraphicStorage) []message.TrainPcSimBaseMessage {
|
||||||
@ -422,16 +502,19 @@ func trainControlHandle(vobc *state_proto.TrainVobcState, tcc *state_proto.Train
|
|||||||
notBreak := byte(0)
|
notBreak := byte(0)
|
||||||
var zeroState byte = 0
|
var zeroState byte = 0
|
||||||
var brakeState byte = 0
|
var brakeState byte = 0
|
||||||
|
var traction byte = 0
|
||||||
if request.Val > 0 {
|
if request.Val > 0 {
|
||||||
vobc.TractionStatus = true
|
vobc.TractionStatus = true
|
||||||
vobc.TractionForce = int64(float32(request.Val)/100*DEFAULT_TRAIN_TRACTION) * 100
|
vobc.TractionForce = int64(float32(request.Val)/100*DEFAULT_TRAIN_TRACTION) * 100
|
||||||
notBreak = 1
|
notBreak = 1
|
||||||
|
traction = 1
|
||||||
} else if request.Val < 0 {
|
} else if request.Val < 0 {
|
||||||
vobc.BrakingStatus = true
|
vobc.BrakingStatus = true
|
||||||
vobc.BrakeForce = int64(math.Abs(float64(request.Val))/100*DEFAULT_BRAKE_FORCE) * 100
|
vobc.BrakeForce = int64(math.Abs(float64(request.Val))/100*DEFAULT_BRAKE_FORCE) * 100
|
||||||
vobc.EmergencyBrakingStatus = false
|
vobc.EmergencyBrakingStatus = false
|
||||||
jjzdBtn.Passed = false
|
jjzdBtn.Passed = false
|
||||||
brakeState = 0
|
brakeState = 1
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
zeroState = 1
|
zeroState = 1
|
||||||
}
|
}
|
||||||
@ -443,7 +526,8 @@ func trainControlHandle(vobc *state_proto.TrainVobcState, tcc *state_proto.Train
|
|||||||
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.HANDLE_TO_ZERO, zeroState}},
|
return []message.TrainPcSimBaseMessage{{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.HANDLE_TO_ZERO, zeroState}},
|
||||||
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.TRAIN_BRAKE_STATE, brakeState}},
|
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.TRAIN_BRAKE_STATE, brakeState}},
|
||||||
/*{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.OUTER_EMERGENCY_BRAKE, 1}},*/
|
/*{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.OUTER_EMERGENCY_BRAKE, 1}},*/
|
||||||
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.NOT_BREAK, notBreak}}}
|
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{message.NOT_BREAK, notBreak}},
|
||||||
|
{Type: message.SENDER_TRAIN_OUTR_INFO, Data: []byte{38, traction}}}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *VerifySimulation) GetConnTrain2() []*state_proto.TrainState {
|
func (s *VerifySimulation) GetConnTrain2() []*state_proto.TrainState {
|
||||||
@ -715,6 +799,7 @@ func (s *VerifySimulation) TrainBtmQuery2(train *state_proto.TrainState, data []
|
|||||||
} else {
|
} else {
|
||||||
balise, dsn, bc, mc = can_btm.Default().FindBaliseByNotSend(train)
|
balise, dsn, bc, mc = can_btm.Default().FindBaliseByNotSend(train)
|
||||||
}
|
}
|
||||||
|
balise, dsn, bc, mc = can_btm.Default().FindBaliseByNotSend(train)
|
||||||
cl := clock(atpReq)
|
cl := clock(atpReq)
|
||||||
btmRepFrame := createBtmStatus(trainAtm.CanId.ID4, balise, atpReq, cl, dsn, bc, mc)
|
btmRepFrame := createBtmStatus(trainAtm.CanId.ID4, balise, atpReq, cl, dsn, bc, mc)
|
||||||
timeSyncF := message.NewBtmTimeSyncCheckFrame(trainAtm.CanId.ID4)
|
timeSyncF := message.NewBtmTimeSyncCheckFrame(trainAtm.CanId.ID4)
|
||||||
@ -725,14 +810,15 @@ func (s *VerifySimulation) TrainBtmQuery2(train *state_proto.TrainState, data []
|
|||||||
queryData = append(queryData, btmRepFrame.EncodeBtmAtp().Encode()...)
|
queryData = append(queryData, btmRepFrame.EncodeBtmAtp().Encode()...)
|
||||||
queryData = append(queryData, timeSyncF.EncodeBtmAtp().Encode()...)
|
queryData = append(queryData, timeSyncF.EncodeBtmAtp().Encode()...)
|
||||||
train_pc_sim.Default().SendBaliseData(train, message.RECIVE_TRAIN_BTM_NOT_DATA, queryData)
|
train_pc_sim.Default().SendBaliseData(train, message.RECIVE_TRAIN_BTM_NOT_DATA, queryData)
|
||||||
|
//slog.Info(fmt.Sprintf("接受应答器查询:%x发送无应答器数据,id:%v,数据:%X", data, trainAtm.CanId.ID4, queryData))
|
||||||
} else {
|
} else {
|
||||||
logstr := ""
|
logstr := ""
|
||||||
if atpReq.IsResend() {
|
if atpReq.IsResend() {
|
||||||
logstr = fmt.Sprintf("准备重新发送应答id:%v,接受时间:%v,发送时间:%v , 数据:%v 经过:%v,解报文:%v", balise.BaliseId, ts, time.Now().UnixMilli(), balise.Telegram, bc, mc)
|
logstr = fmt.Sprintf("准备重新发送应答id:%v,接受时间:%v,发送时间:%v , 数据:%v 经过:%v,解报文:%v,接受应答器报文:%X", balise.BaliseId, ts, time.Now().UnixMilli(), balise.Telegram, bc, mc, data)
|
||||||
|
|
||||||
} else if !balise.IsSend {
|
} else if !balise.IsSend {
|
||||||
balise.IsSend = true
|
balise.IsSend = true
|
||||||
logstr = fmt.Sprintf("准备发送应答id:%v,接受时间:%v,发送时间:%v , 数据:%v 经过:%v,解报文:%v", balise.BaliseId, ts, time.Now().UnixMilli(), balise.Telegram, bc, mc)
|
logstr = fmt.Sprintf("准备发送应答id:%v,接受时间:%v,发送时间:%v , 数据:%v 经过:%v,解报文:%v,接受应答器报文:%X", balise.BaliseId, ts, time.Now().UnixMilli(), balise.Telegram, bc, mc, data)
|
||||||
} else {
|
} else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -782,7 +868,6 @@ func clock(atpReq *message.AtpRequestFrame) can_btm.BtmClock {
|
|||||||
func (s *VerifySimulation) ObtainTrainDigitalMockDataForStatus(train *state_proto.TrainState) []message.TrainPcSimBaseMessage {
|
func (s *VerifySimulation) ObtainTrainDigitalMockDataForStatus(train *state_proto.TrainState) []message.TrainPcSimBaseMessage {
|
||||||
msgArr := make([]message.TrainPcSimBaseMessage, 0)
|
msgArr := make([]message.TrainPcSimBaseMessage, 0)
|
||||||
vs := train.VobcState
|
vs := train.VobcState
|
||||||
tcc := train.Tcc
|
|
||||||
|
|
||||||
if vs.Tc1Active || vs.Tc2Active {
|
if vs.Tc1Active || vs.Tc2Active {
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.KEY_STATE, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //钥匙激活
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.KEY_STATE, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //钥匙激活
|
||||||
@ -801,24 +886,20 @@ func (s *VerifySimulation) ObtainTrainDigitalMockDataForStatus(train *state_prot
|
|||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.OUTER_EMERGENCY_BRAKE, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //紧急制动
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.OUTER_EMERGENCY_BRAKE, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //紧急制动
|
||||||
}
|
}
|
||||||
|
|
||||||
dir := request_proto.TrainControl_Direction(tcc.DirKey.Val)
|
if vs.DirectionForward {
|
||||||
/*if vs.DirectionForward && vs.TractionForce == 0 {
|
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DIR_ZERO_FORWARD, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //手柄零位方向向前
|
|
||||||
} else*/if dir == request_proto.TrainControl_FORWARD {
|
|
||||||
//msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DIR_ZERO_FORWARD, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //手柄零位方向向前
|
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_FORWORD, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_FORWORD, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_BACKWORD, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_BACKWORD, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
||||||
} else if dir == request_proto.TrainControl_BACKWARD {
|
} else if vs.DirectionForward {
|
||||||
//msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DIR_ZERO_FORWARD, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //手柄零位方向向前
|
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_FORWORD, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_FORWORD, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_BACKWORD, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.HANDLE_BACKWORD, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //方向手柄向前控制
|
||||||
}
|
}
|
||||||
if vs.RightDoorCloseCommand {
|
/*if vs.RightDoorCloseCommand {
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.CLOSE_RIGHT_DOOR, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //关右门按钮
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.CLOSE_RIGHT_DOOR, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //关右门按钮
|
||||||
}
|
}
|
||||||
if vs.LeftDoorCloseCommand {
|
if vs.LeftDoorCloseCommand {
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.CLOSE_LEFT_DOOR, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //关左门按钮
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.CLOSE_LEFT_DOOR, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //关左门按钮
|
||||||
}
|
}*/
|
||||||
if vs.AllDoorClose {
|
if vs.AllDoorClose {
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DOOR_LOCK_STATE, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //车门锁闭状态
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DOOR_LOCK_STATE, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //车门锁闭状态
|
||||||
}
|
}
|
||||||
@ -840,6 +921,14 @@ func (s *VerifySimulation) ObtainTrainDigitalMockDataForStatus(train *state_prot
|
|||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.LIFE_DOOR, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //逃生门状态
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.LIFE_DOOR, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //逃生门状态
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.EMERGENT_HANDLE_DOWN, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //紧急手柄拉下
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.EMERGENT_HANDLE_DOWN, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //紧急手柄拉下
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.TRAIN_TRACTION_CUTED, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //紧急手柄拉下
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.TRAIN_TRACTION_CUTED, 1}, Type: message.SENDER_TRAIN_OUTR_INFO}) //紧急手柄拉下
|
||||||
|
|
||||||
|
if vs.DoorModeAA {
|
||||||
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DOOR_MODE_AA, 1}, Type: message.SENDER_TRAIN_OUTR_INFO})
|
||||||
|
} else if vs.DoorModeAM {
|
||||||
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DOOR_MODE_AM, 1}, Type: message.SENDER_TRAIN_OUTR_INFO})
|
||||||
|
} else if vs.DoorModeMM {
|
||||||
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.DOOR_MODE_MM, 1}, Type: message.SENDER_TRAIN_OUTR_INFO})
|
||||||
|
}
|
||||||
return msgArr
|
return msgArr
|
||||||
}
|
}
|
||||||
func (s *VerifySimulation) ObtainTrainDigitalMockData(train *state_proto.TrainState) []message.TrainPcSimBaseMessage {
|
func (s *VerifySimulation) ObtainTrainDigitalMockData(train *state_proto.TrainState) []message.TrainPcSimBaseMessage {
|
||||||
@ -847,6 +936,7 @@ func (s *VerifySimulation) ObtainTrainDigitalMockData(train *state_proto.TrainSt
|
|||||||
|
|
||||||
stateArr := s.ObtainTrainDigitalMockDataForStatus(train)
|
stateArr := s.ObtainTrainDigitalMockDataForStatus(train)
|
||||||
msgArr = append(msgArr, stateArr...)
|
msgArr = append(msgArr, stateArr...)
|
||||||
|
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.ATO_SEND_TRAIN, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //ATO发车按钮
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.ATO_SEND_TRAIN, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //ATO发车按钮
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.LEFT_DOOR_STATE, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //左门状态按钮
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.LEFT_DOOR_STATE, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //左门状态按钮
|
||||||
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.RIGHT_DOOR_STATE, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //列车完整性
|
msgArr = append(msgArr, message.TrainPcSimBaseMessage{Data: []byte{message.RIGHT_DOOR_STATE, 0}, Type: message.SENDER_TRAIN_OUTR_INFO}) //列车完整性
|
||||||
|
Loading…
Reference in New Issue
Block a user