#include <usrp_basic.h>
Public Member Functions | |
~usrp_basic_tx () | |
bool | set_fpga_tx_sample_rate_divisor (unsigned int div) |
tell the fpga the rate tx samples are going to the D/A's | |
int | write (const void *buf, int len, bool *underrun) |
Write data to the A/D's via the FPGA. | |
void | wait_for_completion () |
virtual long | converter_rate () const |
sampling rate of D/A converter | |
long | dac_rate () const |
long | dac_freq () const |
deprecated method name | |
int | daughterboard_id (int which_dboard) const |
Return daughterboard ID for given Tx daughterboard slot [0,1]. | |
bool | set_pga (int which, double gain_in_db) |
Set Programmable Gain Amplifier (PGA). | |
double | pga (int which) const |
Return programmable gain amplifier gain in dB. | |
double | pga_min () const |
Return minimum legal PGA gain in dB. | |
double | pga_max () const |
Return maximum legal PGA gain in dB. | |
double | pga_db_per_step () const |
Return hardware step size of PGA (linear in dB). | |
bool | _write_oe (int which_dboard, int value, int mask) |
Write direction register (output enables) for pins that go to daughterboard. | |
bool | write_io (int which_dboard, int value, int mask) |
Write daughterboard i/o pin value. | |
bool | read_io (int which_dboard, int *value) |
Read daughterboard i/o pin value. | |
int | read_io (int which_dboard) |
Read daughterboard i/o pin value. | |
bool | write_aux_dac (int which_board, int which_dac, int value) |
Write auxiliary digital to analog converter. | |
bool | read_aux_adc (int which_dboard, int which_adc, int *value) |
Read auxiliary analog to digital converter. | |
int | read_aux_adc (int which_dboard, int which_adc) |
Read auxiliary analog to digital converter. | |
int | block_size () const |
returns current fusb block size | |
bool | start () |
Start data transfers. Called in base class to derived class order. | |
bool | stop () |
Stop data transfers. Called in base class to derived class order. | |
Static Public Member Functions | |
static usrp_basic_tx * | make (int which_board, int fusb_block_size=0, int fusb_nblocks=0, const std::string fpga_filename="", const std::string firmware_filename="") |
invokes constructor, returns instance or 0 if trouble | |
Protected Member Functions | |
usrp_basic_tx (int which_board, int fusb_block_size=0, int fusb_nblocks=0, const std::string fpga_filename="", const std::string firmware_filename="") | |
bool | set_tx_enable (bool on) |
bool | tx_enable () const |
bool | disable_tx () |
void | restore_tx (bool on) |
void | probe_tx_slots (bool verbose) |
int | dboard_to_slot (int dboard) |
Protected Attributes | |
int | d_dbid [2] |
usrp_basic_tx::usrp_basic_tx | ( | int | which_board, | |
int | fusb_block_size = 0 , |
|||
int | fusb_nblocks = 0 , |
|||
const std::string | fpga_filename = "" , |
|||
const std::string | firmware_filename = "" | |||
) | [protected] |
which_board | Which USRP board on usb (not particularly useful; use 0) | |
fusb_block_size | fast usb xfer block size. Must be a multiple of 512. Use zero for a reasonable default. | |
fusb_nblocks | number of fast usb URBs to allocate. Use zero for a reasonable default. |
usrp_basic_tx::~usrp_basic_tx | ( | ) |
bool usrp_basic_tx::_write_oe | ( | int | which_dboard, | |
int | value, | |||
int | mask | |||
) |
Write direction register (output enables) for pins that go to daughterboard.
which_dboard | [0,1] which d'board | |
value | value to write into register | |
mask | which bits of value to write into reg |
This register is initialized based on a value stored in the d'board EEPROM. In general, you shouldn't be using this routine without a very good reason. Using this method incorrectly will kill your USRP motherboard and/or daughterboard.
int usrp_basic_tx::block_size | ( | ) | const |
returns current fusb block size
virtual long usrp_basic_tx::converter_rate | ( | ) | const [inline, virtual] |
sampling rate of D/A converter
References usrp_basic::fpga_master_clock_freq().
Referenced by dac_freq(), and dac_rate().
long usrp_basic_tx::dac_freq | ( | ) | const [inline] |
long usrp_basic_tx::dac_rate | ( | ) | const [inline] |
References converter_rate().
int usrp_basic_tx::daughterboard_id | ( | int | which_dboard | ) | const [inline] |
Return daughterboard ID for given Tx daughterboard slot [0,1].
-1 if no daugherboard
-2 if invalid EEPROM on daughterboard
References d_dbid.
int usrp_basic_tx::dboard_to_slot | ( | int | dboard | ) | [inline, protected] |
bool usrp_basic_tx::disable_tx | ( | ) | [protected] |
static usrp_basic_tx* usrp_basic_tx::make | ( | int | which_board, | |
int | fusb_block_size = 0 , |
|||
int | fusb_nblocks = 0 , |
|||
const std::string | fpga_filename = "" , |
|||
const std::string | firmware_filename = "" | |||
) | [static] |
invokes constructor, returns instance or 0 if trouble
which_board | Which USRP board on usb (not particularly useful; use 0) | |
fusb_block_size | fast usb xfer block size. Must be a multiple of 512. Use zero for a reasonable default. | |
fusb_nblocks | number of fast usb URBs to allocate. Use zero for a reasonable default. |
double usrp_basic_tx::pga | ( | int | which | ) | const |
Return programmable gain amplifier gain in dB.
which | which D/A [0,3] |
double usrp_basic_tx::pga_db_per_step | ( | ) | const [inline] |
Return hardware step size of PGA (linear in dB).
double usrp_basic_tx::pga_max | ( | ) | const [inline] |
Return maximum legal PGA gain in dB.
double usrp_basic_tx::pga_min | ( | ) | const [inline] |
Return minimum legal PGA gain in dB.
void usrp_basic_tx::probe_tx_slots | ( | bool | verbose | ) | [protected] |
int usrp_basic_tx::read_aux_adc | ( | int | which_dboard, | |
int | which_adc | |||
) |
Read auxiliary analog to digital converter.
which_dboard | [0,1] which d'board | |
which_adc | [0,1] |
Reimplemented from usrp_basic.
bool usrp_basic_tx::read_aux_adc | ( | int | which_dboard, | |
int | which_adc, | |||
int * | value | |||
) |
Read auxiliary analog to digital converter.
which_dboard | [0,1] which d'board | |
which_adc | [0,1] | |
value | return 12-bit value [0,4095] |
Reimplemented from usrp_basic.
int usrp_basic_tx::read_io | ( | int | which_dboard | ) |
Read daughterboard i/o pin value.
which_dboard | [0,1] which d'board |
bool usrp_basic_tx::read_io | ( | int | which_dboard, | |
int * | value | |||
) |
Read daughterboard i/o pin value.
which_dboard | [0,1] which d'board | |
value | return value |
void usrp_basic_tx::restore_tx | ( | bool | on | ) | [protected] |
bool usrp_basic_tx::set_fpga_tx_sample_rate_divisor | ( | unsigned int | div | ) |
tell the fpga the rate tx samples are going to the D/A's
div = fpga_master_clock_freq () * 2
sample_rate is determined by a myriad of registers in the 9862. That's why you have to tell us, so we can tell the fpga.
bool usrp_basic_tx::set_pga | ( | int | which, | |
double | gain_in_db | |||
) |
Set Programmable Gain Amplifier (PGA).
which | which D/A [0,3] | |
gain_in_db | gain value (linear in dB) |
bool usrp_basic_tx::set_tx_enable | ( | bool | on | ) | [protected] |
bool usrp_basic_tx::start | ( | ) |
Start data transfers. Called in base class to derived class order.
Reimplemented from usrp_basic.
Reimplemented in usrp_standard_tx.
bool usrp_basic_tx::stop | ( | ) |
Stop data transfers. Called in base class to derived class order.
Reimplemented from usrp_basic.
Reimplemented in usrp_standard_tx.
bool usrp_basic_tx::tx_enable | ( | ) | const [inline, protected] |
void usrp_basic_tx::wait_for_completion | ( | ) |
int usrp_basic_tx::write | ( | const void * | buf, | |
int | len, | |||
bool * | underrun | |||
) |
Write data to the A/D's via the FPGA.
len
must be a multiple of 512 bytes.
underrun
is non-NULL, it will be set to true iff a transmit underrun condition is detected.
bool usrp_basic_tx::write_aux_dac | ( | int | which_board, | |
int | which_dac, | |||
int | value | |||
) |
Write auxiliary digital to analog converter.
which_dboard | [0,1] which d'board N.B., SLOT_TX_A and SLOT_RX_A share the same AUX DAC's. SLOT_TX_B and SLOT_RX_B share the same AUX DAC's. | |
which_dac | [2,3] TX slots must use only 2 and 3. | |
value | [0,4095] |
Reimplemented from usrp_basic.
bool usrp_basic_tx::write_io | ( | int | which_dboard, | |
int | value, | |||
int | mask | |||
) |
Write daughterboard i/o pin value.
which_dboard | [0,1] which d'board | |
value | value to write into register | |
mask | which bits of value to write into reg |
int usrp_basic_tx::d_dbid[2] [protected] |
Referenced by daughterboard_id().