uhd/mpm/python/usrp_mpm
Lane Kolbly 7ba25a638e mpm: rfdc: Tear down RFDC on teardown
So, the Python garbage collector is a bit pernicious, in that it happens
behind the scenes in a way which is difficult to predict. The rfdc_ctrl
class expects that its "lifetime" will be a single live/die cycle of the
FPGA (i.e. that when a new FPGA is loaded, it will be destructed).
However, by default the Python GC will keep the X4xxRfdcCtrl class alive
for an arbitrary amount of time, meaning that it's possible that
multiple (C++) rfdc_ctrl classes can be alive at a single time.

When the GC reaps all of these classes, libmetal segfaults when we call
metal_finish several times in a row. This change works around that
issue, if not the overall GC issue, by explicitly deleting the rfdc_ctrl
object.
2021-10-11 10:43:46 -07:00
..
chips cmake: Replace CMAKE_{SOURCE,BINARY}_DIR with UHD_*_DIR 2021-09-10 15:08:10 -05:00
cores cmake: Update coding style to use lowercase commands 2018-11-14 14:10:09 -08:00
dboard_manager N320: Reduce PLL lock time 2021-08-16 15:42:05 -05:00
periph_manager mpm: rfdc: Tear down RFDC on teardown 2021-10-11 10:43:46 -07:00
simulator sim: Move SelectableQueue and SendWrapper 2020-10-28 15:25:48 -05:00
sys_utils uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
xports sim: Lay Groundwork for Simulator 2020-10-07 15:29:19 -05:00
__init__.py.in sim: Lay Groundwork for Simulator 2020-10-07 15:29:19 -05:00
aurora_control.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
bfrfs.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
bist.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
CMakeLists.txt mpm: add tlv_eeprom 2021-05-31 05:28:47 -07:00
components.py mpm: Skip DTS compatibility check if DTS is not being updated. 2021-07-09 00:34:33 -07:00
discovery.py mpm: remove unnecessary imports 2021-05-20 14:57:47 -05:00
e31x_legacy_eeprom.py mpm: e31x: Accept FF terminated strings in eeprom 2020-09-04 11:38:27 -07:00
eeprom.py mpm: Add MB-EEPROMv3 2019-05-10 16:59:58 -07:00
ethdispatch.py mpm: Add support for internal Ethernet interface 2020-07-16 10:00:12 -05:00
fpga_bit_to_bin.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
gpsd_iface.py mpm: gpsd_iface: Make GPGGA generation more robust 2021-06-03 09:35:09 -05:00
mpmlog.py fixup! mpm: Use prefs API in logging module 2020-12-04 12:07:16 -08:00
mpmtypes.py mpm: add FPGA type to the info returned during discovery 2021-05-20 14:57:47 -05:00
mpmutils.py uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
prefs.py docs: Add comments on mpm.conf 2020-07-09 00:39:11 -07:00
process_manager.py sim: Integrate simulator into UHD 2020-10-28 15:25:48 -05:00
rpc_server.py mpm: Bump MPM compat version to 4.0 2021-06-24 13:52:15 -05:00
test_bfrfs.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
tlv_eeprom.py mpm: add tlv_eeprom 2021-05-31 05:28:47 -07:00
user_eeprom.py mpm: Factor out user EEPROM code into own module 2018-12-20 14:57:54 -08:00