Don't try to upload waterfall file for failed observations

🐞 Problem

In case the gnuradio process fails with an error (e.g. due to a mismatch in the installed gr-soapy version), the client should not try to upload a waterfall file to the network. It produces misleading error messages:

Mar 18 13:50:42 raspberrypi satnogs-client[25579]: Traceback (most recent call last):
Mar 18 13:50:42 raspberrypi satnogs-client[25579]:   File "/usr/bin/satnogs_cw_decoder.py", line 451, in <module>
Mar 18 13:50:42 raspberrypi satnogs-client[25579]:     main()
Mar 18 13:50:42 raspberrypi satnogs-client[25579]:   File "/usr/bin/satnogs_cw_decoder.py", line 436, in main
Mar 18 13:50:42 raspberrypi satnogs-client[25579]:     tb = top_block_cls(antenna=options.antenna, bb_freq=options.bb_freq, bfo_freq=options.bfo_freq, bw=options.bw, dc_removal=options.dc_removal, decoded_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, other_settings=options.other_settings, ppm=options.ppm, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, samp_rate_rx=options.samp_rate_rx, soapy_rx_device=options.soapy_rx_device, stream_args=options.stream_args, tune_args=options.tune_args, udp_IP=options.udp_IP, udp_port=options.udp_port, waterfall_file_path=options.waterfall_file_path, wpm=options.wpm)
Mar 18 13:50:42 raspberrypi satnogs-client[25579]:   File "/usr/bin/satnogs_cw_decoder.py", line 86, in __init__
Mar 18 13:50:42 raspberrypi satnogs-client[25579]:     tune_args, settings, samp_rate_rx, "fc32")
Mar 18 13:50:42 raspberrypi satnogs-client[25579]: TypeError: make() takes 5 positional arguments but 8 were given
Mar 18 13:50:44 raspberrypi satnogs-client[25579]: satnogsclient.observer.observer - ERROR - No waterfall data file found

💡 Possible solution(s)

  1. Capture the return code of the gnuradio process. If it failed with an error, log an error message (and maybe don't produce the "No waterfall data file" found error message).
  2. In case no output was produced, the client should "auto-"vet the observation in satnogs-network as failed (follow-up issue #388 (closed)).

edit: Added link to follow-up issue.

Edited by Fabian P. Schmidt