diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index 3a1a15617b9d96fd8e08d7ec8dce9d1fdcfee453..652cf1307e3bedfb59dfd730b7b79104704693a9 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -116,10 +116,12 @@ extern "C" /* return 0 if OK, < 0 if error */ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cfg); openair0_timestamp get_usrp_time(openair0_device *device); + int openair0_set_frequencies(openair0_device* device, openair0_config_t *openair0_cfg); } #else int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cfg); openair0_timestamp get_usrp_time(openair0_device *device); +int openair0_set_frequencies(openair0_device* device, openair0_config_t *openair0_cfg); #endif #endif // COMMON_LIB_H diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 2af10bee754275e81c47bced50d104136a5c5b8c..6c787cab8193f9ee698a058d3dfd2a659a1ceac0 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -174,6 +174,18 @@ static bool is_equal(double a, double b) { return std::fabs(a-b) < std::numeric_limits<double>::epsilon(); } + +int openair0_set_frequencies(openair0_device* device, openair0_config_t *openair0_cfg) { + + usrp_state_t *s = (usrp_state_t*)device->priv; + + s->usrp->set_tx_freq(openair0_cfg[0].tx_freq[0]); + s->usrp->set_rx_freq(openair0_cfg[0].rx_freq[0]); + + return(0); + +} + int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cfg) {