public void Dispose() { if (SerialD != null && SerialD.IsOpen) { SerialD.Close(); } SerialD = null; }
public void Connect(string ComPort) { GC.Collect(); // avoid open connections if (IsConnected) { throw new Exception($"Already connected to device {SerialD.PortName}"); } SerialD = ComPort == null?SerialDevice.getAvailable() : new SerialDevice(ComPort); PinCount = SerialD.RunCommand(SysExMsg.MSG_GET_PINCOUNT, CommandType.Get).Values[0]; LoadSettings(); }
private void Disconnect() { lock (_serialLock) { if (SerialD?.IsOpen == true) { SerialD.Close(); } SerialD = null; } Triggers = null; }
public void LoadSettingsFromEEPROM() { SerialD.Send(new SysExMessage(SysExMsg.MSG_EEPROM, CommandType.Get).ToArray()); LoadSettings(); }
public void WriteSettingsToEEPROM() { SerialD.Send(new SysExMessage(SysExMsg.MSG_EEPROM, CommandType.Set).ToArray()); }
public List <byte> GetAllPinValues() { lock (_serialLock) return(SerialD.RunCommand(SysExMsg.GetPinValue, CommandType.Get, byte.MaxValue).Values.Skip(1) .ToList()); }
public byte GetPinValue(Pins pin) { lock (_serialLock) return(SerialD.RunCommand(SysExMsg.GetPinValue, CommandType.Get, (byte)pin).Values[1]); }
public void LoadSettingsFromEeprom() { lock (_serialLock) SerialD.Send(new SysExMessage(SysExMsg.Eeprom, CommandType.Get).ToArray()); LoadSettings(); }
public void WriteSettingsToEeprom() { SaveSettings(); lock (_serialLock) SerialD.Send(new SysExMessage(SysExMsg.Eeprom, CommandType.Set).ToArray()); }