private void ShutdownRobotConnection() { if (_robot != null) { _robot.SensorControl.StopAll(); _robot.Sleep(); RobotProvider provider = RobotProvider.GetSharedProvider(); provider.DiscoveredRobotEvent -= OnRobotDiscovered; provider.NoRobotsEvent -= OnNoRobotsEvent; provider.ConnectedRobotEvent -= OnRobotConnected; } }
public void ShutdownRobotConnection() { if (m_robot != null) { if (SpheroConnected) { try { if (!AccelerometerFiltered.close()) { SpheroName = "ERROR: Consult debug."; Debug.WriteLine("Unable to close stream,/n" + "please close application and manually delete file://" + AccelerometerFiltered.filePath); } if (!GyrometerFiltered.close()) { SpheroName = "ERROR: Consult debug."; Debug.WriteLine("Unable to close stream,/n" + "please close application and manually delete file://" + GyrometerFiltered.filePath); } m_robot.SensorControl.StopAll(); m_robot.SensorControl.AccelerometerUpdatedEvent -= OnAccelerometerUpdated; m_robot.SensorControl.GyrometerUpdatedEvent -= OnGyrometerUpdated; m_robot.Sleep(); m_robot.Disconnect(); Debug.WriteLine("Sphero Disconnected"); } catch (Exception) { throw; } } m_robot = null; } SpheroConnected = false; InitializeSensorReading.IsEnabled = false; SpheroName = kNoSpheroConnected; RobotProvider provider = RobotProvider.GetSharedProvider(); provider.DiscoveredRobotEvent -= OnRobotDiscovered; provider.NoRobotsEvent -= OnNoRobotsEvent; provider.ConnectedRobotEvent -= OnRobotConnected; }
//Завершаем работу с роботом private void ShutdownRobotConnection() { if (m_robot != null) { m_robot.SensorControl.StopAll(); m_robot.Sleep(); m_robot.Disconnect(); ConnectionToggle.OffContent = "Disconnected"; SpheroName.Text = c_noSpheroConnected; m_robot.SensorControl.AccelerometerUpdatedEvent -= OnAccelerometerUpdated; RobotProvider provider = RobotProvider.GetSharedProvider(); provider.DiscoveredRobotEvent -= OnRobotDiscovered; provider.NoRobotsEvent -= OnNoRobotsEvent; provider.ConnectedRobotEvent -= OnRobotConnected; } }
//Завершаем работу с роботом private void ShutdownRobotConnection() { if (m_robot != null && m_robot.ConnectionState == ConnectionState.Connected) { m_robot.SensorControl.StopAll(); m_robot.CollisionControl.StopDetection(); m_robot.Sleep(); m_robot.Disconnect(); ConnectionToggle.OffContent = "Disconnected"; SpheroName.Text = c_noSpheroConnected; SetRedColor(); RobotProvider provider = RobotProvider.GetSharedProvider(); provider.DiscoveredRobotEvent -= OnRobotDiscovered; provider.NoRobotsEvent -= OnNoRobotsEvent; provider.ConnectedRobotEvent -= OnRobotConnected; } }
//! @brief disconnect from the robot and stop listening private void ShutdownRobotConnection() { if (m_robot != null) { m_robot.SensorControl.StopAll(); m_robot.Sleep(); // temporary while I work on Disconnect. //m_robot.Disconnect(); ConnectionToggle.OffContent = "Disconnected"; SpheroName.Text = kNoSpheroConnected; m_robot.SensorControl.AccelerometerUpdatedEvent -= OnAccelerometerUpdated; m_robot.SensorControl.GyrometerUpdatedEvent -= OnGyrometerUpdated; m_robot.CollisionControl.StopDetection(); m_robot.CollisionControl.CollisionDetectedEvent -= OnCollisionDetected; RobotProvider provider = RobotProvider.GetSharedProvider(); provider.DiscoveredRobotEvent -= OnRobotDiscovered; provider.NoRobotsEvent -= OnNoRobotsEvent; provider.ConnectedRobotEvent -= OnRobotConnected; } }
public void ShutdownRobotConnection() { if (m_robot != null) { try { m_robot.SensorControl.StopAll(); m_robot.Sleep(); m_robot.Disconnect(); m_robot.SensorControl.AccelerometerUpdatedEvent -= OnAccelerometerUpdated; m_robot.SensorControl.GyrometerUpdatedEvent -= OnGyrometerUpdated; RobotProvider provider = RobotProvider.GetSharedProvider(); provider.DiscoveredRobotEvent -= OnRobotDiscovered; provider.NoRobotsEvent -= OnNoRobotsEvent; provider.ConnectedRobotEvent -= OnRobotConnected; } catch (Exception) { throw; } } }
static void Main(string[] args) { SpheroConnector spheroConnector = new SpheroConnector(); Sphero sphero = null; string[] parameters = new string[] { "none" }; string command = "none"; while (!string.IsNullOrEmpty(command)) { command = parameters[0]; switch (command) { case "find": spheroConnector.Scan(); var deviceNames = spheroConnector.DeviceNames; for (int i = 0; i < deviceNames.Count; i++) { Console.WriteLine("{0}: {1}", i, deviceNames[i]); } break; case "connect": if (parameters.Length < 2) { break; } int index = -1; if (int.TryParse(parameters[1], out index)) { try { sphero = spheroConnector.Connect(index); } catch (Exception ex) { Console.WriteLine(ex.Message); } } else { Console.WriteLine("'{0}' is not a valid device index.", parameters[1]); } break; case "close": spheroConnector.Close(); break; case "sleep": sphero.Sleep(); break; case "setcolor": if (parameters.Length < 2) { break; } ChangeColor(sphero, parameters[1]); break; case "getresponses": { if (parameters.Length < 2) { break; } int count; if (int.TryParse(parameters[1], out count)) { lock (sphero.Listener.SyncRoot) { IEnumerable <SpheroResponsePacket> packets = sphero.Listener.GetLastResponsePackets(count); foreach (var packet in packets) { Console.WriteLine(packet); } } } } break; case "getasync": { if (parameters.Length < 2) { break; } int count; if (int.TryParse(parameters[1], out count)) { lock (sphero.Listener.SyncRoot) { IEnumerable <SpheroAsyncPacket> packets = sphero.Listener.GetLastAsyncPackets(count); foreach (var packet in packets) { Console.WriteLine(packet); } } } } break; case "exit": spheroConnector.Close(); Console.WriteLine("See you soon ... ;) "); Thread.Sleep(1500); return; case "sendprogram": { var area = StorageArea.Temporary; IEnumerable <string> programLines = GetOrbBasicLinesFromFile("orbbasic.txt"); foreach (var programLine in programLines) { Console.WriteLine(programLine); } sphero.EraseOrbBasicStorage(area); sphero.SendOrbBasicProgram(area, programLines); } break; case "runprogram": { StorageArea area = StorageArea.Temporary; sphero.ExecuteOrbBasicProgram(area, 10); } break; case "abortprogram": sphero.AbortOrbBasicProgram(); break; case "diagnostics": { sphero.PerformLevelOneDiagnostics(); } break; case "none": Console.WriteLine("Welcome to Sphero CMD controll application"); break; case "help": Console.WriteLine("HELP will be realized soon."); break; case "goForward": if (parameters.Length < 3) { break; } ChangeColor(sphero, "Red"); GoForward(sphero, Byte.Parse(parameters[1]), int.Parse(parameters[2])); break; default: Console.WriteLine("Unknown command. Please type 'help' for getting list of available commands."); break; } Console.Write("> "); parameters = Console.ReadLine().Split(new char[] { ' ' }); } }