コード例 #1
0
        /// <summary>
        /// Run lidar task
        /// </summary>
        /// <param name="cancellationToken"></param>
        private bool RunLidar(CancellationToken cancellationToken)
        {
            while (!cancellationToken.IsCancellationRequested)
            {
                // Try to get scan
                Scan scan = lidar.GetScan(cancellationToken);
                if (scan == null)
                {
                    // It was either cancellation or error
                    return(cancellationToken.IsCancellationRequested);
                }

                // Display it
                BeginInvoke(new UpdateScanDelegate(UpdateScan), new object[] { scan });
            }

            // Normal exit
            return(true);
        }