Hello list, A bunch of great work has been merged into the master. For those following the work on the master branch, and not a release, you will need to update your firmware and FPGA images:
http://code.ettus.com/redmine/ettus/projects/uhd/wiki#Binary-downloads http://files.ettus.com/uhd_releases/master_images/ ----------------------------------------------------------------------- -- RX bandwidth doubled with complex-int8 mode ----------------------------------------------------------------------- One may wish to send alternative formats over the wire: for example to increase bandwidth at the expense of precision. All USRPs now support receiving complex-int8 over the wire (previously only complex-int16 implemented). To make use of this feature, see the notes below on the API changes. ----------------------------------------------------------------------- -- Stream API changes ----------------------------------------------------------------------- There has been some fundamental changes to the UHD API in terms of streaming. Before I continue, I should state that the recent changes are *backwards compatible*. All code out there, C++ or python will continue to compile and run. Basically, rather than calling send() or recv(), on a device object, you create a streamer object with some parameters and call send()/recv() on that streamer. http://files.ettus.com/uhd_docs/doxygen/html/stream_8hpp.html Essentially, each streamer represents a group of channels with its own sample rate and format. This will allow users to receive from multiple heterogeneous channels, and support the complex-int8 type as mentioned above. The best way to understand this is to take a look at the examples directory. All examples have been updated to reflect the API changes. ----------------------------------------------------------------------- -- Stream API and GNURadio ----------------------------------------------------------------------- The USRP source and sink blocks have been updated to reflect the new API; as well as the python and C++ examples and applications. The gr-uhd component will continue to compile with the UHD releases and the recent work on master. The source and sink block feature new constructors which take the stream args as a parameter. With stream args, users can specify the number of channels and host format, and more importantly, the wire format to support the new complex-int8 feature. Unfortunately, the source and sink blocks do not yet support heterogeneous channels (different rates and/or IO types). This is too much change to me to handle at the moment. I believe the implementation would involve multiple work functions (threads), one for each streamer. For code examples, see any of the gr-uhd/examples or gr-uhd/apps. Or my personal favorite: make a flow graph in GRC, and inspect the generated code. ----------------------------------------------------------------------- -- Clock config API changes ----------------------------------------------------------------------- I am deprecating clock config as the method of configuring the device's time reference and clock reference. All calls to set clock config will continue to work, they are just mapped into the new interface. This applies UHD, gr-uhd, C++, and python: Clock config has been split into two separate calls: set_time_source() and set_clock_source(), where each source has a name identified by a string, such as "external", "internal", "mimo", "gps". Users may also query the list of possible time or clock sources. http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a57a5580ba06d7d6a037c9ef64f1ea361 GRC blocks have been updated to generate calls for the API changes. ----------------------------------------------------------------------- -- Hooks for IQ balance and DC offset correction ----------------------------------------------------------------------- Hooks have been added into UHD, gr-uhd, c++, and python to configure the various correction registers in the FPGA. Users can use this to control the DC offset correction and IQ imbalance correction arithmetic in the FPGA. http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a7beb49c1a04a81b3e7569db482453746 ----------------------------------------------------------------------- Feedback and testing is always welcome! -Josh _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio