Well, per usual, I believe I've figured this out with some more digging... 1. If I run a python program that includes my OOT module, the blocks are registered correctly with the block_ctrl_base_factory, and the initialization call to ettus.device3 will correctly correlate my FPGA CE with the OOT controller.
2. I assume that a C program will also register blocks correctly if it uses the my class and links to the OOT module 3. But the uhd_usrp_probe is *not* linked to my OOT module, so I dont think I should expect it to register my new controller class. Conclusion #3 is sad because I like using uhd_usrp_probe as a debug tool to evaluate whether blocks are configured and initialized correctly, but I'm not sure if there's a way to get around this.. Maybe I could create an OOT uhd_usrp_probe function that compiles/links with my OOT repo(s)? Is this all correct? EJ On Fri, Dec 8, 2017 at 11:52 AM, EJ Kreinar <ejkrei...@gmail.com> wrote: > Hi All, > > I'm having trouble getting an OOT RFNoC block controller to register > correctly with the rfnoc block factory. The goal here is to create a block > controller class that attaches to the FPGA CE. > > I've traced this operation down to the block_ctrl_base_factory.cpp, which > exposes the register_block(...) function that is called from RFNoC block > controllers using the UHD_RFNOC_BLOCK_REGISTER macro. When I add a debug > statement in the register_block function, I can see all of the block > controllers in the UHD repo getting registered at the start of a > uhd_usrp_probe, but my OOT block is not registered here. > > Register block adding key: Block > Register block adding key: DDC > Register block adding key: DUC > Register block adding key: FIR > Register block adding key: NullSrcSink > Register block adding key: Window > Register block adding key: SigGen > Register block adding key: DmaFIFO > Register block adding key: X300Radio > > If I take the SAME block controller cpp and hpp files from my OOT repo, > insert into the UHD repo with corresponding CMakeLists edits, and then > rerun, I can see the block controller get registered on startup. > > Any suggestions how to register the blocks from the OOT repos?? Am I > missing something obvious? > > Thanks! > EJ >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com