public void Job() { LoggerHandler.Init(new[] { (Action <string>)Console.WriteLine }, "" /*GetAvailableLogFilename(logFilePath)*/, minLogLevel: LogLevel.Warn); _chat = new ChatClient(settings.TcpServerIp, 10240, "raspberry", "parola01"); _piHW = new RaspberryHardware(settings.PwmPeriod, settings.PwmHighDuration, settings.LinesToSkip); BindEvents(); _chat.Connect(); _piHW.Start(); _working = true; while (_working) { Console.Write("&:"); var line = Console.ReadLine(); ProcessCommand(line); } }
private void ProcessCommand(string cmd) { switch (cmd.ToLower()) { case "exit": _chat.Disconnect(); _piHW.Stop(); LoggerHandler.Destroy(); _working = false; break; case "stop": _piHW.Stop(); break; case "start": _piHW.Start(); break; case "startpwm": case "s": _piHW.StartPWM(); break; case "": break; default: if (cmd.ToLower().StartsWith("setnroflines")) { var linesToSkip = int.Parse(cmd.Split(' ')[1]); _piHW.SetVariables(_period, _highDuration, linesToSkip); settings.LinesToSkip = linesToSkip; SaveSettings(); Console.WriteLine("Set number of lines to skip to " + linesToSkip); break; } Console.WriteLine("Invalid command: '" + cmd + "'"); break; } }