public Controller() { Roomba = new Roomba(); Lidar = new Lidar(); Navigation = new Navigation(); Analysis = new LidarAnalysis(); }
public void Dispose() { Roomba.Close(); Lidar.Close(); IsEnabled = false; }
/// <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; }