commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r10388 - in gnuradio/branches/developers/jcorgan/u2-wi


From: jcorgan
Subject: [Commit-gnuradio] r10388 - in gnuradio/branches/developers/jcorgan/u2-wip: gr-usrp2/src gr-utils/src/python usrp2/firmware/apps usrp2/firmware/include usrp2/host/include/usrp2 usrp2/host/lib
Date: Wed, 4 Feb 2009 14:02:30 -0700 (MST)

Author: jcorgan
Date: 2009-02-04 14:02:29 -0700 (Wed, 04 Feb 2009)
New Revision: 10388

Modified:
   gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2.i
   gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.cc
   gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.h
   gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.cc
   gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.h
   
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_rx_cfile.py
   
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_siggen.py
   
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/apps/app_common_v2.c
   
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/include/usrp2_eth_packet.h
   gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/include/usrp2/usrp2.h
   gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/control.h
   gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2.cc
   gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.cc
   gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.h
Log:
Adds firmware and host support for setting TX and RX LO offset.  Tested with 
RFX2400 TX and RX.

Modified: gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2.i
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2.i    
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2.i    
2009-02-04 21:02:29 UTC (rev 10388)
@@ -67,6 +67,7 @@
 
   bool set_gain(double gain);
   %rename(_real_set_center_freq) set_center_freq;
+  bool set_lo_offset(double frequency);
   bool set_center_freq(double frequency, usrp2::tune_result *r);
   bool set_decim(int decimation_factor);
   bool set_scale_iq(int scale_i, int scale_q);
@@ -132,6 +133,7 @@
 
   bool set_gain(double gain);
   %rename(_real_set_center_freq) set_center_freq;
+  bool set_lo_offset(double frequency);
   bool set_center_freq(double frequency, usrp2::tune_result *r);
   bool set_interp(int interp_factor);
   bool set_scale_iq(int scale_i, int scale_q);

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.cc
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.cc 
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.cc 
2009-02-04 21:02:29 UTC (rev 10388)
@@ -53,6 +53,12 @@
 }
 
 bool
+usrp2_sink_base::set_lo_offset(double frequency)
+{
+  return d_u2->set_tx_lo_offset(frequency);
+}
+
+bool
 usrp2_sink_base::set_center_freq(double frequency, usrp2::tune_result *tr)
 {
   return d_u2->set_tx_center_freq(frequency, tr);

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.h
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.h  
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_sink_base.h  
2009-02-04 21:02:29 UTC (rev 10388)
@@ -46,6 +46,11 @@
   bool set_gain(double gain);
 
   /*!
+   * \brief Set transmitter LO offset frequency
+   */
+  bool set_lo_offset(double frequency);
+
+  /*!
    * \brief Set transmitter center frequency
    */
   bool set_center_freq(double frequency, usrp2::tune_result *tr);

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.cc   
    2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.cc   
    2009-02-04 21:02:29 UTC (rev 10388)
@@ -53,6 +53,12 @@
 }
 
 bool
+usrp2_source_base::set_lo_offset(double frequency)
+{
+  return d_u2->set_rx_lo_offset(frequency);
+}
+
+bool
 usrp2_source_base::set_center_freq(double frequency, usrp2::tune_result *tr)
 {
   return d_u2->set_rx_center_freq(frequency, tr);

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.h    
    2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/gr-usrp2/src/usrp2_source_base.h    
    2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2009 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -46,6 +46,11 @@
   bool set_gain(double gain);
 
   /*!
+   * \brief Set receive LO offset frequency
+   */
+  bool set_lo_offset(double frequency);
+
+  /*!
    * \brief Set receiver center frequency
    */
   bool set_center_freq(double frequency, usrp2::tune_result *tr);

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_rx_cfile.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_rx_cfile.py
   2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_rx_cfile.py
   2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2004,2005,2007,2008 Free Software Foundation, Inc.
+# Copyright 2004,2005,2007,2008,2009 Free Software Foundation, Inc.
 # 
 # This file is part of GNU Radio
 # 
@@ -58,6 +58,9 @@
         self._u.set_gain(options.gain)
 
         # Set receive frequency
+        if options.lo_offset is not None:
+            self._u.set_lo_offset(options.lo_offset)
+
         tr = self._u.set_center_freq(options.freq)
         if tr == None:
             sys.stderr.write('Failed to set center frequency\n')
@@ -115,6 +118,9 @@
                       help="number of samples to collect [default=+inf]")
     parser.add_option("-v", "--verbose", action="store_true", default=False,
                       help="verbose output")
+    parser.add_option("", "--lo-offset", type="eng_float", default=None,
+                      help="set daughterboard LO offset to OFFSET [default=hw 
default]")
+
     (options, args) = parser.parse_args ()
     if len(args) != 1:
         parser.print_help()

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_siggen.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_siggen.py 
    2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/gr-utils/src/python/usrp2_siggen.py 
    2009-02-04 21:02:29 UTC (rev 10388)
@@ -44,6 +44,10 @@
         self._u.set_gain(options.gain)
 
         # Tune the USRP2 FPGA and daughterboard to the requested center 
frequency
+        # and LO offset
+        if options.lo_offset is not None:
+            self._u.set_lo_offset(options.lo_offset)
+
         tr = self._u.set_center_freq(options.tx_freq)
         if tr == None:
             sys.stderr.write('Failed to set center frequency\n')
@@ -143,6 +147,8 @@
                       help="set waveform amplitude to AMPLITUDE (0-1.0) 
[default=%default]", metavar="AMPL")
     parser.add_option("--offset", type="eng_float", default=0,
                       help="set waveform offset to OFFSET [default=%default]")
+    parser.add_option("--lo-offset", type="eng_float", default=None,
+                      help="set daughterboard LO offset to OFFSET [default=hw 
default]")
     parser.add_option("--sine", dest="type", action="store_const", 
const=gr.GR_SIN_WAVE,
                       help="generate a complex sinusoid [default]", 
default=gr.GR_SIN_WAVE)
     parser.add_option("--const", dest="type", action="store_const", 
const=gr.GR_CONST_WAVE, 

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/apps/app_common_v2.c
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/apps/app_common_v2.c 
    2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/apps/app_common_v2.c 
    2009-02-04 21:02:29 UTC (rev 10388)
@@ -369,6 +369,16 @@
   return true;
 }
 
+static bool
+set_lo_offset_cmd(const op_freq_t *p)
+{
+  u2_fxpt_freq_t f = u2_fxpt_freq_from_hilo(p->freq_hi, p->freq_lo);
+  if (p->opcode == OP_SET_TX_LO_OFFSET)
+    return db_set_lo_offset(tx_dboard, f);
+  else
+    return db_set_lo_offset(rx_dboard, f);
+}
+
 static size_t
 generic_reply(const op_generic_t *p,
              void *reply_payload, size_t reply_payload_space,
@@ -377,12 +387,12 @@
   op_generic_t *r = (op_generic_t *) reply_payload;
   if (reply_payload_space < sizeof(*r))                
     return 0;                                  // no room
-
+  
   r->opcode = p->opcode | OP_REPLY_BIT;
   r->len = sizeof(*r);
   r->rid = p->rid;
   r->ok = ok;
-
+  
   return r->len;
 }
 
@@ -392,12 +402,12 @@
   op_generic_t *r = (op_generic_t *) reply_payload;
   if (reply_payload_space < sizeof(*r))                
     return 0;                                  // no room
-
+  
   r->opcode = OP_EOP;
   r->len = sizeof(*r);
   r->rid = 0;
   r->ok =  0;
-
+  
   return r->len;
 }
 
@@ -407,15 +417,15 @@
   unsigned char reply[sizeof(u2_eth_packet_t) + 4 * sizeof(u2_subpkt_t)] _AL4;
   unsigned char *reply_payload = &reply[sizeof(u2_eth_packet_t)];
   int reply_payload_space = sizeof(reply) - sizeof(u2_eth_packet_t);
-
+  
   // initialize reply
   memset(reply, 0, sizeof(reply));
   set_reply_hdr((u2_eth_packet_t *) reply, pkt);
-
+  
   // point to beginning of payload (subpackets)
   unsigned char *payload = ((unsigned char *) pkt) + sizeof(u2_eth_packet_t);
   int payload_len = len - sizeof(u2_eth_packet_t);
-
+  
   size_t subpktlen = 0;
 
   while (payload_len >= sizeof(op_generic_t)){
@@ -484,6 +494,12 @@
                                poke_cmd((op_poke_t *)payload));
       break;
 
+    case OP_SET_TX_LO_OFFSET:
+    case OP_SET_RX_LO_OFFSET:
+      subpktlen = generic_reply(gp, reply_payload, reply_payload_space,
+                               set_lo_offset_cmd((op_freq_t *)payload));
+      break;
+
     default:
       printf("app_common_v2: unhandled opcode = %d\n", gp->opcode);
       break;

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/include/usrp2_eth_packet.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/include/usrp2_eth_packet.h
       2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/include/usrp2_eth_packet.h
       2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007,2008 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2009 Free Software Foundation, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -189,6 +189,10 @@
 #define OP_PEEK_REPLY                (OP_PEEK | OP_REPLY_BIT)
 #define OP_POKE                      12
 #define OP_POKE_REPLY                (OP_POKE | OP_REPLY_BIT)
+#define OP_SET_TX_LO_OFFSET          13
+#define OP_SET_TX_LO_OFFSET_REPLY    (OP_SET_TX_LO_OFFSET | OP_REPLY_BIT)
+#define OP_SET_RX_LO_OFFSET          14
+#define OP_SET_RX_LO_OFFSET_REPLY    (OP_SET_RX_LO_OFFSET | OP_REPLY_BIT)
 
 /*
  * All subpackets are a multiple of 4 bytes long.
@@ -402,6 +406,19 @@
   // Words follow here
 } _AL4 op_poke_t;
 
+/* 
+ * Common structure for commands with a single frequency param 
+ * (e.g., set_*_lo_offset, set_*_bw)
+ */
+typedef struct {
+  uint8_t       opcode;
+  uint8_t      len;
+  uint8_t      rid;
+  uint8_t      mbz;
+  uint32_t     freq_hi;        //< high 32-bits of 64-bit fxpt_freq (Q44.20)
+  uint32_t     freq_lo;        //< low  32-bits of 64-bit fxpt_freq (Q44.20)
+} _AL4 op_freq_t;
+
 /*
  * ================================================================
  *             union of all of subpacket types
@@ -421,6 +438,7 @@
   op_config_mimo_t             op_config_mimo;
   op_peek_t                     op_peek;
   op_poke_t                     op_poke;
+  op_freq_t                     op_freq;
 
 } u2_subpkt_t;
 

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/include/usrp2/usrp2.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/include/usrp2/usrp2.h    
    2009-02-04 20:36:36 UTC (rev 10387)
+++ 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/include/usrp2/usrp2.h    
    2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2009 Free Software Foundation, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -116,6 +116,11 @@
     double rx_gain_db_per_step();
 
     /*!
+     * \brief Set receive daughterboard LO offset frequency
+     */
+    bool set_rx_lo_offset(double frequency);
+
+    /*!
      * Set receiver center frequency
      */
     bool set_rx_center_freq(double frequency, tune_result *result);
@@ -200,6 +205,11 @@
     //! return Tx gain db_per_step
     double tx_gain_db_per_step();
 
+    /*
+     * \brief Set transmit daughterboard LO offset frequency
+     */
+    bool set_tx_lo_offset(double frequency);
+
     /*!
      * Set transmitter center frequency
      */

Modified: gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/control.h
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/control.h        
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/control.h        
2009-02-04 21:02:29 UTC (rev 10388)
@@ -93,6 +93,12 @@
     // eop must be dynamically written here
   };
 
+  struct op_freq_cmd {
+    u2_eth_packet_t h;
+    op_freq_t       op;
+    op_generic_t    eop;
+  };
+
   /*!
    * Control mechanism to allow API calls to block waiting for reply packets
    */    

Modified: gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2.cc
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2.cc 
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2.cc 
2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2009 Free Software Foundation, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -187,6 +187,12 @@
   }
 
   bool
+  usrp2::set_rx_lo_offset(double frequency)
+  {
+    return d_impl->set_rx_lo_offset(frequency);
+  }
+
+  bool
   usrp2::set_rx_center_freq(double frequency, tune_result *result)
   {
     return d_impl->set_rx_center_freq(frequency, result);
@@ -279,6 +285,12 @@
   }
 
   bool
+  usrp2::set_tx_lo_offset(double frequency)
+  {
+    return d_impl->set_tx_lo_offset(frequency);
+  }
+
+  bool
   usrp2::set_tx_center_freq(double frequency, tune_result *result)
   {
     return d_impl->set_tx_center_freq(frequency, result);

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.cc
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.cc    
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.cc    
2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2009 Free Software Foundation, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -73,6 +73,10 @@
     case OP_SYNC_TO_PPS: return "OP_SYNC_TO_PPS";
     case OP_PEEK: return "OP_PEEK";
     case OP_PEEK_REPLY: return "OP_PEEK_REPLY";
+    case OP_SET_TX_LO_OFFSET: return "OP_SET_TX_LO_OFFSET";
+    case OP_SET_TX_LO_OFFSET_REPLY: return "OP_SET_TX_LO_OFFSET_REPLY";
+    case OP_SET_RX_LO_OFFSET: return "OP_SET_RX_LO_OFFSET";
+    case OP_SET_RX_LO_OFFSET_REPLY: return "OP_SET_RX_LO_OFFSET_REPLY";
 
     default:
       char buf[64];
@@ -472,6 +476,33 @@
   }
   
   bool
+  usrp2::impl::set_rx_lo_offset(double frequency)
+  {
+    op_freq_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_SET_RX_LO_OFFSET;
+    cmd.op.len = sizeof(cmd.op);
+    cmd.op.rid = d_next_rid++;
+
+    u2_fxpt_freq_t fxpt = u2_double_to_fxpt_freq(frequency);
+    cmd.op.freq_hi = htonl(u2_fxpt_freq_hi(fxpt));
+    cmd.op.freq_lo = htonl(u2_fxpt_freq_lo(fxpt));
+
+    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;
+
+    bool success = (ntohx(reply.ok) == 1);
+    return success;
+  }
+
+  bool
   usrp2::impl::set_rx_center_freq(double frequency, tune_result *result)
   {
     op_config_rx_v2_cmd cmd;
@@ -711,6 +742,33 @@
   }
   
   bool
+  usrp2::impl::set_tx_lo_offset(double frequency)
+  {
+    op_freq_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_SET_TX_LO_OFFSET;
+    cmd.op.len = sizeof(cmd.op);
+    cmd.op.rid = d_next_rid++;
+
+    u2_fxpt_freq_t fxpt = u2_double_to_fxpt_freq(frequency);
+    cmd.op.freq_hi = htonl(u2_fxpt_freq_hi(fxpt));
+    cmd.op.freq_lo = htonl(u2_fxpt_freq_lo(fxpt));
+
+    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;
+
+    bool success = (ntohx(reply.ok) == 1);
+    return success;
+  }
+
+  bool
   usrp2::impl::set_tx_center_freq(double frequency, tune_result *result)
   {
     op_config_tx_v2_cmd cmd;
@@ -1152,7 +1210,7 @@
 
     // Copy data from vector into packet space
     uint32_t *dest = (uint32_t *)((uint8_t *)cmd+plen);
-    for (unsigned int i = 0; i < words; i++) {
+    for (int i = 0; i < words; i++) {
       //fprintf(stderr, "address@hidden", i, dest);
       *dest++ = htonl(data[i]);
     }

Modified: 
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.h
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.h     
2009-02-04 20:36:36 UTC (rev 10387)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.h     
2009-02-04 21:02:29 UTC (rev 10388)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2009 Free Software Foundation, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -123,6 +123,7 @@
     double rx_gain_min() { return d_rx_db_info.gain_min; }
     double rx_gain_max() { return d_rx_db_info.gain_max; }
     double rx_gain_db_per_step() { return d_rx_db_info.gain_step_size; }
+    bool set_rx_lo_offset(double frequency);
     bool set_rx_center_freq(double frequency, tune_result *result);
     double rx_freq_min() { return d_rx_db_info.freq_min; }
     double rx_freq_max() { return d_rx_db_info.freq_max; }
@@ -141,6 +142,7 @@
     double tx_gain_min() { return d_tx_db_info.gain_min; }
     double tx_gain_max() { return d_tx_db_info.gain_max; }
     double tx_gain_db_per_step() { return d_tx_db_info.gain_step_size; }
+    bool set_tx_lo_offset(double frequency);
     bool set_tx_center_freq(double frequency, tune_result *result);
     double tx_freq_min() { return d_tx_db_info.freq_min; }
     double tx_freq_max() { return d_tx_db_info.freq_max; }





reply via email to

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