Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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.");
            }
        }
Exemplo n.º 3
0
        public void Scantest()
        {
            var ch341 = new CH341(CH341registry);

            for (int i = CH341.I2C_AddressMin; i <= CH341.I2C_AddressMax; ++i)
            {
                ch341.I2C_Detect(i);
            }
        }