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

Lime USB TX #1389

Closed
srcejon opened this issue Aug 19, 2022 · 2 comments
Closed

Lime USB TX #1389

srcejon opened this issue Aug 19, 2022 · 2 comments
Assignees

Comments

@srcejon
Copy link
Collaborator

srcejon commented Aug 19, 2022

Hi,

While experimenting with your latency patch, I've noticed a few unrelated things with Lime USB TX.

  • Without knowing enough about how the Lime works, I was trying to transmit below 30MHz just by setting the centre frequency to sub <30MHz without using the NCO. This resulted in the transmitted signal being at 30MHz despite the 29MHz setting in SDRangel. After a bit of debugging, I noticed in the log:

    SetFrequencySXT(29 MHz) - required VCO frequency is out of range [3800-7714] MHz

And

Tx Calibration: MCU error 3 (SXR tune failed)
2022-08-19 13:01:40.412 (D) LimeSDROutput::applySettings: calibration successful on Tx channel 0

Should we restrict the centre frequency dial to a minimum of 30MHz when the NCO option isn't enabled? And when it is enabled, to 30M+NCO freq? So that a user can't set a value that can't be achieved.

Why does applySettings report calibration as successful when there has been an error?

  • I see calibration errors if sample rate is set below 2500000. E.g. at SR=2000000 in the log I get

    Calibrating Tx for 2.5 MHz (requested 2 MHz [out of range])
    Tx Calibration: MCU error 3 (SXR tune failed)
    2022-08-19 12:21:15.599 (D) LimeSDROutput::applySettings: calibration successful on Tx channel 0

Should the calibration b/w be set differently to SR? Or perhaps b/w just set to a minimum of 2.5MHz?

Should we perhaps add a calibration status indicator, next to U O D in the GUI, that indicates calibration success or failure, so GUI only users can more easily see there has been some sort of problem?

Just as another little bit of help for the user, should the LPF dial background be set to red if at a much smaller value than the NCO? (Indicating that the transmitted signal is being filtered)

@srcejon
Copy link
Collaborator Author

srcejon commented Aug 21, 2022

Why does applySettings report calibration as successful when there has been an error?

It seems the LimeSuite API docs are wrong. Bug added here: myriadrf/LimeSuite#364

Call to LMS_Calibrate in limesdroutput.cpp should check != 0 rather than < 0.

srcejon added a commit to srcejon/sdrangel that referenced this issue Aug 21, 2022
Handle LMS_Calibrate returning positive error values.
Set Lime minimum frequency in GUI to 30MHz+NCO freq.
Set minimum calibration bandwidth to 2.5MHz.
f4exb added a commit that referenced this issue Aug 21, 2022
@f4exb
Copy link
Owner

f4exb commented Aug 27, 2022

So what remains is:

  • Calibration error indicator in the group of indicators at the bottom. Could be letter "C¨
  • Indication that the bandwidth around LO does not overlap with the baseband around LO + NCO. Instead of the dial numbers turning red maybe just the background of "LP" label should turn red.

@srcejon srcejon self-assigned this Aug 27, 2022
@srcejon srcejon closed this as completed Aug 27, 2022
f4exb added a commit that referenced this issue Aug 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants