| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Increases the host's timeout during update_component times, then resets
it to the default RPC timeout after the call is complete.
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Thanks to github user mdmikh for pointing out problem and fix.
|
|
|
|
|
|
|
| |
Adds two device args: discovery_port and rpc_port. Both are integers
which override the respective constants.
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
|
|
|
|
|
|
| |
By adding measure_rpc_latency, mpmd_impl will run a ping command in a
loop at initialization, and estimate average and maximum RPC command
latency. Note that the ping() RPC call only does an internal logging
call and returns its argument, so it is a very coarse approximation to
how fast RPC latency is.
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
|
|
|
|
| |
- For non-MPM Ethernet devices, mpmd_find would return a fake
malformed discovery result which would accidentally trigger
an mpmd_impl::make resulting in unexpected errors
- Fixed mpmd_find to return an empty device_addrs_t object if
no MPM devices are found
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Default is to not serialize inits.
|
|
|
|
|
|
| |
Currently, calling these APIs could potentially put the device into bad
state. This will disable the APIs from UHD side and replace them with a
warning if the user's setting did not take effect.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will do nothing useful, but will print warnings that clock rates
don't match. So let's remove that setting.
|
|
|
|
| |
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
|
|
|
| |
MPM will now no longer keep a SID framer variable.
Reviewed-by: Trung Tran <trung.tran@ettus.com>
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
|
|
| |
The mpmd_xport_mgr classes can now return their own MTU. The UDP xport
manager is a special case, it doesn't actually know its MTU, and thus
runs an MTU discovery, using the MPM-ECHO command to discover MTU by
sending variable-size packets as a probing mechanism.
Reviewed-by: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
|
|
| |
- Fixed issue where the "addr" device args was not honored
- Results returned by find only enumerate mgmt_addrs
- Explicitly require addr to be specified for RFNoC comms
- Cleaned up constants for mgmt_addr, addr and second_addr
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-by: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This splits up the transport code in mpmd_impl across multiple classes
to properly leverage the request_xport/commit_xport API in MPM.
Different types of transport (UDP, liberio) use their own distinct
classes, which are generated dynamically on request.
This is a true refactoring despite the large amount of changes; there
are no functional differences.
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
Reviewed-By: Trung Tran <trung.tran@ettus.com>
Reviewed-By: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
| |
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Need to update rf freq to half of ad9371
|
|
|
|
| |
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
| |
mpmd_impl was already using this type, fixed conversion from
std::string to std::vector<uint8_t> there too.
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
|
| |
This change adds extra hooks to the property tree to make LOs accessible
thru the property tree.
These can be used by multi_usrp api.
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Need to set RF frequency after set_tx_frequency done.
|
|
|
|
|
|
|
| |
We want to have set frequency and set gain atomic. i.e if user set gain and
tune to different frequency, they expect the gain won't change.
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Magnesium APIs are not thread-safe and can take a while to execute in
some cases. Adding a mutex to setters avoids invalid states of the
hardware from API calls.
Note that the lock applies to one block at a time. With the
two-radios-per-dboard approach, two locks need to be applied and race
conditions are still possible.
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
| |
Updated channel param:
-modify radio_ctrl_cpld the param for channel has to be more concrete type of chan_sel_t
-fix _update_rx_freq_switches and _update_tx_freq_switches to get correct
frequency by NOT using radio base class
|
| |
|
|
|
|
|
| |
- Fixed incorrect register address for channel 1 lowband mixer select
- Fixed enabling of bypass path
|
| |
|
|
|
|
|
|
|
| |
- The MPM function update_component now accepts multiple components to
be updated in one RPC call.
- Updated the property tree and image loader to match this change.
- Also added DTS loading to the image loader.
|
|
|
|
|
| |
DSA value was set at wrong value since it is at upper 6 bits of DSA register.
Added comment.
|
|
|
|
| |
We need more radio index and radio slot for N310.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The master_clock_rate argument is passed to init() during
initialization; this change allows to query the correct MCR at
initialization time. It does not allow changing the MCR while a session
is active.
The MCR also affects the LO settings; it is the reference clock for the
lowband LOs.
|
|
|
|
|
| |
Reviewed-By: Steven Bingler <steven.bingler@ni.com>
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
|
|
| |
- Add LO locked APIs to Magnesium
- Add LO locked sensor APIs for RX/TX and highband/lowband LOs
- Poll all those sensors from magnesium_radio_ctrl_impl
Reviewed-By: Steven Bingler <steven.bingler@ni.com>
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
mpm_find now filters discovered devices using (if provided in args)
name, serial, type, and product. This method follows the same logic as
the x300 find routine.
|