static const char *default_firmware_filename = "std.ihx";
static const char *default_fpga_filename = "std_2rxhb_2tx.rbf";
-
static char *
find_file (const char *filename, int hw_rev)
{
int
usrp_hw_rev (libusb_device *q)
{
- libusb_device_descriptor desc = get_usb_device_descriptor(q);
+ libusb_device_descriptor desc = _get_usb_device_descriptor(q);
return desc.bcdDevice & 0x00FF;
}
static bool
_usrp_configured_p (libusb_device *q)
{
- libusb_device_descriptor desc = get_usb_device_descriptor(q);
+ libusb_device_descriptor desc = _get_usb_device_descriptor(q);
return (desc.bcdDevice & 0xFF00) != 0;
}
bool
usrp_usrp_p (libusb_device *q)
{
- libusb_device_descriptor desc = get_usb_device_descriptor(q);
+ libusb_device_descriptor desc = _get_usb_device_descriptor(q);
return (desc.idVendor == USB_VID_FSF
&& desc.idProduct == USB_PID_FSF_USRP);
}
bool
usrp_fx2_p (libusb_device *q)
{
- libusb_device_descriptor desc = get_usb_device_descriptor(q);
+ libusb_device_descriptor desc = _get_usb_device_descriptor(q);
return (desc.idVendor == USB_VID_CYPRESS
&& desc.idProduct == USB_PID_CYPRESS_FX2);
}
if (n > quanta)
n = quanta;
- a = usb_control_transfer (udh, 0x40, 0xA0, addr, 0,
+ a = _usb_control_transfer (udh, 0x40, 0xA0, addr, 0,
(unsigned char*)(buf + (addr - start_addr)), n, 1000);
if (a < 0){
which &= 1;
// we use the Cypress firmware down load command to jam it in.
- int r = usb_control_transfer (udh, 0x40, 0xa0, hash_slot_addr[which], 0,
+ int r = _usb_control_transfer (udh, 0x40, 0xa0, hash_slot_addr[which], 0,
(unsigned char *) hash, USRP_HASH_SIZE, 1000);
return r == USRP_HASH_SIZE;
}
which &= 1;
// we use the Cypress firmware upload command to fetch it.
- int r = usb_control_transfer (udh, 0xc0, 0xa0, hash_slot_addr[which], 0,
+ int r = _usb_control_transfer (udh, 0xc0, 0xa0, hash_slot_addr[which], 0,
(unsigned char *) hash, USRP_HASH_SIZE, 1000);
return r == USRP_HASH_SIZE;
}
bool
usrp_write_fpga_reg (libusb_device_handle *udh, int reg, int value)
{
- switch (usrp_hw_rev (get_usb_device (udh))){
+ switch (usrp_hw_rev (_get_usb_device (udh))){
case 0: // not supported ;)
abort();
bool
usrp_read_fpga_reg (libusb_device_handle *udh, int reg, int *value)
{
- switch (usrp_hw_rev (get_usb_device (udh))){
+ switch (usrp_hw_rev (_get_usb_device (udh))){
case 0: // not supported ;)
abort();
power_down_9862s (libusb_device_handle *udh)
{
static const unsigned char regs[] = {
- REG_RX_PWR_DN, 0x01, // everything
- REG_TX_PWR_DN, 0x0f, // pwr dn digital and analog_both
- REG_TX_MODULATOR, 0x00 // coarse & fine modulators disabled
+ REG_RX_PWR_DN, 0x01, // everything
+ REG_TX_PWR_DN, 0x0f, // pwr dn digital and analog_both
+ REG_TX_MODULATOR, 0x00 // coarse & fine modulators disabled
};
- switch (usrp_hw_rev (get_usb_device (udh))){
+ switch (usrp_hw_rev (_get_usb_device (udh))){
case 0:
break;
0, buf, sizeof (buf));
}
+// ----------------------------------------------------------------
+
+std::string
+usrp_serial_number(libusb_device_handle *udh)
+{
+ libusb_device_descriptor desc =
+ _get_usb_device_descriptor (_get_usb_device (udh));
+
+ unsigned char iserial = desc.iSerialNumber;
+ if (iserial == 0)
+ return "";
+
+ unsigned char buf[1024];
+ if (_get_usb_string_descriptor (udh, iserial, buf, sizeof(buf)) < 0)
+ return "";
+
+ return (char*) buf;
+}