diff options
author | Josh Blum <josh@joshknows.com> | 2011-03-11 17:02:11 +0000 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-03-11 17:02:11 +0000 |
commit | 6fc9a384a7d9aef9457e7f7015431880f6bf91d8 (patch) | |
tree | efc48dabcc2c15ced30c8f9189bf4dc9c0b7c542 /host/lib/usrp/usrp_e100/usrp_e100_iface.cpp | |
parent | 585b0455e8176d8e1abc2722f2a0e56eb89e1c58 (diff) | |
download | uhd-6fc9a384a7d9aef9457e7f7015431880f6bf91d8.tar.gz uhd-6fc9a384a7d9aef9457e7f7015431880f6bf91d8.tar.bz2 uhd-6fc9a384a7d9aef9457e7f7015431880f6bf91d8.zip |
usrp-e100: added module compat num check, made fpga compat constant more obvious
Diffstat (limited to 'host/lib/usrp/usrp_e100/usrp_e100_iface.cpp')
-rw-r--r-- | host/lib/usrp/usrp_e100/usrp_e100_iface.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp b/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp index ec0baf490..55446da63 100644 --- a/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp +++ b/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp @@ -22,7 +22,7 @@ #include <fcntl.h> //open, close #include <linux/usrp_e.h> //ioctl structures and constants #include <boost/format.hpp> -#include <boost/thread.hpp> //mutex +#include <boost/thread/mutex.hpp> #include <linux/i2c-dev.h> #include <linux/i2c.h> #include <stdexcept> @@ -109,6 +109,15 @@ public: throw uhd::io_error("Failed to open " + node); } + //check the module compatibility number + int module_compat_num = ::ioctl(_node_fd, USRP_E_GET_COMPAT_NUMBER, NULL); + if (module_compat_num != USRP_E_COMPAT_NUMBER){ + throw uhd::runtime_error(str(boost::format( + "Expected module compatibility number 0x%x, but got 0x%x:\n" + "The module build is not compatible with the host code build." + ) % USRP_E_COMPAT_NUMBER % module_compat_num)); + } + mb_eeprom = mboard_eeprom_t(get_i2c_dev_iface(), mboard_eeprom_t::MAP_E100); } |