I want to implement some functions in uhd::usrp::multi_usrp, and access these functions from gnu_uhd_usrp_source. Therefore, I modify the files as follows:
1. multi_usrp.hpp
I define the function
virtual void enable_rx_fhop(const bool enb, size_t mboard = 0) = 0;
2. multi_usrp.cpp
void enable_rx_fhop(const bool enb, size_t mboard)
{
...
}
Then, I go to folder uhd/host/build/ and compile the files. Everything is fine, and no error appears.
3. gr_uhd_usrp_source.h
define:
virtual void enable_rx_fhop_gr(const bool enb, size_t mboard = 0) = 0;
4. gr_uhd_usrp_source.cc
void enable_rx_fhop_gr(const bool enb, size_t mboard)
{
_dev->enable_rx_fhop(enb, mboard);
}
When I compile the files, I get the following error message:
gr_uhd_usrp_source.cc: In member function ‘virtual void uhd_usrp_source_impl::enable_rx_fhop_gr(bool, size_t)’:
gr_uhd_usrp_source.cc:298: error: ‘class uhd::usrp::multi_usrp’ has no member named ‘enable_rx_fhop’
make[5]: *** [gr_uhd_usrp_source.lo] Error 1
As I said, I compiled the UHD successfully, and cannot understand why gr-source cannot find the functions. So, any suggestions? Thanks
Peng