That message is generated when the frame check sequence (FS) can be decoded, but the actual value received is incorrect because the cqpsk tuning is off by 90 degrees. [If you recall, the constellation plot shows all the dots clustered in one of four corners. If you were to sweep the tuning you would see brief rotation of the plot either CW or CCW. When it rotates just far enough it will "lock in" at the new position 90 degrees from previous.]
The solution is to adjust the tuning by (approximately) 1200hz using PPM control or Fine Tune so that the FS is decoded properly and the 'tuning error' messages go away. At that point you should see a stream of incoming "tsbks" in the terminal window.
If you have the LATEST copy of my repo and have cleanly done a cmake ../ and build, you should be able to sweep the fine tuning using the ,.<> keys from the terminal and at some point the signal will lock properly. If you have x-term capability on your PI3, you can also enable the plot of the I/F output by pressing the "5'" key on the terminal. Adjust fine tune until the signal is centered and symmetrical.
NOTE: slightly earlier versions of my repo don't behave entirely properly when adjusting fine tune due to persistence within the Costas loop. The most recent fix addresses this but does require a full regeneration of the op25 library code as I had to modify the api.
I thought op25 was running on my pi when I installed it at home, but it appears it is not. I tried running it with all the control frequencies (one at a time in the trunk.tsv file) and I always got this:
Code:
gr-osmosdr 0.1.3 (0.1.3) gnuradio 3.7.5
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
p25_demodulator::connect_chain() demod_type=cqpsk
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@gmail.com
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
op25_udp::open_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
p25_frame_assembler_impl: do_imbe[1], do_output[0], do_audio_output[1], do_phase2_tdma[1]
audio device: default
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
1509022345.190425 p25p1_fdma::rx_sym() timeout
1509022345.191284 control channel timeout
p25_framer::rx_sym() tuning error +1200
With essentiall the block of "p25_framer....." errors repeating indefinitely. Any suggestions as to what is going on here?