public void SendCommand(byte[] cmd, StringReceivedHandler msgReceivedHandler) { if (Busy) { throw new Exception("Port busy. Cannot send command."); } _currentCmd = CommandType.All; var wasOpen = _port.IsOpen; _jsonHandler = json => { var str = json.Aggregate("", (c, el) => c + ("[" + el.Key + "] => " + el.Value + "\r\n")); msgReceivedHandler(str); }; _okHandler = result => { msgReceivedHandler("OK"); }; _stringHandler = msgReceivedHandler; try { if (!wasOpen) { OpenPort(); } JsonReceived += _jsonHandler; OkReceived += _okHandler; LineReceived += _stringHandler; _port.Write(cmd, 0, cmd.Length); } catch (Exception) { EndCommand(!wasOpen); throw; } }
public void JsonCommand(byte[] cmd, JsonReceivedHandler msgReceivedHandler) { if (Busy) { throw new Exception("Port busy. Cannot send command."); } _currentCmd = CommandType.Json; var wasOpen = _port.IsOpen; _jsonHandler = json => { EndCommand(!wasOpen); msgReceivedHandler(json); }; try { if (!wasOpen) { OpenPort(); } JsonReceived += _jsonHandler; _port.Write(cmd, 0, cmd.Length); } catch (Exception) { EndCommand(!wasOpen); throw; } }
public void SendCommand(byte[] cmd, StringReceivedHandler msgReceivedHandler) { if (Busy) throw new Exception("Port busy. Cannot send command."); _currentCmd = CommandType.All; var wasOpen = _port.IsOpen; _jsonHandler = json => { var str = json.Aggregate("", (c, el) => c + ("[" + el.Key + "] => " + el.Value + "\r\n")); msgReceivedHandler(str); }; _okHandler = result => { msgReceivedHandler("OK"); }; _stringHandler = msgReceivedHandler; try { if (!wasOpen) OpenPort(); JsonReceived += _jsonHandler; OkReceived += _okHandler; LineReceived += _stringHandler; _port.Write(cmd, 0, cmd.Length); } catch (Exception) { EndCommand(!wasOpen); throw; } }
public void JsonCommand(byte[] cmd, JsonReceivedHandler msgReceivedHandler) { if (Busy) throw new Exception("Port busy. Cannot send command."); _currentCmd = CommandType.Json; var wasOpen = _port.IsOpen; _jsonHandler = json => { EndCommand(!wasOpen); msgReceivedHandler(json); }; try { if (!wasOpen) OpenPort(); JsonReceived += _jsonHandler; _port.Write(cmd, 0, cmd.Length); } catch (Exception) { EndCommand(!wasOpen); throw; } }