aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/usrp1_ctrl.cpp
diff options
context:
space:
mode:
authorNick Foster <nick@nerdnetworks.org>2010-09-29 17:51:16 -0700
committerNick Foster <nick@nerdnetworks.org>2010-09-29 17:51:16 -0700
commit9c58df56e805cc924aef980f466cd45a42b2d1a4 (patch)
treee9948fd27458df4d59a37378fc1137ace97a51f9 /host/lib/usrp/usrp1/usrp1_ctrl.cpp
parent6fe533e19a29ea6cd241b70c38081499a8f3ba55 (diff)
parent83596f1feb73a15a1ef8741c1c520e8cae46c2a6 (diff)
downloaduhd-9c58df56e805cc924aef980f466cd45a42b2d1a4.tar.gz
uhd-9c58df56e805cc924aef980f466cd45a42b2d1a4.tar.bz2
uhd-9c58df56e805cc924aef980f466cd45a42b2d1a4.zip
Merge branch 'get_codec_rate' of ettus.sourcerepo.com:ettus/uhdpriv into tvrx_uhd
Diffstat (limited to 'host/lib/usrp/usrp1/usrp1_ctrl.cpp')
-rw-r--r--host/lib/usrp/usrp1/usrp1_ctrl.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/host/lib/usrp/usrp1/usrp1_ctrl.cpp b/host/lib/usrp/usrp1/usrp1_ctrl.cpp
index 76e8ce368..5043aed7d 100644
--- a/host/lib/usrp/usrp1/usrp1_ctrl.cpp
+++ b/host/lib/usrp/usrp1/usrp1_ctrl.cpp
@@ -180,7 +180,7 @@ public:
unsigned char reset_n = 0;
//hit the reset line
- if (load_img_msg) std::cout << "Loading firmware image " << filestring << "..." << std::flush;
+ if (load_img_msg) std::cout << "Loading firmware image: " << filestring << "..." << std::flush;
usrp_control_write(FX2_FIRMWARE_LOAD, 0xe600, 0,
&reset_y, 1);
@@ -209,9 +209,9 @@ public:
}
//type 0x01 is end
else if (type == 0x01) {
+ usrp_set_firmware_hash(hash); //set hash before reset
usrp_control_write(FX2_FIRMWARE_LOAD, 0xe600, 0,
&reset_n, 1);
- usrp_set_firmware_hash(hash);
file.close();
//wait for things to settle
@@ -267,11 +267,12 @@ public:
return -1;
}
- ssize_t n;
- while ((n = file.readsome((char *)buf, sizeof(buf))) > 0) {
+ while (not file.eof()) {
+ file.read((char *)buf, sizeof(buf));
+ size_t n = file.gcount();
ret = usrp_control_write(VRQ_FPGA_LOAD, 0, FL_XFER,
buf, n);
- if (ret != n) {
+ if (ret < 0 or size_t(ret) != n) {
std::cerr << "fpga load error " << ret << std::endl;
file.close();
return -1;