Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | mg: Lock access to setters | Martin Braun | 2017-12-22 | 2 | -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 3 | Trung Tran | 2017-12-22 | 4 | -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 1 | Trung N Tran | 2017-12-22 | 1 | -1/+2 | |
| | ||||||
* | mg: Fix TX power issues | Trung N Tran | 2017-12-22 | 1 | -1/+3 | |
| | | | | | - Fixed incorrect register address for channel 1 lowband mixer select - Fixed enabling of bypass path | |||||
* | mg: fix TX dsa bug | Trung N Tran | 2017-12-22 | 1 | -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 rates | Martin Braun | 2017-12-22 | 4 | -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 MPM | Martin Braun | 2017-12-22 | 3 | -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 status | Martin Braun | 2017-12-22 | 1 | -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 warnings | Martin Braun | 2017-12-22 | 3 | -19/+22 | |
| | ||||||
* | mg: ad9371: Add shortcut for RPC requests | Martin Braun | 2017-12-22 | 2 | -22/+19 | |
| | ||||||
* | mg: ad9371: Add API to toggle LO source | Trung Tran | 2017-12-22 | 2 | -0/+35 | |
| | ||||||
* | mg: Add back _rpc_prefix | Martin Braun | 2017-12-22 | 2 | -0/+5 | |
| | ||||||
* | mg: Add stubs for LO locked sensors | Martin Braun | 2017-12-22 | 3 | -1/+48 | |
| | ||||||
* | mg: Add stubs for lo_locked sensor | Martin Braun | 2017-12-22 | 1 | -1/+17 | |
| | ||||||
* | mg: Include Algorithm header so that std::max resolves properly. | Andrew Lynch | 2017-12-22 | 1 | -0/+1 | |
| | ||||||
* | mg: Stop sharing RX and TX LO sptrs across blocks | Martin Braun | 2017-12-22 | 1 | -12/+0 | |
| | | | | All properties are already shared through the prop tree API. | |||||
* | mg: Force updating of CPLD/ATR bits at init | Martin Braun | 2017-12-22 | 3 | -34/+36 | |
| | ||||||
* | mg: Enable CAL and LO-CAL "antenna" inputs | Martin Braun | 2017-12-22 | 3 | -15/+33 | |
| | | | | | For consistency, the LO-CAL antenna name is actually "LOCAL" (without the dash). | |||||
* | mg: master and slave radio sharing frequency | Trung Tran | 2017-12-22 | 3 | -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 idle | Martin Braun | 2017-12-22 | 1 | -1/+1 | |
| | ||||||
* | mg: Add static gain tables and -support | Martin Braun | 2017-12-22 | 9 | -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-grained | Martin Braun | 2017-12-22 | 3 | -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 controls | Martin Braun | 2017-12-22 | 2 | -0/+77 | |
| | ||||||
* | mg: Refactor magnesium_radio_ctrl and friends | Martin Braun | 2017-12-22 | 9 | -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 controls | Martin Braun | 2017-12-22 | 2 | -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 Williams | 2017-12-22 | 1 | -2/+58 | |
| | ||||||
* | n3xx: add atr switch update for tx direction | Trung N Tran | 2017-12-22 | 2 | -3/+29 | |
| | ||||||
* | mg: Add DSA, AD9371, and total gain | Trung N Tran | 2017-12-22 | 2 | -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 switching | Trung N Tran | 2017-12-22 | 2 | -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 switches | Alex Williams | 2017-12-22 | 2 | -4/+272 | |
| | ||||||
* | mg: Add controls for frontpanel- and internal GPIOs | Martin Braun | 2017-12-22 | 2 | -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 synthesizers | Martin Braun | 2017-12-22 | 2 | -2/+106 | |
| | ||||||
* | mg: Refactored control class | Martin Braun | 2017-12-22 | 2 | -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 CPLD | Martin Braun | 2017-12-22 | 3 | -0/+634 | |
| | ||||||
* | mg: Add dboard EEPROM properties | Martin Braun | 2017-12-22 | 1 | -2/+18 | |
| | | | | Signed-off-by: Martin Braun <martin.braun@ettus.com> | |||||
* | mg: Fix lambda-related warnings in block control | Martin Braun | 2017-12-22 | 1 | -12/+15 | |
| | | | | We're not using C++14 yet, so named captures are not yet available. | |||||
* | N310: Updated controls for Mg daughterboard | Mark Meserve | 2017-12-22 | 2 | -59/+234 | |
| | | | | | - Adds most API calls - Adds prop tree nodes | |||||
* | mg: General fixes | Mark Meserve | 2017-12-22 | 2 | -26/+195 | |
| | | | | | - Make DB probe-able - Add RPC client | |||||
* | eiscat: Move JESD init and ADC reset to its own function | Martin Braun | 2017-12-22 | 2 | -2/+35 | |
| | ||||||
* | eiscat: Fixed selection of upper/lower beams | Martin Braun | 2017-12-22 | 1 | -1/+18 | |
| | ||||||
* | eiscat: Proper neighbour support, added some FI pseudo-antenna values | Martin Braun | 2017-12-22 | 2 | -37/+45 | |
| | ||||||
* | eiscat: Enable proper prop tree coercer and publisher | Martin Braun | 2017-12-22 | 1 | -10/+19 | |
| | ||||||
* | magnesium: Temporarily adding return values to make MSVC not fail | Trung N Tran | 2017-12-22 | 1 | -2/+15 | |
| | ||||||
* | mpmd: property tree fixes for multi_usrp, set_freq fixes | sugandhagupta | 2017-12-22 | 1 | -3/+3 | |
| | ||||||
* | mpmd: Fixed prop tree typo (mboard vs mboards) | Martin Braun | 2017-12-22 | 1 | -4/+0 | |
| | ||||||
* | eiscat: Make use of known number of dboards | Martin Braun | 2017-12-22 | 2 | -0/+24 | |
| | ||||||
* | eiscat: Added more APIs for more fine-grained control | Martin Braun | 2017-12-22 | 2 | -54/+199 | |
| | ||||||
* | eiscat: Improved documentation for EISCAT block | Martin Braun | 2017-12-22 | 1 | -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/void | Martin Braun | 2017-12-22 | 1 | -4/+4 | |
| | ||||||
* | rpc: Changed API to request/notify for better distinction between the two | Martin Braun | 2017-12-22 | 1 | -5/+5 | |
| |