 
                        
                        ZIP file containing assemblies and source code: WPC CSharp driver
using WPC.Product;
// Get C# driver name
Console.WriteLine($"{Constant.PKG_NAME}");
// Get C# driver full name and version
Console.WriteLine($"{Constant.PKG_FULL_NAME} - Version {Constant.VERSION}");
// Get C# handle list
foreach (var item in Constant.HANDLE_LIST)
{
  Console.WriteLine($"{item}");
}
                                        
using WPC.Product;
// Create device handle
DeviceFinder dev = new DeviceFinder();
// Connect to device
dev.connect();
// Find USB list
List<List<string>> usb_list = dev.Bcst_enumerateUSBDevices();
foreach (List<string> usb in usb_list)
{
    foreach (string s in usb)
    {
        Console.Write(s);
    }
}
// Disconnect to device
dev.disconnect();
// Release device handle
dev.close();
                                        
using WPC.Product;
// Create device handle
DeviceFinder dev = new DeviceFinder();
// Connect to device
dev.connect();
// Find ethernet list
List<List<string>> net_list = dev.Bcst_enumerateNetworkDevices(2000)
foreach (List<string> net in net_list)
{
    foreach (string s in net)
    {
        Console.Write(s);
    }
}
// Disconnect to device
dev.disconnect();
// Release device handle
dev.close();
                                        
using WPC.Product;
// Create device handle
EthanA dev = new EthanA();
// Connect to device
dev.connect("192.168.1.110");
// Get IP & submask
List <string> info = dev.Sys_getIPAddrAndSubmask();
Console.WriteLine($"IP: {info[0]}, Submask: {info[1]}");
// Disconnect device
dev.disconnect();
// Release device handle
dev.close();
                                        
using WPC.Product;
// Create device handle
USBDAQF1AOD dev = new USBDAQF1AOD();
// Connect to device
dev.connect("default");
// Get RTC Time
string RTC = dev.Sys_getRTC();
Console.WriteLine($"RTC data time: {RTC}");
// Disconnect device
dev.disconnect();
// Release device handle
dev.close();