From eb4bedf3133ce1ed275d03b36839ec61d75f2e60 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 12 May 2020 13:52:38 -0700 Subject: twinrx: Provide power cal ID Note that the TwinRX has a different behaviour if two or one channel are enabled. For that reason, TwinRX requires 8 different sets of calibration data: - For one vs. two channels - For channel 0 and channel 1 - For RX1 and RX2 Since every combination of these settings is possible, that results in 2^3 == 8 combinations. The choice of RX1 vs. RX2 is encoded in the calibration key. The choice of one vs. two channels is also encoded in the calibration key, and is derived using an expert node. Channel 0 and 1 are assumed symmetric, thus, the encoding for those happens in the calibration serial. --- host/lib/usrp/dboard/twinrx/twinrx_experts.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'host/lib/usrp/dboard/twinrx/twinrx_experts.cpp') diff --git a/host/lib/usrp/dboard/twinrx/twinrx_experts.cpp b/host/lib/usrp/dboard/twinrx/twinrx_experts.cpp index 36bcc1863..d196d99e2 100644 --- a/host/lib/usrp/dboard/twinrx/twinrx_experts.cpp +++ b/host/lib/usrp/dboard/twinrx/twinrx_experts.cpp @@ -459,6 +459,15 @@ void twinrx_antenna_expert::resolve() throw uhd::value_error( "Cannot calibrate channel 1 and export the LO for channel 0."); } + + // Set ID for power cal + if (_enabled_ch0 and _enabled_ch1) { + _id_ch0 = "twinrx2"; + _id_ch1 = "twinrx2"; + } else { + _id_ch0 = "twinrx"; + _id_ch1 = "twinrx"; + } } /*!--------------------------------------------------------- -- cgit v1.2.3