static void Main(string[] args) { Console.WriteLine("Scanning for CH341 devices..."); var devices = Enumerator.Enumerate(); if (devices.Count == 0) { Console.WriteLine("No CH341 devices found!\nAre you correctly LibUSB backend (https://zadig.akeo.ie/)?"); Environment.Exit(-1); } var dev = new CH341(devices.First()); byte addr = 0x17; dev.I2C_Start(); dev.WriteByteCheckAck((byte)(addr << 1)); dev.WriteByteCheckAck(0x80); dev.I2C_Start(); dev.WriteByteCheckAck((byte)((addr << 1) | 1)); dev.ReadByteAck(); dev.ReadByteAck(); dev.ReadByteNak(); dev.I2C_Stop(); }
private static void Main(string[] args) { Console.WriteLine("Scanning for CH341 devices..."); var devices = Enumerator.Enumerate(); if (devices.Count == 0) { Console.WriteLine("No CH341 devices found!\nAre you correctly LibUSB backend (https://zadig.akeo.ie/)?"); Environment.Exit(-1); } foreach (var devreg in devices) { var ch341 = new CH341(devreg); Console.WriteLine($"Using device {ch341.ToString()}..."); int foud_count = 0; for (int i = CH341.I2C_AddressMin; i <= CH341.I2C_AddressMax; ++i) { if (ch341.I2C_Detect(i)) { ++foud_count; Console.WriteLine($"Found i2c slave device at address 0x{i:X}"); } } Console.WriteLine($"Scan complete, {foud_count} found."); } }
public void Scantest() { var ch341 = new CH341(CH341registry); for (int i = CH341.I2C_AddressMin; i <= CH341.I2C_AddressMax; ++i) { ch341.I2C_Detect(i); } }