From 12673d9290319d2453fedd806ddf248d3d5586e3 Mon Sep 17 00:00:00 2001 From: Lane Kolbly Date: Thu, 18 Jun 2020 17:46:06 -0500 Subject: uhd: Split radio_control into rf_control interfaces These rf_control interfaces allow easier implementation of radio controls as well as allowing easier sharing of code for implementing e.g. gain_profile. --- host/tests/rf_control_gain_profile_test.cpp | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 host/tests/rf_control_gain_profile_test.cpp (limited to 'host/tests/rf_control_gain_profile_test.cpp') diff --git a/host/tests/rf_control_gain_profile_test.cpp b/host/tests/rf_control_gain_profile_test.cpp new file mode 100644 index 000000000..d68f4b378 --- /dev/null +++ b/host/tests/rf_control_gain_profile_test.cpp @@ -0,0 +1,40 @@ +// +// Copyright 2020 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#include +#include +#include +#include + +using namespace uhd::rfnoc::rf_control; + +static const double tolerance = 0.001; // % + +void test_profile_invariant(gain_profile_iface& gain_profile) +{ + BOOST_CHECK(gain_profile.get_gain_profile_names(0).size() > 0); + for (auto& profile : gain_profile.get_gain_profile_names(0)) + { + gain_profile.set_gain_profile(profile, 0); + BOOST_CHECK(gain_profile.get_gain_profile(0) == profile); + } +} + +BOOST_AUTO_TEST_CASE(test_default_profile_get_set) +{ + default_gain_profile gain_profile; + test_profile_invariant(gain_profile); +} + +BOOST_AUTO_TEST_CASE(test_enumerated_profile_get_set) +{ + enumerated_gain_profile gain_profile( + {"ProfileA", "ProfileB", "ProfileC", "ProfileD"}, + "ProfileD", + 1 + ); + test_profile_invariant(gain_profile); +} -- cgit v1.2.3