Skip to content
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

Multi vfo upstream #1106

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

vladisslav2011
Copy link
Contributor

@vladisslav2011 vladisslav2011 commented Feb 17, 2022

Initial multivfo implementation

Move ddc into receiver_base_cf
Move defines and modulation type to dedicated files
Implement config v4
Implement vfo selection by clicking the plotter widget
Implement stereo panning feature to improve listening experience
Implement locking vfos to a frequency and automatically delete locked
vfos when moved out of bandwidth
Add global lock/unlock context menu
Add global squelch auto/reset popup menu
Implement settings loading from a bookmark by right-clicking bookmark
tag on a plotter
Implement new vfo creation from a bookmark by middle-clicking bookmark
tag on a plotter
Add bookmarks context menu actions

  1. To tune current demod to a frequency
  2. To tune current demod to a frequency and load params from the
    bookmark
  3. To create a new demod with the bookmark params

Prevent new vfo creation over already active bookmark
Replace selected bookmark instead of adding new one at the same frequency
Update plotter overlay on bookmark delete
Update plotter overlay on bookmarks save
Save bookmarks on tag delete
Store all receiver parameters to a bookmark
Add a button to copy recording settings to all VFOs
Sort bookmarks by any column
Validate and correct filter params on input
Make Modulations class fully static
Allow to choose bookmarks table visible columns
Select a bookmark on exact freq match only to avoid a situation when
2 bookmarks have overlapping filter passbands and wrong bookmark with
wider filter passband is activated.
Automatically create demodulators when a bookmark, marked as 'auto' gets
visible on the panadapter.
Add a switch to enable/disable this function.

Flowgraph structure (master):
gqrx-master

Flowgraph structure (this PR):
gqrx-multi_vfo

Unfortunately github does not play well with SVG images. Right-click the image and choose "Save image as...", then open saved image to get it rendered correctly.

May close #965
May close #908
May close #823
May close #267
May close #264
May close #263
May close #235
May close #214
May close #196
May close #946
May close #473
May close #264

@vladisslav2011
Copy link
Contributor Author

CI failed. Moving to draft.

@vladisslav2011 vladisslav2011 marked this pull request as draft February 17, 2022 01:42
@vladisslav2011 vladisslav2011 force-pushed the multi_vfo_upstream branch 3 times, most recently from 8d612e6 to 2683ced Compare February 17, 2022 03:18
@vladisslav2011 vladisslav2011 marked this pull request as ready for review February 17, 2022 05:15
@vladisslav2011 vladisslav2011 force-pushed the multi_vfo_upstream branch 2 times, most recently from f977744 to 12a679c Compare February 18, 2022 16:05
@vladisslav2011 vladisslav2011 force-pushed the multi_vfo_upstream branch 2 times, most recently from 845ea0d to 106c436 Compare August 21, 2022 00:29
@argilo argilo added the feature label Mar 25, 2023
vladisslav2011 and others added 16 commits July 28, 2023 21:12
New stereo rx_agc
Move rx_agc to the output of demodulator
Remove audio_gain# blocks
Make audio gain slider contorl rx_agc manual gain
Move common code from nbrx/wfmrx to receiver_base
Move all agc processing into block class rx_agc_2f
Eliminate CAgc class
Remove CurrentGainDb and move processing to get_current_gain
Rename SetParameters to set_parameters
Remove ProcessData and move all processing to work
Fix tag propagation setting sample delay
Workaroung GNU Radio < 3.8 tag propagation bug
Manually calculate new tag offsets
Small cleanup
Fix initialization
Set default current gain to 1 (0 dB)
rx_agc: improve compatibility with older GNU Radio versions
rx_agc: Restore manual gain correctly
Set audio mute by disconnecting audio_snk
rx_agc: initialize all class members
And add more debug
disable agc debug prints
rx_agc: switch to using history
Prefill magnitude buffer on buffer size change in running state
Prefill magnitude buffer on enabled state change in running state
And gain up/down keyboard shortcuts
Move wav_sink into receiver_base_cf
Move file name generation to receiver_base_cf
Switch to pwr_squelch
Pull in wavfile_sink and fix gqrx-sdr#1075
Implement new squelch-triggered audio recorder while keeping in mind that
gqrx-sdr#946 would be next.
Add tag processing to wavfile_sink_gqrx.
Implement event-driven GUI updates.
Add GUI options
Make it possible to switch betweensimple_squelch and pwr_squelch implementations
to improve performace on weak systems
Update build dependencies (add libsndfile)
Move ddc into receiver_base_cf
Move defines and modulation type to dedicated files
Implement config v4
Implement vfo selection by clickin the plotter widget
Implement stereo panning feature to improve listening experience
Implement locking vfos to a frequency and automatically delete locked
vfos when moved out of bandwidth
Add global lock/unlock context menu
Add global squelch auto/reset popup menu
Implement settings loading from a bookbark by right-clicking bookmark
tag on a plotter
Implement new vfo creation from a bookbark by middle-clicking bookmark
tag on a plotter
Add bookmarks context menu actions
1. To tune current demod to a frequency
2. To tune current demod to a frequency and load params from the
bookmark
3. To create a new demod with the bookmark params
Prevent new vfo creation over already active bookmark
Replace selected bookmark instead of adding new one at the same frequency
Update plotter overlay on bookmark delete
Update plotter overlay on bookmarks save
Save bookmarks on tag delete
Store all receiver parameters to a bookmark
Add a button to copy recording settings to all VFOs
Sort bookmarks by any column
Validate and correct filter params on input
Make Modulations class fully static
Allow to choose bookmarks table visible columns
Select a bookmark on exact freq match only to avoid a situation when
2 bookmarks have overlapping filter passbands and wrong bookmark with
wider filter passband is activated.
Automatically create demodulators when a bookmark, marked as 'auto' gets
visible on the panadapter.
Add a switch to enable/disable this function.
Prevent crash when vfo offset is zero
Always store vfo offset
As it is done already in disconnect_rx
Makes it possible to have one stream per vfo.
case the ofsset does not fit into new bandwidth
Make it possible to mute selected RX channel only.
Avoid locking disconnected hier_block2 to prevent triggering  gnuradio/gnuradio#5436
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment