aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard
Commit message (Collapse)AuthorAgeFilesLines
...
* mg: Lock access to settersMartin Braun2017-12-222-0/+16
| | | | | | | | | | | | Magnesium APIs are not thread-safe and can take a while to execute in some cases. Adding a mutex to setters avoids invalid states of the hardware from API calls. Note that the lock applies to one block at a time. With the two-radios-per-dboard approach, two locks need to be applied and race conditions are still possible. Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mg: Fix gain setting on channels 1 and 3Trung Tran2017-12-224-36/+46
| | | | | | | Updated channel param: -modify radio_ctrl_cpld the param for channel has to be more concrete type of chan_sel_t -fix _update_rx_freq_switches and _update_tx_freq_switches to get correct frequency by NOT using radio base class
* mg: fix rx gain on channel 1Trung N Tran2017-12-221-1/+2
|
* mg: Fix TX power issuesTrung N Tran2017-12-221-1/+3
| | | | | - Fixed incorrect register address for channel 1 lowband mixer select - Fixed enabling of bypass path
* mg: fix TX dsa bugTrung N Tran2017-12-221-1/+3
| | | | | DSA value was set at wrong value since it is at upper 6 bits of DSA register. Added comment.
* mg: Enable variable master clock ratesMartin Braun2017-12-224-9/+50
| | | | | | | | | | The master_clock_rate argument is passed to init() during initialization; this change allows to query the correct MCR at initialization time. It does not allow changing the MCR while a session is active. The MCR also affects the LO settings; it is the reference clock for the lowband LOs.
* mg: Init dboard sensors via MPMMartin Braun2017-12-223-9/+39
| | | | | Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: mg: Add dboard sensors for low- and highband LO lock statusMartin Braun2017-12-221-2/+26
| | | | | | | | | - Add LO locked APIs to Magnesium - Add LO locked sensor APIs for RX/TX and highband/lowband LOs - Poll all those sensors from magnesium_radio_ctrl_impl Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mg: Fix minor compiler warningsMartin Braun2017-12-223-19/+22
|
* mg: ad9371: Add shortcut for RPC requestsMartin Braun2017-12-222-22/+19
|
* mg: ad9371: Add API to toggle LO sourceTrung Tran2017-12-222-0/+35
|
* mg: Add back _rpc_prefixMartin Braun2017-12-222-0/+5
|
* mg: Add stubs for LO locked sensorsMartin Braun2017-12-223-1/+48
|
* mg: Add stubs for lo_locked sensorMartin Braun2017-12-221-1/+17
|
* mg: Include Algorithm header so that std::max resolves properly.Andrew Lynch2017-12-221-0/+1
|
* mg: Stop sharing RX and TX LO sptrs across blocksMartin Braun2017-12-221-12/+0
| | | | All properties are already shared through the prop tree API.
* mg: Force updating of CPLD/ATR bits at initMartin Braun2017-12-223-34/+36
|
* mg: Enable CAL and LO-CAL "antenna" inputsMartin Braun2017-12-223-15/+33
| | | | | For consistency, the LO-CAL antenna name is actually "LOCAL" (without the dash).
* mg: master and slave radio sharing frequencyTrung Tran2017-12-223-129/+62
| | | | | | | This addresses the fact that two Mg Radio RFNoC blocks share a single LO in both Tx and Rx direction. When setting the frequency on one, the appropriate actions are now triggered on the other side. The same goes for getters, they now actually tell the truth.
* mg: Keep on RX amplifier even when ATR state is idleMartin Braun2017-12-221-1/+1
|
* mg: Add static gain tables and -supportMartin Braun2017-12-229-279/+799
| | | | | | | | | - Adds two new compilation units (magnesium_gain_table.* and magnesium_radio_ctrl_gain.cpp) - Static gain tables are hard-coded in that file, includes method to look up gain table entries for a given frequency and gain - DSA code moved back to accept attenuation - TX/RX switch code needed update to enable bypass for certain gains
* mg: Make CPLD API more fine-grainedMartin Braun2017-12-223-99/+250
| | | | | | | | | All ATR settings were on one big API call for each TX and RX, respectively. This splits up the ATR settings into related components, such as: - Antenna input for RX side - Frequency-related (RX LNAs) - TRX switch
* mg: Added stubs for LO controlsMartin Braun2017-12-222-0/+77
|
* mg: Refactor magnesium_radio_ctrl and friendsMartin Braun2017-12-229-1014/+1275
| | | | | | - Spin out AD9371 control into its own class - Split file into multiple compilation units - Fixed many minor code formatting issues
* mg: Add defer_commit argument to CPLD controlsMartin Braun2017-12-222-15/+32
| | | | | This will set you call setters on the CPLD control object without immediately triggering a SPI transaction.
* mg: Add support for TX switches.Alex Williams2017-12-221-2/+58
|
* n3xx: add atr switch update for tx directionTrung N Tran2017-12-222-3/+29
|
* mg: Add DSA, AD9371, and total gainTrung N Tran2017-12-222-46/+241
| | | | | | | - Adds gains to gain group: dsa, ad9371 - Defaults to splitting gains evenly across group members - Adds gain_mode which allows automatic gain setting, or manually setting DSA vs. AD9371
* n3xx: Configure antenna switchingTrung N Tran2017-12-222-46/+72
| | | | | This enables the various bands for the Magnesium dboard. Note: Tx support is not part of this commit.
* mg: Add support for low band LOs and RX switchesAlex Williams2017-12-222-4/+272
|
* mg: Add controls for frontpanel- and internal GPIOsMartin Braun2017-12-222-1/+46
| | | | | | | | - FP-GPIOs are currently unconnected, we just create the object (pending FPGA changes) - One ATR/GPIO controller per radio - Internal GPIOs (controlling DSA and AD9371 gain bits) are set to MODE_GPIO, they don't toggle on ATR state change
* mg: Add peripheral controls for CPLD and LO synthesizersMartin Braun2017-12-222-2/+106
|
* mg: Refactored control classMartin Braun2017-12-222-185/+282
| | | | | | | - Reordered methods - Renamed AD9371-specfic functions with _myk prefix - Renamed _slot_prefix to _rpc_prefix - Moved to 4-radio model (one RFNoC block per channel)
* mg: Add control object for CPLDMartin Braun2017-12-223-0/+634
|
* mg: Add dboard EEPROM propertiesMartin Braun2017-12-221-2/+18
| | | | Signed-off-by: Martin Braun <martin.braun@ettus.com>
* mg: Fix lambda-related warnings in block controlMartin Braun2017-12-221-12/+15
| | | | We're not using C++14 yet, so named captures are not yet available.
* N310: Updated controls for Mg daughterboardMark Meserve2017-12-222-59/+234
| | | | | - Adds most API calls - Adds prop tree nodes
* mg: General fixesMark Meserve2017-12-222-26/+195
| | | | | - Make DB probe-able - Add RPC client
* eiscat: Move JESD init and ADC reset to its own functionMartin Braun2017-12-222-2/+35
|
* eiscat: Fixed selection of upper/lower beamsMartin Braun2017-12-221-1/+18
|
* eiscat: Proper neighbour support, added some FI pseudo-antenna valuesMartin Braun2017-12-222-37/+45
|
* eiscat: Enable proper prop tree coercer and publisherMartin Braun2017-12-221-10/+19
|
* magnesium: Temporarily adding return values to make MSVC not failTrung N Tran2017-12-221-2/+15
|
* mpmd: property tree fixes for multi_usrp, set_freq fixessugandhagupta2017-12-221-3/+3
|
* mpmd: Fixed prop tree typo (mboard vs mboards)Martin Braun2017-12-221-4/+0
|
* eiscat: Make use of known number of dboardsMartin Braun2017-12-222-0/+24
|
* eiscat: Added more APIs for more fine-grained controlMartin Braun2017-12-222-54/+199
|
* eiscat: Improved documentation for EISCAT blockMartin Braun2017-12-221-7/+88
| | | | | Note that this pre-empts the actual implementation of some of the features.
* eiscat: Made more functions return status values instead of None/voidMartin Braun2017-12-221-4/+4
|
* rpc: Changed API to request/notify for better distinction between the twoMartin Braun2017-12-221-5/+5
|