Exemplo n.º 1
0
        /// <summary>
        /// Initializes the Roomba and LIDAR
        /// </summary>
        /// <param name="roombaPortId">Serial device ID for the Roomba</param>
        /// <param name="lidarPortId">Serial device ID for the LIDAR</param>
        /// <returns></returns>
        public async Task InitializeAsync(string roombaDeviceId = Roomba.DEFAULT_DEVICE_ID, string lidarDeviceId = Lidar.DEFAULT_DEVICE_ID)
        {
            Debug.WriteLine("Initializing Controller...");
            OnControllerMessageReceived("Initializing controller...");

            // Initialize the Roomba
            await Roomba.InitializeAsync(roombaDeviceId, 20);

            Roomba.Stopped += Roomba_Stopped;
            OnControllerMessageReceived("Roomba successfully initialized.");

            // Initialize the LIDAR
            await Lidar.InitializeAsync(lidarDeviceId);

            Lidar.ScanComplete += Lidar_ScanComplete;
            Lidar.StartScan();
            OnControllerMessageReceived("LIDAR successfully initialized.");

            Analysis.AnalysisChanged += Analysis_AnalysisChanged;

            Debug.WriteLine("Controller initialization completed.");

            IsEnabled = true;
        }