diff options
author | Nick Foster <nick@nerdnetworks.org> | 2010-09-29 17:51:16 -0700 |
---|---|---|
committer | Nick Foster <nick@nerdnetworks.org> | 2010-09-29 17:51:16 -0700 |
commit | 9c58df56e805cc924aef980f466cd45a42b2d1a4 (patch) | |
tree | e9948fd27458df4d59a37378fc1137ace97a51f9 /host/lib/usrp/usrp1/usrp1_ctrl.cpp | |
parent | 6fe533e19a29ea6cd241b70c38081499a8f3ba55 (diff) | |
parent | 83596f1feb73a15a1ef8741c1c520e8cae46c2a6 (diff) | |
download | uhd-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.cpp | 11 |
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; |