public static void Main(string[] args) { // all output is wrapped in try catch try { // try and initialize the launcher to see if we can connect System.Console.WriteLine("Attempting to initialize the launcher..."); var rocket = new Launcher(); rocket.Connect(); System.Console.WriteLine("SUCCESS!"); // turn on LED to indicate its connected System.Console.WriteLine("LED on to indicate connection."); rocket.SendCommand(ByteCommands.LedOn); // determine the mode we are in to run manual or host controlled var isManual = AppSettings.Mode.Equals("manual", StringComparison.InvariantCultureIgnoreCase); if (isManual) { // running in manual control System.Console.WriteLine("Manual control mode is enabled..."); var manualControl = new ManualControlled(rocket); manualControl.Run(); } else { // running in host control System.Console.WriteLine("Host control mode is enabled..."); var hostControlled = new HostControlled(rocket); hostControlled.Run(); } // turn off LED to indicate its not connected System.Console.WriteLine("LED off in order to shut down."); rocket.SendCommand(ByteCommands.LedOff); rocket.Disconnect(); System.Console.WriteLine("Disconnected from the launcher....press any key to exit."); System.Console.ReadLine(); } catch (Exception ex) { // log output so the user knows what went wrong System.Console.WriteLine("Error occured running launcher: {0}, STACK TRACE: {1}", ex.Message, ex.StackTrace); System.Console.WriteLine("Press any key to exit."); System.Console.ReadLine(); } }
public ManualControlled(Launcher launcher) { _launcher = launcher; }
public HostControlled(Launcher launcher) { _launcher = launcher; }