Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libbladeRF] LMS DC calibration settings stored in calibration tables only gets loaded once #370

Closed
opslabs opened this issue Jan 29, 2015 · 1 comment
Labels
Issue: Bug It's a bug and it oughta be fixed

Comments

@opslabs
Copy link

opslabs commented Jan 29, 2015

When a device is first opened and initialized, LMS DC calibration data is read from the current calibration table and loaded into the LMS registers. All future device opens will not attempt to set these values again, until it has been power cycled.

If a device is first opened with one calibration table present, and then replaced with another table, the LMS settings from the new table will never get used. The frequency based DC offsets from the new table will still be used as expected, which may cause DC spikes/aliasing due to the possible discrepancies between the LMS calibration settings used in each table.

LMS calibration data can be loaded every time a device is opened by editing the bladerf_priv.c: init_device() function and moving the call to apply_lms_dc_cals() out of the statement if ((val & 0x7f) == 0) { ... }

jynik added a commit that referenced this issue Jan 29, 2015
Addresses issue #370.

The LMS calibration registers must be loaded each time init_device() is
called, as opposed to only during the post-FPGA load init, because the
the user may have updated his or her calibration table since then.
@jynik
Copy link
Contributor

jynik commented Jan 29, 2015

Good catch, thank you! Added 4cbd29e to address this.

@jynik jynik closed this as completed Jan 29, 2015
@jynik jynik added the Issue: Bug It's a bug and it oughta be fixed label Jan 31, 2015
jenselofsson pushed a commit to jenselofsson/bladeRF that referenced this issue Feb 2, 2015
Addresses issue Nuand#370.

The LMS calibration registers must be loaded each time init_device() is
called, as opposed to only during the post-FPGA load init, because the
the user may have updated his or her calibration table since then.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Bug It's a bug and it oughta be fixed
Projects
None yet
Development

No branches or pull requests

2 participants