UmTRX integration into UHD

Max.Suraev at Max.Suraev at
Thu Feb 16 20:38:10 UTC 2012

13.02.2012 11:18, Thomas Tsou пишет:

> Each "usrp" has it's own find / make calls that are registered into
> the "device function registry container" before main(). That occurs
> with the UHD_STATIC_BLOCK macro, which is basically a memberless,
> constructor object. When called, the device::find and device::make
> iterate through the registered find / make tuples. I think 'make' uses
> the first discovered device if no arguments are passed in.

Thanks. It seems to "work" good enough (I mean it crashes in runtime over this and
that not yet implemented :)

However there's one thing which still puzzles me:

host/lib/usrp/dboard/db_unknown.cpp contains following:

UHD_STATIC_BLOCK(reg_unknown_dboards) {
    dboard_manager::register_dboard(0xfff0, &make_unknown_tx, "Unknown TX");
    dboard_manager::register_dboard(0xfff1, &make_unknown_rx, "Unknown RX");

It's pretty obvious what this code does but where do those _magic_ numbers come from?
Should I burn something into particular address in dboard eeprom?
Should I override some function to return special values?

> Not really. For the current Ettus devices, the io_impl.cpp
> implementations really are different, so it doesn't make any sense.

That was just example. For instance I do not want to umtrx_iface if I could use
usrp2_iface - because devices are rather close I think I can get away with this. Time
will tell though.

best regards,

More information about the UmTRX mailing list