// 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); }
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..."); }
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..."); }
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 } }
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..."); }
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 }
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..."); }
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..."); }
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..."); }
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..."); }