commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r7163 - in usrp2/trunk: firmware/apps firmware/lib hos


From: eb
Subject: [Commit-gnuradio] r7163 - in usrp2/trunk: firmware/apps firmware/lib host/apps host/lib
Date: Thu, 13 Dec 2007 18:58:41 -0700 (MST)

Author: eb
Date: 2007-12-13 18:58:41 -0700 (Thu, 13 Dec 2007)
New Revision: 7163

Modified:
   usrp2/trunk/firmware/apps/rx_only.c
   usrp2/trunk/firmware/lib/u2_init.c
   usrp2/trunk/host/apps/rx_samples.cc
   usrp2/trunk/host/lib/usrp2_basic.cc
Log:
work-in-progress

Modified: usrp2/trunk/firmware/apps/rx_only.c
===================================================================
--- usrp2/trunk/firmware/apps/rx_only.c 2007-12-14 01:42:51 UTC (rev 7162)
+++ usrp2/trunk/firmware/apps/rx_only.c 2007-12-14 01:58:41 UTC (rev 7163)
@@ -148,12 +148,12 @@
   dsp_rx_regs->scale_iq = (1 << 16) | 1;
   dsp_rx_regs->decim_rate = 24;                // register gets N - 1
 
-  uint32_t cmd = MK_RX_CMD(1 * DSP_RX_SAMPLES_PER_FRAME, 
DSP_RX_SAMPLES_PER_FRAME);
+  uint32_t cmd = MK_RX_CMD(10000 * DSP_RX_SAMPLES_PER_FRAME, 
DSP_RX_SAMPLES_PER_FRAME);
   printf("rx_command = "); puthex32_nl(cmd);
   
   dsp_rx_regs->rx_command = cmd;
-  // dsp_rx_regs->rx_time = T_NOW;             // start NOW!
-  dsp_rx_regs->rx_time = 1; // timer_regs->time + 10000;
+  dsp_rx_regs->rx_time = T_NOW;                // start NOW!
+  // dsp_rx_regs->rx_time = 1; // timer_regs->time + 10000;
 
   // kick off the state machine
   dbsm_start(&dsp_rx_sm);
@@ -331,8 +331,8 @@
   bp_receive_to_buf(CPU_RX_BUF, PORT_ETH, 1, 0, 255);
 
   // FIXME fake that we got a start command
-  u2_mac_addr_t host = {{ 0x00, 0x0A, 0xE4, 0x3E, 0xD2, 0xD5 }};
-  start_rx_cmd(&host);
+  //u2_mac_addr_t host = {{ 0x00, 0x0A, 0xE4, 0x3E, 0xD2, 0xD5 }};
+  //start_rx_cmd(&host);
 
   while(1){
     // FIXME perhaps handle low-pri stuff here

Modified: usrp2/trunk/firmware/lib/u2_init.c
===================================================================
--- usrp2/trunk/firmware/lib/u2_init.c  2007-12-14 01:42:51 UTC (rev 7162)
+++ usrp2/trunk/firmware/lib/u2_init.c  2007-12-14 01:58:41 UTC (rev 7163)
@@ -46,7 +46,7 @@
   // Set up AD9510
   spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00004500, 24, 0); // CLK2 drives 
distribution
   spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00003D80, 24, 0); // Turn on 
output 1 (FPGA CLK), normal levels
-  spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00004B80, 24, 0); // Bypass divider
+  spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00004B80, 24, 0); // Bypass 
divider 1
   spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00005A01, 24, 0); // Update Regs
 
   spi_wait();
@@ -61,8 +61,8 @@
 #endif
   
   // Enable clock to ADCs and DACs
-  spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00003F80, 24, 0); // Turn on 
output 3 (DAC CLK), normal levels
-  spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00004180, 24, 0); // Turn on out 5 
(ADC clk), CMOS
+  spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00003F00, 24, 0); // Turn on 
output 3 (DAC CLK), normal levels
+  spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00004108, 24, 0); // Turn on out 5 
(ADC clk), CMOS
   spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00004F80, 24, 0); // Bypass Div #3
   spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00005380, 24, 0); // Bypass Div #5
   spi_transact(SPI_TXONLY, SPI_SS_AD9510, 0x00005A01, 24, 0); // Update Regs

Modified: usrp2/trunk/host/apps/rx_samples.cc
===================================================================
--- usrp2/trunk/host/apps/rx_samples.cc 2007-12-14 01:42:51 UTC (rev 7162)
+++ usrp2/trunk/host/apps/rx_samples.cc 2007-12-14 01:58:41 UTC (rev 7163)
@@ -60,9 +60,11 @@
     if (n <= 0)
       break;
 
-    int16_t *p = (int16_t *) pkt.samples;
-    for (int i = 0; i < n; i++){
-      printf("%6d %6d\n", p[2*i + 0], p[2*i + 1]);
+    uint32_t *p = pkt.samples;
+    for (int j = 0; j < n; j++){
+      int16_t  si = (int16_t) (p[j] >> 16);
+      int16_t  sq = (int16_t) (p[j] & 0xffff);
+      printf("%6d %6d\n", si, sq);
     }
   }
 

Modified: usrp2/trunk/host/lib/usrp2_basic.cc
===================================================================
--- usrp2/trunk/host/lib/usrp2_basic.cc 2007-12-14 01:42:51 UTC (rev 7162)
+++ usrp2/trunk/host/lib/usrp2_basic.cc 2007-12-14 01:58:41 UTC (rev 7163)
@@ -203,18 +203,33 @@
 
 // ------------------------------------------------------------------------
 
+void
+print_pkt(FILE *fp, u2_eth_samples_t *pkt)
+{
+  // FIXME
+}
+
 int
 usrp2_basic::read_raw_samples(const u2_mac_addr_t &which,
                              u2_eth_samples_t *pkt)
 {
-  int len = d_ethernet->read_packet(pkt, sizeof(pkt), 0);
+  int len = d_ethernet->read_packet(pkt, sizeof(*pkt), 0);
+  // printf("read_packet = %d\n", len);
+
   if (len <= 0)
     return len;
 
   // FIXME check channel
 
+  print_pkt(stdout, pkt);
+  
+  if ((size_t) len < sizeof(u2_eth_packet_t))
+    return 0;
+
   // convert to samples
-  return (len - sizeof(u2_eth_packet_t)) / sizeof(uint32_t);
+  int r = (len - sizeof(u2_eth_packet_t)) / sizeof(uint32_t);
+  printf("read_raw_samples = %d\n", r);
+  return r;
 }
 
 int





reply via email to

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