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

  • 1
  • Question
  • Updated 4 years ago
  • Answered
  • (Edited)
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?
Photo of IW7DMH, Enzo

IW7DMH, Enzo

  • 353 Posts
  • 84 Reply Likes

Posted 4 years ago

  • 1
Photo of Walt - KZ1F

Walt - KZ1F

  • 3040 Posts
  • 643 Reply Likes
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.
(Edited)
Photo of IW7DMH, Enzo

IW7DMH, Enzo

  • 353 Posts
  • 84 Reply Likes
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
Photo of Walt - KZ1F

Walt - KZ1F

  • 3040 Posts
  • 643 Reply Likes
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.
Photo of Steve - N5AC

Steve - N5AC, VP Engineering / CTO

  • 1031 Posts
  • 1002 Reply Likes
There is no guarantee that they will be in order. The prefixes are guaranteed.
Photo of IW7DMH, Enzo

IW7DMH, Enzo

  • 353 Posts
  • 84 Reply Likes
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.
Photo of IW7DMH, Enzo

IW7DMH, Enzo

  • 353 Posts
  • 84 Reply Likes
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.
Photo of Steve - N5AC

Steve - N5AC, VP Engineering / CTO

  • 1031 Posts
  • 1002 Reply Likes
Thanks, Enzo.  Issue #1933 has been entered for this issue.