Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
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.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
API RequestPanadapterFromRadio
Walt - KZ1F
Member ✭✭
I could swear this was answered by Steve but I can not find it.
Here is what I am seeing:
PanAdapter pan = new Panadapter(radio, new Size(200,100);
boolean result = pan.requestPanadapterFromRadio();
The pan object is instantiated and the panadapter is created in the radio, I can hear it and I am getting FFT data flowing from it.
However, what is happening is I can't see it as the reply to the "display pan ....." instead of coming back with 1 stream id, it comes back with 2. Consequently the reply update fails as the parse of the nnnnn,mmmmm fails. Consequently in the code when a FFT packet arrives it can't find the proper stream id, when this occurs it creates a new panadapter with a size of 0,0, consequently the FFT data is bagged because the y dimension is greater than the height of the view.
Does this ring a bell for anybody?
Thanks,
Walt - kz1f
Here is what I am seeing:
PanAdapter pan = new Panadapter(radio, new Size(200,100);
boolean result = pan.requestPanadapterFromRadio();
The pan object is instantiated and the panadapter is created in the radio, I can hear it and I am getting FFT data flowing from it.
However, what is happening is I can't see it as the reply to the "display pan ....." instead of coming back with 1 stream id, it comes back with 2. Consequently the reply update fails as the parse of the nnnnn,mmmmm fails. Consequently in the code when a FFT packet arrives it can't find the proper stream id, when this occurs it creates a new panadapter with a size of 0,0, consequently the FFT data is bagged because the y dimension is greater than the height of the view.
Does this ring a bell for anybody?
Thanks,
Walt - kz1f
0
Answers
-
Walt,
Regardless of whether you create a pan adaptor or a panafall, you get a panafall. The two stream ids that are returned are for the pan adaptor and the waterfall respectively.
Best to do a "sub pan all" and you will get the relevant status messages as well as the stream ids.
Stu K6TU
0 -
Thanks Stu. That is what I assumed and I did find comments from Steve about not supporting 2 displays in connection with 4000000 and 4000001 (or was it 42000000). What was troubling was in the FlexLib source in Panadapter:UpdateStreamID it performed an Integer.TryParse(...) which the doc on it says it takes A number in string form. I would have thought the 2 comma separated numbers would have failed there as well. Again, on a good day I can spell .Net. But the stream of commands sent to the radio are a whole series of subscribes, one of which IS sub pan all. After I changed the updateStreamID to parse off the first number in the CSV series, it appears fine, just curious about the csv as a response to the requestPanadapterFromRadio.
Again, thanks Stu.
Walt - kz1f
0 -
Walt,
It looks like at some point we changed to using a different method (Radio.RequestPanafall instead of Panadapter.RequestPanadapterFromRadio). I don't see that we hit the UpdateStreamID code path anymore as a result. I suspect that function would indeed need to be updated in order to comply with the new reply. Thanks for pointing this out.0 -
Thank you for your reply there Eric. A related question. Now that flexlib has 'escaped' (software isn't released, it escapes), are you considering deprecating no longer used methods? Or, put slightly differently, would you mark no longer used methods as deprecated? I don't know how C# handles this but Java uses @deprecated. I suspect C# does as well. What that means for those that don't understand what I am talking about is @deprecate is a vehicle vendors used to mark portions of their software as potentially being removed. It gives users of their software an indication at compile time that they are using an 'old' method which may not survive the next release. It gives users a chance to change their code before it stops working or compiling.
0 -
I would need to talk to the team about this, but my personal opinion is that I don't really want to leave dead code laying around. I would probably lean towards giving the API develops a heads up if a part of the API is going to change. This is something we have not been particularly good about to this point as the pace of development here is fast and furious. This will get better over time.0
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 6K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 242 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 45 FLEX-8000 Signature Series
- 859 Maestro
- 45 FlexControl
- 849 FLEX Series (Legacy) Radios
- 807 Genius Products
- 424 Power Genius XL Amplifier
- 280 Tuner Genius XL
- 87 Antenna Genius
- 227 Shack Infrastructure
- 153 Networking
- 410 Remote Operation (SmartLink)
- 130 Contesting
- 642 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 878 Third-Party Software