Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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;
            }
        }