| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The colour codes used for console logging were incorrectly defined.
Some colours would simply not rendered this way (e.g., red), others
had the boldness flag wrong.
|
|
|
|
|
|
|
| |
In log.cpp, a deadlock can occur while popping elements from the log
queue. If the queue is empty, the call does not timeout, and waits
infinitely. Replacing pop_with_wait() with pop_with_timed_wait() solves
this issue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add configuration sections to the UHD config file for NIC entries. Keys
are based on MAC addresses, and the entries beneath the section describe
which CPU and I/O thread to use for the NIC and its IPv4 address.
Make ring sizes configurable for uhd-dpdk. Ring size is now an argument
for packet buffers. Note that the maximum number of available buffers
is still determined at init!
Add ability to receive broadcasts to uhd-dpdk. This is controllable by
a boolean in the sockarg during socket creation. dpdk_zero_copy will
filter broadcast packets out.
Add dpdk_simple transport (to mirror udp_simple). This transport allows
receiving from broadcast addresses, but it only permits one outstanding
buffer at a time.
Fix IP checksum handling in UHD-DPDK.
TX checksums were not being calculated in the NIC, and in RX, the check
for IP checksums allowed values of zero (reported as none). Now packets
with bad IP checksums will be dropped.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also updates our coding style file.
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code (with GNU compliant sed):
cmake --help-command-list | grep -v "cmake version" | while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done > convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \
'*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed
(Make sure the backslashes don't get mangled!)
|
|
|
|
|
|
|
|
|
|
| |
The C/C++ standards don't define what time_t is, only that it is
arithmetic (and real for C11, and integral for C++). It should not be
used in portable software and is only used as the return value for some
libc calls.
A common definition for time_t is int64_t, so we'll switch to that
permanently in our own APIs. System APIs will of course stick with
time_t.
|
|
|
|
|
|
|
|
|
| |
- Separating exposed Python data structures into logical sections
- Exposes all of the multi_usrp API
- Adds a layer of Python for documentation and adding helper methods
- Adds improvements and fixes to the MultiUSRP object
- Includes additional exposed data structures (like time_spec_t, etc.)
- Add code to release the Python GIL during long C++ calls
|
| |
|
|
|
|
|
|
| |
- Fixes an issue with compile time disabling as well
- An UHD_LOG_FASTPATH_DISABLE=1 env var will make it that O/U/S/D won't
be printed
|
| |
|
| |
|
|
|
|
| |
Need to skip zero gain step
|
|
|
|
|
|
|
|
|
| |
- Fixes: cmake -DUHD_LOG_FILE wasn't respected
- Fixes: UHD_LOG_FILE and UHD_FILE_LOG_LEVEL had to both be set for
either to take effect
- Fixes: Use of unnecessary boost::make_shared<>
- Also factored out setting up console- and file logger into their own
locations in an attempt to improve readability
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
uhd::get_system_time() is an abstracted way of reading back a time, and
is not UHD-specific. As such, there's no reason to keep it in the public
part of the API where we're contractually obligated not to touch it.
Instead, moving it to the internal API space.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defines and reads configuration files that can be used to customize
UHD's behaviour. On Unix systems, they default to:
/etc/uhd/uhd.conf
$APPDATA/.uhd/uhd.conf
On Windows systems, it will look in:
%ProgramData%/uhd/uhd.conf
%AppData%/.uhd/uhd.conf
|
| |
|
|
|
|
|
|
|
| |
All copyright is now attributed to "Ettus Research, a National
Instruments company".
SPDX headers were also updated to latest version 3.0.
|
|
|
|
|
| |
- Applied changes to DUC and DDC blocks
- Fixed minor formatting
|
|
|
|
|
|
|
| |
This class is not publicly exported. It is meant to read config files in
the INI format.
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
| |
Empty log messages are now skipped for faster processing. The
'terminating' log message is now also empty (and thus skipped).
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
| |
|
| |
|
|
|
|
|
|
| |
It can be helpful to go back to the RPC server for clarification on what
just happened. This adds an optional argument to the RPC client for how
to retrieve that info.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- uhd::usrp::mboard_eeprom_t is now simply a map. Its commit() method
has no utility being a public API call, because the user never gets
access to the appropriate I2C object (Minor API breakage)
- The central mboard_eeprom.cpp file was broken up and put into many
smaller compilation units in every device's implementation folder.
- Renamed some of the constants (e.g. B000_* -> USRP1_*, N100_* ->
N200_*)
- Removed the N000_* EEPROM code, because, well, you know, there's no
such device
|
| |
|
| |
|
|
|
|
|
| |
USRP1 and USRP2 used tasks that relied on Boost thread interruption
mechanisms. These were replaced with explicit atomics.
|
|
|
|
|
| |
This works because there's also another trace message on termination of
the logger.
|
|
|
|
|
| |
We want to display syteminfo when the log system get initialized.
Also removes a static block.
|
|
|
|
|
| |
This way, C++11 features are not required to build with UHD headers
included.
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This means it's very unlikely that logging messages get dropped, but the
downside is that LOG macros can block for up to 250 ms. This is very
unlikely though.
Note that fastpath logging does not have this feature. It's always fast,
and might drop messages.
|
| | |
|
| |
| |
| |
| |
| |
| | |
- Made the task a regular thread
- Moved verbosity operator into lib
- Minor comments and indents and so on
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
- allows adding new loggers by using add_logger API call
- existing loggers (console, file) can be disabled easily
- number of logging sinks is not limited
Signed-off-by: Martin Braun <martin.braun@ettus.com>
|