bin/pwn_gqrx_scanner in pwn-0.5.55 vs bin/pwn_gqrx_scanner in pwn-0.5.57

- old
+ new

@@ -29,31 +29,31 @@ options.on('-AFLOAT', '--audio-gain=FLOAT', '<Optional - Set audio gain -80.0 to 50.0 (Defaults to 1.0)>') do |a| opts[:audio_gain_db] = a end - options.on('-bHZ', '--bandwidth=HZ', '<Optional - Set Bandwidth (Defaults to 200.000)>') do |b| + options.on('-bHZ', '--bandwidth=HZ', '<Optional - Set Bandwidth 0.0 - SDR Bandwidth Limit, e.g. 20.000.000 (Defaults to 270.000)>') do |b| opts[:bandwidth] = b end options.on('-DMODE', '--demodulator-mode=MODE', '<Optional - Set Demodulator ModeOFF | RAW | AM | FM | WFM | WFM_ST | WFM_ST_OIRT | LSB |USB | CW | CWL | CWU (Defaults to WFM_ST)>') do |d| opts[:demodulator_mode] = d end - options.on('-PINT', '--precision=INT', '<Optional - Precision of Frequency 1-12 (Defaults to 6)>') do |p| + options.on('-PINT', '--precision=INT', '<Optional - Precision of Frequency 1-12 (Defaults to 5)>') do |p| opts[:precision] = p end - options.on('-SFLOAT', '--strength-lock=FLOAT', '<Optional - Strength to trigger lock on frequency (Defaults to -55.0)>') do |s| + options.on('-SFLOAT', '--strength-lock=FLOAT', '<Optional - Strength to trigger lock on frequency (Defaults to -45.0)>') do |s| opts[:strength_lock] = s end - options.on('-LFLOAT', '--lock-freq-duration=FLOAT', '<Optional - Duration to lock onto Freqency when Strength < --strength-lock value (Defaults to 5.0)>') do |l| + options.on('-LFLOAT', '--lock-freq-duration=FLOAT', '<Optional - Duration to lock onto Freqency when Strength < --strength-lock value (Defaults to 0.25)>') do |l| opts[:lock_on_freq_duration] = l end - options.on('-QFLOAT', '--squelch=FLOAT', '<Optional - Squelch Threshold -65.0 to 0(Defaults to -150.0)>') do |q| + options.on('-QFLOAT', '--squelch=FLOAT', '<Optional - Squelch Threshold -150.0 to 0 (Defaults to -50.0)>') do |q| opts[:squelch] = q end options.on('-RFLOAT', '--rf-gain=FLOAT', '<Optional - RF Gain 0.0-16.0(Defaults to 16.0)>') do |r| opts[:rf_gain] = r @@ -61,11 +61,11 @@ options.on('-IFLOAT', '--intermediate-gain=FLOAT', '<Optional - Intermediate Gain 0.0-40.0 (Defaults to 40.0)>') do |i| opts[:intermediate_gain] = i end - options.on('-BFLOAT', '--basedband-gain=FLOAT', '<Optional - Baseband Gain 0.0-62.0 (Defaults to 0.0)>') do |b| + options.on('-BFLOAT', '--basedband-gain=FLOAT', '<Optional - Baseband Gain 0.0-62.0 (Defaults to 10.0)>') do |b| opts[:baseband_gain] = b end end.parse! if opts.empty? @@ -152,11 +152,12 @@ gqrx_sock.write("#{cmd}\n") response = [] got_freq = false # Read all responses from gqrx_sock.write - timeout = 0.03 if timeout.nil? + timeout = 0.001 if timeout.nil? + begin response.push(gqrx_sock.readline.chomp) while gqrx_sock.wait_readable(timeout) raise IOError if response.empty? rescue IOError timeout += 0.001 @@ -245,11 +246,12 @@ squelch: current_squelch, rf_gain: rf_gain, if_gain: if_gain, bb_gain: bb_gain, strength: current_strength, - strength_trigger_lock_on_freq: strength_lock + strength_trigger_lock_on_freq: strength_lock, + lock_on_freq_duration: lock_on_freq_duration } puts JSON.pretty_generate(init_freq_hash) sleep lock_on_freq_duration if current_strength > strength_lock @@ -319,11 +321,11 @@ demodulator_mode = opts[:demodulator_mode] ||= 'WFM_ST' demodulator_mode.upcase! raise "ERROR: Invalid demodulator mode: #{demodulator_mode}" unless %w[OFF RAW AM FM WFM WFM_ST WFM_ST_OIRT LSB USB CW CWL CWU].include?(demodulator_mode) - bandwidth = opts[:bandwidth] ||= '200.000' + bandwidth = opts[:bandwidth] ||= '270.000' puts "Setting demodulator mode to #{demodulator_mode} and bandwidth to #{bandwidth}..." bandwidth = bandwidth.to_s.delete('.').to_i unless bandwidth.nil? demod_resp = gqrx_cmd( gqrx_sock: gqrx_sock, @@ -337,26 +339,26 @@ gqrx_sock: gqrx_sock, cmd: "L AF #{audio_gain_db}", resp_ok: 'RPRT 0' ) - squelch = opts[:squelch] ||= -65.0 + squelch = opts[:squelch] ||= -50.0 squelch = squelch.to_f squelch_resp = gqrx_cmd( gqrx_sock: gqrx_sock, cmd: "L SQL #{squelch}", resp_ok: 'RPRT 0' ) - precision = opts[:precision] ||= 6 + precision = opts[:precision] ||= 5 precision = precision.to_i raise "ERROR: Invalid precision: #{precision}" unless (1..12).include?(precision) - lock_on_freq_duration = opts[:lock_on_freq_duration] ||= 5.0 + lock_on_freq_duration = opts[:lock_on_freq_duration] ||= 0.25 lock_on_freq_duration = lock_on_freq_duration.to_f - strength_lock = opts[:strength_lock] ||= -55.0 + strength_lock = opts[:strength_lock] ||= -45.0 strength_lock = strength_lock.to_f rf_gain = opts[:rf_gain] ||= 16.0 rf_gain = rf_gain.to_f squelch_resp = gqrx_cmd( @@ -371,10 +373,10 @@ gqrx_sock: gqrx_sock, cmd: "L IF_GAIN #{intermediate_gain}", resp_ok: 'RPRT 0' ) - baseband_gain = opts[:baseband_gain] ||= 0.0 + baseband_gain = opts[:baseband_gain] ||= 10.0 baseband_gain = baseband_gain.to_f squelch_resp = gqrx_cmd( gqrx_sock: gqrx_sock, cmd: "L BB_GAIN #{baseband_gain}", resp_ok: 'RPRT 0'