Can't create waterfall png files [fixed in kiwirecorder v1.2]

With the greatly improved propagation conditions many WD sites like KPH, KFS and VK7JJ are beginning to experience severe overloading, especially at grayline times of day. In order to determine how much to reduce LNA gain and/or add blocking filters, I would like WD to record 0-30 MHz spectrum pngs when it detects such severe overload conditions. But neither kiwi recorder's help menu nor the examples in the Makefile have produced png files.

Using --wf does output a list of WF data, but --wf-png only records wav files.

What am I missing?


===============


pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $ python3 -u /home/pi/wsprdaemon/kiwiclient/kiwirecorder.py -V

kiwirecorder v1.1

pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $ python3 -u /home/pi/wsprdaemon/kiwiclient/kiwirecorder.py --wf --server-host=10.33.33.33 --server-port=8073 -f 15000 -z 0 --log_level info -u krec-WF --tlimit=5

2023-04-01 17:32:16,876 pid 20879 started waterfall recorder 0

2023-04-01 17:32:16,985 pid 20879 Kiwi server version: 1.590

2023-04-01 17:32:16,987 pid 20879 wf samples: start|center|stop 0.0|15000.0|30000.0 kHz, span 30000 kHz, rbw 29.297 kHz, cal -16 dB

2023-04-01 17:32:17,141 pid 20879 wf samples: 1024 bins, min -140 dB @ 26862.2 kHz, max -67 dB @ 25014.7 kHz

2023-04-01 17:32:18,059 pid 20879 wf samples: 1024 bins, min -142 dB @ 6891.5 kHz, max -66 dB @ 25014.7 kHz

2023-04-01 17:32:19,042 pid 20879 wf samples: 1024 bins, min -142 dB @ 9178.9 kHz, max -67 dB @ 25014.7 kHz

2023-04-01 17:32:20,058 pid 20879 wf samples: 1024 bins, min -161 dB @ 18563.0 kHz, max -67 dB @ 25014.7 kHz

2023-04-01 17:32:21,044 pid 20879 wf samples: 1024 bins, min -147 dB @ 967.7 kHz, max -67 dB @ 25014.7 kHz

2023-04-01 17:32:22,039 pid 20879 wf samples: 1024 bins, min -135 dB @ 2111.4 kHz, max -67 dB @ 25014.7 kHz

pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $ ll

total 0

pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $ python3 -u /home/pi/wsprdaemon/kiwiclient/kiwirecorder.py --wf-png --server-host=10.33.33.33 --server-port=8073 -f 15000 -z 0 --log_level info -u krec-WF --tlimit=5

2023-04-01 17:32:57,894 pid 20958 started sound recorder 0

2023-04-01 17:32:58,000 pid 20958 Kiwi server version: 1.590

2023-04-01 17:32:58,049 pid 20958 GNSS position: lat,lon=[+38.09, -122.95]

Block: 00000001, RSSI: -96.7 2023-04-01 17:32:58,408 pid 20958 Started a new file: 20230402T003258Z_15000000_am.wav

Block: 0000001f, RSSI: -96.9

pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $

Comments

  • kiwirecorder supports so many options now that the code doesn't complain when all invalid sets of options are used. The included Makefile is a big help.

    The problem here is that --wf-png requires --wf to setup the waterfall channel. --wf-png without --wf is silently ignored. It should probably enforce --wf.

  • I did try adding both --wf and --wf-png in both orders before posting, but doing that causes a python error:

    pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $ python3 -u /home/pi/wsprdaemon/kiwiclient/kiwirecorder.py --wf --wf-png --server-host=10.33.33.33 --server-port=8073 -f 15000 -z 0 --log_level info -u krec-WF --tlimit=5

    2023-04-01 22:12:23,301 pid 21572 started waterfall recorder 0

    2023-04-01 22:12:23,402 pid 21572 Kiwi server version: 1.590

    2023-04-01 22:12:23,406 pid 21572 wf samples: start|center|stop 0.0|15000.0|30000.0 kHz, span 30000 kHz, rbw 29.297 kHz, cal -16 dB

    2023-04-01 22:12:23,406 pid 21572 --wf_png: mindb -155, maxdb -30, cal -16 dB

    Traceback (most recent call last):

     File "/home/pi/wsprdaemon/kiwiclient/kiwi/worker.py", line 44, in run

      self._recorder.run()

     File "/home/pi/wsprdaemon/kiwiclient/kiwi/client.py", line 653, in run

      self._process_ws_message(received)

     File "/home/pi/wsprdaemon/kiwiclient/kiwi/client.py", line 190, in _process_ws_message

      self._process_message(tag, body)

     File "/home/pi/wsprdaemon/kiwiclient/kiwi/client.py", line 422, in _process_message

      self._process_wf(body[1:]) ## skip 1st byte

     File "/home/pi/wsprdaemon/kiwiclient/kiwi/client.py", line 545, in _process_wf

      self._process_waterfall_samples(seq, samples)

     File "/home/pi/wsprdaemon/kiwiclient/kiwirecorder.py", line 500, in _process_waterfall_samples

      pixels.append(self._cmap_r[ci])

    TypeError: array indices must be integers

    pi@AI6VN-DemoRx-Pi4:~/wsprdaemon/kiwiclient/wf-test $

  • A quick check: it works for me using your same parameters. Let me look at that colormap issue though..

    ~/kiwiclient 529 m wf-png

    python3 -u kiwirecorder.py --wf --wf-png -s ai64 -p 8073 -f 15000 -z 0 --log_level info -u krec-WF --tlimit=5

    2023-04-02 20:40:56,782 pid 68793 started waterfall recorder 0

    2023-04-02 20:40:56,931 pid 68793 Kiwi server version: 1.591

    2023-04-02 20:40:56,931 pid 68793 wf samples: start|center|stop 0.0|15000.0|30000.0 kHz, span 30000 kHz, rbw 29.297 kHz, cal -13 dB

    2023-04-02 20:40:56,931 pid 68793 --wf_png: mindb -155, maxdb -30, cal -13 dB

    2023-04-02 20:40:57,063 pid 68793 wf samples: 1024 bins, min -148 dB @ 4076.2 kHz, max -102 dB @ 27507.3 kHz

    2023-04-02 20:40:57,968 pid 68793 wf samples: 1024 bins, min -146 dB @ 4310.9 kHz, max -101 dB @ 29442.8 kHz

    2023-04-02 20:40:58,973 pid 68793 wf samples: 1024 bins, min -138 dB @ 1583.6 kHz, max -99 dB @ 234.6 kHz

    2023-04-02 20:41:00,015 pid 68793 wf samples: 1024 bins, min -145 dB @ 6451.6 kHz, max -102 dB @ 28152.5 kHz

    2023-04-02 20:41:01,052 pid 68793 wf samples: 1024 bins, min -146 dB @ 21524.9 kHz, max -100 dB @ 322.6 kHz

    2023-04-02 20:41:01,967 pid 68793 wf samples: 1024 bins, min -161 dB @ 7566.0 kHz, max -100 dB @ 322.6 kHz

    2023-04-02 20:41:01,968 pid 68793 --wf_png: writing file 20230402T084056Z_15000000_am.png


  • jksjks
    edited April 2023

    Yeah, it would have to be a data dependent problem on the waterfall values sent by 10.33.33.33 Like getting a NaN somehow.

    Is there some way I could connect to that from here so I could add some debugging code?

  • I have just emailed remote access instructions to you at support@kiwisdr.com

  • Please update from the repo. Using the -v option will show kiwirecorder v1.2 versus the prior v1.1

  • jksjks
    edited April 2023

    Another update to the repo that gives sensible defaults when --wf-png is used (namely, --speed=4 and --quiet). Thanks Rob.

  • Another update to the repo adds new option --wf-peaks=N that saves the strongest N spectrum peaks information to a .txt file.

Sign In or Register to comment.