diff options
author | Trung Tran <trung.tran@ettus.com> | 2017-11-13 08:32:13 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:05:06 -0800 |
commit | 9ea0d6da9e3756af91c7d1e99ee35e56bf2270d6 (patch) | |
tree | b24c75a58aaf1217aefa9798ddf241b10031db8e /mpm/lib/mykonos/ad937x_device.hpp | |
parent | fa765de7db4ab0933578e986c967d6e8eea60170 (diff) | |
download | uhd-9ea0d6da9e3756af91c7d1e99ee35e56bf2270d6.tar.gz uhd-9ea0d6da9e3756af91c7d1e99ee35e56bf2270d6.tar.bz2 uhd-9ea0d6da9e3756af91c7d1e99ee35e56bf2270d6.zip |
mg: enable init and track calibration API
Currently, AD9371 turned on most of the calibration and hard coding the turning
on process during bringup time.
This change enables users to pass in a mask field for init ARM calibration and
tracking arm calibration at the time creating USRP device reference.
This mask field can be passed through device arguments of:
1/ init_cals : for init ARM calibration masks. This is defined in AD9371 UG-992
table 65. Default to 0x4DFF
2/ tracking_cals : for tracking calibration masks. This is defined in AD9371
UG-992 table 66. Default to 0xC3
Example of pasing in init calibration and tracking calibration mask
usrp_application --args "init_cals=0x4f, tracking_cals=0xC3"
NOTE: UHD currently expect user to input the correct init_cals and
tracking_cals. There's no mechanism to check if init mask and tracking mask are
valid. For example if the init mask field not mask 0x4f, the AD9371 will failed
to setup.
Diffstat (limited to 'mpm/lib/mykonos/ad937x_device.hpp')
-rw-r--r-- | mpm/lib/mykonos/ad937x_device.hpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mpm/lib/mykonos/ad937x_device.hpp b/mpm/lib/mykonos/ad937x_device.hpp index 8ea0623a0..8dae6f2d3 100644 --- a/mpm/lib/mykonos/ad937x_device.hpp +++ b/mpm/lib/mykonos/ad937x_device.hpp @@ -54,6 +54,7 @@ public: void begin_initialization(); void finish_initialization(); + void setup_cal(uint32_t init_cals_mask, uint32_t tracking_cals_mask, uint32_t timeout); void start_jesd_rx(); void start_jesd_tx(); void start_radio(); @@ -109,14 +110,13 @@ private: ad937x_gain_ctrl_config_t gain_ctrl; void _apply_gain_pins(uhd::direction_t direction, mpm::ad937x::device::chain_t chain); - + void _setup_rf(); void _call_api_function(const std::function<mykonosErr_t()>& func); void _call_gpio_api_function(const std::function<mykonosGpioErr_t()>& func); std::string _get_arm_binary_path(); std::vector<uint8_t> _get_arm_binary(); - void _initialize_rf(); void _verify_product_id(); void _verify_multichip_sync_status(multichip_sync_t mcs); |