commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r8358 - usrp2/trunk/firmware/lib


From: matt
Subject: [Commit-gnuradio] r8358 - usrp2/trunk/firmware/lib
Date: Fri, 9 May 2008 23:23:31 -0600 (MDT)

Author: matt
Date: 2008-05-09 23:23:31 -0600 (Fri, 09 May 2008)
New Revision: 8358

Modified:
   usrp2/trunk/firmware/lib/db_rfx.c
Log:
successfully tuned RFX_400 tx

Modified: usrp2/trunk/firmware/lib/db_rfx.c
===================================================================
--- usrp2/trunk/firmware/lib/db_rfx.c   2008-05-10 04:37:54 UTC (rev 8357)
+++ usrp2/trunk/firmware/lib/db_rfx.c   2008-05-10 05:23:31 UTC (rev 8358)
@@ -21,6 +21,8 @@
 #include <db_base.h>
 #include <hal_io.h>
 #include <ad9510.h>
+#include <stdio.h>
+#include <mdelay.h>
 
 bool rfx_init_rx(struct db_base *db);
 bool rfx_init_tx(struct db_base *db);
@@ -97,7 +99,7 @@
  * The class instances
  */
 struct db_rfx_400_rx db_rfx_400_rx = {
-  .base.dbid = 0x0004,
+  .base.dbid = 0x0024,
   .base.is_tx = false,
   .base.output_enables = 0x00E0,
   .base.used_pins = 0x00FF,
@@ -116,8 +118,8 @@
   .base.set_gain = rfx_set_gain,
   .base.set_tx_enable = 0,
   .base.atr_mask = 0x00E0,
-  .base.atr_txval = 0,
-  .base.atr_rxval = MIX_EN,
+  .base.atr_txval = POWER_UP,
+  .base.atr_rxval = POWER_UP|MIX_EN,
   // .base.atr_tx_delay =
   // .base.atr_rx_delay =
   .common.DIV2 = 0,
@@ -129,7 +131,7 @@
 
 
 struct db_rfx_400_tx db_rfx_400_tx = {
-  .base.dbid = 0x0008,
+  .base.dbid = 0x0028,
   .base.is_tx = true,
   .base.output_enables = 0x00E0,
   .base.used_pins = 0x00FF,
@@ -148,8 +150,8 @@
   .base.set_gain = rfx_set_gain,
   .base.set_tx_enable = rfx_set_tx_enable,
   .base.atr_mask = 0x00E0,
-  .base.atr_txval = MIX_EN, 
-  .base.atr_rxval = ANT_SW,
+  .base.atr_txval = POWER_UP|MIX_EN, 
+  .base.atr_rxval = POWER_UP|ANT_SW,
   // .base.atr_tx_delay =
   // .base.atr_rx_delay =
   .common.DIV2 = 1,
@@ -184,7 +186,9 @@
 {
   *dc = 0;
   struct db_rfx_dummy *db = (struct db_rfx_dummy *) dbb;
-  u2_fxpt_freq_t desired_n = db->common.freq_mult*freq/phdet_freq;
+  //u2_fxpt_freq_t desired_n = db->common.freq_mult*freq/phdet_freq;
+  //int N_DIV = u2_fxpt_freq_round_to_int(desired_n);
+  u2_fxpt_freq_t desired_n = ((1LL<<20) * 
db->common.freq_mult*freq)/phdet_freq;
   int N_DIV = u2_fxpt_freq_round_to_int(desired_n);
   int B = N_DIV/PRESCALER;
   int A = N_DIV - PRESCALER*B;
@@ -197,11 +201,13 @@
   int C = (P<<22)|(PD<<20)|(db->common.CP2<<17)|(db->common.CP1<<14)|(PL<<12)|
     (MTLD<<11)|(CPGAIN<<10)|(CP3S<<9)|(PDP<<8)|(MUXOUT<<5)|(CR<<4)|(PC<<2)|0;
 
+  spi_transact(SPI_TXONLY,db->common.spi_mask,R,24,SPIF_PUSH_FALL);
   spi_transact(SPI_TXONLY,db->common.spi_mask,C,24,SPIF_PUSH_FALL);
+  mdelay(100);
   spi_transact(SPI_TXONLY,db->common.spi_mask,N,24,SPIF_PUSH_FALL);
-  spi_transact(SPI_TXONLY,db->common.spi_mask,R,24,SPIF_PUSH_FALL);
 
-  *dc = (N_DIV * PRESCALER * phdet_freq) / db->common.freq_mult;
+  printf("A = %d, B = %d, N_DIV = %d\n",A, B, N_DIV);
+  *dc = (N_DIV * phdet_freq) / db->common.freq_mult;
   return true;
 }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]