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 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)

DH1RK
DH1RK 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

Best Answer

  • Mark_W3II
    Mark_W3II Mark W3II Member ✭✭
    Accepted 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

  • KD0RC
    KD0RC Broomfield, COMember ✭✭✭

    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

  • DH1RK
    DH1RK Member ✭✭

    Hi Len,

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

    Do you have the command for this available?

    Thanks,

    Ruediger, DH1RK

  • KD0RC
    KD0RC Broomfield, COMember ✭✭✭

    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

  • DH1RK
    DH1RK 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

  • KD0RC
    KD0RC Broomfield, COMember ✭✭✭

    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

  • DH1RK
    DH1RK 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

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.