/// <summary> /// Return a singleton of this class. /// </summary> /// <returns>The SerialIO instance</returns> public static SerialIO GetInstance() { if (instance == null) { instance = new SerialIO(); } return(instance); }
/// <summary> /// Initialize the SerialIO instance and start the listening thread /// </summary> public void Start() { //Create setters for these properties SerialIO.BaudRate = 9600; SerialIO.PortName = CoreState.SettingsInstance.COMPort; SerialIO.GetInstance().Init(); SerialIO.GetInstance().Listen(); serialThread = new Thread(Listen); serialThread.Start(); }
/// <summary> /// Listen on the serial port while the SerialIO instance is open /// </summary> private void Listen() { while (SerialIO.GetInstance().Active()) { try { string msg = SerialIO.GetInstance().Read(); InputDispatcher.PerformAction(msg); } catch (Exception e) { Console.WriteLine(e.Message.ToString()); //TODO better exceptions } } }
/// <summary> /// Destroy the Serial instance /// </summary> public void Dispose() { SerialIO.GetInstance().Close(); }