public static usb_relay_device_info usb_relay_device_enumerate() { IntPtr x = RelayDeviceWrapper.Pusb_relay_device_enumerate(); usb_relay_device_info a = (usb_relay_device_info)Marshal.PtrToStructure(x, typeof(usb_relay_device_info)); return(a); }
static void Main(string[] args) { try { Console.Write("Initializing..."); if (RelayDeviceWrapper.Init()) { Console.WriteLine("succeeded."); var deviceInfo = RelayDeviceWrapper.GetDeviceInfo(); var serialNumber = deviceInfo.SerialNumber; Console.WriteLine($"Device serial number: {serialNumber}"); var deviceHandle = RelayDeviceWrapper.OpenDevice(serialNumber); Console.WriteLine($"Device: {serialNumber} opened, handle: {deviceHandle}"); Console.Write("Calling method to open all relays... "); if (RelayDeviceWrapper.OpenAllRelays(deviceHandle)) { Console.WriteLine("succeeded."); } else { Console.WriteLine("failed."); } System.Threading.Thread.Sleep(2000); Console.Write("Calling method to close all relays... "); if (RelayDeviceWrapper.CloseAllRelays(deviceHandle)) { Console.WriteLine("succeeded."); } else { Console.WriteLine("failed."); } System.Threading.Thread.Sleep(2000); for (var i = 1; i <= 16; i++) { System.Threading.Thread.Sleep(500); Console.Write($"Opening relay index: {i}... "); if (RelayDeviceWrapper.OpenRelay(deviceHandle, i)) { Console.WriteLine("succeeded."); } else { Console.WriteLine("failed."); } } System.Threading.Thread.Sleep(2000); for (var i = 1; i <= 16; i++) { System.Threading.Thread.Sleep(500); Console.Write($"Closing relay index: {i}... "); if (RelayDeviceWrapper.CloseRelay(deviceHandle, i)) { Console.WriteLine("succeeded."); } else { Console.WriteLine("failed."); } } Console.WriteLine("Exiting..."); if (RelayDeviceWrapper.Exit()) { Console.WriteLine("Exited successfully."); } } else { Console.WriteLine("failed."); } } catch (Exception ex) { Console.WriteLine($"An error occured: {ex}"); } Console.ReadLine(); }