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.

SmartSDR API - Panadapter ID - Question for 6500/6700 owners

IW7DMH, Enzo
IW7DMH, Enzo Member ✭✭
edited February 2017 in SmartSDR API
Hello,

looking in depth in PAN and WATERFALL objects I found that they are assigned an unique ID.
In my 6300 they are assigned as shown below:

PAN 0: 0x40000000    WATERFALL 0: 0x42000000
PAN 1: 0x40000001    WATERFALL 1: 0x42000001

What is the schema for 6500 and 6700 rigs?
I have to do some assumptions for my software and I would be glad if you could help me.

Thank you in advance

73' Enzo

EDIT: I there a way to get the maximun number of Slices, Panadapters and Waterfalls that a rig can create?

Answers

  • Walt - KZ1F
    Walt - KZ1F Member ✭✭
    edited November 2016
    You know the model number from the Radio object. 6300=2, 6500=4, 6700=8
    use a switch with 3 case stmts. The panadapter gets a spectrum and a waterfall, so really it is the # pans <= # of slices.
  • IW7DMH, Enzo
    IW7DMH, Enzo Member ✭✭
    edited January 2017
    Thank you very much Walter,

    I'll immplement this logic in my class Contructor.
    Also, do youn know what is the actual Id assigned to Panadapter 3 and 4?
    Is it like in the example below?

    PAN 3: 0x40000003    WATERFALL 3: 0x42000003
    PAN 4: 0x40000004    WATERFALL 4: 0x42000004
    ...
    and so on.

    Thank you and '73
    Enzo iw7dmh


  • Walt - KZ1F
    Walt - KZ1F Member ✭✭
    edited November 2016
    No I don't, not off hand. BTW, I would caution against doing much more than creating the object in the constructor. Instance logic belongs in the methods, not the constructor.
  • Steve-N5AC
    Steve-N5AC Community Manager admin
    edited February 2017
    There is no guarantee that they will be in order. The prefixes are guaranteed.
  • IW7DMH, Enzo
    IW7DMH, Enzo Member ✭✭
    edited January 2017
    Ok, as I am in a microcontroller enviroment building and destroying objects at runtime is to avoid due to heavy memory fragmentation.
    So in my constructor I'll only instantiate a "right sized" array and then I'll set the correct ID, as I receive it from status messages. It should works.
  • IW7DMH, Enzo
    IW7DMH, Enzo Member ✭✭
    edited February 2017
    In the last two days, working on the functions related to the "Display" menu, I experimented two subtle errors that can compromise the correct rig usage.

    When I sent the following wrong command:
                display pan set 0x40000000 fps=0
    SSDR lost systematically rig connection and I had to restart it from scratch.

    When I sent the following commands:
                display pan set 0x40000000 min_dbm=%f
                display pan set 0x40000000 max_dbm=%f
    if max_dbm go over min_dbm and viceversa, SSDR freezes systematically. It can't help you restarting from scratch as SSDR save le last (wrong state) and it freezes again. I had to use telnet to connect the radio and set the correct value to both min_dbm and max_dbm. Then I restarted SSDR again.

    Of course I edited accordingly my software but, supposing a remote usage,  it could be safer if the rig could reject these wrong commands sending back and error message.

  • Steve-N5AC
    Steve-N5AC Community Manager admin
    edited December 2016
    Thanks, Enzo.  Issue #1933 has been entered for this issue.

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.