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.

Panadapter issues

James Whiteway
edited May 2019 in SmartSDR API
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

Answers

  • Mark_WS7M
    Mark_WS7M Member ✭✭✭
    edited April 2019
    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?
  • James Whiteway
    edited April 2019
    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
  • James Whiteway
    edited May 2019
    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.
     

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.