Ejemplo n.º 1
0
 public void Dispose()
 {
     if (SerialD != null && SerialD.IsOpen)
     {
         SerialD.Close();
     }
     SerialD = null;
 }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        private void Disconnect()
        {
            lock (_serialLock)
            {
                if (SerialD?.IsOpen == true)
                {
                    SerialD.Close();
                }
                SerialD = null;
            }

            Triggers = null;
        }
Ejemplo n.º 4
0
 public void LoadSettingsFromEEPROM()
 {
     SerialD.Send(new SysExMessage(SysExMsg.MSG_EEPROM, CommandType.Get).ToArray());
     LoadSettings();
 }
Ejemplo n.º 5
0
 public void WriteSettingsToEEPROM()
 {
     SerialD.Send(new SysExMessage(SysExMsg.MSG_EEPROM, CommandType.Set).ToArray());
 }
Ejemplo n.º 6
0
 public List <byte> GetAllPinValues()
 {
     lock (_serialLock)
         return(SerialD.RunCommand(SysExMsg.GetPinValue, CommandType.Get, byte.MaxValue).Values.Skip(1)
                .ToList());
 }
Ejemplo n.º 7
0
 public byte GetPinValue(Pins pin)
 {
     lock (_serialLock)
         return(SerialD.RunCommand(SysExMsg.GetPinValue, CommandType.Get, (byte)pin).Values[1]);
 }
Ejemplo n.º 8
0
 public void LoadSettingsFromEeprom()
 {
     lock (_serialLock)
         SerialD.Send(new SysExMessage(SysExMsg.Eeprom, CommandType.Get).ToArray());
     LoadSettings();
 }
Ejemplo n.º 9
0
 public void WriteSettingsToEeprom()
 {
     SaveSettings();
     lock (_serialLock)
         SerialD.Send(new SysExMessage(SysExMsg.Eeprom, CommandType.Set).ToArray());
 }