That was very helpful. So there's a discrepancy between what the cal-tool thinks the path is (~/.local/...) and what UHD thinks it is (~/snap/code/188/.local).
I'm also a bit surprised about that UHD path. Did you install UHD via snap? (If yes, I didn't even know that was possible!). I know you say you installed via apt, but I'm just baffled why UHD thinks this is the right path. There are other path APIs, here is what they look like on a system where I install UHD, manually, into a random location: >>> uhd.get_lib_path() '/home/mbr0wn/prefix/master/lib' >>> uhd.get_pkg_data_path() '/home/mbr0wn/prefix/master/share/uhd' >>> uhd.get_cal_data_path() '/home/mbr0wn/.local/share/uhd/cal' The first (get_lib_path()) is the path where the libuhd.so file is located. Is that the case for you? You can see even there, the cal files are, by default, searched for in ~/.local/share/uhd/cal. --M On Thu, Apr 10, 2025 at 10:13 AM Tim Vancauwenbergh < tim.vancauwenberg...@gmail.com> wrote: > Hello Martin, > > it prints the following: home/username/snap/code/188/.local/share/uhd/cal > That folder does not exist, the deepest path I can go is > home/username/snap/code/188/.local/share/ > I manually created the folders uhd/cal and pasted the calibration files > there. Now the function usrp.has_rx_power_reference() returns True. I'll > investigate further. > > Tim > > Op wo 9 apr 2025 om 09:02 schreef Martin Braun <martin.br...@ettus.com>: > >> Tim, >> >> sorry for suggesting this so late: What does this Python script print: >> >> import uhd >> print(uhd.get_cal_data_path()) >> >> >> ? >> >> On Tue, Apr 8, 2025 at 10:53 AM Tim Vancauwenbergh < >> tim.vancauwenberg...@gmail.com> wrote: >> >>> Hello Martin, >>> >>> thanks for your reply. It would be helpful to know where the driver >>> looks for the file, but until now I did not find any variable or function >>> to obtain this location. >>> >>> FYI, I am using a virtual environment on Ubuntu 24.0.2 LTS with Python >>> 3.12.3. >>> The following packages related to uhd are installed via apt: >>> >>> *Status**Package Name**Version**Architecture**Description* >>> ii libgnuradio-uhd3.10.9t64:amd64 3.10.9.2-1.1ubuntu2 amd64 gnuradio >>> universal hardware driver functions >>> ii libuhd4.6.0t64:amd64 4.6.0.0+ds1-5.1ubuntu0.24.04.1 amd64 universal >>> hardware driver for Ettus Research products - library >>> ii python3-uhd 4.6.0.0+ds1-5.1ubuntu0.24.04.1 amd64 universal hardware >>> driver for Ettus Research products - Python3 >>> ii soapysdr0.8-module-uhd:amd64 0.4.1-4build4 amd64 UHD device support >>> for SoapySDR >>> ii uhd-doc 4.6.0.0+ds1-5.1ubuntu0.24.04.1 all universal hardware driver >>> for Ettus Research products - doc >>> ii uhd-host 4.6.0.0+ds1-5.1ubuntu0.24.04.1 amd64 universal hardware >>> driver for Ettus Research products - host apps >>> Best regards, >>> >>> Tim >>> >>> Op di 8 apr 2025 om 10:14 schreef Martin Braun <martin.br...@ettus.com>: >>> >>>> Tim, >>>> >>>> at first glance, you're doing everything right. Thanks for taking the >>>> time and reading the docs. We'll need to look into this. >>>> >>>> I saw you also opened https://github.com/EttusResearch/uhd/issues/842, >>>> that's very helpful. Sorry I can't give you the right answer immediately! >>>> >>>> --M >>>> >>>> On Thu, Apr 3, 2025 at 11:28 AM Tim Vancauwenbergh < >>>> tim.vancauwenberg...@gmail.com> wrote: >>>> >>>>> Hello >>>>> >>>>> >>>>> >>>>> I've recently run the uhd_power_cal.py script to calibrate the RX >>>>> paths of a B200mini using a calibrated signal generator. >>>>> >>>>> It generated two files, saved at /home/username/.local/share/uhd/cal: >>>>> >>>>> >>>>> >>>>> - b2xxmini_pwr_rx_rx2_33ECA1A#A.cal >>>>> >>>>> - b2xxmini_pwr_rx_tx+rx_33ECA1A#A.cal >>>>> >>>>> >>>>> >>>>> Using python, I have the following code: >>>>> >>>>> print(f"RX info: {usrp.get_usrp_rx_info()}") >>>>> >>>>> This returns the following: >>>>> >>>>> RX info: {'mboard_id': 'B200mini', 'mboard_name': 'B200mini', >>>>> 'mboard_serial': '33ECA1A', 'module_serial': '33ECA1A', 'rx_antenna': >>>>> 'TX/RX', 'rx_id': 'Unknown (0xffff)', 'rx_ref_power_key': >>>>> 'b2xxmini_pwr_rx_tx+rx', 'rx_ref_power_serial': '33ECA1A#A', 'rx_serial': >>>>> '', 'rx_subdev_name': 'FE-RX1', 'rx_subdev_spec': 'A:A'} >>>>> >>>>> Running the following functions return false however. >>>>> >>>>> usrp.has_rx_power_reference() >>>>> uhd.usrp.cal.database.has_cal_data('b2xxmini_pwr_rx_tx+rx', '33ECA1A#A'): >>>>> >>>>> Why? *How can I use the calibration file in python to obtain >>>>> estimated received power level at the RX side in dBm?* This is not >>>>> clear in the documentation. I would like to do this for the TX side as >>>>> well. >>>>> >>>>> Thanks! >>>>> >>>>> References: >>>>> >>>>> https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a1dadf323c5f00ac4f93b231adc13e34... >>>>> <https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a1dadf323c5f00ac4f93b231adc13e34c> >>>>> >>>>> https://files.ettus.com/manual/classuhd_1_1usrp_1_1cal_1_1database.html#a5605b43f778efc10f29cb616afb... >>>>> <https://files.ettus.com/manual/classuhd_1_1usrp_1_1cal_1_1database.html#a5605b43f778efc10f29cb616afbfb7d9> >>>>> https://files.ettus.com/manual/page_power.html >>>>> _______________________________________________ >>>>> USRP-users mailing list -- usrp-users@lists.ettus.com >>>>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >>>>> >>>> _______________________________________________ >>>> USRP-users mailing list -- usrp-users@lists.ettus.com >>>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >>>> >>>
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com