Ejemplo n.º 1
0
        // old  obsolete code follows

        public static int oz_start()
        {
            libUSB_Interface.usb_bus bus;

            try
            {
                libUSB_Interface.usb_init();
                System.Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                System.Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                System.Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                System.Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                System.Console.WriteLine("An error occurred: " + e.Message);
                return(1);
            }

            int vid = 0xfffe;
            int pid = 0x7;

            System.Console.WriteLine("Checking for VID PID...");

            libUSB_Interface.usb_device fdev = HPSDR_USB_LIB_V1.USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                System.Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                System.Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return(1);
            }
            return(1);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            if ((args.Length != 3) || (args.Length == 0))
            {
                Console.WriteLine("usage: load_firmware <VID> <PID> <filename>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            string filename = args[2];

            if (!(File.Exists(filename)))
            {
                Console.WriteLine(filename + " does not exist!");
                return;
            }

            libUSB_Interface.usb_bus bus;

            try
            {
                libUSB_Interface.usb_init();
                Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle;

            try
            {
                usb_dev_handle = libUSB_Interface.usb_open(fdev);
                Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Resetting CPU...Reset ON...");
            Console.WriteLine("Result: " + USB.Reset_CPU(usb_dev_handle, true).ToString());

            Console.WriteLine("Opening intel hex file: " + filename);

            try
            {
                Console.WriteLine("Result: " + USB.Upload_Firmware(usb_dev_handle, filename).ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("Closing device...");
                libUSB_Interface.usb_close(usb_dev_handle);
                Console.WriteLine("Error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Taking CPU out of reset...");
            Console.WriteLine("Result: " + USB.Reset_CPU(usb_dev_handle, false).ToString());

            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            if ((args.Length != 5) || (args.Length == 0))
            {
                Console.WriteLine("usage: write_EEPROM <VID> <PID> <i2c_address in hex> <start_pos in hex> <value in hex>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            if (args[2].Length > 2)
            {
                if (args[2].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify i2c_addr in Hex (0x0)");
                    return;
                }
                else
                {
                    args[2] = args[2].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify i2c_addr in Hex (0x0)");
                return;
            }

            int i2c_addr = int.Parse(args[2], NumberStyles.HexNumber);

            if (args[3].Length > 2)
            {
                if (args[3].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify start_pos in Hex (0x0)");
                    return;
                }
                else
                {
                    args[3] = args[3].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify start_pos in Hex (0x0)");
                return;
            }

            int start = int.Parse(args[3], NumberStyles.HexNumber);

            if (args[4].Length > 2)
            {
                if (args[4].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify value in Hex (0x0)");
                    return;
                }
                else
                {
                    args[4] = args[4].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify value in Hex (0x0)");
                return;
            }
            int value = int.Parse(args[4], NumberStyles.HexNumber);

            libUSB_Interface.usb_init();
            Console.WriteLine("finding busses...");
            libUSB_Interface.usb_find_busses();
            Console.WriteLine("finding devices...");
            libUSB_Interface.usb_find_devices();
            Console.WriteLine("usb_get_busses...");
            libUSB_Interface.usb_bus bus = libUSB_Interface.usb_get_busses();
            Console.WriteLine("bus location: " + bus.location.ToString());

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle = libUSB_Interface.usb_open(fdev);

            Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());

            byte[] buf = new byte[1];

            buf[0] = (byte)value;

            if ((OZY.Write_EEPROM(usb_dev_handle, i2c_addr, start, buf)))
            {
                Console.WriteLine("Writing address " + i2c_addr);
            }
            else
            {
                Console.WriteLine("Failed to write address " + i2c_addr);
            }

            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }
Ejemplo n.º 4
0
        public void run()
        {
            libUSB_Interface.usb_bus bus;
            vid = 0xfffe;
            pid = 0x7;

            try
            {
                libUSB_Interface.usb_init();
                Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            // IntPtr usb_dev_handle;

            try
            {
                usb_dev_handle = libUSB_Interface.usb_open(fdev);
                Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            while (true)
            {
                int status;
#if false
                Console.WriteLine("none on");
                LatchEmAll(usb_dev_handle, 0x0);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status);
                Thread.Sleep(2000);
                Console.WriteLine("half on");
                LatchEmAll(usb_dev_handle, 0x55);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status);
                Thread.Sleep(2000);
                Console.WriteLine("other half on");
                LatchEmAll(usb_dev_handle, 0xaa);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status);
                Thread.Sleep(2000);
                Console.WriteLine("all on");
                LatchEmAll(usb_dev_handle, 0xff);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status);
                Thread.Sleep(2000);
#endif

#if false
                int rc;
                for (int i = 0; i < 64; i++)
                {
                    Console.WriteLine("i: " + i + " (0x" + i.ToString("X") + ")");
                    writeDataSPI(usb_dev_handle, (byte)i);
                    Thread.Sleep(1000);
                    // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                    // Console.WriteLine("clear_halt rc=" + rc);
                    status = readStatusSPI(usb_dev_handle);
                    Console.WriteLine("Status: " + status.ToString("X") + " i: " + i.ToString("X"));
                    Console.WriteLine();
                }
#endif


#if true
                Console.WriteLine("all on");
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                writeDataReg(usb_dev_handle, 0xff);
                // writeDataSPI(usb_dev_handle, 0xff);
                Thread.Sleep(1000);
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                //Console.WriteLine("clear_halt rc=" + rc);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
#endif

#if false
                int rc;
                Console.WriteLine("none on");
                // writeDataSPI(usb_dev_handle, 0x00);
                writeDataReg(usb_dev_handle, 0x0);
                Thread.Sleep(1000);
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                Thread.Sleep(2000);
                Console.WriteLine("half on");
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                // writeDataSPI(usb_dev_handle, 0x55);
                writeDataReg(usb_dev_handle, 0x55);
                Thread.Sleep(1000);
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                Thread.Sleep(2000);
                Console.WriteLine("other half on");
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                writeDataReg(usb_dev_handle, 0xaa);
                // writeDataSPI(usb_dev_handle, 0xaa);
                Thread.Sleep(1000);
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                Thread.Sleep(2000);
                Console.WriteLine("all on");
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                // Console.WriteLine("clear_halt rc=" + rc);
                writeDataReg(usb_dev_handle, 0xff);
                // writeDataSPI(usb_dev_handle, 0xff);
                Thread.Sleep(1000);
                // rc = libUSB_Interface.usb_clear_halt(usb_dev_handle, 0);
                //Console.WriteLine("clear_halt rc=" + rc);
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                status = readStatus(usb_dev_handle);
                Console.WriteLine("Status: " + status.ToString("X"));
                Thread.Sleep(2000);
#endif
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            if ((args.Length != 4) || (args.Length == 0))
            {
                Console.WriteLine("usage: write_SPI <VID> <PID> <address in hex> <value in hex>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            if (args[2].Length > 2)
            {
                if (args[2].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must addr in Hex (0x0)");
                    return;
                }
                else
                {
                    args[2] = args[2].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify addr in Hex (0x0)");
                return;
            }

            int addr = int.Parse(args[2], NumberStyles.HexNumber);

            if (args[3].Length > 2)
            {
                if (args[3].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify value in Hex (0x0)");
                    return;
                }
                else
                {
                    args[3] = args[3].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify value in Hex (0x0)");
                return;
            }

            int value = int.Parse(args[3], NumberStyles.HexNumber);

            libUSB_Interface.usb_bus bus;

            try
            {
                libUSB_Interface.usb_init();
                Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle;

            try
            {
                usb_dev_handle = libUSB_Interface.usb_open(fdev);
                Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            byte[] buf = new byte[1];
            addr = addr & 0x3F;

            buf[0] = (byte)value;

            if ((OZY.Write_SPI(usb_dev_handle, 0, (byte)addr, OZY.SPI_EN_FPGA, (OZY.SPI_FMT_MSB | OZY.SPI_FMT_HDR_1), buf)))
            {
                Console.WriteLine("Wrote to address: " + addr + " : " + value);
            }
            else
            {
                Console.WriteLine("Failed to write address: " + addr);
            }
            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }
Ejemplo n.º 6
0
        public void run()
        {
            libUSB_Interface.usb_bus bus;
            vid = 0xfffe;
            pid = 0x7;

            try
            {
                libUSB_Interface.usb_init();
                Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            // IntPtr usb_dev_handle;

            try
            {
                usb_dev_handle = libUSB_Interface.usb_open(fdev);
                Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            bool rc;

            rc = ResetDDS();
            if (!rc)
            {
                System.Console.WriteLine("ResetDDS failed\n");
                return;
            }

            while (true)
            {
#if false
                // this blob of code alternates all 0's, 1's, 10101..., 0101... to
                // IC1 on the PIO board -- can be viewed at JP2 of the PIO board
                //
                Console.WriteLine("Latching all 0's");
                LatchRegister(PIO_IC1, 0);
                Thread.Sleep(10000);
                Console.WriteLine("Latching all 1's");
                LatchRegister(PIO_IC1, 0x7f);
                Thread.Sleep(10000);
                Console.WriteLine("Latching all 1010101");
                LatchRegister(PIO_IC1, 0x55);
                Thread.Sleep(10000);
                Console.WriteLine("Latching all 0101010");
                LatchRegister(PIO_IC1, 0x2a);
                Thread.Sleep(10000);
#endif



#if true
                Console.WriteLine("----------------------------------------------- Tuning 10 Mhz");
                long tuning_word = FreqToTuningWord(10000000);
                DDSTune(tuning_word);
                Thread.Sleep(10000);
                Console.WriteLine("----------------------------------------------- Tuning 10 000 010 hz");
                tuning_word = FreqToTuningWord(10000010);
                DDSTune(tuning_word);
                Thread.Sleep(10000);
                Console.WriteLine("----------------------------------------------- Tuning 5 Mhz");
                tuning_word = FreqToTuningWord(5000000);
                DDSTune(tuning_word);
                Thread.Sleep(10000);
#endif
            }



#if false
            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
#endif
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            if ((args.Length != 3) || (args.Length == 0))
            {
                Console.WriteLine("usage: read_SPI <VID> <PID> <address in hex>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            if (args[2].Length > 2)
            {
                if (args[2].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify addr in Hex (0x0)");
                    return;
                }
                else
                {
                    args[2] = args[2].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify addr in Hex (0x0)");
                return;
            }

            int addr = int.Parse(args[2], NumberStyles.HexNumber);

            libUSB_Interface.usb_init();
            Console.WriteLine("finding busses...");
            libUSB_Interface.usb_find_busses();
            Console.WriteLine("finding devices...");
            libUSB_Interface.usb_find_devices();
            Console.WriteLine("usb_get_busses...");
            libUSB_Interface.usb_bus bus = libUSB_Interface.usb_get_busses();
            Console.WriteLine("bus location: " + bus.location.ToString());

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle = libUSB_Interface.usb_open(fdev);

            Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());

            byte[] buf = new byte[1];

            buf[0] = 0x00;
            addr   = addr | 0x40;

            if ((OZY.Read_SPI(usb_dev_handle, 0, (byte)addr, OZY.SPI_EN_FPGA, OZY.SPI_FMT_MSB | OZY.SPI_FMT_HDR_1, ref buf)))
            {
                Console.WriteLine("Read from address " + addr.ToString("X") + " : " + buf[0].ToString("X"));
                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("Failed to read address " + addr);
            }

            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            if ((args.Length != 2) || (args.Length == 0))
            {
                Console.WriteLine("usage: program_OZYEEPROM <VID> <PID>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            libUSB_Interface.usb_bus bus;

            try
            {
                libUSB_Interface.usb_init();
                Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle;

            try
            {
                usb_dev_handle = libUSB_Interface.usb_open(fdev);
                Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            byte[] buf = new byte[8];

            int i2c_addr = 0x51; // address of 24LC128 EEPROM

            buf[0] = 0xC0;       // C0 load
            buf[1] = 0xFE;       // low byte of VID
            buf[2] = 0xFF;       // high byte of VID
            buf[3] = 0xFF;       // low byte of PID
            buf[4] = 0x00;       // high byte of PID
            buf[5] = 0x01;       // low byte of DID <-- revision number
            buf[6] = 0x00;       // high byte of DID
            buf[7] = 0x00;       // configuration byte

            if ((OZY.Write_EEPROM(usb_dev_handle, i2c_addr, 0x00, buf)))
            {
                Console.WriteLine("Programming Successful!");
            }
            else
            {
                Console.WriteLine("Failed to program EEPROM");
            }

            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            if ((args.Length != 4) || (args.Length == 0))
            {
                Console.WriteLine("usage: read_I2C <VID> <PID> <i2c_address in hex> <length in hex>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            if (args[2].Length > 2)
            {
                if (args[2].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify i2c_addr in Hex (0x0)");
                    return;
                }
                else
                {
                    args[2] = args[2].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify i2c_addr in Hex (0x0)");
                return;
            }

            int i2c_addr = int.Parse(args[2], NumberStyles.HexNumber);


            if (args[3].Length > 2)
            {
                if (args[3].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify length in Hex (0x0)");
                    return;
                }
                else
                {
                    args[3] = args[3].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify length in Hex (0x0)");
                return;
            }

            int length = int.Parse(args[3], NumberStyles.HexNumber);


            libUSB_Interface.usb_init();
            Console.WriteLine("finding busses...");
            libUSB_Interface.usb_find_busses();
            Console.WriteLine("finding devices...");
            libUSB_Interface.usb_find_devices();
            Console.WriteLine("usb_get_busses...");
            libUSB_Interface.usb_bus bus = libUSB_Interface.usb_get_busses();
            Console.WriteLine("bus location: " + bus.location.ToString());

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle = libUSB_Interface.usb_open(fdev);

            Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());

            byte[] buf = new byte[length];

            if ((OZY.Read_I2C(usb_dev_handle, i2c_addr, ref buf)))
            {
                Console.WriteLine("Read from address " + i2c_addr + ":");
                for (int i = 0; i < buf.Length; i++)
                {
                    Console.Write(buf[i] + ":");
                }
                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("Failed to read address " + i2c_addr);
            }

            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            if ((args.Length != 4) || (args.Length == 0))
            {
                Console.WriteLine("usage: set_LED <VID> <PID> <which_led = 0|1> <state = ON|OFF>");
                return;
            }

            if (args[0].Length > 2)
            {
                if (args[0].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify VID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[0] = args[0].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify VID in Hex (0x0)");
                return;
            }


            int vid = int.Parse(args[0], NumberStyles.HexNumber);

            if (args[1].Length > 2)
            {
                if (args[1].Substring(0, 2) != "0x")
                {
                    Console.WriteLine("You must specify PID in Hex (0x0)");
                    return;
                }
                else
                {
                    args[1] = args[1].Substring(2);
                }
            }
            else
            {
                Console.WriteLine("You must specify PID in Hex (0x0)");
                return;
            }

            int pid = int.Parse(args[1], NumberStyles.HexNumber);

            int which = int.Parse(args[2], NumberStyles.HexNumber);

            if (which > 1 || which < 0)
            {
                Console.WriteLine("Valid values for which_led are 0 or 1");
                return;
            }

            bool state;

            if (args[3] == "ON" ||
                args[3] == "on" ||
                args[3] == "On" ||
                args[3] == "1" ||
                args[3] == "true" ||
                args[3] == "TRUE" ||
                args[3] == "True")
            {
                state = true;
            }
            else if (args[3] == "OFF" ||
                     args[3] == "off" ||
                     args[3] == "Off" ||
                     args[3] == "0" ||
                     args[3] == "false" ||
                     args[3] == "FALSE" ||
                     args[3] == "False")
            {
                state = false;
            }
            else
            {
                Console.WriteLine("Valid values for state are ON or OFF");
                return;
            }

            libUSB_Interface.usb_bus bus;

            try
            {
                libUSB_Interface.usb_init();
                Console.WriteLine("finding busses...");
                libUSB_Interface.usb_find_busses();
                Console.WriteLine("finding devices...");
                libUSB_Interface.usb_find_devices();
                Console.WriteLine("usb_get_busses...");
                bus = libUSB_Interface.usb_get_busses();
                Console.WriteLine("bus location: " + bus.location.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Checking for VID PID...");
            libUSB_Interface.usb_device fdev = USB.FindDevice(bus, vid, pid);
            if (fdev != null)
            {
                Console.WriteLine("Found VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
            }
            else
            {
                Console.WriteLine("did not find VID PID: " + vid.ToString("x") + " " + pid.ToString("x"));
                return;
            }

            Console.WriteLine("Trying to open device...");

            IntPtr usb_dev_handle;

            try
            {
                usb_dev_handle = libUSB_Interface.usb_open(fdev);
                Console.WriteLine("Device handle is: " + usb_dev_handle.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return;
            }

            Console.WriteLine("Setting LED " + which.ToString() + " " + state.ToString());
            OZY.Set_LED(usb_dev_handle, which, state);

            Console.WriteLine("Closing device...");
            libUSB_Interface.usb_close(usb_dev_handle);
            Console.WriteLine("done...");
        }