Revision af0543a8
| b/host/docs/build.rst | ||
|---|---|---|
| 53 | 53 |
* **Download URL (windows installer):** http://www.boostpro.com/download |
| 54 | 54 |
|
| 55 | 55 |
^^^^^^^^^^^^^^^^ |
| 56 |
LibUSB |
|
| 57 |
^^^^^^^^^^^^^^^^ |
|
| 58 |
* **Purpose:** USB userspace library |
|
| 59 |
* **Version:** at least 1.0 |
|
| 60 |
* **Required for:** build time + run time (optional) |
|
| 61 |
* **Download URL:** http://www.libusb.org/ |
|
| 62 |
|
|
| 63 |
^^^^^^^^^^^^^^^^ |
|
| 56 | 64 |
Python |
| 57 | 65 |
^^^^^^^^^^^^^^^^ |
| 58 | 66 |
* **Purpose:** used by Cheetah and utility scripts |
| b/host/lib/usrp/dboard/db_dbsrx.cpp | ||
|---|---|---|
| 205 | 205 |
|
| 206 | 206 |
//set the gpio directions and atr controls (identically) |
| 207 | 207 |
this->get_iface()->set_pin_ctrl(dboard_iface::UNIT_RX, 0x0); // All unused in atr |
| 208 |
this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0x0); // All Inputs |
|
| 208 |
if (this->get_iface()->get_special_props().soft_clock_divider){
|
|
| 209 |
this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0x1); // GPIO0 is clock |
|
| 210 |
} |
|
| 211 |
else{
|
|
| 212 |
this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0x0); // All Inputs |
|
| 213 |
} |
|
| 209 | 214 |
|
| 210 | 215 |
//send initial register settings |
| 211 | 216 |
this->send_reg(0x0, 0x5); |
| b/host/lib/usrp/usrp1/dboard_iface.cpp | ||
|---|---|---|
| 49 | 49 |
_codec = codec; |
| 50 | 50 |
|
| 51 | 51 |
//init the clock rate shadows |
| 52 |
this->set_clock_rate(UNIT_RX, _clock->get_master_clock_freq());
|
|
| 53 |
this->set_clock_rate(UNIT_TX, _clock->get_master_clock_freq());
|
|
| 52 |
this->set_clock_rate(UNIT_RX, this->get_clock_rates(UNIT_RX).front());
|
|
| 53 |
this->set_clock_rate(UNIT_TX, this->get_clock_rates(UNIT_TX).front());
|
|
| 54 | 54 |
} |
| 55 | 55 |
|
| 56 | 56 |
~usrp1_dboard_iface() |
| ... | ... | |
| 134 | 134 |
_clock_rates[unit] = rate; |
| 135 | 135 |
|
| 136 | 136 |
if (unit == UNIT_RX && _rx_dboard_id == dbsrx_classic_id){
|
| 137 |
size_t divider = size_t(rate/_clock->get_master_clock_freq());
|
|
| 137 |
size_t divider = size_t(_clock->get_master_clock_freq()/rate);
|
|
| 138 | 138 |
switch(_dboard_slot){
|
| 139 | 139 |
case usrp1_impl::DBOARD_SLOT_A: |
| 140 |
_iface->poke32(FR_RX_A_REFCLK, (divider & 0x7f) | 0x80); |
|
| 140 |
_iface->poke32(FR_RX_A_REFCLK, (2*divider & 0x7f) | 0x80);
|
|
| 141 | 141 |
break; |
| 142 | 142 |
|
| 143 | 143 |
case usrp1_impl::DBOARD_SLOT_B: |
| 144 |
_iface->poke32(FR_RX_B_REFCLK, (divider & 0x7f) | 0x80); |
|
| 144 |
_iface->poke32(FR_RX_B_REFCLK, (2*divider & 0x7f) | 0x80);
|
|
| 145 | 145 |
break; |
| 146 | 146 |
} |
| 147 | 147 |
} |
| ... | ... | |
| 151 | 151 |
{
|
| 152 | 152 |
std::vector<double> rates; |
| 153 | 153 |
if (unit == UNIT_RX && _rx_dboard_id == dbsrx_classic_id){
|
| 154 |
for (size_t div = 1; div <= 127; div++)
|
|
| 154 |
for (size_t div = 8; div <= 127; div++)
|
|
| 155 | 155 |
rates.push_back(_clock->get_master_clock_freq() / div); |
| 156 | 156 |
} |
| 157 | 157 |
else{
|
Also available in: Unified diff