Panadapter issues

  • 1
  • Question
  • Updated 2 months ago
Trying to get a clearer idea of how to do the spectrum display. In v1.x of the api, there was a Size
value that could be used to set the width of the container that the spectrum line is being drawn.
I noticed in v2.49 that value was gone. Only height and width values now. For some reason,( besides age :-) ) I cannot see how to use those two values to set and get the size of my container control.( C# panel in this case)
Maybe, I just need to look at my code a bit more.
But, any hints would be welcome.
James
WD5GWY
Photo of James Whiteway

James Whiteway

  • 1021 Posts
  • 288 Reply Likes

Posted 2 months ago

  • 1
Photo of Mark - WS7M

Mark - WS7M

  • 1276 Posts
  • 479 Reply Likes
James,

When you say "container" what are you referring to?

If you are truly referring to a panel control then your panel control must be "height" in size and "width" in size.  you will be getting a packet of line values from the radio that will fit in that height/width.

But I seem to remember that this goes the other way.  When you request a pan you can tell it how big your container is and it will map the line values into that size.

Am I getting close to your question?
Photo of James Whiteway

James Whiteway

  • 1021 Posts
  • 288 Reply Likes
Yes, you are. Sorry for not being clear with my question. I am on the road and don't have my laptop with my project on it with me.
Doing it from memory really doesn't make my question clear. When I get home Friday I will fire up my main computer and post here more info on what I am trying to do.
What I do remember is that in FlexLib under panadapter.cs, FRS dev's commented out the code in v2.40 and now in v3.0.19 that used the Size property that had worked with my code in v1.x pretty well.
And when I try to run my code the Debugger breaks at the point where I send a Size value and it shows an error message saying that "Size" is not a valid property. I did not try to fix it in v2.40 as I was in the middle of moving and things got hectic and coding got set aside for quite a while. Now, I want to get back to it. And I'm hitting a few snags!
I did get my non'GUI client working again. But, that only required relinking to the FlexLib dll's. This will be a bit more work!
Thanks for responding Mark.
James
WD5GWY
Photo of James Whiteway

James Whiteway

  • 1021 Posts
  • 288 Reply Likes
Mark, I think I'm on the right track. As I mentioned earlier in this thread, I was referencing the Size Property for a Panadapter that at one time, was supported in SSDR v1.x, but, was depreciated in v2.x. (it's still there in Panadapter.cs,but, it's been commented out)
I managed to get the Panadapter working.......soft of......
But, when I connect to my 6600M the front panel Spectrum display freezes. The front panel Waterfall continues to work. I have to reboot the radio to get the Spectrum display to work again.  My non-GUI app is automatically recognized by the radio and connects with no issues. But, the GUI app causes problems.
   I'm pretty certain the main reason for some of my issues is my code for connecting to the radio was based on v1.x and the 6500 and before that 6300 radios I had, which did not have a front panel display. I think I need to find a more graceful way to connect to the radio and ask for an unused Panadapter/Waterfall instead of brute forcing a connection like the non-GUI app does.

I connect to the radio using the following:

 public partial class Form1 : Form
    {
        private Radio _thisRadio;
        public Waterfall myFall;
        public Panadapter _thisPanadapter;

        public int[] theData;
        public double myTestY;
        public int zIn;
        public int zOut;
        public int[] theFall;
        public Color c;
        public Pen thePen;


        


 private void btnConnect_Click(object sender, EventArgs e)
        {


            //double freq = 10.000d;
            //string RXA = "Ant 1";
            //string Mode = "AM";


            //Slice Slice0 = new Slice(_thisRadio);
            //Slice0 = _thisRadio.CreateSlice(freq, RXA, Mode);

            //Slice0.RequestSliceFromRadio();


            //RequestPanafall gets the radio to send data to the client
            //_thisRadio.RequestPanafall();

            _thisRadio.Connect();




        }

_thisRadio.Connect() is probably the culprit here. I had commented out code I was originally using to create an new Panadapter and Slice receiver.  In V1.x of the API only one GUI client could be connected, so even when I was running the Maestro, it would disconnect if I ran my Client.
Multi-Client looks to be a bit more challenging!
James
WD5GWY

I'm open to anyone that wants to share some C# code that demonstrates the correct way to connect to the 6600M without killing the display. I think I need to send a disconnect command to the front panel and then connect my app. But, for now, I'm a bit lost.