[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r10390 - in gnuradio/branches/developers/jcorgan/u2-wi
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r10390 - in gnuradio/branches/developers/jcorgan/u2-wip/usrp2: firmware/apps firmware/include firmware/lib host/lib |
Date: |
Wed, 4 Feb 2009 15:46:44 -0700 (MST) |
Author: jcorgan
Date: 2009-02-04 15:46:43 -0700 (Wed, 04 Feb 2009)
New Revision: 10390
Modified:
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/firmware/lib/db_base.h
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_basic.c
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_dbsrx.c
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_init.c
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_rfx.c
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_tvrx.c
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_xcvr2450.c
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/control.h
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:
Implements reset_db (privately) to reset daughterboard dynamic values to
default at startup
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 21:25:49 UTC (rev 10389)
+++
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/apps/app_common_v2.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -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
@@ -500,6 +500,11 @@
set_lo_offset_cmd((op_freq_t *)payload));
break;
+ case OP_RESET_DB:
+ db_init();
+ subpktlen = generic_reply(gp, reply_payload, reply_payload_space, true);
+ 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 21:25:49 UTC (rev 10389)
+++
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/include/usrp2_eth_packet.h
2009-02-04 22:46:43 UTC (rev 10390)
@@ -193,6 +193,8 @@
#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)
+#define OP_RESET_DB 15
+#define OP_RESET_DB_REPLY (OP_RESET_DB | OP_REPLY_BIT)
/*
* All subpackets are a multiple of 4 bytes long.
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_base.h
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_base.h
2009-02-04 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_base.h
2009-02-04 22:46:43 UTC (rev 10390)
@@ -43,7 +43,8 @@
u2_fxpt_gain_t gain_max; //< max gain that can be set (dB)
u2_fxpt_gain_t gain_step_size; //< (dB)
- u2_fxpt_freq_t lo_offset; //< offset to add to tune frequency
+ u2_fxpt_freq_t default_lo_offset; //< offset to add to tune
frequency, reset value
+ u2_fxpt_freq_t current_lo_offset; //< current value of lo_offset
/*
* Auto T/R control values
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_basic.c
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_basic.c
2009-02-04 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_basic.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -42,7 +42,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.atr_mask = 0,
.base.atr_txval = 0,
.base.atr_rxval = 0,
@@ -68,7 +68,7 @@
.base.is_quadrature = false,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- //.base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.atr_mask = 0,
.base.atr_txval = 0,
.base.atr_rxval = 0,
@@ -94,7 +94,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- //.base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.atr_mask = 0,
.base.atr_txval = 0,
.base.atr_rxval = 0,
@@ -120,7 +120,7 @@
.base.is_quadrature = false,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- //.base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.atr_mask = 0,
.base.atr_txval = 0,
.base.atr_rxval = 0,
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_dbsrx.c
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_dbsrx.c
2009-02-04 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_dbsrx.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -80,7 +80,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = db_dbsrx_init,
.base.set_freq = db_dbsrx_set_freq,
.base.set_gain = db_dbsrx_set_gain,
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_init.c
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_init.c
2009-02-04 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_init.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -270,6 +270,7 @@
//m = determine_tx_mux_value(tx_dboard);
//dsp_tx_regs->tx_mux = m;
//printf("tx_mux = 0x%x\n", m);
+ tx_dboard->current_lo_offset = tx_dboard->default_lo_offset;
rx_dboard = lookup_dboard(I2C_ADDR_RX_A, &db_basic_rx, "Rx");
//printf("db_init: rx dbid = 0x%x\n", rx_dboard->dbid);
@@ -278,6 +279,7 @@
m = determine_rx_mux_value(rx_dboard);
dsp_rx_regs->rx_mux = m;
//printf("rx_mux = 0x%x\n", m);
+ rx_dboard->current_lo_offset = rx_dboard->default_lo_offset;
}
/*!
@@ -333,7 +335,7 @@
bool
db_set_lo_offset(struct db_base *db, u2_fxpt_freq_t offset)
{
- db->lo_offset = offset;
+ db->current_lo_offset = offset;
return true;
}
@@ -346,7 +348,7 @@
u2_fxpt_freq_t actual_dxc_freq;
// Ask the d'board to tune as closely as it can to target_freq+lo_offset
- bool ok = db->set_freq(db, target_freq+db->lo_offset,
&result->baseband_freq);
+ bool ok = db->set_freq(db, target_freq+db->current_lo_offset,
&result->baseband_freq);
// Calculate the DDC setting that will downconvert the baseband from the
// daughterboard to our target frequency.
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_rfx.c
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_rfx.c
2009-02-04 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_rfx.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -148,7 +148,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = rfx_init_rx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_rx,
@@ -179,7 +179,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
.base.init = rfx_init_tx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_tx,
@@ -209,7 +209,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = rfx_init_rx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_rx,
@@ -240,7 +240,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
.base.init = rfx_init_tx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_tx,
@@ -270,7 +270,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = rfx_init_rx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_rx,
@@ -301,7 +301,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
.base.init = rfx_init_tx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_tx,
@@ -331,7 +331,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = rfx_init_rx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_rx,
@@ -362,7 +362,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
.base.init = rfx_init_tx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_tx,
@@ -393,7 +393,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = rfx_init_rx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_rx,
@@ -424,7 +424,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6),
.base.init = rfx_init_tx,
.base.set_freq = rfx_set_freq,
.base.set_gain = rfx_set_gain_tx,
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_tvrx.c
===================================================================
--- gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_tvrx.c
2009-02-04 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_tvrx.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -88,7 +88,7 @@
.base.is_quadrature = false,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = tvrx_init,
.base.set_freq = tvrx_set_freq,
.base.set_gain = tvrx_set_gain,
@@ -115,7 +115,7 @@
.base.is_quadrature = false,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = true,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = tvrx_init,
.base.set_freq = tvrx_set_freq,
.base.set_gain = tvrx_set_gain,
@@ -142,7 +142,7 @@
.base.is_quadrature = false,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = true,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = tvrx_init,
.base.set_freq = tvrx_set_freq,
.base.set_gain = tvrx_set_gain,
Modified:
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_xcvr2450.c
===================================================================
---
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_xcvr2450.c
2009-02-04 21:25:49 UTC (rev 10389)
+++
gnuradio/branches/developers/jcorgan/u2-wip/usrp2/firmware/lib/db_xcvr2450.c
2009-02-04 22:46:43 UTC (rev 10390)
@@ -107,7 +107,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = false,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = xcvr2450_init,
.base.set_freq = xcvr2450_set_freq,
.base.set_gain = xcvr2450_set_gain_rx,
@@ -129,7 +129,7 @@
.base.is_quadrature = true,
.base.i_and_q_swapped = true,
.base.spectrum_inverted = false,
- .base.lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
+ .base.default_lo_offset = U2_DOUBLE_TO_FXPT_FREQ(0),
.base.init = xcvr2450_init,
.base.set_freq = xcvr2450_set_freq,
.base.set_gain = xcvr2450_set_gain_tx,
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 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/control.h
2009-02-04 22:46:43 UTC (rev 10390)
@@ -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
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 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.cc
2009-02-04 22:46:43 UTC (rev 10390)
@@ -173,6 +173,10 @@
fprintf(stderr, " gain_db_per_step = %g\n", rx_gain_db_per_step());
}
+ // Ensure any custom values in hardware are cleared
+ if (!reset_db())
+ std::cerr << "usrp2::ctor reset_db failed\n";
+
// default gains to mid point
if (!set_tx_gain((tx_gain_min() + tx_gain_max()) / 2))
std::cerr << "usrp2::ctor set_tx_gain failed\n";
@@ -1232,4 +1236,26 @@
return ok;
}
+ bool
+ usrp2::impl::reset_db()
+ {
+ op_generic_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_RESET_DB;
+ 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;
+
+ bool success = (ntohx(reply.ok) == 1);
+ return success;
+ }
+
} // namespace usrp2
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 21:25:49 UTC (rev 10389)
+++ gnuradio/branches/developers/jcorgan/u2-wip/usrp2/host/lib/usrp2_impl.h
2009-02-04 22:46:43 UTC (rev 10390)
@@ -108,6 +108,7 @@
data_handler::result handle_control_packet(const void *base, size_t len);
data_handler::result handle_data_packet(const void *base, size_t len);
bool dboard_info();
+ bool reset_db();
public:
impl(const std::string &ifc, props *p);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r10390 - in gnuradio/branches/developers/jcorgan/u2-wip/usrp2: firmware/apps firmware/include firmware/lib host/lib,
jcorgan <=