Example #1
0
        static async Task Main(string[] args)
        {
            using var loggerFactory = LoggerFactory.Create(opts => opts.AddConsole().SetMinimumLevel(LogLevel.Information));
            var portName = SerialPort.GetPortNames().FirstOrDefault();

            using var port = new SerialPort(portName, 115200);
            port.Open();
            using var dispatcher = new OIDispatcher(port, loggerFactory.CreateLogger <OIDispatcher>());
            var sensorReader = new SensorReader(dispatcher, loggerFactory.CreateLogger <SensorReader>());
            var ioSensor     = new OISensor(sensorReader);
            var robot        = new Robot(dispatcher, ioSensor, loggerFactory.CreateLogger <Robot>());

            await robot.Reset();

            Console.WriteLine($"IO Mode: {robot.CurrentMode}");
            await robot.Start();

            Console.WriteLine($"IO Mode: {robot.CurrentMode}");
            await robot.Activate();

            Console.WriteLine($"IO Mode: {robot.CurrentMode}");
            await robot.Stop();
        }
Example #2
0
 public Driver(OIDispatcher dispatcher, OISensor oiSensor, ILogger <Driver> logger)
 {
     this.oiSensor   = oiSensor;
     this.dispatcher = dispatcher;
     this.logger     = logger;
 }
Example #3
0
 public Cleaner(OIDispatcher dispatcher, OISensor oiSensor)
 {
     this.dispatcher = dispatcher;
     this.oiSensor   = oiSensor;
 }