| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This library makes available a userspace network stack with a
socket-like interface for applications (except the sockets pass around
pointers to buffers and use the buffers directly--It's sockets + a
put/get for buffer management). Supported services are ARP and UDP.
Destinations can be unicast or broadcast. Multicast is not currently
supported.
The implementation has two driver layers. The upper layer runs within
the caller's context. The caller will make requests through lockless
ring buffers (including socket creation and packet transmission), and
the lower layer will implement the requests and provide a response.
Currently, the lower layer runs in a separate I/O thread, and the caller
will block until it receives a response.
The I/O thread's main body is in src/uhd_dpdk_driver.c. You'll find that
all I/O thread functions are prefixed by an underscore, and user thread
functions do not.
src/uhd_dpdk.c is used to initialize uhd-dpdk and bring up the network
interfaces.
src/uhd_dpdk_fops.c and src/uhd_dpdk_udp.c are for network services.
The test is a benchmark of a flow control loop using a certain made-up
protocol with credits and sequence number tracking.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
By default, Boost.ASIO uses 'address_configured' mode for UDP endpoint
resolution, which "only return[s] IPv4 addresses if a non-loopback
IPv4 address is configured for the system". This changes the resolver
to use 'all_matching', which instead returns "all matching IPv6 and
IPv4 addresses".
|
| |
|
|
|
|
|
| |
Users can supply the --test/-T option to test the downloaded archive
before extracting it, using the Python zipfile.testzip() function.
|
|
|
|
|
| |
uhd_images_downloader: Adding INFO message when there is no target
selected to download, as when the user misspells a target name.
|
|
|
|
|
|
|
|
|
|
|
| |
When reloading the Periph Manager (as when we run the image loader),
we need to run the RPCServer `__init__` function in order to reset the
cache of RPC methods. Otherwise, that cache keeps stale references to
old functions (and prevents garbage collection).
It may be possible to reset the method cache some other way, but the
`_methods` attribute of RPCServer is Cython, and doesn't seem to be
accessible in our Python code.
|
| |
|
| |
|
|
|
|
| |
Our regex was borked.
|
|
|
|
|
|
|
| |
Detecting drops by parsing for DD and SS was a flawed method. Tools
should find those programmatically. Plus, the string 'DDC' would
interfere with the regex. Also, we're now using
UHD_LOG_FASTPATH_DISABLE.
|
| |
|
|
|
|
|
| |
- Move filter_* functions out of uhd_test_case
- Reduced some line lengths
|
|
|
|
|
|
|
|
|
|
| |
Fixes #2484
When building uhd host as a static library on Windows, UHD_API is
defined as __declspec(dllimport). This results in MSVC returning error
C2491 during compilation. Added a preprocessor define UHD_STATIC_LIB
in cmake and made the config headers set UHD_API to empty string when
UHD_STATIC_LIB is defined.
|
|
|
|
|
| |
Now matches the FPGA error message (go download, then run
uhd_image_loader).
|
| |
|
|
|
|
|
| |
Change the RB_FIFOSIZE register to store the FIFO size in bytes
instead of log2 of bytes.
|
|
|
|
|
| |
- AMP_LO1_EN_CH1 controls U2, the amp for the external LO1 port, so it must
be set high if channel 2 is using an external LO (external or reimport)
|
|
|
|
|
|
|
|
| |
uhd_images_downloader was mismanaging the image inventory- image
packages entries were not being deleted when the images were
overwritten. Now, each target is saved as a single entry in the
inventory, which is overwritten when a new image package is
downloaded.
|
|
|
|
|
|
| |
This is a common message that will always occur during device init when
there is no RIO device available. Because it looks like an error, it
confuses people and was thus reduced to TRACE.
|
|
|
|
|
|
|
|
| |
Adding MPM Git hash and version to the MPM device info. This
information is currently only available through logs when MPM starts
(it is the first log message in usrp_hwd.py). Adding it to the device
info makes it accessible to any application which checks that, such as
uhd_usrp_probe.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This sequence is the one as described by the AD9371 user guide.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
For USRPs that support user settings (e.g., B2xx, N230), this will
return an object that will allow peeking and poking user-defined
settings registers.
Mock code example:
auto usrp = multi_usrp::make(...);
auto user_settings_iface = usrp->get_user_settings_iface();
user_settings_iface->poke32(0, 23);
|
| |
|
|
|
|
| |
No functional changes. Cleanup only. A little less Boost.
|
|
|
|
|
|
| |
We will have two image packages for E320
- default - 1G and XG
- aurora - AA
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The testsuite now includes more environment variables for source dir,
build dir, and PYTHONPATH.
|
|
|
|
|
|
|
|
|
|
| |
You can now change the time/clock source default through device args:
auto usrp = uhd::usrp::multi_usrp::make(
"type=x300,clock_source=external,time_source=external");
This also enables the use of config files for the clock/time source
implicitly.
|
|
|
|
|
|
|
| |
x300_impl will now use a constrained_device_args_t-derived object to
parse device args.
No API or functional changes.
|
|
|
|
|
| |
- Add default parser helper
- Allow _enforce_discrete() for str_arg
|
|
|
|
|
|
|
| |
Also puts all defaults into the uhd::usrp::x300 namespace.
This commit does some renaming and refactoring, but no functional
changes.
|
|
|
|
| |
- All tests pass except for gpio_test
|
|
|
|
|
|
| |
- Change RX/TX min/max frequency according to AD9361 datasheet
- Fix set_atr_bits to change with rx/tx frequency and antenna independently
- Make AMP switching active high
|
| |
|
| |
|
|
|
|
| |
- Returns true if the link of sfp0 is up (1G/10G)
|
|
|
|
|
|
| |
With Boost 1.64 to 1.65 (which, of course, Ubuntu LTS ships), the
`PyInit_Libraryname` are invisible when one sets the default visibility
to "hidden" (which is reasonable, and which we do).
|
| |
|
|
|
|
|
|
|
|
|
| |
- The flushing mechanism now looks similar to that in noc_shell
- Make use of new flush bit in FIFO control register
- Restrict using the clear bit only after flushing to ensure no
partial packets are introduced in the stream. (clear immediately
empties out FIFOs)
- Changes are backwards compatible with older FPGAs
|
|
|
|
| |
clock_source call
|
|
|
|
|
| |
- Unnecessary use of Boost
- Use of thread_priority.hpp
|
|
|
|
|
|
|
| |
- For different ref clock frequencies, the ref_counter should change
and not the n_counter.
- The charge pump should be set to normal mode and tristate as that
would prevent the PLL to lock.
|
|
|
|
|
|
|
| |
- ref_clock_(int/ext) test was not changing adf400x driver settings
for new ref clock frequency. Therefore, changed the implementation
to use uhd_usrp_probe --sensor to set clock_source and get
'ref_locked' sensor value
|