aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/e300
Commit message (Collapse)AuthorAgeFilesLines
* Device3: Fix MTU and default frame sizesMichael West2019-06-281-2/+11
| | | | | | | | | | The latest changes to the get_*x_stream() functions to calculate the MTU for the channel caused default frame size values to be ignored. This change fixes that by changing the key from "send/recv_frame_size" to "mtu" and then changing the implementations of make_transport() constrain the frame size values based on the "mtu" value as well as any device and/or transport-specific limits. Signed-off-by: Michael West <michael.west@ettus.com>
* device3: Constraint send/recv_frame_size based on down/upstream MTUSugandha Gupta2019-05-212-0/+8
| | | | | | We need to properly contraint the send/recv_frame_size based on the minimum MTU of all the down/upstream blocks. This fixes the issue with E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
* E31x: Destruct RFNoC before loading idle imagemichael-west2019-01-311-0/+2
| | | | | | | Eliminates errors during application shutdown by explicitly destroying RFNoC blocks before loading the idle image. Signed-off-by: michael-west <michael.west@ettus.com>
* formatting: remove vim hints in headersBrent Stapleton2019-01-161-1/+0
| | | | | Remove trailing vim hints in header files. This functionality will be replaced by clang-format.
* E300: Re-enable "gpsdo" time sourcemichael-west2018-12-201-1/+1
| | | | Fixed typo in CMakeLists.txt file
* E310: Fix initialization of antenna and frequency valuesmichael-west2018-12-172-8/+36
|
* e300: Type-cast fix for boostAndreas Müller2018-11-281-1/+1
| | | | | | | Fixes compiler errors on newer Boost. boost::posix_time::microseconds() requires a int64_t. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-10/+10
| | | | | | | | | | | | | | | | | 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!)
* fixup! e300: merge files from rfnoc-develMartin Braun2018-07-061-0/+5
|
* e300: merge files from rfnoc-develTrung N Tran2018-06-2913-1557/+1119
| | | | This disables the ability to do "network mode" on the E310.
* ad9361: Add API to set 1R1T/2R2T timing modesSugandha Gupta2018-06-151-0/+5
| | | | | LVDS interface can support both timing modes 1R1T/2R2T The API sets the required bit in catalina registers.
* x300: e300: fix git_hash dirty bit positionTrung N Tran2018-05-301-1/+1
|
* lib: Purge all references to boost::this_thread::sleep()Martin Braun2018-04-304-11/+16
| | | | Replace with std::this_thread::sleep_for().
* ad936x: De-boostify ad936x_manager, minor cleanupMartin Braun2018-04-261-6/+7
| | | | | | | - Remove all use of boost::bind and boost::function - Demote some log messages to DEBUG - Change some formatting to match coding guidelines - B2xx/E310: Match changes in loopback function
* lib: move atomic.hpp and system_time.hpp to uhdlibMartin Braun2018-04-061-2/+2
|
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-144-16/+16
| | | | | | | | | | | | | | | | 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: Moved get_system_time outside of public APIMartin Braun2018-03-051-2/+3
| | | | | | | 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.
* fixup! x300,n230,e300: changes to adapt to new usrp APIMartin Braun2018-02-231-2/+2
| | | | Fixes some compiler warnings.
* fixup! x300,n230,e300,b200: changes to adapt to new usrp APITrung N Tran2018-02-221-4/+6
|
* x300,n230,e300: changes to adapt to new usrp APITrung N Tran2018-02-211-6/+31
|
* uhd: Update license headersMartin Braun2018-02-1926-25/+51
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* usrp3: Changes for Vivado 2017.4Ashish Chaudhari2018-01-241-1/+1
| | | | | | - Bumped compat number for e3xx, n230, x3xx, n3xx - Updated images package for e3xx, n230, x3xx, n3xx - Updated fpga-src submodule
* Move all license headers to SPDX format.Martin Braun2017-12-2226-312/+26
|
* e300: Fix use of basic_datagram_socket::native()Martin Braun2017-12-191-1/+1
|
* e300: Fixed product name to show device and speed gradeSugandha Gupta2017-06-302-4/+13
|
* uhd: Replaced many lexical_cast with appropriate C++11 equivalentsMartin Braun2017-06-293-9/+9
|
* Merge branch 'maint'Martin Braun2017-06-271-1/+1
|\
| * e310: Clarified log message re GPSMartin Braun2017-06-271-1/+1
| |
* | Merge branch 'maint'Martin Braun2017-06-271-15/+24
|\|
| * E300: Modify e300_poll_waiter to reduce minimum timeout and fix race conditionmichael-west2017-06-271-14/+24
| |
* | Add missing variable initializationMartin Siegumfeldt2017-05-231-1/+2
| | | | | | | | | | | | - and thereby avoid deadlock upon the first wait() invocation Signed-off-by: Martin Siegumfeldt <mns@gomspace.com>
* | utils: Replaced uhd::atomic_uint32_t with std::atomicMartin Braun2017-04-121-5/+10
| |
* | logging: Demoted a number of DEBUG messages to TRACEMartin Braun2017-04-052-2/+2
| |
* | device3: Fixed potential concurreny issuesAshish Chaudhari2017-04-052-6/+5
| | | | | | | | | | | | | | - Protected block_ctrl vector with a mutex - Note: const block accessors are not thread safe - Removed sid_framer from base device3 class - Made x300,e300 sid_framers atomic
* | utils: introduce new logging API and remove msg APIAndrej Rode2017-02-207-67/+67
| |
* | uhd: Replace clocking_mode_t unscoped enum with scoped versionMartin Braun2017-02-171-1/+1
| | | | | | | | | | This is not a functional change, but it marks the usage of scoped enums in UHD. Commits past this one may also use this C++11 feature.
* | uhd: replace BOOST_FOREACH with C++11 range-based for loopAndrej Rode2017-02-104-16/+18
|/ | | | | Note: This is the first commit that uses for-range, and range-based for-loops are now usable for UHD development.
* lib: add default ctors to structs and initialize members properlyAndrej Rode2017-01-123-1/+4
|
* Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width ↵Martin Braun2016-11-0817-362/+362
| | | | | | | | 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).
* Fix warning in e300_remote_codec_ctrl.cpp for gcc.Philip Balister2016-10-181-2/+2
| | | | | | | | The bigger question is why uhd forces the e300 code to have an implementation of an empty function. But, suppress the warning and let people fight about design later. Signed-off-by: Philip Balister <philip@opensdr.com>
* ad936x: Loopback check now takes peeker/poker functors instead of assuming ↵Martin Braun2016-08-091-5/+10
| | | | any kind of interface
* ad9361: Added option for safe SPIJonathon Pendlum2016-08-091-0/+3
| | | | - Also added check for reading chip ID
* Merge branch 'maint'Martin Braun2016-04-201-0/+2
|\
| * e3xx: spi: Fix issue introduced in 1b149f56Moritz Fischer2016-04-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernels (3.15+) introduce the possibility to do DUAL and QUAD spi operations via spidev. Prior to this commit nothing was setting the {tx,rx}_nbits members of the struct spi_ioc_transfer. from include/uapi/linux/spi/spidev.h struct spi_ioc_transfer { __u64 tx_buf; __u64 rx_buf; __u32 len; __u32 speed_hz; __u16 delay_usecs; __u8 bits_per_word; __u8 cs_change; __u8 tx_nbits; __u8 rx_nbits; __u16 pad; }; This turns into an issue on more recent kernels, where it turns all transactions into QUAD transactions, while the controller actually doesn't support that mode of operation. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* | E310: Radio reset fixmichael-west2016-03-291-1/+1
| | | | | | | | | | | | - Updated images - E310: Bumped compat number to 16 for radio reset fix - Update fpga-src submodule pointer
* | usrp3: Added RX DSP support for heterodyne samplingAshish Chaudhari2016-03-211-1/+1
| | | | | | | | | | | | | | | | | | - rx_dsp_core: set_mux takes in a fe_connection obj to determine IQ mapping and sampling mode parameters - rx_dsp_core: Support a non-zero IF for downconversion The current strategy applies a software DSP freq offset which eats into the range of the CORDIC which is OK because heterodyne assumes real-mode sampling
* | Merge branch 'maint'Martin Braun2016-03-111-2/+3
|\|
| * e300: Fixed a memory leak in udev codeMarcus Müller2016-03-031-2/+3
| | | | | | | | | | When querying temp mboard sensor on e300, sysfs attributes are read through udev.
* | x300,e300: Fixed IQ swapping issue in RX frontendAshish Chaudhari2016-02-171-4/+2
| | | | | | | | - DB connection mapping is implemented in DDC chain. FE corrections module does not swap
* | prop_tree: Multiple API enhancements to uhd::propertyAshish Chaudhari2016-02-111-29/+29
| | | | | | | | | | | | | | | | | | - Added desired and coerced values and accessors to property - Added support to register desired subscribers - set APIs don't reallocate storage for a property value - Renamed callback method registration APIs - Registering 2 coercers or publishers for a property will throw - Registering a coercer and a publisher for the same property will throw