UmTRX integration into UHD

Thomas Tsou thomastsou at
Fri Feb 10 22:00:05 UTC 2012

On Fri, Feb 10, 2012 at 2:24 PM,  <Max.Suraev at> wrote:
> As for plugging UmTRX into uhd::usrp::multi_usrp - there're several options in here:
> 1) Add support for UmTRX-specific clock and codec controllers into usrp2_impl with
> boolean flag to differentiate between USRP2 and UmTRX.
> 2) Create dedicated "class umtrx_impl : public uhd::device" and implement codec and
> clock controllers logic in there or inside UmTRX's dboard_iface.
> 3) Create separate lib/umtrx/* implementation without reuse\adoption of code from
> lib/usrp2/*

How messy would option 1 be? Option 2 (or 3) more closely follows the
existing UHD model where the shared code is mainly limited to the
transport. I think that would be the best approach unless option 1 can
be done very cleanly.

What is the difference between option 2 and 3? Does option 2 create a
second impl class within the usrp2 directory? I think a separate
directory is appropriate.

b100 and usrp1 implementations were created based on copies of
existing usrp2 / e100 code without explicit class reuse. For example,
b100 / e100 / usrp1 exist separately, but share the same ad9862 codec.
There is some copied code between the three codec versions, but that
was less messy than creating a unified codec impl for all three.


More information about the UmTRX mailing list