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

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?

Welcome!

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

Answers

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


  • 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.
  • Community Manager admin
    edited February 2017
    There is no guarantee that they will be in order. The prefixes are guaranteed.
  • 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.
  • 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.

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

Leave a Comment