From ce2cae69f9f35e818f67096ea6cc3b6ea0968ce0 Mon Sep 17 00:00:00 2001 From: Raymond Knopp <raymond.knopp@eurecom.fr> Date: Mon, 26 Jan 2015 11:07:57 +0000 Subject: [PATCH] git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6428 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 29 ++++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 03e88fe868..019a81505f 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -199,6 +199,23 @@ int openair0_set_frequencies(openair0_device* device, openair0_config_t *openair } +int openair0_set_rx_frequencies(openair0_device* device, openair0_config_t *openair0_cfg) { + + usrp_state_t *s = (usrp_state_t*)device->priv; + static int first_call=1; + static double rf_freq,diff; + + uhd::tune_request_t rx_tune_req(openair0_cfg[0].rx_freq[0]); + + rx_tune_req.rf_freq_policy = uhd::tune_request_t::POLICY_MANUAL; + rx_tune_req.rf_freq = openair0_cfg[0].rx_freq[0]; + rf_freq=openair0_cfg[0].rx_freq[0]; + s->usrp->set_rx_freq(rx_tune_req); + + return(0); + +} + int openair0_set_gains(openair0_device* device, openair0_config_t *openair0_cfg) { usrp_state_t *s = (usrp_state_t*)device->priv; @@ -246,7 +263,7 @@ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cf if (i<openair0_cfg[0].rx_num_channels) { s->usrp->set_rx_rate(openair0_cfg[0].sample_rate,i); s->usrp->set_rx_bandwidth(openair0_cfg[0].rx_bw); - printf("Setting rx freq/gain on channel %d/%d\n",i,s->usrp->get_rx_num_channels()); + printf("Setting rx freq/gain on channel %lu/%lu\n",i,s->usrp->get_rx_num_channels()); s->usrp->set_rx_freq(openair0_cfg[0].rx_freq[i],i); s->usrp->set_rx_gain(openair0_cfg[0].rx_gain[i],i); } @@ -255,7 +272,7 @@ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cf if (i<openair0_cfg[0].tx_num_channels) { s->usrp->set_tx_rate(openair0_cfg[0].sample_rate,i); s->usrp->set_tx_bandwidth(openair0_cfg[0].tx_bw,i); - printf("Setting tx freq/gain on channel %d/%d\n",i,s->usrp->get_tx_num_channels()); + printf("Setting tx freq/gain on channel %lu/%lu\n",i,s->usrp->get_tx_num_channels()); s->usrp->set_tx_freq(openair0_cfg[0].tx_freq[i],i); s->usrp->set_tx_gain(openair0_cfg[0].tx_gain[i],i); } @@ -265,10 +282,10 @@ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cf // create tx & rx streamer uhd::stream_args_t stream_args_rx("sc16", "sc16"); - stream_args_rx.args["spp"] = str(boost::format("%d") % openair0_cfg[0].samples_per_packet); + stream_args_rx.args["spp"] = str(boost::format("%d") % (openair0_cfg[0].samples_per_packet)); uhd::stream_args_t stream_args_tx("sc16", "sc16"); - stream_args_tx.args["spp"] = str(boost::format("%d") % openair0_cfg[0].samples_per_packet); + stream_args_tx.args["spp"] = str(boost::format("%d") % (openair0_cfg[0].samples_per_packet)); for (i = 0; i<openair0_cfg[0].rx_num_channels; i++) stream_args_rx.channels.push_back(i); for (i = 0; i<openair0_cfg[0].tx_num_channels; i++) @@ -282,7 +299,7 @@ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cf // display USRP settings for (i=0;i<openair0_cfg[0].rx_num_channels;i++) { if (i<openair0_cfg[0].rx_num_channels) { - printf("RX Channel %d\n",i); + printf("RX Channel %lu\n",i); std::cout << boost::format("Actual RX sample rate: %fMSps...") % (s->usrp->get_rx_rate(i)/1e6) << std::endl; std::cout << boost::format("Actual RX frequency: %fGHz...") % (s->usrp->get_rx_freq(i)/1e9) << std::endl; std::cout << boost::format("Actual RX gain: %f...") % (s->usrp->get_rx_gain(i)) << std::endl; @@ -294,7 +311,7 @@ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cf for (i=0;i<openair0_cfg[0].tx_num_channels;i++) { if (i<openair0_cfg[0].tx_num_channels) { - printf("TX Channel %d\n",i); + printf("TX Channel %lu\n",i); std::cout << std::endl<<boost::format("Actual TX sample rate: %fMSps...") % (s->usrp->get_tx_rate(i)/1e6) << std::endl; std::cout << boost::format("Actual TX frequency: %fGHz...") % (s->usrp->get_tx_freq(i)/1e9) << std::endl; std::cout << boost::format("Actual TX gain: %f...") % (s->usrp->get_tx_gain(i)) << std::endl; -- GitLab