kopia lustrzana https://github.com/projecthorus/radiosonde_auto_rx
Add option to disable modem statistics output.
rodzic
c68460b22d
commit
854967803a
|
|
@ -243,7 +243,8 @@ def start_decoder(freq, sonde_type):
|
|||
rs92_ephemeris = rs92_ephemeris,
|
||||
imet_location = config['station_code'],
|
||||
rs41_drift_tweak = config['rs41_drift_tweak'],
|
||||
experimental_decoder = config['experimental_decoders'][sonde_type]
|
||||
experimental_decoder = config['experimental_decoders'][sonde_type],
|
||||
decoder_stats = config['decoder_stats']
|
||||
)
|
||||
autorx.sdr_list[_device_idx]['task'] = autorx.task_list[freq]['task']
|
||||
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ def read_auto_rx_config(filename):
|
|||
'payload_id_valid' : 5,
|
||||
'temporary_block_time' : 60,
|
||||
'rs41_drift_tweak': False,
|
||||
'decoder_stats': False,
|
||||
# Rotator Settings
|
||||
'enable_rotator': False,
|
||||
'rotator_update_rate': 30,
|
||||
|
|
@ -262,6 +263,7 @@ def read_auto_rx_config(filename):
|
|||
try:
|
||||
auto_rx_config['rs41_drift_tweak'] = config.getboolean('advanced', 'drift_tweak')
|
||||
auto_rx_config['decoder_spacing_limit'] = config.getint('advanced', 'decoder_spacing_limit')
|
||||
auto_rx_config['decoder_stats'] = config.getboolean('advanced', 'enable_stats')
|
||||
auto_rx_config['experimental_decoders']['RS41'] = config.getboolean('advanced', 'rs41_experimental')
|
||||
auto_rx_config['experimental_decoders']['RS92'] = config.getboolean('advanced', 'rs92_experimental')
|
||||
auto_rx_config['experimental_decoders']['M10'] = config.getboolean('advanced', 'm10_experimental')
|
||||
|
|
@ -272,6 +274,7 @@ def read_auto_rx_config(filename):
|
|||
logging.error("Config - Missing new advanced decoder settings, using defaults.")
|
||||
auto_rx_config['rs41_drift_tweak'] = False
|
||||
auto_rx_config['decoder_spacing_limit'] = 15000
|
||||
auto_rx_config['decoder_stats'] = False
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ class SondeDecoder(object):
|
|||
rs92_ephemeris = None,
|
||||
rs41_drift_tweak = False,
|
||||
experimental_decoder = False,
|
||||
decoder_stats = False,
|
||||
|
||||
imet_location = ""):
|
||||
""" Initialise and start a Sonde Decoder.
|
||||
|
|
@ -141,6 +142,7 @@ class SondeDecoder(object):
|
|||
self.rs92_ephemeris = rs92_ephemeris
|
||||
self.rs41_drift_tweak = rs41_drift_tweak
|
||||
self.experimental_decoder = experimental_decoder
|
||||
self.decoder_stats = decoder_stats
|
||||
self.imet_location = imet_location
|
||||
|
||||
# iMet ID store. We latch in the first iMet ID we calculate, to avoid issues with iMet-1-RS units
|
||||
|
|
@ -378,10 +380,16 @@ class SondeDecoder(object):
|
|||
else:
|
||||
gain_param = ''
|
||||
|
||||
|
||||
# Emit demodulator statistics every X modem frames.
|
||||
_stats_rate = 10
|
||||
|
||||
if self.decoder_stats:
|
||||
_stats_command_1 = "--stats=%d " % _stats_rate
|
||||
_stats_command_2 = "2>stats_%d.txt" % self.sonde_freq
|
||||
else:
|
||||
_stats_command_1 = ""
|
||||
_stats_command_2 = "2>/dev/null"
|
||||
|
||||
|
||||
if self.sonde_type == "RS41":
|
||||
# RS41 Decoder command.
|
||||
|
|
@ -397,7 +405,7 @@ class SondeDecoder(object):
|
|||
if self.save_decode_iq:
|
||||
decode_cmd += " tee decode_IQ_%s.bin |" % str(self.device_idx)
|
||||
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d --stats=%d 2 %d %d - - 2>stats.txt |" % (_lower, _upper, _stats_rate, _sdr_rate, _baud_rate)
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d %s2 %d %d - - %s |" % (_lower, _upper, _stats_command_1, _sdr_rate, _baud_rate, _stats_command_2)
|
||||
decode_cmd += "./rs41mod --ptu --json --bin 2>/dev/null"
|
||||
|
||||
|
||||
|
|
@ -447,7 +455,7 @@ class SondeDecoder(object):
|
|||
if self.save_decode_iq:
|
||||
decode_cmd += " tee decode_IQ_%s.bin |" % str(self.device_idx)
|
||||
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d --stats=%d 2 %d %d - - 2>stats.txt " % (_lower, _upper, _stats_rate, _sdr_rate, _baud_rate)
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d %s2 %d %d - - %s |" % (_lower, _upper, _stats_command_1, _sdr_rate, _baud_rate, _stats_command_2)
|
||||
decode_cmd += "| python ./test/bit_to_samples.py %d %d | sox -t raw -r %d -e unsigned-integer -b 8 -c 1 - -r %d -b 8 -t wav - 2>/dev/null|" % (_output_rate, _baud_rate, _output_rate, _output_rate)
|
||||
|
||||
# Add in tee command to save audio to disk if debugging is enabled.
|
||||
|
|
@ -475,7 +483,7 @@ class SondeDecoder(object):
|
|||
if self.save_decode_iq:
|
||||
decode_cmd += " tee decode_IQ_%s.bin |" % str(self.device_idx)
|
||||
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d --stats=%d 2 %d %d - - 2>stats.txt " % (_lower, _upper, _stats_rate, _sdr_rate, _baud_rate)
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d %s2 %d %d - - %s |" % (_lower, _upper, _stats_command_1, _sdr_rate, _baud_rate, _stats_command_2)
|
||||
decode_cmd += "| python ./test/bit_to_samples.py %d %d | sox -t raw -r %d -e unsigned-integer -b 8 -c 1 - -r %d -b 8 -t wav - 2>/dev/null|" % (_sdr_rate, _baud_rate, _sdr_rate, _sdr_rate)
|
||||
|
||||
# Add in tee command to save audio to disk if debugging is enabled.
|
||||
|
|
@ -502,7 +510,7 @@ class SondeDecoder(object):
|
|||
if self.save_decode_iq:
|
||||
decode_cmd += " tee decode_IQ_%s.bin |" % str(self.device_idx)
|
||||
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d --stats=%d 2 %d %d - - 2>stats.txt " % (_lower, _upper, _stats_rate, _sdr_rate, _baud_rate)
|
||||
decode_cmd += "./fsk_demod --cs16 -b %d -u %d %s2 %d %d - - %s |" % (_lower, _upper, _stats_command_1, _sdr_rate, _baud_rate, _stats_command_2)
|
||||
decode_cmd += "| python ./test/bit_to_samples.py %d %d | sox -t raw -r %d -e unsigned-integer -b 8 -c 1 - -r %d -b 8 -t wav - 2>/dev/null| " % (_sdr_rate, _baud_rate, _sdr_rate, _sdr_rate)
|
||||
|
||||
# Add in tee command to save audio to disk if debugging is enabled.
|
||||
|
|
|
|||
|
|
@ -365,7 +365,6 @@ drift_tweak = False
|
|||
|
||||
#
|
||||
# Experimental Decoders - Use at your own risk!
|
||||
# NOTE: These are not yet available in the master/testing branches. Stay tuned!
|
||||
#
|
||||
# These experimental demod chains use David Rowe's fsk_demod modem.
|
||||
# They have much better drift handling performance, and so may be better suited for
|
||||
|
|
@ -377,6 +376,11 @@ dfm_experimental = False
|
|||
m10_experimental = False
|
||||
# Note: As iMet sondes use AFSK, using fsk_demod does not give any advantage, so there is no experimental decoder for them.
|
||||
|
||||
# Dump FSK Demod statistics to stats_<freq>.txt while the modem is running.
|
||||
# This ends up at ~200mb per flight, and is over-written with each new sonde tracked.
|
||||
# The test/plot_fsk_demod_stats.py script can plot these files for debugging purposes.
|
||||
# Eventually the modem statistics will be integrated into the web GUI.
|
||||
enable_stats = False
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue