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.

How to change active slice (multi panadapter view)

Member ✭✭

Hello,

I created an application to automatically add 2 panadapters to the SmartSDR client.

With each panadapter creation the active slice changes (e.g. A, then B, then C).

How can I activate slice "A" again??

I have saved associated PanadapterStreamIDs and GuiClientHandle, but I don´t know how to activate the slice "A" again.

In the documentation I find:

  • Flex.Smoothlake.FlexLib.Radio.FindSliceByIndex(int index)
  • Flex.Smoothlake.FlexLib.Radio.FindSliceByLetter(string slice_letter, uint gui_client_handle)
  • Flex.Smoothlake.FlexLib.Radio.ActiveSlice

but no idea how to use the interfaces...

Any help? Thank you in advance.

BR,

Ruediger, DH1RK

Welcome!

It looks like you're new here. Sign in or register to get started.

Best Answer

  • Member ✭✭✭
    Answer ✓

    Hello Ruediger,

    Background: Radio has up to 8 slices for 6700 and 4 for 6600, 6500 and 2 for 6400 and 6300. Slices are indexed 0-7. Each UI Client gets 1 or more of the slices and then assigns letters A-H to them. If you have 1 client then normally index 0 is A, 1 is B. If you have multiple clients then Client 1 has index 0 as A and Client 2 has index 1 as A and index 2 as B. If Client 1 was create another slice it would be index 3 as B. So my point to all of this is don't assume that Slice letter A is 0, etc.


    So if you are connected to radio as non-UI FlexAPI application and bound to a client

    call slice = radio.FindSliceByLetter("A", radio.ClientHandle);

    This API will return slice or null. The call slice.Active = true;


    Happy New Year!


    Mark, W3II

Answers

  • Member, Super Elmer Moderator

    Hi Ruediger, if you are using the Flex API, you can get more information from the Wiki: SmartSDR Wiki (flexradio.com)

    To set a particular slice to active, the command is: slice s 0 active=1

    73,

    Len, KD0RC

  • Member ✭✭

    Hi Len,

    I´m using Flexlib API... (in C#)

    Do you have the command for this available?

    Thanks,

    Ruediger, DH1RK

  • Member, Super Elmer Moderator

    Hi Ruediger, Here is a little program I use to test and understand API commands. It is in C++, not C#, but it should not be hard to translate. Line 115 contains the code to change slice A to active: sendResult = send(sock, "CD95 | slice s 0 active=1", 26, 0);

    The command itself is: CD95 | slice s 0 active=1

    This can be opened in Visual Studio 2019 (I use the free Community version). Please let me know if you have problems opening or running this little utility.

    73,

    Len

  • Member ✭✭

    Hi Len,

    thanks for your reply and source code, but your solution is for a different interface. You are using the socket interface directly, but I want you give the instruction via the Flexlib library (Flex.Smoothlake.FlexLib) ...

    Should be something like this:

    _thisRadio.FindSliceByIndex(0);

    73,

    Ruediger

  • Member, Super Elmer Moderator

    Sorry Ruediger, I am not familiar with that. I looked at the Smoothlake documentation and did not understand at all what I was seeing. Maybe someone else can shed some light on the subject.

    73,

    Len

  • Member ✭✭

    Hello Mark,

    happy new year to you!

    Thank for your input! Ok, both calls are needed...

    Yes, this works. Thank you.

    BR Ruediger, DH1RK

Leave a Comment