Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

API: When does Panadapter scroll?

n8wrl Member ✭✭

I've got a C# app using the .NET library 3.4.21 to manage multiple FlexControls 95% working. Rotating a control which causes a slice to change frequency is a bit choppy but works ok. My problem is what happens at the edges of the panadapter...

There appears to be some mode-specific logic that causes the Panadapter to shift its center in a big jump to the same frequency as the slice vs. leave the slice near the end and slide/scroll in the direction I'm tuning.

There appear to be two properties involved, but not reliably:



I am setting both to false.

For most modes (USB, LSB, AM, etc.) I can move the slice to about 10% of the edge of the panadapter before SmartSDR will "****" me to the center. If I stay greater than 10% I can manage the scrolling of the panadapter as the slice moves.

CW is the oddball. I'm ok if I stay greater than 10% on the left (going lower in frequency) but if I get to within 18% on the right it jumps to the center.

And then there are times when it always jumps regardless of my logic. It really feels like I'm chasing Waldo here - all I want to do is smoothly scroll the panadapter as the slice moves toward the edges left and right, like the FlexControl does when connected directly to SmartSDR. Only I can only manage one FlexControl that way and I need more than one.

What's the magic behind the snap-to-center decision?

Thanks all!


-Brian n8wrl


  • K9YK
    K9YK Member ✭✭

    I’d also like to know the answer to this as well.

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin

    I had to go back and study our own code to understand how this works. You are correct that we use the 10% mark as a boundary. In this case (SmartSDR for Windows), we have what we call edge tuning when the Slice gets within 10% of the left or right boundary. When this happens, we use logic to keep the Panadapter tuned ahead of the Slice so that the Slice appears to stay put, but the Panadapter is scrolling underneath it. And I think it accelerates the closer you are to the edge if I am reading the code right.

    This all works out well because we are doing all of the sending of the commands to tune the Panadapter and the Slice from the same GUI client and we turn off AutoCenter and AutoPan to handle those things manually. This may not work out as well if the commands are coming from another client. This is partly because of the implementation that says that another client that tunes a Slice off the Panadapter should put the Slice back on the screen (e.g. CAT gets tuned, for example) and part because of the nature of asynchronous command/reply/status to/from the radio and the timing of when the Slice is tuned relative to when the Panadapter is tuned. I think this results in the Slice ending up off the edge of the display which triggers the mechanism above.

    We could probably improve the way this is handled so that it behaves better with other API clients + SmartSDR, but we haven't been hyper focused on that. My suggestion would be to assume that the Pandapter will need to move a little sooner (12%?) and then move the Panadapter first followed by the Slice and see if that solves this issue for you.

  • n8wrl
    n8wrl Member ✭✭

    Thank you Eric! That's very helpful. Can you tell me if it matters what the mode is? I have found that 10% works great as a scrolling-threshold unless the mode is CW AND I'm going right (frequency increasing). If those two conditions are met, I have to stay 18% to keep it from snapping to the center. It doesn't seem to matter how physically wide the pan adapter is, but it does matter direction and mode.

    At first I thought it might be a USB thing - a mode where there was signal on the upper sideband that marches toward the right edge. But not so - only CW behaves this way, not USB or other DSB modes like AM.

    I understand the async nature of all this, and I've gotten used to the slight "jumpiness" of the GUI when I tune externally. I also hear a sizzling sound when the slice moves, especially on CW and a quiet band. Not so if I use the Flexcontrol with SmartSDR directly. I don't do that, however, because I have to FlexControls and my code lets me map them both to different things.

    Anyway, thanks again for the response. Very helpful.


    -Brian n8wrl

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.