Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

            var buttonReader = new ButtonReader(RunMachineLearningCode);

            buttonReader.ReadButton(cancellationTokenSource.Token);

            _ledRed   = new Led(Led.LedColor.Red);
            _ledGreen = new Led(Led.LedColor.Green);
            _ledBlue  = new Led(Led.LedColor.Blue);

            _buzzer = new Buzzer();

            // Do the test run
            _ledRed.Flash();
            _ledGreen.Flash();
            _ledBlue.Flash();

            _buzzer.Buzz();

            Console.WriteLine("Ready to get going. Press any key to stop the program.");

            try
            {
                while (!Console.KeyAvailable)
                {
                    _ledBlue.On();

                    RunMachineLearningCode(false);
                    _ledBlue.Off();

                    Task.Delay(2000).Wait();
                }
            }
            finally
            {
                cancellationTokenSource.Cancel();

                cancellationTokenSource.Dispose();
                _ledRed.Off();
                _ledGreen.Off();
                _ledBlue.Off();

                buttonReader.Dispose();
                _buzzer.Dispose();
                _ledRed.Dispose();
                _ledGreen.Dispose();
                _ledBlue.Dispose();
            }
        }
Ejemplo n.º 2
0
        public MainForm(
            ILogger logger,
            IInputReader input,
            App app,
            Emulator emu)
        {
            _logger           = logger;
            _logger.LogEvent += WriteToLog;

            _input = input as ButtonReader;
            _app   = app;
            _emu   = emu;
            InitializeComponent();

            _logger.SetFile(null);
            _timer          = new Timer(400);
            _timer.Elapsed += (source, e) => RefreshButtons();
        }