Commit graph

48 commits

Author SHA1 Message Date
Martin Braun
876d4150aa uhd: Apply clang-format against all .cpp and .hpp files in host/
Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of
files that clang-format gets applied against.
2020-03-03 08:51:32 -06:00
Martin Braun
d3a16b7022 uhd: Replace all occurrences of boost::bind with std::bind
Note: Replacing everything with a lambda would be even better, but that
can't be easily scripted so we'll do this as a first step to reduce the
Boost footprint.

This also removes occurences of #include <boost/bind.hpp>, and makes
sure all usages of std::bind have an #include <functional>. clang-format
wasn't always applied to minimize the changeset in this commit, however,
it was applied to the blocks of #includes.

Due to conflicts with other Boost libraries, the placeholders _1, _2,
etc. could not be directly used, but had to be explicitly called out
(as std::placeholders::_1, etc.). This makes the use of std::bind even
uglier, which serves as another reminder that using std::bind (and even
more so, boost::bind) should be avoided.

nirio/rpc/rpc_client.cpp still contains a reference to boost::bind. It
was not possible to remove it by simply doing a search and replace, so
it will be removed in a separate commit.
2019-11-26 12:21:32 -08:00
Martin Braun
1fe98e8701 uhd: Replace usage of boost smart pointers with C++11 counterparts
This removes the following Boost constructs:
- boost::shared_ptr, boost::weak_ptr
- boost::enable_shared_from_this
- boost::static_pointer_cast, boost::dynamic_pointer_cast

The appropriate includes were also removed. All C++11 versions of these
require #include <memory>.
Note that the stdlib and Boost versions have the exact same syntax, they
only differ in the namespace (boost vs. std). The modifications were all
done using sed, with the exception of boost::scoped_ptr, which was
replaced by std::unique_ptr.

References to boost::smart_ptr were also removed.

boost::intrusive_ptr is not removed in this commit, since it does not
have a 1:1 mapping to a C++11 construct.
2019-11-26 12:21:32 -08:00
Martin Braun
6652eb4a03 uhd: Move internal headers to uhdlib/
To avoid the proliferation of additional include directories and
multiple ways of including project-local headers, we now default to
moving all headers that are used across UHD into the uhdlib/
subdirectory.

Some #include statements were also reordered as they were modified for
closer compliance with the coding guidelines.

Internal cpp source files should now include files like this:

    #include <uhdlib/rfnoc/ctrl_iface.hpp>

Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
2018-03-14 15:17:44 -07:00
Martin Braun
ae5211d71d uhd: Update license headers
All copyright is now attributed to "Ettus Research, a National
Instruments company".

SPDX headers were also updated to latest version 3.0.
2018-02-19 16:54:52 -08:00
Martin Braun
4f948e2c8b Move all license headers to SPDX format. 2017-12-22 10:45:51 -08:00
Andrej Rode
21aad77c9c utils: introduce new logging API and remove msg API 2017-02-20 17:13:15 -08:00
Andrej Rode
26cc20847c uhd: replace BOOST_FOREACH with C++11 range-based for loop
Note: This is the first commit that uses for-range, and range-based
for-loops are now usable for UHD development.
2017-02-10 16:44:33 -08:00
Martin Braun
99c2730bc9 Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width types)
- Also removes all references to boost/cstdint.hpp and replaces it with
  stdint.h (The 'correct' replacement would be <cstdint>, but not all of our
  compilers support that).
2016-11-08 08:02:22 -08:00
Josh Blum
7eaabcb3f8 b100: call demuxer realloc sid 2013-07-19 14:03:30 -07:00
Josh Blum
c464a63e87 uhd: added new calls to streamer object + support work
* The transmit streamer gives access to the async msg queue.
* The receive streamer gives access to the issue stream cmd.
* Supporting usrp implementation files updated.
* Example applications updated to use this API.
2013-07-15 15:44:42 -07:00
Josh Blum
4322666dc1 b100: switch to new packet demuxer 2013-07-15 15:21:05 -07:00
Josh Blum
11a2138777 b100: additional flushing when rx streamer created 2013-02-19 21:54:30 -08:00
Josh Blum
7a1824e8fd b100: squashed host code for fifo control/timed commands
This uses the new b100/e100 common core and FIFO control modules.
Subsequent commit will be the compatible FPGA merge.
2012-07-02 14:06:06 -07:00
Josh Blum
3060006b35 uhd: added async md user payload and common utils 2012-02-14 18:26:03 -08:00
Josh Blum
82d38412e2 b100: use frame boundary to calculate frame size 2012-02-14 16:34:36 -08:00
Josh Blum
1151000340 uhd: various tweaks for compiler warns and valgrind 2012-02-09 17:59:48 -08:00
Josh Blum
5eec31fab4 dsp rework: implement 64 bit ticks, no seconds 2012-02-06 16:40:42 -08:00
Josh Blum
c6e63c9d2a b100/e100: unify rx/tx fifo clears into one 2012-02-04 16:38:15 -08:00
Josh Blum
04e9d23d5f b100: delete some unused registers from map 2012-02-04 14:35:35 -08:00
Josh Blum
b7ff81c9a8 dsp rework: work on usb wrapper for smaller packets, large luts 2012-02-02 15:15:54 -08:00
Josh Blum
5e972e7446 b100: sc8 mode not implemented error 2012-02-01 18:02:59 -08:00
Nick Foster
be14ffa819 B100: Modified TX send size to achieve 10.7Msps. 2012-02-01 10:05:03 -08:00
Josh Blum
d27125b9ab dsp rework: account for no sid used in tx vita pkt 2012-02-01 09:48:28 -08:00
Josh Blum
d46c176af3 dsp rework: tx trailer, scaling work (peak) 2012-01-31 14:56:31 -08:00
Josh Blum
aa95e53a91 dsp rework: work on scaling and args parsing on RX and TX dsp
This simplified some copy pasta in the io_impl.cpp files,
and adds a place for sc8 tx mode in the tx dsp core code.
2012-01-31 14:56:31 -08:00
Josh Blum
8f25550d1a dsp rework: implemented new scalefactor in rx dsp core 2012-01-31 14:56:31 -08:00
Josh Blum
9f2aa9235f uhd: add samples per pkt option to rx streamer 2012-01-26 13:03:09 -08:00
Josh Blum
b8e41cbbc9 uhd: flush transport for new rx streamers 2012-01-23 13:03:09 -08:00
Josh Blum
81289ab051 usrp: added underflow_policy to tx streamer args 2011-12-20 17:38:00 -08:00
Ben Hilburn
f3654090d9 UHD will now print 'L' whenever a late packet is transmitted.
This is similiar to printing 'U' and 'S'. This functionality is not yet
supported on the USRP1.
2011-12-12 10:29:11 -08:00
Josh Blum
40c637bfb7 uhd: work with stream clearing
dont clear when using the compat device API

tx clear also resets expected seqnum

tx clear on usrp2 resets flow control monitor
2011-12-05 13:04:23 -08:00
Josh Blum
dac9a5001a usrp: clear dsp when making new streamer 2011-11-21 09:55:55 -08:00
Josh Blum
8bb81824ea usrp: parse rx stream args scalar 2011-11-05 12:14:14 -07:00
Josh Blum
c885da1138 uhd: renamed convert markup to format
removed convert args

added simd level

got orc and neon updated
2011-11-03 20:37:12 -07:00
Josh Blum
ba0323c616 b100: performed streamer API update to b100 impl 2011-11-03 20:37:12 -07:00
Nick Foster
544f80129f B100: reset FPGA GPIF fifos correctly so no garbage data on startup 2011-08-24 16:19:06 -07:00
Josh Blum
da40a1aebc uhd: replaced boost filesystem path with fs_path in property tree 2011-07-22 13:59:47 -07:00
Josh Blum
54229a06d1 usrp: added software scale factor adjustment 2011-07-08 11:58:51 -07:00
Josh Blum
729b284f62 usrp: handle frontend swapping if the first subdev is QI or Q 2011-07-04 07:21:53 -07:00
Josh Blum
614d4901bb usrp: created common code to demux an rx stream (b100, e100) 2011-07-01 16:54:53 -07:00
Josh Blum
6aa4690af0 usrp: added validate_subdev_spec to all io_impls 2011-07-01 15:07:38 -07:00
Josh Blum
208c1aa1a3 b100: figured it out, endianess was set wrong 2011-06-30 16:35:22 -07:00
Josh Blum
6f4fb27955 b100: made async callback safer, other tweaks (still issues) 2011-06-30 11:32:26 -07:00
Josh Blum
bc9c9f551a b100: removed old impl files, moved async processing to io impl 2011-06-29 21:53:38 -07:00
Josh Blum
ba088e27b0 b100: got b100 into the properties tree like usrp2 2011-06-29 21:16:28 -07:00
Josh Blum
5f49df7cab b100: support for dual dsp 2011-06-16 18:47:44 -07:00
Josh Blum
1bfb999b0a b100: removed usrp prefix from files 2011-06-15 11:34:25 -07:00
Renamed from host/lib/usrp/usrp_b100/io_impl.cpp (Browse further)