boatbod
Member
I have ported Max's recently announced "-X" tracking code to the boatbod op25 repo. After experimenting with it a bit I changed the way the frequency corrections are handled so that it utilizes the source device's ppm correction then makes residual fine tuning adjustments much as if you had manually entered them either via the terminal or command line parameters.
Operation:
- Specify "-X" on the rx.py command line
Logging Example:
Notes:
- Only works for rx.py (not multi_rx.py) with the the default cqpsk demodulator (i.e. disabled if you specify "-D fsk4" on the command line)
- Happily works in conjunction with "-q <ppm>" command line options to manually get the tuning close enough to start tracking. Likely to be most useful with old dongles that require significant ppm correction
- For speedier startup you can use the logged "-q" and "-d" parameters directly in your rx.py startup script. e.g. rx.py .... -q -2 -d 151 ....
- The new functionality requires a *full rebuild* of op25 due to changes in the library code interface functions. Suggest running the following script:
Operation:
- Specify "-X" on the rx.py command line
Logging Example:
Code:
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
1583721175.743043 control channel timeout
p25_framer::rx_sym() tuning error +1200
p25_framer::rx_sym() tuning error +1200
1583721175.867949 Adjusting tuning: ppm(-2), fine_tune(309) ["-q -2 -d 309"]
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
1583721181.809586 Adjusting tuning: ppm(-2), fine_tune(230) ["-q -2 -d 230"]
1583721187.820191 Adjusting tuning: ppm(-2), fine_tune(151) ["-q -2 -d 151"]
Notes:
- Only works for rx.py (not multi_rx.py) with the the default cqpsk demodulator (i.e. disabled if you specify "-D fsk4" on the command line)
- Happily works in conjunction with "-q <ppm>" command line options to manually get the tuning close enough to start tracking. Likely to be most useful with old dongles that require significant ppm correction
- For speedier startup you can use the logged "-q" and "-d" parameters directly in your rx.py startup script. e.g. rx.py .... -q -2 -d 151 ....
- The new functionality requires a *full rebuild* of op25 due to changes in the library code interface functions. Suggest running the following script:
Code:
cd ~/op25
./rebuild.sh