SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
How to change active slice (multi panadapter view)
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
-
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
0
Answers
-
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
0 -
Hi Len,
I´m using Flexlib API... (in C#)
Do you have the command for this available?
Thanks,
Ruediger, DH1RK
0 -
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
0 -
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
0 -
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
0 -
Hello Mark,
happy new year to you!
Thank for your input! Ok, both calls are needed...
Yes, this works. Thank you.
BR Ruediger, DH1RK
0
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 6K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 242 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 6.9K FLEX-6000 Signature Series
- 44 FLEX-8000 Signature Series
- 859 Maestro
- 45 FlexControl
- 849 FLEX Series (Legacy) Radios
- 807 Genius Products
- 424 Power Genius XL Amplifier
- 280 Tuner Genius XL
- 87 Antenna Genius
- 227 Shack Infrastructure
- 153 Networking
- 409 Remote Operation (SmartLink)
- 130 Contesting
- 640 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 878 Third-Party Software