/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardApplication constructor * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : * */ /*#--------------------------------------------------------------------------#*/ public FiddleYardApplication(string instance, FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH) { m_instance = instance; m_FYIOHandleVar = FYIOHandleVar; m_iFYIOH = iFYIOH; if ("TOP" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardApplicationTOP.txt"; // different logging file per target, this is default FiddleYardApplicationLogging = new Log2LoggingFile(path); } else if ("BOT" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardApplicationBOT.txt"; // different logging file per target, this is default FiddleYardApplicationLogging = new Log2LoggingFile(path); } // Sub programs FYAppVar = new FiddleYardApplicationVariables(m_FYIOHandleVar); // FiddleYard Application variables class, holds all variables and functions regarding variables FYMIP50 = new FiddleYardMip50(m_instance, m_FYIOHandleVar, m_iFYIOH, FYAppVar); FYAppRun = new FiddleYardAppRun(m_FYIOHandleVar, m_iFYIOH, FYAppVar, FYMIP50, FiddleYardApplicationLogging); FYTDT = new FiddleYardTrainDetection(m_FYIOHandleVar, FYAppVar, FYMIP50, FiddleYardApplicationLogging); FYAppInit = new FiddleYardAppInit(m_FYIOHandleVar, FYAppVar, FYMIP50, FYTDT, FiddleYardApplicationLogging); FYFORM = new FiddleYardForm(this);//, FYMip50SettingsForm); //Init and setup FYFORM (after the creation of the sensors and commands) if ("TOP" == m_instance) FYFORM.Name = "FiddleYardTOP"; else if ("BOT" == m_instance) FYFORM.Name = "FiddleYardBOT"; FYFORM.Show(); FYFORM.Hide(); FYFORM.Connect(m_FYIOHandleVar, FYAppVar); // connect the Form to the FYIOHandle interface }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardAppInit() * Constructor * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardAppInit(FiddleYardIOHandleVariables FYIOHandleVar, FiddleYardApplicationVariables FYAppVar, FiddleYardMip50 FYMIP50, FiddleYardTrainDetection FYTDT, Log2LoggingFile FiddleYardApplicationLogging) { m_FYIOHandleVar = FYIOHandleVar; m_FYAppVar = FYAppVar; m_FYMIP50 = FYMIP50; m_FYTDT = FYTDT; m_FYAppLog = FiddleYardApplicationLogging; FiddleYardInitStarted = new MessageUpdater(); State_Machine = State.Idle; Message Msg_uControllerReady = new Message("uControllerReady", " uControllerReady ", (name, log) => SetMessage(name, log)); // initialize and subscribe readback action, Message m_FYIOHandleVar.uControllerReady.Attach(Msg_uControllerReady); }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardTrainDetection * Constructor * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardTrainDetection(FiddleYardIOHandleVariables FYIOHandleVar, FiddleYardApplicationVariables FYAppVar, FiddleYardMip50 FYMIP50, Log2LoggingFile FiddleYardApplicationLogging) { m_FYIOHandleVar = FYIOHandleVar; m_FYAppVar = FYAppVar; m_FYMIP50 = FYMIP50; m_FYAppLog = FiddleYardApplicationLogging; State_Machine = State.Idle; Sensor Sns_CL_10_Heart = new Sensor("CL10Heart", " CL 10 Heart ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors FYAppVar.CL10Heart.Attach(Sns_CL_10_Heart); Sensor Sns_F10 = new Sensor("F10", " F10 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors FYAppVar.F10.Attach(Sns_F10); }
/*#--------------------------------------------------------------------------#*/ /* Description: Constructor * * Input(s) : FiddleYardMip50 * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardMip50SettingsForm(string instance, FiddleYardMip50 FYMip50, FiddleYardApplicationVariables FYAppVar) { InitializeComponent(); m_FYMip50 = FYMip50; m_FYAppVar = FYAppVar; m_instance = instance; //config.AppSettings.Settings[m_instance + "_" + "Track1_Abs_Position"].Value = "50"; this.FormClosing += new FormClosingEventHandler(FiddleYardMip50SettingsForm_Close); try { TB_MIP50PositioningVelocity.AppendText(config.AppSettings.Settings[m_instance + "_" + "MIP50PositioningVelocity"].Value); TB_MIP50PositioningAcceleration.AppendText(config.AppSettings.Settings[m_instance + "_" + "MIP50PositioningAcceleration"].Value); TB_TRACK1_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track1_Abs_Position"].Value); TB_TRACK2_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track2_Abs_Position"].Value); TB_TRACK3_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track3_Abs_Position"].Value); TB_TRACK4_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track4_Abs_Position"].Value); TB_TRACK5_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track5_Abs_Position"].Value); TB_TRACK6_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track6_Abs_Position"].Value); TB_TRACK7_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track7_Abs_Position"].Value); TB_TRACK8_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track8_Abs_Position"].Value); TB_TRACK9_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track9_Abs_Position"].Value); TB_TRACK10_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track10_Abs_Position"].Value); TB_TRACK11_ABS_POS.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track11_Abs_Position"].Value); TB_TRACK1_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track1_Back_Offset"].Value); TB_TRACK2_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track2_Back_Offset"].Value); TB_TRACK3_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track3_Back_Offset"].Value); TB_TRACK4_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track4_Back_Offset"].Value); TB_TRACK5_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track5_Back_Offset"].Value); TB_TRACK6_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track6_Back_Offset"].Value); TB_TRACK7_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track7_Back_Offset"].Value); TB_TRACK8_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track8_Back_Offset"].Value); TB_TRACK9_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track9_Back_Offset"].Value); TB_TRACK10_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track10_Back_Offset"].Value); TB_TRACK11_BKOFFSET.AppendText(config.AppSettings.Settings[m_instance + "_" + "Track11_Back_Offset"].Value); } catch { MessageBox.Show("Reading " + m_instance + " Appsettings error in constructor FiddleYardMip50SettingsForm"); } TB_MIP50PositioningVelocity.Click += new EventHandler(TB_MIP50PositioningVelocity_OnClick); TB_MIP50PositioningVelocity.TextChanged += new EventHandler(TB_MIP50PositioningVelocity_TextChanged); TB_MIP50PositioningAcceleration.Click += new EventHandler(TB_MIP50PositioningAcceleration_OnClick); TB_MIP50PositioningAcceleration.TextChanged += new EventHandler(TB_MIP50PositioningAcceleration_TextChanged); Sensor Sns_ReceivedDataFromMip50 = new Sensor("Mip50Rec", " Mip50ReceivedCmd ", 0, (name, val, log) => ReceivedMIP50Data(name, val, log)); // initialize sensors m_FYAppVar.ReceivedDataFromMip50.Attach(Sns_ReceivedDataFromMip50); // Attach }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardAppTrainDrive() * Constructor * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardAppTrainDrive(FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH, FiddleYardApplicationVariables FYAppVar, FiddleYardMip50 FYMIP50, Log2LoggingFile FiddleYardApplicationLogging) { m_FYIOHandleVar = FYIOHandleVar; m_iFYIOH = iFYIOH; m_FYAppVar = FYAppVar; m_FYMIP50 = FYMIP50; m_FYAppLog = FiddleYardApplicationLogging; TrainDriveIn_Machine = State.Start; TrainDriveOut_Machine = State.Start; TrainDriveThrough_Machine = State.Start; Message Msg_uControllerReady = new Message("uControllerReady", " uControllerReady ", (name, log) => SetMessage(name, log)); // initialize and subscribe readback action, Message m_FYIOHandleVar.uControllerReady.Attach(Msg_uControllerReady); }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardAppRun() * Constructor * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardAppRun(FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH, FiddleYardApplicationVariables FYAppVar, FiddleYardMip50 FYMIP50, Log2LoggingFile FiddleYardApplicationLogging) { m_iFYIOH = iFYIOH; m_FYIOHandleVar = FYIOHandleVar; m_FYAppVar = FYAppVar; m_FYMIP50 = FYMIP50; m_FYAppLog = FiddleYardApplicationLogging; FYAppTrainDrive = new FiddleYardAppTrainDrive(m_FYIOHandleVar, m_iFYIOH, m_FYAppVar, m_FYMIP50, m_FYAppLog); State_Machine = State.Idle; Message Msg_TrackPower15VDown = new Message("TrackPower15VDown", " TrackPower15VDown ", (name, log) => SetMessage(name, 0, log)); // initialize and subscribe readback action, Message m_FYIOHandleVar.TrackPower15VDown.Attach(Msg_TrackPower15VDown); Sensor Sns_TrackPower15V = new Sensor("15VTrackPower", " 15V Track Power ", 0, (name, val, log) => SetMessage(name, val, log)); // initialize and subscribe sensors m_FYIOHandleVar.TrackPower15V.Attach(Sns_TrackPower15V); Command Act_Collect = new Command("Collect", (name) => SetMessage(name, 0, "")); // initialize and subscribe Commands m_FYAppVar.FormCollect.Attach(Act_Collect); }
//private const int TEMPOFFSET = 700; //public uint[] TrackForward = new uint[12] { 0, 0, 42800, 85600, 128400, 171200, 214000, 256800, 299600, 342400, 385200, 428000 };// New track coordinates forward movement 1 --> 11 //public uint[] TrackBackwardOffset = new uint[12] { 0, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, 0 }; // New track coordinates forward movement 11 --> 1 offset number /*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardApplication constructor * * Input(s) : instance == TOP || BOTTOM, FYIOHancleVar (FY IO handle variables class) and interface to FY IO Handler * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : * */ /*#--------------------------------------------------------------------------#*/ public FiddleYardMip50(string instance, FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH, FiddleYardApplicationVariables FYAppVar) { m_instance = instance; m_FYIOHandleVar = FYIOHandleVar; m_iFYIOH = iFYIOH; m_FYAppVar = FYAppVar; if ("TOP" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardMIP50TOP.txt"; // different logging file per target, this is default FiddleYardMIP50Logging = new Log2LoggingFile(path); } else if ("BOT" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardMIP50BOT.txt"; // different logging file per target, this is default FiddleYardMIP50Logging = new Log2LoggingFile(path); } }
/*#--------------------------------------------------------------------------#*/ /* Description: Connect * hookup sensors/messages etc * * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public void Connect(FiddleYardIOHandleVariables FYIOHandleVar, FiddleYardApplicationVariables FYAppVar) { m_FYIOHandleVar = FYIOHandleVar; // connect to FYIOHandle interface, save interface in variable m_FYAppVar = FYAppVar; // connect to FYApplication variables, save interface in variable if (this.Name == "FiddleYardTOP") { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardFormTOP.txt"; // different logging file per target, this is default FiddleYardFormLogging = new Log2LoggingFile(path); } else if (this.Name == "FiddleYardBOT") { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardFormBOT.txt"; // different logging file per target, this is default FiddleYardFormLogging = new Log2LoggingFile(path); } #region Attach sensors //Sensors -----------------------------> to be pushed from Application variables Sensor Led_CL_10_Heart = new Sensor("LLed_Heart", " CL 10 Heart ",0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.CL10Heart.Attach(Led_CL_10_Heart); Sensor Led_F11 = new Sensor("LLed_F11", " F11 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.F11.Attach(Led_F11); Sensor Led_EOS10 = new Sensor("LLed_EOS10", " EOS 10 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.EOS10.Attach(Led_EOS10); Sensor Led_EOS11 = new Sensor("LLed_EOS11", " EOS 11 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.EOS11.Attach(Led_EOS11); Sensor Led_F13 = new Sensor("LLed_F13", " F13 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.F13.Attach(Led_F13); Sensor Led_F12 = new Sensor("LLed_F12", " F12 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.F12.Attach(Led_F12); Sensor Led_Block5B = new Sensor("LLed_Block5B", " Occupied from 5B ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block5B.Attach(Led_Block5B); Sensor Led_Block8A = new Sensor("LLed_Block8A", " Occupied from 8A ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block8A.Attach(Led_Block8A); Sensor Led_TrackPowerTop = new Sensor("LLed_TrackPower", " Enable Track ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.TrackPower.Attach(Led_TrackPowerTop); Sensor Led_Block5BIn = new Sensor("LLed_Block5BIn", " Occupied to 5B ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block5BIn.Attach(Led_Block5BIn); Sensor Led_Block6In = new Sensor("LLed_Block6In", " Occupied to 6 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block6In.Attach(Led_Block6In); Sensor Led_Block7In = new Sensor("LLed_Block7In", " Occupied to 7 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block7In.Attach(Led_Block7In); Sensor Led_ResistorTop = new Sensor("LLed_Resistor", " Occupied Resistor ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Resistor.Attach(Led_ResistorTop); Sensor Led_Track1Top = new Sensor("LLed_Track1", " Trains On Fiddle Yard Track1 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track1.Attach(Led_Track1Top); Sensor Led_Track2Top = new Sensor("LLed_Track2", " Trains On Fiddle Yard Track2 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track2.Attach(Led_Track2Top); Sensor Led_Track3Top = new Sensor("LLed_Track3", " Trains On Fiddle Yard Track3 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track3.Attach(Led_Track3Top); Sensor Led_Track4Top = new Sensor("LLed_Track4", " Trains On Fiddle Yard Track4 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track4.Attach(Led_Track4Top); Sensor Led_Track5Top = new Sensor("LLed_Track5", " Trains On Fiddle Yard Track5 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track5.Attach(Led_Track5Top); Sensor Led_Track6Top = new Sensor("LLed_Track6", " Trains On Fiddle Yard Track6 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track6.Attach(Led_Track6Top); Sensor Led_Track7Top = new Sensor("LLed_Track7", " Trains On Fiddle Yard Track7 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track7.Attach(Led_Track7Top); Sensor Led_Track8Top = new Sensor("LLed_Track8", " Trains On Fiddle Yard Track8 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track8.Attach(Led_Track8Top); Sensor Led_Track9Top = new Sensor("LLed_Track9", " Trains On Fiddle Yard Track9 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track9.Attach(Led_Track9Top); Sensor Led_Track10Top = new Sensor("LLed_Track10", " Trains On Fiddle Yard Track10 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track10.Attach(Led_Track10Top); Sensor Led_Track11Top = new Sensor("LLed_Track11", " Trains On Fiddle Yard Track11 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Track11.Attach(Led_Track11Top); Sensor Led_Block6 = new Sensor("LLed_Block6", " Occupied from 6 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block6.Attach(Led_Block6); Sensor Led_Block7 = new Sensor("LLed_Block7", " Occupied from 7 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.Block7.Attach(Led_Block7); Sensor Led_F10 = new Sensor("LLed_F10", " F10 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.F10.Attach(Led_F10); Sensor Led_M10 = new Sensor("LLed_M10", " M10 ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.M10.Attach(Led_M10); Sensor Led_TrackNoTop = new Sensor("Track_No", " Track Nr ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.TrackNo.Attach(Led_TrackNoTop); Sensor Led_TrackPower15VTOP = new Sensor("LLed_TrackPower15V", " 15V Track Power ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.TrackPower15V.Attach(Led_TrackPower15VTOP); Sensor Sns_ForceNextTrack = new Sensor("ForceNextTrack", " ForceNextTrack ", 0, (name, val, log) => SetLedIndicator(name, val, log)); // initialize and subscribe sensors m_FYAppVar.TrainDriveOutPointer.Attach(Sns_ForceNextTrack); //Messages Message Msg_TrainDetectionTop = new Message("TrainDetectionFinished", " Train Detection Finished ", (name, log) => SetMessage(name, log)); // initialize and subscribe readback action, Message m_FYAppVar.TrainDetection.Attach(Msg_TrainDetectionTop); Message Msg_TrainDetectionStarted = new Message("TrainDetectionStarted", " Train Detection Started ", (name, log) => SetMessage(name, log)); // initialize and subscribe readback action, Message m_FYAppVar.TrainDetectionStarted.Attach(Msg_TrainDetectionStarted); Message Msg_FiddleYardStopped = new Message("FiddleYardStopped", " FiddleYard Auto mode Stopped ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardStopped.Attach(Msg_FiddleYardStopped); Message Msg_FiddleYardStart = new Message("FiddleYardStart", " FiddleYard Auto mode Start ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardStart.Attach(Msg_FiddleYardStart); Message Msg_FiddleYardNotHomed = new Message("FiddleYardNotHomed", " FiddleYard not homed, start homing ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardNotHomed.Attach(Msg_FiddleYardNotHomed); Message Msg_FiddleYardHomingFinished = new Message("FiddleYardHomingFinished", " FiddleYard homing finished ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardHomingFinished.Attach(Msg_FiddleYardHomingFinished); Message Msg_FiddleYardTrainObstruction = new Message("FiddleYardTrainObstruction", " FiddleYard train obstruction... ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardTrainObstruction.Attach(Msg_FiddleYardTrainObstruction); Message Msg_FiddleYardTrackAligned = new Message("FiddleYardTrackAligned", " FiddleYard track aligned ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardTrackAligned.Attach(Msg_FiddleYardTrackAligned); Message Msg_TrainHasLeftFiddleYardSuccessfully = new Message("TrainHasLeftFiddleYardSuccessfully", " Train has left FiddleYard successfully ", (name, log) => SetMessage(name, log)); m_FYAppVar.TrainHasLeftFiddleYardSuccessfully.Attach(Msg_TrainHasLeftFiddleYardSuccessfully); Message Msg_EMOPressed15VTrackPowerDown = new Message("EMOPressed15VTrackPowerDown", " EMO pressed, 15V Track Power down! ", (name, log) => SetMessage(name, log)); m_FYAppVar.EMOPressed15VTrackPowerDown.Attach(Msg_EMOPressed15VTrackPowerDown); Message Msg_EMOPressed15VTrackPowerUp = new Message("EMOPressed15VTrackPowerUp", " EMO released, 15V Track Power up! ", (name, log) => SetMessage(name, log)); m_FYAppVar.EMOPressed15VTrackPowerUp.Attach(Msg_EMOPressed15VTrackPowerUp); Message Msg_FiddleYardAutoModeStart = new Message("FiddleYardAutoModeStart", " FiddleYard Auto mode Start ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardAutoModeStart.Attach(Msg_FiddleYardAutoModeStart); Message Msg_FiddleYardInit = new Message("FiddleYardInit", " FiddleYard init... ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardInit.Attach(Msg_FiddleYardInit); Message Msg_FiddleYardAutoModeIsGoingToStop = new Message("FiddleYardAutoModeIsGoingToStop", " FiddleYard Auto mode is going to stop... ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardAutoModeIsGoingToStop.Attach(Msg_FiddleYardAutoModeIsGoingToStop); Message Msg_FiddleYardReset = new Message("FiddleYardReset", " FiddleYard Reset ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardReset.Attach(Msg_FiddleYardReset); Message Msg_FiddleYardInitFinished = new Message("FiddleYardInitFinished", " FiddleYard init Finished ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardInitFinished.Attach(Msg_FiddleYardInitFinished); Message Msg_FiddleYardApplicationRunning = new Message("FiddleYardApplicationRunning", " FiddleYard Application running... ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardApplicationRunning.Attach(Msg_FiddleYardApplicationRunning); Message Msg_FiddleYardAutoModeIsStopped = new Message("FiddleYardAutoModeIsStopped", " FiddleYard Auto mode is Stopped ", (name, log) => SetMessage(name, log)); m_FYAppVar.FiddleYardAutoModeIsStopped.Attach(Msg_FiddleYardAutoModeIsStopped); Message Msg_CollectingTrainsEnabled = new Message("CollectingTrainsEnabled", " Collecting Trains enabled ", (name, log) => SetMessage(name, log)); m_FYAppVar.CollectingTrainsEnabled.Attach(Msg_CollectingTrainsEnabled); Message Msg_CollectingTrainsDisabled = new Message("CollectingTrainsDisabled", " Collecting Trains disabled ", (name, log) => SetMessage(name, log)); m_FYAppVar.CollectingTrainsDisabled.Attach(Msg_CollectingTrainsDisabled); //Message Msg_FiddleYardMoveAndF12Assert = new Message("FiddleYardMoveAndF12Assert", " FiddleYard Moving And F12 Assert!!! FiddleYard Stopped!!! ", (name, log) => SetMessage(name, log)); //m_FYIOHandleVar.FiddleYardMoveAndF12Assert.Attach(Msg_FiddleYardMoveAndF12Assert); //Message Msg_FiddleYardMoveAndF13Assert = new Message("FiddleYardMoveAndF13Assert", " FiddleYard Moving And F13 Assert!!! FiddleYard Stopped!!! ", (name, log) => SetMessage(name, log)); //m_FYIOHandleVar.FiddleYardMoveAndF13Assert.Attach(Msg_FiddleYardMoveAndF13Assert); Message Msg_FYNotHomed = new Message("FYNotHomed", " Fiddle Yard Not Homed! Press Home FY Button to start Homing... ", (name, log) => SetMessage(name, log)); m_FYAppVar.FYNotHomed.Attach(Msg_FYNotHomed); #endregion Attach sensors // Init Track colors LLed_Track1.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track2.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track3.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track4.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track5.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track5.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track6.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track7.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track8.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track9.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track10.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_Track11.BackColor = m_FYAppVar.TrackNotInitializedColor; LLed_F10.BackColor = m_FYAppVar.TrackNotInitializedColor; ; LLed_F10.ForeColor = Color.Black; LLed_F11.BackColor = m_FYAppVar.TrackNotInitializedColor; ; LLed_F11.ForeColor = Color.Black; LLed_F12.BackColor = m_FYAppVar.TrackNotInitializedColor; ; LLed_F12.ForeColor = Color.Black; LLed_F13.BackColor = m_FYAppVar.TrackNotInitializedColor; ; LLed_F13.ForeColor = Color.Black; PB_Tr1_Active.BackColor = LLed_Track1.BackColor; PB_Tr1_Inline.BackColor = LLed_Track1.BackColor; PB_Tr1_Train.BackColor = LLed_Track1.BackColor; PB_Tr2_Active.BackColor = LLed_Track2.BackColor; PB_Tr2_Inline.BackColor = LLed_Track2.BackColor; PB_Tr2_Train.BackColor = LLed_Track2.BackColor; PB_Tr3_Active.BackColor = LLed_Track3.BackColor; PB_Tr3_Inline.BackColor = LLed_Track3.BackColor; PB_Tr3_Train.BackColor = LLed_Track3.BackColor; PB_Tr4_Active.BackColor = LLed_Track4.BackColor; PB_Tr4_Inline.BackColor = LLed_Track4.BackColor; PB_Tr4_Train.BackColor = LLed_Track4.BackColor; PB_Tr5_Active.BackColor = LLed_Track5.BackColor; PB_Tr5_Inline.BackColor = LLed_Track5.BackColor; PB_Tr5_Train.BackColor = LLed_Track5.BackColor; PB_Tr6_Active.BackColor = LLed_Track6.BackColor; PB_Tr6_Inline.BackColor = LLed_Track6.BackColor; PB_Tr6_Train.BackColor = LLed_Track6.BackColor; PB_Tr7_Active.BackColor = LLed_Track7.BackColor; PB_Tr7_Inline.BackColor = LLed_Track7.BackColor; PB_Tr7_Train.BackColor = LLed_Track7.BackColor; PB_Tr8_Active.BackColor = LLed_Track8.BackColor; PB_Tr8_Inline.BackColor = LLed_Track8.BackColor; PB_Tr8_Train.BackColor = LLed_Track8.BackColor; PB_Tr9_Active.BackColor = LLed_Track9.BackColor; PB_Tr9_Inline.BackColor = LLed_Track9.BackColor; PB_Tr9_Train.BackColor = LLed_Track9.BackColor; PB_Tr10_Active.BackColor = LLed_Track10.BackColor; PB_Tr10_Inline.BackColor = LLed_Track10.BackColor; PB_Tr10_Train.BackColor = LLed_Track10.BackColor; PB_Tr11_Active.BackColor = LLed_Track11.BackColor; PB_Tr11_Inline.BackColor = LLed_Track11.BackColor; PB_Tr11_Train.BackColor = LLed_Track11.BackColor; PB_Bk5_Train.Hide(); PB_Bk6_Train.Hide(); PB_Bk8A_Train.Hide(); PB_Bk7_Train.Hide(); PB_Bk7_Train.Image = null; PB_Bk8A_Train.Image = null; }