aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
Commit message (Collapse)AuthorAgeFilesLines
* n3xx: mg: Make set_freq() call asynchronousMartin Braun2019-08-222-0/+39
| | | | | | | This does not change the MPM/UHD API, but it makes the set_freq() call asynchronous on the MPM side. The upside is that it will release the GIL if the set_freq() call takes too long, e.g., because of MPM calibrations.
* mpm: mg: Only import AD9371 API calls if not yet on MagnesiumMartin Braun2019-08-221-2/+3
| | | | | This will avoid importing API calls from the self.mykonos object onto the Magnesium class if the Magnesium class already has such a method.
* e320: fix time source clobbering ref sourceMark Meserve2019-08-151-2/+6
| | | | | | | - Fixes a case where the e320 would be unable to lock to an external 10 MHz reference - Previously, calling set_time_source would set the reference clock source to internal as a side effect
* mpm: net: Fix typo in docstringMartin Braun2019-07-201-1/+1
|
* mpm: cmake: removing unnecessary destination prefixPatrick Sisterhen2019-07-171-1/+1
| | | | | Removing unnecessary CMAKE_INSTALL_PREFIX to destination for usrp mpm python dir
* n3xx: bugfix for mpm set_db_eeprom access via networkThomas Vogel2019-06-131-4/+7
| | | | access or data as bytes instead of str was not possible due to unconditional assert check for str
* mpm: Change SW/HW compat check to use last_rev_compatTrung Tran2019-05-104-18/+33
| | | | | | | Newer revisions of the E320 and N3xx motherboards use EEPROM version 3, and store a rev_compat field. The rev_compat is the last revision that this hardware is compatible with. We now use that instead of simply the revision.
* mpm: Add MB-EEPROMv3Martin Braun2019-05-104-13/+52
| | | | | | | | | | This includes a rev_compat field, which we can use to identify the last hardware revision this hardware is compatible with. Example: Say the current hardware revision is 7, but it is compatible with version 5, then we store 7 as the current rev, and 5 as the rev_compat. Software can now check the rev_compat rather than the current rev for compatibility. This makes MPM more future-proof against minor, compatible hardware changes.
* E320: Add support for rev Emichael-west2019-05-021-1/+1
| | | | | | - No driver changes required Signed-off-by: michael-west <michael.west@ettus.com>
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-0124-16/+1668
| | | | | | | | | | | | - Turns the E310 into an MPM device (like N3xx, E320) - Factor out common code between E320 and E310, maximize sharing between the two devices - Remove all pre-MPM E310 code that is no longer needed - Modify MPM to remove all existing overlays before applying new ones (this is necessary to enable idle image mode for E310) Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* mpm: Add option for muxed data stream for liberio transportSugandha Gupta2019-05-011-3/+9
| | | | | | If the number of channels for embedded mode streaming is 4 (1 for ctrl, 1 for async messages and 2 for data ), we need to mux the data transport. This is needed for E310
* mpm: sys_utils: Remove hardcoded 'subsystem' for temp sensorSugandha Gupta2019-05-011-8/+24
| | | | | This is needed for E31x with thermal sensors on different subsystems e.g. iio, hwmon.
* mpm: Generalize unittest Test Case functionalityToni Jones2019-04-112-33/+50
| | | | | | Pull some general functionality out of a specific test case and create a TestBase class. Future test cases will inherit from TestBase and have access to this general functionality.
* mpm: python: Move from Boost.Python to PyBind11Martin Braun2019-04-0215-268/+126
|
* cmake: Add unit testing framework to MPMToni Jones2019-03-265-0/+244
| | | | | | | Add unit testing framework to MPM which can be run by calling "make test". The testing is done using the built in unittest Python module. Tests can be run on a dev machine or on the USRP itself when compiling natively.
* mpm: python: Clean out cruftMartin Braun2019-03-213-64/+0
| | | | Remove some unused files.
* mpm: cmake: Clean out top-level CMake fileMartin Braun2019-03-211-43/+30
| | | | | This file contained a whole lot of copy pasta from during its inception. Removed all the special cases for Windows, MinGW, and RedHat.
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-0822-22/+22
| | | | Updating all SPDX license identifiers to include "-or-later"
* mpm: rpc_server: Improve error message on double-claimMartin Braun2019-02-221-2/+5
| | | | | The error message will now include the IP address of the client trying to double-claim a device.
* mpm: rhodium: Fix clock value log formattingMartin Braun2019-02-221-2/+3
| | | | | Before, the log messages would occasionally print 6 digits worth of precision for sample clock values that only require 2.
* mpm: rhodium: Fix typo in log messageMartin Braun2019-02-221-1/+1
|
* mpm: n320: Update FPGA type if QSFP board is availableMartin Braun2019-02-221-1/+9
| | | | | | The N320 has FPGA types (XQ, AQ) which cannot be derived from the mboard regs in the same way as the non-QSFP variants. We therefore bite the bullet and hardcode those.
* mpm: n320: Demote warning on absence of QSFP boardMartin Braun2019-02-221-4/+5
| | | | | The QSFP board can't be detected if support for it is not baked into the current FPGA image, so the warning on its absence may be incorrect.
* mpm: bist: DDR3 test only enumerates first blockMartin Braun2019-02-201-1/+1
|
* mpm: n3xx: bist: Auto-load the AA image for the ddr3 BISTMartin Braun2019-02-201-0/+22
| | | | | | | | | | | | | | When running $ n3xx_bist ddr3 The test will now load the AA image if the BIST fails, unless the user specifies $ n3xx_bist ddr3 -o skip_load_fpga=1 The rationale is that by default, the AA image is the only one that includes the DmaFIFO block.
* mpm: n3xx: BIST: Improve DDR3 BIST to check for DmaFIFOMartin Braun2019-02-201-6/+10
| | | | | | | The capability to run the DDR3 BIST is built into the DmaFIFO RFNoC block, which is not always available. This change performs a quick check before for its existence before retrieving the throughput values, and thus can provide a better error message in that case.
* mpm: n3xx: Remove DDR3 from standard BIST collectionMartin Braun2019-02-201-1/+1
| | | | | | | We can't guarantee that there is actually a DDR3/DRAM FIFO block on the image. So, don't run that test by default. In order to run the DDR3 bist, running `n3xx_bist ddr3` is still valid. However, it requires an image with the DRAM FIFO enabled.
* e320: add fpga_version_hash to e320 device infoSugandha Gupta2019-02-191-0/+2
| | | | | Fixes uhd_usrp_probe FPGA version githash to report the correct hash and not 'UNKNOWN'.
* mpm: n320: Properly check for the LO distribution boardMartin Braun2019-02-192-9/+23
| | | | | | | | Without this patch, the N320 code will rely on an error to occur to determine the non-existence of the N321 LO distribution board. While this works, it forces an error message where there's no error. This will first check for the existence of the board before trying to initialize it.
* N3xx: Update max rev to 7michael-west2019-02-191-2/+1
| | | | | | | Hardware revision was increased due to new firmware. No software changes are required. Signed-off-by: michael-west <michael.west@ettus.com>
* mpm: lib: mykonos: adi_ctrl: Remove unused variableMoritz Fischer2019-02-151-2/+0
| | | | | | | Remove unused variable data_word that never gets set, but never read. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: lib: mykonos: ad937x_device: Remove unused variableMoritz Fischer2019-02-151-3/+0
| | | | | | | Remove unused 'coerced_value' variable since nobody reads it ever. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: xport: add commit_xport docstringBrent Stapleton2019-02-111-1/+4
|
* n3xx: init peripherals before loading FPGATrung Tran2019-02-013-45/+64
| | | | | | | | | Issue: Current code loads FPGA too early while many essential peripherals such as net clocks are not brought up. This change will make sure those are got init before FPGA loaded. Signed-off-by: Trung Tran<trung.tran@ettus.com>
* mpm: Parameterize max UDP link allocationAlex Williams2019-01-252-1/+7
| | | | | | | Add an argument to the UDP xport_mgr to adjust the xport sorting. This enables Rhodium to use a different limit from Magnesium. Previously, the sorting method would overload a link with both of Rhodium's higher-rate streams.
* mpm: Fix up Rhodium EEPROM handling for BfrfsEEPROMAlex Williams2019-01-231-24/+3
| | | | | | Fixes Rhodium for changes introduced in b7bab6a. The constructor call for BfrfsEEPROM didn't match the signature, and Rhodium's EEPROM map referred to the wrong revision.
* rhodium: Fix some Pylint warningsMartin Braun2019-01-211-6/+4
| | | | Remove some semicolons and superfluous imports.
* mpm: n3xx: e320: Add bridge mode supportRyan Marlow2019-01-172-2/+9
|
* mpm: xportmgr_udp: Add bridge mode supportSugandha Gupta2019-01-171-18/+50
|
* mpm: ethtable: Add support for bridge mode to Ethernet dispatcherSugandha Gupta2019-01-171-21/+79
| | | | | | In bridge mode, packets may be arriving at the Ethernet device which aren't meant for this device, and thus need different routing instructions.
* mpm: net: Add bridge utilitiesSugandha Gupta2019-01-171-10/+36
|
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-1653-2613/+2585
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
* rh: general code cleanupMark Meserve2019-01-103-8/+9
| | | | | | | | - Add default bandwidth range - Add default mash order constant - Delete MPM todos - Cleanup whitespace in MPM python code - Add docstring for is_lo_dist_present
* mpm: Add gpgga sensor function to GPSd ifaceToni Jones2019-01-031-0/+101
| | | | | | Add method to generate GPGGA sensor data in MPM devices. This needs to be constructed from TPV and SKY sensor data, and matches the GPGGA sensor functionality in gpsd_iface.cpp.
* mpm: Factor out user EEPROM code into own moduleMartin Braun2018-12-203-169/+150
| | | | | Affects Magnesium and Rhodium classes, which where duplicating this code.
* uhd/mpm: eiscat: Various changesRyan Marlow2018-12-192-28/+41
| | | | | | | | | | | | | | - correct lmk initialization parameters - adding missing parameters and consts wrt clock synchronization. - fixed default master clock rate - eiscat, ddc: update xml. - remove references to CORDIC_FREQ in ddc_eiscat - update readback reg addr in radio_eiscat - set default spp from 3992 to 3968. - updated jesd mode sequence initialization - updating eiscat_radio_ctrl_impl - add rx_codecs to property tree to display correct ADC chip. - updated issue_stream_cmd
* mpm_shell: Multiprocessing instead of threading for claimer loopAlex Williams2018-12-171-53/+86
| | | | | | If we use threading, the claimer loop's thread won't get scheduled in a timely manner on n3xx. Using multiprocessing frees the claimer loop from using the same GIL and gives back timely reclaim calls.
* rh: remove polarity setting for sdclkout11Mark Meserve2018-12-121-2/+2
| | | | - output 11 is unused, a value of 0 will leave the polarity as normal
* rh: add functions to toggle lowband loMark Meserve2018-12-122-0/+20
|
* e320: Fix return value of get_fpga_typeSugandha Gupta2018-11-301-3/+3
| | | | | | Return value should be fpga image type and not sfp type, fixes a bug with uhd_image_loader while trying to update XG and AA images