Hi,
I have added a usrp_block_impl::_cmd_handler_freq2 which adds "args" to the
tune_request object:
void usrp_block_impl::_cmd_handler_freq2(const pmt::pmt_t& freq_,
int chan,
const pmt::pmt_t& msg)
{
double freq = pmt::to_double(freq_);
::uhd::tune_request_t new_tune_reqest(freq);
if (pmt::dict_has_key(msg, cmd_lo_offset_key())) {
double lo_offset =
pmt::to_double(pmt::dict_ref(msg, cmd_lo_offset_key(),
pmt::PMT_NIL));
new_tune_reqest = ::uhd::tune_request_t(freq, lo_offset);
}
new_tune_reqest.args = ::uhd::device_addr_t("mode_n=integer");
_update_curr_tune_req(new_tune_reqest, chan);
}
This makes gnuradio crash when I send the "freq2" message together with
"looffset". The segfault happens in usrp_block_impl::_cmd_handler_looffset. For
reference, the gdb backtrace is shown here:
https://paste.ubuntu.com/p/wYG54D5QRy/
Is there anything wrong with that?
Thanks,
Luke
PS: I wanted to confirm: If I want to use integer-N PLL with a given stepsize,
do I really have to add this to every single tune_request_t object or could I
add it to the the device addr string of the USRP Source/Sink device?
(Disclaimer: this doesn't seem to work though ...)
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com