Changeset 8334

Show
Ignore:
Timestamp:
05/08/08 19:54:33
Author:
matt
Message:

returns actual frequency now

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • usrp2/trunk/firmware/lib/db_rfx.c

    r8327 r8334  
    9292struct db_rfx_400_rx rfx_400_rx = { 
    9393  .base.dbid = 0x0004, 
    94   .base.output_enables = 0x00FB,                        // FIXME 
     94  .base.output_enables = 0x00E0, 
     95  .base.used_pins = 0x00FF, 
    9596  //.base.freq_min = U2_DOUBLE_TO_FXPT_FREQ(xxx), 
    9697  //.base.freq_max = U2_DOUBLE_TO_FXPT_FREQ(xxx), 
     
    103104  .base.spectrum_inverted = false, 
    104105  //.base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(4e6), 
     106  .base.init = rfx_init_rx, 
    105107  .base.set_freq = rfx_set_freq, 
    106108  .base.set_gain = rfx_set_gain, 
     
    121123struct db_rfx_400_tx rfx_400_tx = { 
    122124  .base.dbid = 0x0008, 
    123   .base.output_enables = 0x00FB,                        // FIXME 
     125  .base.output_enables = 0x00E0, 
     126  .base.used_pins = 0x00FF, 
    124127  //.base.freq_min = U2_DOUBLE_TO_FXPT_FREQ(xxx), 
    125128  //.base.freq_max = U2_DOUBLE_TO_FXPT_FREQ(xxx), 
     
    132135  .base.spectrum_inverted = false, 
    133136  //.base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(4e6), 
    134   .base.init = rfx_init
     137  .base.init = rfx_init_tx
    135138  .base.set_freq = rfx_set_freq, 
    136139  .base.set_gain = rfx_set_gain, 
     
    149152 
    150153bool 
    151 rfx_init(struct db_base *dbb) 
     154rfx_init_tx(struct db_base *dbb) 
    152155{ 
    153156  struct db_rfx_dummy *db = (struct db_rfx_dummy *) dbb; 
    154   return false; 
     157  return true; 
     158
     159 
     160bool 
     161rfx_init_rx(struct db_base *dbb) 
     162
     163  struct db_rfx_dummy *db = (struct db_rfx_dummy *) dbb; 
     164  return true; 
    155165} 
    156166 
     
    158168rfx_set_freq(struct db_base *dbb, u2_fxpt_freq_t freq, u2_fxpt_freq_t *dc) 
    159169{ 
    160   *dc = 0;     // FIXME 
     170  *dc = 0; 
    161171  struct db_rfx_dummy *db = (struct db_rfx_dummy *) dbb; 
    162172  u2_fxpt_freq_t desired_n = db->common.freq_mult*freq/phdet_freq; 
     
    170180  int R = (R_RSV<<22)|(R_BSC<<20)|(R_TMB<<19)|(R_LDP<<18)|(R_ABP<<16)|(R_DIV<<2)|1; 
    171181  int N = (DIVSEL<<23)|(db->common.DIV2<<22)|(CPGAIN<<21)|(B<<8)|(N_RSV<<7)|(A<<2)|2; 
    172   int C = (P<<22)|(PD<<20)|(db->common.CP2<<17)|(db->common.CP1<<14)|(PL<<12)|(MTLD<<11)|(CPGAIN<<10)|(CP3S<<9)|(PDP<<8)| 
    173     (MUXOUT<<5)|(CR<<4)|(PC<<2)|0; 
     182  int C = (P<<22)|(PD<<20)|(db->common.CP2<<17)|(db->common.CP1<<14)|(PL<<12)| 
     183    (MTLD<<11)|(CPGAIN<<10)|(CP3S<<9)|(PDP<<8)|(MUXOUT<<5)|(CR<<4)|(PC<<2)|0; 
    174184 
    175185  spi_transact(SPI_TXONLY,db->common.spi_mask,C,24,SPIF_PUSH_FALL); 
     
    177187  spi_transact(SPI_TXONLY,db->common.spi_mask,R,24,SPIF_PUSH_FALL); 
    178188 
    179   return false; 
     189  *dc = (N_DIV * PRESCALER * phdet_freq) / db->common.freq_mult; 
     190  return true; 
    180191} 
    181192