-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Customising gain sliders, etc. #825
Comments
@SDRplay The sliders are both for setting and reading the current gain by However, what happens if the user changes the That is why both But there is a catch: This is also used by the IFGR slider of course... so enter AGC.
Both behaviours are valid, and I chose B) to code the |
In the CubicSDR architecture, anything that is listed as "gain" by SoapySDR What I could do quite cheaply is to add a toggle option in 'Display' settings to hide the sliders or not when AGC is on. Because of the Or not: it depends on the device I quickly checked In this case, we would not see the sliders moving with AGC on, and the displayed value would be misleading. However, we may try to add a visual cue on the sliders display like a pulsating "AGC on" overlay, so that the user knows the AGC is on... I'll try to toy with those ideas when I have some time. |
I've made changes to SoapySDRPlay to accept the following... setGain using IFGR, IFGain, RFGR or RFGain and also now support 0-29 gain value (similar to RTL device) So the way these work is that gain is gain and GR is gain reduction We need the ability to display either IFGain and RFGain as sliders when IFAGC is disabled OR just RFGain slider when IFAGC is enabled That's really it. |
I haven't pushed the changes yet, I'll do that now |
https://github.com//SDRplay/SoapySDRPlay The result of this is that there are now 4 sliders! Having the ability to turn them on/off individually would solve the problem. If you think about it, a system that allows individual gains to be named should really not assume that enabling AGC affects them all. I'm interested to know what people make of the support for setGain with a single value (in the range of 0 - 29) where 29 is max gain. Might make using other software that support the SoapySDR framework a bit easier to use with a RSP - that's the idea any way. Best regards, Andy |
No suprise here, you declared 4 gains : results.push_back("IFGR");
results.push_back("IFGain");
results.push_back("RFGR");
results.push_back("RFGain"); Why not keeping only IFGain and RFGain then ? No need to be too complex here, let's match the SDRUno default behaviour where gains are 'gains', not GR.
Agreed, alas the SoapySDR API only supports one AGC setting per-direction (RX or TX) not per-gain:
That would be the idea, however it would need some work adding in A simpler solution would be what I suggested earlier : Generic option to hide/display all gains + some overlay info on sliders when AGC is on. |
I left IFGR and RFGR for backwards compatability - there will be some applications that are already using them. Having the ability to turn on/off the slider display for individual named gain ranges in CubicSDR will solve the problem I believe. Andy |
A few thoughts here:
Franco |
Cannot agree more on this. I don't know when I have time to add related improvements to CubicSDR so better not add experimental features that will persist in |
I don't really care where changes go. The API is in beta, the repo I added the changes to effectively is still in beta, so just make sure we're not creating an beta alpha lol - just don't put them in a branch - because if our support system is anything to go by - NO ONE outside of developers will know how to git clone a branch - so if you don't want any one to test it then a branch seems a perfectly good place for changes to go! :-) This is why I didn't want any changes to go into pothosware repo until the API was released and the version of SoapySDRPlay in SDRplay repo was stable. But seriously, put the changes wherever you feel they need to go. |
Thanks Andy and Vincent. I rearranged the SoapySDRPlay repo so that now master has the 'stable' version and a new branch called 'new-gain-changes' (I can easily change its name to whatever you like) contains the IF and RF GR/gain changes Andy was trying out. Since I used the command 'git reset' to realign these two branches, I'd suggest that you re-sync your local copy from scratch (i.e. mv SoapySDRPlay SoapySDRPlay.old; git clone [email protected]:SDRplay/SoapySDRPlay.git), and check to make sure everything looks OK. A few thoughts about your comments earlier:
that's al it takes
Franco |
haha - I love the optimism Franco. I actually hate version control systems because they are developed by coders (who in my opinion shouldn't be allowed to design any system LOL). Version control systems are no longer just used by developers, they are a means by which software is distributed and I guarantee you that they confuse the heck out of non-coders who just want to install software. How many people found the API3+RSPduo branch that you worked very hard on - very few and it means software doesn't get the level of testing it requires, it's just a fact I'm afraid. It just means that those of us that know where this branch is and what it is called, and how to clone it, need to test it that bit harder. Give me floppy disks any day :-) Remember, we're not using master to develop SoapySDRPlay, we're using it to get as many people as possible to test it. Branches do not do that. Just my twopenneth. btw I agree that IFGain and RFGain could be, and should be, shortened to IF and RF - in fact I've got another idea about RFGR and RF gain... but this is going off topic for this thread. I'll let you know what it is. I appreciate the work that you guys do. Best regards, Andy |
Shower thought (actually restroom, let's pretend it is shower),
|
sounds like a plan 👍 |
For the clean v2.13 Soapy module, we still have issues open regularly because users don't know how to compile or use properly, so we don't need more explanation about a I think @fventuri look clean and stable, and as soon as the present SDRPlay version is considered OK make it the default version in Pothos repo so that is become standard among the ecosystem. Still, I can predict a new stream of issues about supposed 'non working module' because of the new service-based driver that will change users's habits. Now if advanced users want a really newer and experimental module, they will be able to use a cutting edge SDRPlay repo one. |
we shouldn't push this to pothosware until the API 3.x is released on non-Windows platforms. That will cause a world of issues. this is why we're in the position we are in - we are trying to encourage people to use the SDRplay one so that we can gather data. It should not be hidden away and then just pushed to pothosware without a LOT of testing - that's the dilemma we're in with using master vs branches. The open issues on the pothosware repo are to do with gain control, not building issues, maybe they are being raised on CubicSDR issues? Please forward them to the SoapySDRPlay issues and I'll be happy to deal with them. I would consider pothosware version released, SDRplay master as beta and now the SDRplay branch is alpha Unfortunately we need data on all three to make sure we're doing the right thing. I know I don't have all the answers here, so I'm happy to go with the flow as long as are moving forward 😃 |
@SDRplay I understand, you prefer waiting for all the bugs to be ironed out. In this case, the issue support will on you, and I'm glad for that :) What I was suggesting was just a way to offer support to the new RSPs faster by releasing sooner a 'stable' version to the the general public. It is your choice to prefer a 'when it's done' kind of release policy, but be prepared to receive a stream of re-routed issues from Cubic then :) |
well not really. Currently the situation is API 2.13 people are pointed to pothosware repo - that is clear. In the readme on the pothosware repo, API 3.x people are pointed to SDRplay repo and we also point people there on our website. it's just that now API 3.x people are not going to test the new gain system, so that just puts more emphasis on us to do a better job 😃 as soon as API 3.x is released, we should replace the repo on pothosware and phase out 2.x altogether - that's always been the plan. The last issue (I think) is on the Mac platform, so I don't expect it to be too long before release. |
I just pushed to the branch 'new-gain-controls' the changes you suggested earlier:
I also cleaned up the code for the various gain methods (getGain(), setGain(), etc). I created this github issue for these changes: pothosware/SoapySDRPlay3#10 Once it looks good to the three of us, I'll merge that branch into master so everybody can try it out and let us know their feedback - I do see your point Andy, and I promise you that branch won't be around more than strictly necessary. 😄 Franco |
Also I thought about the future issues with users having problems if the sdrplay_api service is not running or for some reason it is unresponsive. I thought it would help to have a more explanatory message if the call to sdrplay_api_Open() fails, suggesting the user to check the health of the sdrplay_api service. Github issue: pothosware/SoapySDRPlay3#11 Franco |
@vsonnier for some reason I don't have your email address - can you drop me a note at [email protected]
@fventuri and I have been making some changes to the way that SoapySDRPlay works Re: gain control and I just want to understand what custom options there are in CubicSDR for things like sliders and the device selection.
Is there a webpage somewhere that describes how the system works?
Happy for you to close this as it's not technically an issue :-)
Thanks,
Andy.
The text was updated successfully, but these errors were encountered: