aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
* uhd: Add traffic counter to null source sinkCiro Nishiguchi2018-10-111-0/+19
|
* mpmd: Increase rpcc timeout when calling set_time_source()Trung Tran2018-10-111-0/+2
| | | | | | | set_time_source() for N310 and N300 can take longer than the default RPC client timeout of 2 seconds due to dboard initialization. We need increase this timeout, by using the init timeout value which is 2 minutes.
* uhd: Fix rounding in ddc/duc rate calculationCiro Nishiguchi2018-10-052-2/+2
| | | | | | | | The DDC and DUC convert the requested rate to an integer before selecting a decimated / interpolated rate. This causes the selection to select a lower rate than requested in some corner cases. The effect is more pronounced when the input rate of the DDC or the output rate of the DUC is very small.
* mg: fixup set_rx_antennaTrung Tran2018-10-041-1/+1
| | | | | | After going to 2 radios configuration (FPGA), the channnel value is passed into this set_rx_antenna now have value either 0 or 1. We want the mapping of {radio_channel:cpld_channel} = {0:CHAN1} or {1:CHAN2}.
* multi_usrp: move definition of constantsAndrew Lynch2018-10-041-0/+2
| | | | ALL_MBOARDS and ALL_CHANS will be exported on GCC and MSVC
* uhd: reconcile time_spec operators with boost conceptsMark Meserve2018-09-281-14/+9
| | | | | | - Removes operator+ which was ambiguously defined in some cases - Adds additive concept for time_spec_t and double operators - Remove unnecessary ctime header
* cores: Update rx_frontend_gen3.v controls for 1/4-rate mixerMartin Braun2018-09-252-8/+12
| | | | | | | This tracks the changes on rx_frontend_gen3.v, which was updated to use a quarter-rate downconverter instead of a generic CORDIC. The X3x0 FPGA compat number is incremented as the rx_frontend is part of the device architecture rather than an RFNoC block.
* e320: Fix master_clock_rate settingSugandha Gupta2018-09-241-0/+4
| | | | | | The master clock rate was getting overwritten while running the codec loopback self test. So now we save the current rate before running the test and then reapply it.
* uhd: rfnoc: add async message handlerTrung Tran2018-09-147-9/+421
|
* radio_ctrl: add disable time stampTrung Tran2018-09-142-0/+10
|
* mg: clipping frequencyTrung Tran2018-09-142-4/+7
| | | | | Clipping requested frequency to acceptable ranges in Magnesium TX/RX set frequency functions.
* usb: fix dummy compilation in msvcMark Meserve2018-09-141-0/+8
|
* x300_impl: remove default_buff_args propertiesTrung Tran2018-09-131-7/+0
| | | | ...that are already handled in udp_zero_copy.
* device3_io_impl: remove tx_hint[send_buff_size]Trung Tran2018-09-131-6/+0
| | | | | we're no longer need this. Because there are default send buff size in each transport type impl.
* mpmd: add link speed to xport udpTrung Tran2018-09-131-6/+29
| | | | This is used to determine send_buff_size and recv_buff_size
* udp_zero_copy: add default xport params.Trung Tran2018-09-131-14/+58
|
* fixup! DDC/DUC: switch CORDIC -> DDS for all relevant variable namesmichael-west2018-09-132-12/+12
|
* host: lib: convert: Add CMake flag for NEON SIMDBrent Stapleton2018-09-121-1/+5
| | | | | | | Adding CMake flag to enable/disable NEON SIMD instructions. This is an addition to the previous checks (check for NEON headers and checking the size of pointers), so behavior is unchanged unless users specify that they do not want to use NEON instructions.
* e320: gpio: Fix front panel GPIO readbackSugandha Gupta2018-09-121-1/+4
| | | | The gpio devtest passes after this fix. Enabling the test
* mpmd: add option to enum rfnoc blocks from argsTrung Tran2018-08-311-5/+21
|
* uhd-dpdk: Add DPDK-based sockets-like libraryAlex Williams2018-08-2914-2/+2503
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* RFNoC: Add Replay API and exampleWade Fife2018-08-292-0/+184
|
* uhd: udp: 'all_matching' endpoint resolutionBrent Stapleton2018-08-291-1/+2
| | | | | | | | 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".
* uhd: Define UHD_API as empty string when building static libCiro Nishiguchi2018-08-221-0/+1
| | | | | | | | | | 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.
* x300: Improve firmware compat error messageMartin Braun2018-08-222-16/+35
| | | | | Now matches the FPGA error message (go download, then run uhd_image_loader).
* X300: Correctly initialize antenna mapping for TwinRXDerek Kozel2018-08-221-1/+4
|
* RFNoC: Convert SR_READBACK_REG_FIFOSIZE to bytesTrung N Tran2018-08-221-3/+1
| | | | | Change the RB_FIFOSIZE register to store the FIFO size in bytes instead of log2 of bytes.
* twinrx: enable ch1 lo amps if ch2 is using an external lo sourceMark Meserve2018-08-211-1/+13
| | | | | - 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)
* nirio: Demote RPC client cancel/abort to TRACEMartin Braun2018-08-211-1/+1
| | | | | | 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.
* uhd: Remove usage of time_t (except when required)Martin Braun2018-08-206-17/+17
| | | | | | | | | | 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.
* multi_usrp: Add get_user_settings_iface() API callMartin Braun2018-08-161-0/+12
| | | | | | | | | | | 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);
* b200: Enable access to user regs via the 'enable_user_regs' argMartin Braun2018-08-163-4/+31
|
* b200: Remove superfluous fake lambdaMartin Braun2018-08-161-11/+10
| | | | No functional changes. Cleanup only. A little less Boost.
* x300: Enable clock_source and time_source device argsMartin Braun2018-08-101-2/+2
| | | | | | | | | | 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: Use constrained_argsMartin Braun2018-08-104-48/+222
| | | | | | | x300_impl will now use a constrained_device_args_t-derived object to parse device args. No API or functional changes.
* lib: Improve constrained_device_args_tMartin Braun2018-08-101-2/+14
| | | | | - Add default parser helper - Allow _enforce_discrete() for str_arg
* x300: Move defaults to their own headerMartin Braun2018-08-103-116/+159
| | | | | | | Also puts all defaults into the uhd::usrp::x300 namespace. This commit does some renaming and refactoring, but no functional changes.
* e320: Fix tx/rx atr - antenna and frequency settingsSugandha Gupta2018-08-095-30/+32
| | | | | | - 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
* fixup! mpm: mg: add set_master_clock_rate memberMartin Braun2018-08-031-2/+2
|
* rfnoc: dma_fifo: Added a more robust flush mechanismAshish Chaudhari2018-08-032-36/+60
| | | | | | | | | - 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
* mg: Allow calling set_rate() at runtimeMartin Braun2018-08-022-6/+38
|
* mpm: mg: add set_master_clock_rate memberDaniel Jepson2018-08-022-0/+13
|
* mpmd: Allow setting time_source and clock_source propsMartin Braun2018-08-021-24/+4
| | | | | Before, setting these properties in the prop tree would trigger an exception.
* x300: Log git hash and compat number as debug messageMartin Braun2018-08-011-3/+8
|
* b100: Demote some clocking-related log messages to traceMartin Braun2018-07-311-2/+2
|
* b100: Remove all Boostisms from fifo_ctrl_excelsiorMartin Braun2018-07-311-9/+9
|
* b100: Fix fifo_ctrl_excelsior not exitingMartin Braun2018-07-311-13/+2
|
* b100: Move fifo_ctrl_excelsior to b100 subdirMartin Braun2018-07-315-2/+2
| | | | | This device is the only one using it, and no one will ever use it going forward.
* lmx2592: fix calibration start during tuningMark Meserve2018-07-311-1/+3
| | | | - This bug could cause LO to not lock properly after a set_frequency call
* lmx2592: always mux lock detect after initMark Meserve2018-07-311-9/+5
|