From d595f159674e507d6438174f53e0c8027239bcea Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 15 Dec 2011 18:26:43 -0800 Subject: usrp1: fixed swapped sign on rx cordic We used to swap I and Q to share converter functions with the newer products. Because of this, the sign on the cordic also had to be swapped. Now that USRP1 has its own converter routines and I and Q are correct, so should be the sign on the cordic. This was a bug introduced in master. TX should not be an issue, because there is no cordic and is adjusted digitally by the codec, after any potential swapping. --- host/lib/usrp/usrp1/io_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'host/lib/usrp') diff --git a/host/lib/usrp/usrp1/io_impl.cpp b/host/lib/usrp/usrp1/io_impl.cpp index ff89b2e18..234bf1b25 100644 --- a/host/lib/usrp/usrp1/io_impl.cpp +++ b/host/lib/usrp/usrp1/io_impl.cpp @@ -543,7 +543,7 @@ double usrp1_impl::update_rx_dsp_freq(const size_t dspno, const double freq_){ static const boost::uint32_t dsp_index_to_reg_val[4] = { FR_RX_FREQ_0, FR_RX_FREQ_1, FR_RX_FREQ_2, FR_RX_FREQ_3 }; - _iface->poke32(dsp_index_to_reg_val[dspno], ~freq_word + 1); + _iface->poke32(dsp_index_to_reg_val[dspno], freq_word); return (double(freq_word) / scale_factor) * _master_clock_rate; } -- cgit v1.2.3