//------------------------------------------------------------------------ // States //------------------------------------------------------------------------ private void StateIdle() { DrawText("State: Idle"); if ((m_updateSource == UpdateType.Trigger) && (m_argument == "WORK")) { m_stateMachine = EStateMachine.Working; } else { RetractPiston(); DrillOff(); } }
//------------------------------------------------------------------------ public void Main(String argument, UpdateType updateSource) { if (Init()) { //------------------------------------------------------------------ // Environment //------------------------------------------------------------------ m_textPanel.WritePublicText(""); // Clear panel m_argument = argument; m_updateSource = updateSource; m_dateTimeNow = DateTime.Now; //------------------------------------------------------------------ DrawText("//----------------------------------------------"); DrawText("// Reffi BY VX TEK AUTOMATING SYSTEMS"); DrawText("//----------------------------------------------"); DrawText(""); DrawText("Date " + m_dateTimeNow.ToShortDateString() + " " + m_dateTimeNow.ToLongTimeString()); //------------------------------------------------------------------ // State machine //------------------------------------------------------------------ switch (m_stateMachine) { case EStateMachine.Idle: { StateIdle(); } break; } } else { m_stateMachine = EStateMachine.Error; } }
//------------------------------------------------------------------------ public Program() { Runtime.UpdateFrequency = UpdateFrequency.Update1; m_stateMachine = EStateMachine.Idle; }