|
|
@@ -172,146 +172,142 @@ func processPacket(packet []byte) {
|
|
|
|
|
|
case 0x02: // STN
|
|
|
if active.ActivedCab != "" {
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("STN")
|
|
|
|
|
|
if priority.CheckPriority("STN") {
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("STN")
|
|
|
|
|
|
runningTaskName := action.InterruptRunningTask("STN") //STN interrupt other
|
|
|
if runningTaskName != "" {
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoint release
|
|
|
}
|
|
|
StationAnn(packet)
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "STN" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
-
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "STN", "refuse")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "STN" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x05: // SPC
|
|
|
if active.ActivedCab != "" {
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("SPC")
|
|
|
|
|
|
if priority.CheckPriority("SPC") {
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("SPC")
|
|
|
|
|
|
runningTaskName := action.InterruptRunningTask("SPC") //SPC interrupt other
|
|
|
if runningTaskName != "" {
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoint release
|
|
|
}
|
|
|
SpecialAnn(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "SPC" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
-
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "SPC", "refuse")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "SPC" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x06: // EMG
|
|
|
|
|
|
if active.ActivedCab != "" {
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("EMG")
|
|
|
|
|
|
if priority.CheckPriority("EMG") {
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("EMG")
|
|
|
|
|
|
runningTaskName := action.InterruptRunningTask("EMG") //EMG interrupt other
|
|
|
if runningTaskName != "" {
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoint release
|
|
|
}
|
|
|
EmgMsg(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "EMG" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
-
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "EMG", "refuse")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "EMG" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x07: // STOP
|
|
|
AnnStop([4]byte{packet[8], packet[9], packet[10], packet[11]})
|
|
|
|
|
|
case 0x08: // DCS
|
|
|
|
|
|
if active.ActivedCab != "" {
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("DCS")
|
|
|
|
|
|
if priority.CheckPriority("DCS") {
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("DCS")
|
|
|
+
|
|
|
runningTaskName := action.InterruptRunningTask("DCS") //DCS interrupt other
|
|
|
if runningTaskName != "" {
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoint release
|
|
|
}
|
|
|
DcsAnn(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "DCS" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "DCS", "refuse")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "DCS" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x09: // SELF CHECK
|
|
|
|
|
|
if active.ActivedCab != "" {
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("CHK")
|
|
|
|
|
|
if priority.CheckPriority("CHK") {
|
|
|
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("CHK")
|
|
|
-
|
|
|
runningTaskName := action.InterruptRunningTask("CHK") //CHK interrupt other
|
|
|
if runningTaskName != "" {
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoint release
|
|
|
}
|
|
|
SelfCheck(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "CHK" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "CHK", "refuse")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "CHK" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x0a: // Tone-test
|
|
|
if active.ActivedCab != "" {
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("VOL")
|
|
|
|
|
|
if priority.CheckPriority("VOL") {
|
|
|
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("VOL")
|
|
|
-
|
|
|
runningTaskName := action.InterruptRunningTask("VOL") //VOL interrupt other
|
|
|
if runningTaskName != "" {
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoint release
|
|
|
}
|
|
|
ToneTest(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "VOL" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
-
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "VOL", "refuse")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "VOL" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x0e: //TMS answer PAD
|
|
|
|
|
|
handler := packet[8]
|
|
|
@@ -332,10 +328,12 @@ func processPacket(packet []byte) {
|
|
|
})
|
|
|
//}
|
|
|
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("PAD-TMS")
|
|
|
+
|
|
|
//if packet[8] == 0x01 { //answer PAD
|
|
|
if priority.CheckPriority("PAD-TMS") {
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("PAD-TMS")
|
|
|
+
|
|
|
//Before Answer PAD
|
|
|
//if packet[8] == 0x01 {
|
|
|
|
|
|
@@ -354,11 +352,6 @@ func processPacket(packet []byte) {
|
|
|
}
|
|
|
|
|
|
AlarmHandleTMS(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "PAD-TMS" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "PAD-TMS", "refuse")
|
|
|
}
|
|
|
@@ -366,6 +359,11 @@ func processPacket(packet []byte) {
|
|
|
AlarmHandleTMS(packet)
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "PAD-TMS" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
case 0x0b: // reset all PAD
|
|
|
AlarmHoldResetAll(packet[8]) // reset all pad
|
|
|
|
|
|
@@ -395,10 +393,12 @@ func processPacket(packet []byte) {
|
|
|
})
|
|
|
//}
|
|
|
|
|
|
+ //检查是否有任务正在创建
|
|
|
+ action.WaitTaskCreate("PAD-ICP")
|
|
|
+
|
|
|
//if packet[8] == 0x01 { //answer PAD
|
|
|
if priority.CheckPriority("PAD-ICP") {
|
|
|
- //检查是否有任务正在创建
|
|
|
- action.WaitTaskCreate("PAD-ICP")
|
|
|
+
|
|
|
//Before Answer PAD
|
|
|
//if packet[8] == 0x01 {
|
|
|
|
|
|
@@ -418,11 +418,6 @@ func processPacket(packet []byte) {
|
|
|
}
|
|
|
|
|
|
AlarmHandleICP(packet)
|
|
|
-
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- if priority.TaskCreating == "PAD-ICP" {
|
|
|
- priority.TaskCreating = ""
|
|
|
- }
|
|
|
} else {
|
|
|
alstatus.PaStatus("", "PAD-ICP", "refuse")
|
|
|
}
|
|
|
@@ -430,6 +425,11 @@ func processPacket(packet []byte) {
|
|
|
AlarmHandleICP(packet)
|
|
|
}
|
|
|
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ if priority.TaskCreating == "PAD-ICP" {
|
|
|
+ priority.TaskCreating = ""
|
|
|
+ }
|
|
|
+
|
|
|
//case 0xf1: //Set remote master
|
|
|
|
|
|
//default:
|