aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager
Commit message (Collapse)AuthorAgeFilesLines
* mpmd: Add discoverable feature for trig i/o modeGrant Meyerhoff2021-09-021-1/+1
|
* mpm: x4xx: update mboard_max_revAndrew Lynch2021-08-251-1/+1
|
* MPM: add X410 support for 250e6 master clock rateMichael Dickens2021-08-241-0/+1
|
* n3xx: Add support for rev 10michael-west2021-08-161-1/+1
| | | | | | No hardware interface change, so just bumping max revision. Signed-off-by: michael-west <michael.west@ettus.com>
* mpm: Expose motherboard regs for debuggingSam O'Brien2021-08-131-0/+9
| | | | | | | | | There currently isn't a way to access the motherboard register using MPM (the ones defined in x4xx_global_regs). This commit adds a simple interface to peek and poke them which is very similar to the current interface for the daughter board registers. Signed-off-by: Sam O'Brien <sam.obrien@ni.com>
* mpm: update x410 fpga minor compat numberHumberto Jimenez2021-06-241-1/+1
|
* mpm: Move cal freeze defaults to x4xxLane Kolbly2021-06-232-3/+27
| | | | | | | | This fixes an issue where the slot 0 ADC blocks would erroneously report that they were unfrozen. Additionally, adds logic to restore a saved cal freeze state on sync source change.
* mpm: restore rfdc nco frequency after setting sync sourceGrant Meyerhoff2021-06-222-0/+31
| | | | After setting sync sources, the RFDCs get reset, we need to restore the previously set frequencies so that the device continues to transmit/receive at the requested frequency
* uhd: Add support for the USRP X410Lars Amsel2021-06-1014-11/+6244
| | | | | | | | | | | | | | | | Co-authored-by: Lars Amsel <lars.amsel@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com> Co-authored-by: Martin Braun <martin.braun@ettus.com> Co-authored-by: Paul Butler <paul.butler@ni.com> Co-authored-by: Cristina Fuentes <cristina.fuentes-curiel@ni.com> Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Co-authored-by: Lane Kolbly <lane.kolbly@ni.com> Co-authored-by: Max Köhler <max.koehler@ni.com> Co-authored-by: Andrew Lynch <andrew.lynch@ni.com> Co-authored-by: Grant Meyerhoff <grant.meyerhoff@ni.com> Co-authored-by: Ciro Nishiguchi <ciro.nishiguchi@ni.com> Co-authored-by: Thomas Vogel <thomas.vogel@ni.com>
* mpm: Remove helper classes from RPC APILars Amsel2021-06-031-9/+9
| | | | | | | | All public callables are exported as part of the RPC API. Because classes are callable in Python they are now protected to prevent export. Having theses inner helper classes marked as protected also matches better their purpose as the are not meant to be used outside the class.
* mpm: Add symbol name based EEPROM read, cleanup EEPROM handlingLars Amsel2021-05-312-71/+217
| | | | | | | | | | | | Handling of EEPROM read was cleanup in PeriphManagerBase such that EEPROM reading for mother and daugther board have similar names and signatures. Base class supports symbol names for the nvmem files which make it easy to find them by name such as db0_eeprom instead of addresses like ff020000.i2c:cros-ec@3c:db0-i2c-tunnel. Base class furthermore reads out all available auxiliary board EEPROM files and stores them in a dictionary member.
* MPM for N32x: Add 'XQ' image as valid when using sfp0 as time_sourceMichael Dickens2021-05-181-1/+1
|
* mpm: PeriphManagerBase: Add _add_public_methods()Martin Braun2021-04-291-0/+41
| | | | This allows conditionally adding public API methods.
* mpm: periph_mgr: Demote "no SPI nodes" warningMartin Braun2021-04-211-1/+1
| | | | | | | | | When there are SPI nodes declared for a daughterboard, MPM will emit a warning: "No SPI nodes for dboard". The warning is misleading, because this only occurs when no SPI nodes where *declared*, not when they were declared but not found. This is entirely normal for USRPs where the daughterboards do not have SPI nodes, and thus, not even worth a debug statement.
* mpm: periph manager: Fix get_mb_eeprom() return value formattingMartin Braun2021-03-251-1/+4
| | | | | | | | | | The get_mb_eeprom() RPC call is supposed to return a string -> string map and thus converts all EEPROM entries to strings. However, for raw strings, the existing conversion (using str()) was not correct (we need to decode raw strings first). This would lead to things like the serial being returned as b'ABCD123' instead of just ABCD123.
* mpm: Add DboardIface for MB DB driver controlToni Jones2021-03-041-0/+8
| | | | | | | | Add DboardIface class which will act as an interface to bridge the gap between MB and DB drivers in MPM. The DboardIface will be implemented by each Motherboard with MB specific information. Dboard objects will then instantiate the class in order to utilize the implemented control functions.
* mpm: deduplicate dboard eeprom handlingMichael Auchter2021-02-112-39/+29
| | | | | | | | | | | | The _get_dboard_eeprom_info implementations are the same with the exception of how the dboard eeprom is actually read. Break that out into a _read_dboard_eeprom method to reduce code duplication. The base class now defines a lambda expression for the eeprom reader which can be changed in subclasses. Co-authored-by: Lars Amsel <lars.amsel@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com>
* mpm: filesystem_status: tolerate absence of menderMichael Auchter2021-02-091-1/+3
| | | | | | If the mender utility is not installed or exits with a failure, return NULL for the artifact rather than raising an exception (and disrupting device initialization).
* mpm: Implement get_sync_source and get_sync_sources.Lane Kolbly2021-01-252-0/+21
|
* sim: Ignore mender artifact file on sim devicesAaron Rossetto2021-01-212-2/+13
|
* sim: Move Hardware Specific to Config FileSamuel O'Brien2020-10-281-22/+25
| | | | | | | | This commit moves various magic numbers and hardware specific settings into the configuration file. It also provides default presets for said configuration files which can be inherited from. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* sim: Support Configuration FilesSamuel O'Brien2020-10-281-1/+10
| | | | | | | | This commit adds support for configuration files to the simulator. As of now, these files only change the source and sink of data samples, but they are easily extensible to add more configuration to the simulator. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* sim: Support StreamingSamuel O'Brien2020-10-281-2/+1
| | | | | | This commit add support for both Tx and Rx streams to the simulator. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* sim: Clarify Naming of StreamsSamuel O'Brien2020-10-081-2/+2
| | | | | | | | | ChdrSniffer is renamed to ChdrEndpoint to clarify its function as the actual destination of chdr packets, rather than just an observer. TxWorker has been renamed to OutputStream and RxWorker has been renamed to InputStream to avoid ambiguities regarding Tx and Rx terminology. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* sim: Simulator CHDR Parsing and RFNoC GraphSamuel O'Brien2020-10-081-5/+8
| | | | | | | | | This commit adds a simulated RFNoC Graph to the simulator. It is also able to process management and control packets which can traverse the graph and read from simulated registers. Stub callbacks for creating streams have been provided but are not implemented yet. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* sim: Add Daughterboard MethodsSamuel O'Brien2020-10-071-7/+10
| | | | | | | | This commit adds daughterboard simulation to the simulator. There is a sim_dboard class which registers it's methods with the rpc server. These methods are visible over mpm as well as the mpm_shell. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* sim: Lay Groundwork for SimulatorSamuel O'Brien2020-10-072-0/+303
| | | | | | | | | | | | | | | At this point, only about half of the mpm methods work on the simulator over the mpm shell, and it hasn't been tested with uhd at all. If you want to give it a try, first install all of the python dependencies of mpm (The simulator doesn't require libusrp or any of the C++ deps). In addition, running mpm on a desktop machine requires the python lib netifaces. Next, make an /mpm/build directory and open it. Run `cmake .. -DMPM_DEVICE=sim`, then `make`. Finally, run `python3 python/usrp_hwd.py`. You should be able to open another terminal and run `mpm/tools/mpm_shell.py localhost` to connect to the mpm server. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* mpm: use filesystem_status from sys_utilsJoerg Hofrichter2020-10-061-13/+4
| | | | | | Use the utility functions for getting the filesystem version string and for getting the Mender artifact which are now available in usrp_mpm.sys_utils.
* mpm: n3xx: Remove eth1, eth2 from interface listMartin Braun2020-08-071-8/+0
| | | | | | | | | These interfaces are renamed to sfp0 and sfp1 and thus don't exist. They were kept in MPM for a while after the rename, but that was many versions of UHD ago, and the current filesystem (which does the rename) is not compatible with older versions of UHD anyway (and vice versa). These aliases are thus dead code and can be removed.
* mpm: Remove SID classMartin Braun2020-08-073-3/+0
| | | | | | This class is a remnant of UHD 3, and is no longer used anywhere. SID is no longer used at all in UHD, in fact, which means the class did not represent a valid data structure.
* mpm: Default virtual NIC CHDR IP selectionSteven Koo2020-07-303-3/+15
| | | | | This change adds detection for setting the correct internal fpga CHDR IP address when using embedded mode.
* fpga, mpm: Bump FPGA compat numberRobertWalstab2020-07-243-3/+3
|
* uhd: remove liberioRobertWalstab2020-07-202-9/+1
|
* mpm: remove class N3xxXportMgrLiberioRobertWalstab2020-07-161-15/+4
|
* mpm: Fix a logging messageRobertWalstab2020-07-161-1/+1
|
* mpm: Enable internal NIC on the N3xxRobertWalstab2020-07-161-3/+12
|
* mpm: remove class E310XportMgrLiberioRobertWalstab2020-07-161-11/+4
|
* mpm: Enable internal NIC on the E310RobertWalstab2020-07-161-6/+28
|
* mpm: remove class E320XportMgrLiberioRobertWalstab2020-07-161-12/+5
|
* mpm: support forwarding CHDR packetsRobertWalstab2020-07-161-0/+4
|
* mpm: Enable internal NIC on the E320Alex Williams2020-07-161-0/+4
| | | | Add an entry for the internal NIC to E320.
* mpm: Add support for internal Ethernet interfaceAndrew Lynch2020-07-162-0/+6
|
* mpm: Detect number of liberio channelsAlex Williams2020-07-161-4/+5
| | | | | Instead of using hard-coded values, detect the number of liberio channels, and only offer liberio links if they exist.
* mpm: Fix various Pylint issuesMartin Braun2020-07-092-6/+2
| | | | | | | | No functional changes. Fixes for things that PyLint complains about, but are safe to change anyway, as well as a minor improvement to a docstring that referenced non-existant args. This touches files that are mpm.conf-related.
* mpm: Look for pca953x based devices by device/nameSteven Koo2020-06-111-1/+1
| | | | | | | | | | The pca953x driver introduced a change for how the "label" property populates. Instead of using the device model, it gives a device specific name. As a replacement, use device/name. This affects the tca6424 and tca6408. For the kernel change that causes this see: https://github.com/torvalds/linux/commit/5128f8d4450159f59565d247437d3bedda3994cb
* mpm: Return filesystem info from get_device_infoLane Kolbly2020-06-051-0/+14
| | | | | This commit returns information on the filesystem and mender artifact versions to clients of the MPM RPC connection.
* mpm: Return dboard_info in get_device_infoLane Kolbly2020-06-051-0/+5
| | | | | | | | | Though this information is also returned via usrp_probe, it can be useful to provide this information to trackers which scrape the get_device_info RPC call. The dboard information is split up and cast to string just to simplify parsing on the receiving end.
* mpm: Return build info in mpm_sw_versionLane Kolbly2020-05-271-1/+1
| | | | | The mpm_version key was being overridden by the MPM_COMPAT field in rpc_server::get_device_info.
* e320/e310: Fix get_gpio_srcs() MPM API callMartin Braun2020-02-262-2/+2
| | | | | The Python code contained a typo which would cause a call to get_gpio_srcs() to throw an exception.
* fixup! mpm: e320/e310: Expose APIs to drive GPIO source via UHDMartin Braun2020-01-283-2/+3
|