commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r9660 - gnuradio/branches/developers/eb/u2-wip/usrp2/h


From: eb
Subject: [Commit-gnuradio] r9660 - gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib
Date: Wed, 24 Sep 2008 14:49:49 -0600 (MDT)

Author: eb
Date: 2008-09-24 14:49:49 -0600 (Wed, 24 Sep 2008)
New Revision: 9660

Modified:
   gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/control.h
   gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.cc
Log:
work-in-progress: added support for config_mimo; untested

Modified: gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/control.h
===================================================================
--- gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/control.h     
2008-09-24 19:54:25 UTC (rev 9659)
+++ gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/control.h     
2008-09-24 20:49:49 UTC (rev 9660)
@@ -53,6 +53,13 @@
     op_generic_t      eop;
   };
 
+  struct op_config_mimo_cmd
+  {
+    u2_eth_packet_t   h;
+    op_config_mimo_t  op;
+    op_generic_t      eop;
+  };
+
   struct op_burn_mac_addr_cmd 
   {
     u2_eth_packet_t    h;

Modified: gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.cc
===================================================================
--- gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.cc 
2008-09-24 19:54:25 UTC (rev 9659)
+++ gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.cc 
2008-09-24 20:49:49 UTC (rev 9660)
@@ -68,6 +68,7 @@
     case OP_CONFIG_TX_REPLY_V2: return "OP_CONFIG_TX_REPLY_V2";
     case OP_START_RX_STREAMING: return "OP_START_RX_STREAMING";
     case OP_STOP_RX: return "OP_STOP_RX";
+    case OP_CONFIG_MIMO: return "OP_CONFIG_MIMO";
 #if 0
     case OP_WRITE_REG: return "OP_WRITE_REG";
     case OP_WRITE_REG_MASKED: return "OP_WRITE_REG_MASKED";
@@ -850,13 +851,28 @@
   bool
   usrp2::impl::config_mimo(int flags)
   {
-    return false;      // FIXME implement
+    op_config_mimo_cmd cmd;
+    op_generic_t reply;
+
+    memset(&cmd, 0, sizeof(cmd));
+    init_etf_hdrs(&cmd.h, d_addr, 0, CONTROL_CHAN, -1);
+    cmd.op.opcode = OP_CONFIG_MIMO;
+    cmd.op.len = sizeof(cmd.op);
+    cmd.op.rid = d_next_rid++;
+    cmd.eop.opcode = OP_EOP;
+    cmd.eop.len = sizeof(cmd.eop);
+    
+    pending_reply p(cmd.op.rid, &reply, sizeof(reply));
+    if (!transmit_cmd(&cmd, sizeof(cmd), &p, DEF_CMD_TIMEOUT))
+      return false;
+
+    return ntohx(reply.ok) == 1;
   }
 
   bool
   usrp2::impl::fpga_master_clock_freq(long *freq)
   {
-    *freq = 100000000L;
+    *freq = 100000000L;                // 100 MHz
     return true;
   }
 





reply via email to

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