X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=usrp%2Fhost%2Flib%2Fdb_wbxng_adf4350_regs.cc;fp=usrp%2Fhost%2Flib%2Fdb_wbxng_adf4350_regs.cc;h=c9707c3c68040e2f441bdf2ec41426c63251bfc9;hb=2924c0e740bbb9106bfed602345daaee5606d62a;hp=21d77dcce6d37764919a1e2b902501d21cfb2a76;hpb=94d315e556805fb75784964499472977664809c4;p=debian%2Fgnuradio diff --git a/usrp/host/lib/db_wbxng_adf4350_regs.cc b/usrp/host/lib/db_wbxng_adf4350_regs.cc index 21d77dcc..c9707c3c 100644 --- a/usrp/host/lib/db_wbxng_adf4350_regs.cc +++ b/usrp/host/lib/db_wbxng_adf4350_regs.cc @@ -55,8 +55,7 @@ const uint8_t adf4350_regs::s_output_power = 3; /* reg 5 */ const uint8_t adf4350_regs::s_ld_pin_mode = 1; -adf4350_regs::adf4350_regs(adf4350* _adf4350){ - d_adf4350 = _adf4350; +adf4350_regs::adf4350_regs(){ /* reg 0 */ d_int = uint16_t(100); @@ -79,19 +78,21 @@ adf4350_regs::~adf4350_regs(void){ uint32_t adf4350_regs::_reg_shift(uint32_t data, uint32_t shift){ return data << shift; - } +} -void -adf4350_regs::_load_register(uint8_t addr){ - uint32_t data; +uint32_t +adf4350_regs::compute_register(uint8_t addr){ + uint32_t data = 0; switch (addr){ case 0: data = ( _reg_shift(d_int, 15) | - _reg_shift(d_frac, 3)); break; + _reg_shift(d_frac, 3)); + break; case 1: data = ( _reg_shift(d_prescaler, 27) | _reg_shift(s_phase, 15) | - _reg_shift(d_mod, 3)); break; + _reg_shift(d_mod, 3)); + break; case 2: data = ( _reg_shift(s_low_noise_and_low_spur_modes, 29) | _reg_shift(s_muxout, 26) | @@ -105,11 +106,13 @@ adf4350_regs::_load_register(uint8_t addr){ _reg_shift(s_pd_polarity, 6) | _reg_shift(s_power_down, 5) | _reg_shift(s_cp_three_state, 4) | - _reg_shift(s_counter_reset, 3)); break; + _reg_shift(s_counter_reset, 3)); + break; case 3: data = ( _reg_shift(s_csr, 18) | _reg_shift(s_clk_div_mode, 15) | - _reg_shift(s_12_bit_clock_divider_value, 3)); break; + _reg_shift(s_12_bit_clock_divider_value, 3)); + break; case 4: data = ( _reg_shift(s_feedback_select, 23) | _reg_shift(d_divider_select, 20) | @@ -120,11 +123,14 @@ adf4350_regs::_load_register(uint8_t addr){ _reg_shift(s_aux_output_enable, 8) | _reg_shift(s_aux_output_power, 6) | _reg_shift(s_rf_output_enable, 5) | - _reg_shift(s_output_power, 3)); break; + _reg_shift(s_output_power, 3)); + break; case 5: data = ( - _reg_shift(s_ld_pin_mode, 22)); break; - default: return; + _reg_shift(s_ld_pin_mode, 22)); + break; + default: return data; } - /* write the data out to spi */ - d_adf4350->_write(addr, data); + /* return the data to write out to spi */ + return data; } +