コード例 #1
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                double distance = await this.distanceSensor.MeasureDistance(stoppingToken);

                if (distance <= 25 && driveService.IsGoingForward())
                {
                    logger.LogDebug("Distance less than 25 cm. Stopping.");

                    driveService.StopDrive();
                }

                await Task.Delay(TimeSpan.FromMilliseconds(100), stoppingToken);
            }
        }