private void FlashcardProxyHandler(GlobalOptions global, SerialPortOptions serialPortOptions, FlashcardSettings settings, IConsole console) { FlashcardClient client = new FlashcardClient(); string response = String.Empty; if (settings.Modus.HasValue) { response = client.SendMessageAndReceiveText(serialPortOptions.PortName, serialPortOptions.Baudrate, (char)settings.Modus.Value); } if (!String.IsNullOrEmpty(settings.Size)) { char size = Sizes[settings.Size.ToLower()]; response = client.SendMessageAndReceiveText(serialPortOptions.PortName, serialPortOptions.Baudrate, size); } if (settings.Language.HasValue) { response = client.SendMessageAndReceiveText(serialPortOptions.PortName, serialPortOptions.Baudrate, (char)settings.Language.Value); } // Rate should be last setting to change, as it requires a new baudrate for communication if (settings.Rate.HasValue) { char rate = Baudrates[settings.Rate.Value]; response = client.SendMessageAndReceiveText(serialPortOptions.PortName, serialPortOptions.Baudrate, rate); serialPortOptions.Baudrate = settings.Rate.Value; } if (global.Verbose) { var color = Console.ForegroundColor; //Console.ForegroundColor = ConsoleColor.DarkGreen; console.Out.Write(response); //Console.ForegroundColor = color; } else { console.Out.Write("Settings changed. (Specify --verbose for details)"); } }
private static Command CreateDirectCommand(string name, string description, char message) { Command command = new Command(name, description) .AddSerialPortOptions(DEFAULT_BAUDRATE); command.Handler = CommandHandler.Create((SerialPortOptions options) => { FlashcardClient client = new FlashcardClient(); string response = client.SendMessageAndReceiveText(options.PortName, options.Baudrate, message); Console.WriteLine(response); }); return(command); }