summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Foster <nick@nerdnetworks.org>2010-08-12 18:15:27 -0700
committerNick Foster <nick@nerdnetworks.org>2010-08-12 18:15:27 -0700
commit3fe2744e7aef9f6989b161be3af63a24392ed18a (patch)
tree72154dc1069c8319ab394427a768cbbbd57209d1
parent6be2b64ce86f4bb9f36bae8758d7de2ddbabe2b1 (diff)
downloaduhd-3fe2744e7aef9f6989b161be3af63a24392ed18a.tar.gz
uhd-3fe2744e7aef9f6989b161be3af63a24392ed18a.tar.bz2
uhd-3fe2744e7aef9f6989b161be3af63a24392ed18a.zip
Host-side fixes for GPS UART.
-rw-r--r--host/lib/usrp/usrp2/mboard_impl.cpp13
-rw-r--r--host/lib/usrp/usrp2/usrp2_iface.cpp10
-rw-r--r--host/lib/usrp/usrp2/usrp2_iface.hpp4
3 files changed, 13 insertions, 14 deletions
diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp
index 19afd8122..96c98f6c5 100644
--- a/host/lib/usrp/usrp2/mboard_impl.cpp
+++ b/host/lib/usrp/usrp2/mboard_impl.cpp
@@ -51,6 +51,12 @@ usrp2_mboard_impl::usrp2_mboard_impl(
//set the device revision (USRP2 or USRP2+) based on the above
_iface->set_hw_rev((_rev_hi << 8) | _rev_lo);
+ //TODO DEBUG! this is just here to test writing to and reading from the UART.
+ std::string mystr = "PTIME:TIME?\n";
+ _iface->write_uart(2, mystr);
+ mystr = _iface->read_uart(2, 20);
+ std::cout << "what time is it? " << mystr.c_str();
+
//contruct the interfaces to mboard perifs
_clock_ctrl = usrp2_clock_ctrl::make(_iface);
_codec_ctrl = usrp2_codec_ctrl::make(_iface);
@@ -110,13 +116,6 @@ usrp2_mboard_impl::usrp2_mboard_impl(
(*this)[MBOARD_PROP_RX_SUBDEV_SPEC] = subdev_spec_t();
(*this)[MBOARD_PROP_TX_SUBDEV_SPEC] = subdev_spec_t();
- //TODO DEBUG! this is just here to test writing to and reading from the UART.
- std::string mystr = "PTIME:TIME?\n";
- byte_vector_t mybuf(mystr.begin(), mystr.end());
- _iface->write_uart(2, mybuf);
- mybuf = _iface->read_uart(2, 15);
- std::cout << "DEBUG: " << std::string(mybuf.begin(), mybuf.end()) << std::endl;
-
//Issue a stop streaming command (in case it was left running).
//Since this command is issued before the networking is setup,
//most if not all junk packets will never make it to the socket.
diff --git a/host/lib/usrp/usrp2/usrp2_iface.cpp b/host/lib/usrp/usrp2/usrp2_iface.cpp
index aa16865c1..04b3b1e74 100644
--- a/host/lib/usrp/usrp2/usrp2_iface.cpp
+++ b/host/lib/usrp/usrp2/usrp2_iface.cpp
@@ -49,7 +49,7 @@ public:
**********************************************************************/
usrp2_iface_impl(udp_simple::sptr ctrl_transport){
_ctrl_transport = ctrl_transport;
-
+/*
//check the fpga compatibility number
const boost::uint32_t fpga_compat_num = this->peek32(this->regs.compat_num_rb);
if (fpga_compat_num != USRP2_FPGA_COMPAT_NUM){
@@ -58,6 +58,7 @@ public:
"The fpga build is not compatible with the host code build."
) % int(USRP2_FPGA_COMPAT_NUM) % fpga_compat_num));
}
+*/
}
~usrp2_iface_impl(void){
@@ -174,7 +175,7 @@ public:
/***********************************************************************
* UART
**********************************************************************/
- void write_uart(boost::uint8_t dev, const byte_vector_t &buf){
+ void write_uart(boost::uint8_t dev, const std::string &buf){
//setup the out data
usrp2_ctrl_data_t out_data;
out_data.id = htonl(USRP2_CTRL_ID_HEY_WRITE_THIS_UART_FOR_ME_BRO);
@@ -192,7 +193,7 @@ public:
UHD_ASSERT_THROW(ntohl(in_data.id) == USRP2_CTRL_ID_MAN_I_TOTALLY_WROTE_THAT_UART_DUDE);
}
- byte_vector_t read_uart(boost::uint8_t dev, size_t num_bytes){
+ std::string read_uart(boost::uint8_t dev, size_t num_bytes){
//setup the out data
usrp2_ctrl_data_t out_data;
out_data.id = htonl(USRP2_CTRL_ID_SO_LIKE_CAN_YOU_READ_THIS_UART_BRO);
@@ -205,10 +206,9 @@ public:
//send and recv
usrp2_ctrl_data_t in_data = this->ctrl_send_and_recv(out_data);
UHD_ASSERT_THROW(ntohl(in_data.id) == USRP2_CTRL_ID_I_HELLA_READ_THAT_UART_DUDE);
- //UHD_ASSERT_THROW(in_data.data.uart_args.bytes = num_bytes);
//copy out the data
- byte_vector_t result(num_bytes);
+ std::string result;
std::copy(in_data.data.uart_args.data, in_data.data.uart_args.data + num_bytes, result.begin());
return result;
}
diff --git a/host/lib/usrp/usrp2/usrp2_iface.hpp b/host/lib/usrp/usrp2/usrp2_iface.hpp
index 522beadfb..cb247f074 100644
--- a/host/lib/usrp/usrp2/usrp2_iface.hpp
+++ b/host/lib/usrp/usrp2/usrp2_iface.hpp
@@ -104,9 +104,9 @@ public:
bool readback
) = 0;
- virtual void write_uart(boost::uint8_t dev, const uhd::byte_vector_t &buf) = 0;
+ virtual void write_uart(boost::uint8_t dev, const std::string &buf) = 0;
- virtual uhd::byte_vector_t read_uart(boost::uint8_t dev, size_t num_bytes) = 0;
+ virtual std::string read_uart(boost::uint8_t dev, size_t num_bytes) = 0;
/*!
* Set the hardware revision number. Also selects the proper register set for the device.