private void NextInputPath() { inputPathMode = false; inputPathCorrectnessMode = true; Klub_u.SetInfo("Признак правильности пути = " + (CorrectPath ? "1" : "0") + " "); Klub_u.SetPathNumber(PathNumber, CorrectPath); }
public override void ManualChangeCoordinate(int coordinzte) { if (ManualCoordinateControl) { Coordinate = coordinzte; } Klub_u.SetCoordinate(Coordinate); }
public override void PressButtonK() { inputInfoMode = false; inputPathMode = false; inputPathCorrectnessMode = false; Klub_u.SetInfo(Info); inputCommandMode = true; inputNumberTool.Reset(); }
public override void PressButtonRMP() { if (ActualSpeed == 0 && HasCassette) { MovingMode++; MovingMode %= 3; if (MovingMode == 0 && Trafficlights[2] || Trafficlights[3] || (Trafficlights[0] && Trafficlights[8])) { MovingMode++; } // TODO в течение 30 с после одновременного нажатия РБ и РБП if (MovingMode == 2 && Trafficlights[2] || Trafficlights[3] || (Trafficlights[0] && Trafficlights[8])) { MovingMode = 0; } switch (MovingMode) { case 0: // Maneurng mode //TODO Прием сигналов АЛСН не производится //TODO На блоке индикации горит белый огонь AllowableSpeed = 60; //TODO Проверка бдительности в начале движения не производится Klub_u.OffTrainModeIndicator(); Klub_u.OffDoubleTractionModeIndicator(); Klub_u.OnManeuringModeIndicator(); break; case 1: //Train mode Klub_u.OffManeuringModeIndicator(); Klub_u.OffDoubleTractionModeIndicator(); Klub_u.OnTrainModeIndicator(); break; case 2: //Double traction mode //TODO не осуществляет прием кодов АЛСН, //TODO не осуществляет прием кодов светофоров от цифрового радиоканала // (на БИЛ и БИЛ-ПОМ индицируется сигнал «Б»); //TODO обеспечивает изменение скорости движения по сигналу «Б» после ввода команды «К799» //TODO не производит экстренное торможение посредством блока КОН; //TODO не осуществляет однократную проверку бдительности при трогании, // контроль скатывания и контроль исправности ДПС; //TODO формирует на БИЛ информацию о впередилежащих местах ограничения скорости, // не производя при этом фактической отработки Vцел и Vдоп по данным ограничениям. Klub_u.OffManeuringModeIndicator(); Klub_u.OffTrainModeIndicator(); Klub_u.OnDoubleTractionModeIndicator(); break; default: MessageBox.Show("Error when switching the travel mode"); break; } } }
private void OnOrOffTrafficLight(int number, bool status) { if (status) { switch (number) { case 0: Klub_u.OnTrafficLight0Indicator(); break; case 1: Klub_u.OnTrafficLight1Indicator(); break; case 2: Klub_u.OnTrafficLight2Indicator(); break; case 3: Klub_u.OnTrafficLight3Indicator(); break; case 4: Klub_u.OnTrafficLight4Indicator(); break; case 5: Klub_u.OnTrafficLight5Indicator(); break; case 6: Klub_u.OnTrafficLight6Indicator(); break; case 7: Klub_u.OnTrafficLight7Indicator(); break; case 8: Klub_u.OnTrafficLight0BlinkIndicator(); break; default: MessageBox.Show("ERROR: On TrafficLight Indicator " + number.ToString()); break; } } else { switch (number) { case 0: Klub_u.OffTrafficLight0Indicator(); break; case 1: Klub_u.OffTrafficLight1Indicator(); break; case 2: Klub_u.OffTrafficLight2Indicator(); break; case 3: Klub_u.OffTrafficLight3Indicator(); break; case 4: Klub_u.OffTrafficLight4Indicator(); break; case 5: Klub_u.OffTrafficLight5Indicator(); break; case 6: Klub_u.OffTrafficLight6Indicator(); break; case 7: Klub_u.OffTrafficLight7Indicator(); break; case 8: Klub_u.OffTrafficLight0BlinkIndicator(); break; default: MessageBox.Show("ERROR: Off TrafficLight Indicator " + number.ToString()); break; } } }
private void NextInputInfo() { inputInfoParametr++; if (inputInfoParametr >= 5) { inputInfoMode = false; Klub_u.SetInfo(Info); return; } else { Klub_u.SetInfo(InputInfoParametrs[inputInfoParametr] + " - " + TrainParametrs[inputInfoParametr] + " "); } }
public override void PressButtonL() { inputCommandMode = false; inputPathMode = false; inputPathCorrectnessMode = false; if (inputInfoMode) { NextInputInfo(); } else if (ActualSpeed == 0 && HasCassette) { inputInfoMode = true; inputInfoParametr = 0; Klub_u.SetInfo(InputInfoParametrs[inputInfoParametr] + " - " + TrainParametrs[inputInfoParametr] + " "); } }
// a = +1 if press button plus and a = -1 if press minus private void PlusOrMinusParametr(int a) { if (inputInfoMode) { TrainParametrs[inputInfoParametr] += a; Klub_u.SetInfo(InputInfoParametrs[inputInfoParametr] + " - " + TrainParametrs[inputInfoParametr].ToString() + " "); } else if (inputPathMode) { PathNumber += (byte)a; Klub_u.SetInfo("Номер пути = " + PathNumber.ToString() + " "); } else if (inputPathCorrectnessMode) { CorrectPath = !CorrectPath; Klub_u.SetInfo("Признак правильности пути = " + (CorrectPath ? "1" : "0") + " "); } }
public override void PressButtonP() { if (inputPathMode) { NextInputPath(); } else { if (inputPathCorrectnessMode) { NextInputPathCorrectness(); } else { inputCommandMode = false; inputInfoMode = false; inputPathMode = true; Klub_u.SetInfo("Номер пути = " + PathNumber.ToString() + " "); } } }
private void PressNumberButtonN(byte n) { if (inputInfoMode) { TrainParametrs[inputInfoParametr] = TrainParametrs[inputInfoParametr] * 10 + n; Klub_u.SetInfo(InputInfoParametrs[inputInfoParametr] + " - " + TrainParametrs[inputInfoParametr].ToString() + " "); } else if (inputPathMode) { PathNumber = (byte)(PathNumber * 10 + n); Klub_u.SetInfo("Номер пути = " + PathNumber.ToString() + " "); } else if (inputPathCorrectnessMode) { CorrectPath = n == 1; Klub_u.SetInfo("Признак правильности пути = " + (CorrectPath ? "1" : "0") + " "); } else { inputNumberTool.AddSimvol(n); } }
public override void UninstallCassette() { HasCassette = false; Klub_u.OffRegisterIndicatorIndicator(); }
public override void InstallCassette() { HasCassette = true; Klub_u.OnRegisterIndicatorIndicator(); }
public override void OnManualTrafficlightsControlMode() { ManualCoordinateControl = true; Klub_u.SetManualTrafficLightsControl(Trafficlights); }
private void NextInputPathCorrectness() { inputPathCorrectnessMode = false; Klub_u.SetInfo(Info); Klub_u.SetPathNumber(PathNumber, CorrectPath); }
public override void PressButtonF() { Frequency %= 75; Frequency += 25; Klub_u.SetFrequency(Frequency); }