uhd/mpm/python/usrp_mpm/periph_manager
Martin Braun c176425b85 mpm: Make default clock/time source values state-less
Currently, the default clock/time source is whatever the user configured
in the last session.

This fixes the scenario were you have any MPM device and do this:

    $ benchmark_rate --args $args,clock_source=external

But whoops! You forgot to attach an external 10 MHz. PLL lock fails,
nothing works. No worries, you run it again:

    $ benchmark_rate --args $args

With the previous behaviour, this would retain the setting to
'external', because there's nothing to overwrite it. You would need to
append `clock_source=internal` to get a working device again. Calling
multi_usrp::set_clock_source("internal"), or a similar API call, might
not be sufficient because the PLL lock failure might crash the program
before updating the clock source is possible.

The problem with this is twofold:

- All non-MPM devices behave differently, i.e., they have a fixed
  default ('internal') which is always applied if no other option is
  given. This is an internal inconsistency.
- Some applications (like gr-uhd's GRC bindings) simply don't set
  a clock/time source when selecting a "default", or they try and update
  the clock/time source using the API calls.

Therefore, we align the behaviour of MPM devices with the other devices,
and fall back to an internal source if nothing else is provided.
2022-03-28 12:48:28 -07:00
..
__init__.py.in mpm: Add __mpm_device__ as usrp_hwd module variable 2018-10-09 17:11:08 -07:00
base.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
CMakeLists.txt mpm: x4xx: Move DioControl into its own module 2021-12-09 13:09:28 -08:00
common.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
e31x.py mpm: Make default clock/time source values state-less 2022-03-28 12:48:28 -07:00
e31x_periphs.py mpm: e320/e310: Expose APIs to drive GPIO source via UHD 2020-01-23 11:37:51 -08:00
e320.py mpm: Make default clock/time source values state-less 2022-03-28 12:48:28 -07:00
e320_periphs.py mpm: Fix various Pylint issues 2020-07-09 00:39:11 -07:00
n3xx.py mpm: Make default clock/time source values state-less 2022-03-28 12:48:28 -07:00
n3xx_periphs.py mpm: Look for pca953x based devices by device/name 2020-06-11 10:39:05 -05:00
sim.py sim: Ignore mender artifact file on sim devices 2021-01-21 12:47:54 -06:00
x4xx.py mpm: Make default clock/time source values state-less 2022-03-28 12:48:28 -07:00
x4xx_clk_aux.py MPM: X410: Set correct tuning word 2022-01-10 14:55:44 -06:00
x4xx_clk_mgr.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
x4xx_dio_control.py mpm: x4xx: Remove GPIO classic mode register 2022-03-23 16:14:07 -05:00
x4xx_gps_mgr.py mpm: x410: Fix docstrings related to GPS sensors 2022-01-10 08:02:51 -06:00
x4xx_mb_cpld.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
x4xx_periphs.py mpm: x4xx: Move DioControl into its own module 2021-12-09 13:09:28 -08:00
x4xx_reference_pll.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
x4xx_rfdc_ctrl.py mpm: rfdc: Tear down RFDC on teardown 2021-10-11 10:43:46 -07:00
x4xx_rfdc_regs.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
x4xx_sample_pll.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
x4xx_update_cpld.py uhd: add support for max10 variants 2021-12-02 06:42:09 -08:00