It finds the broken instrument, and fixes it first
The decoder takes the left sample of each interleaved pair, [j][i*2]. The capture hands the exporter a contiguous pointer and a count of 80 for each 160-word block, so what lands in the file is the first 80 interleaved words — half of them the other channel — labelled as a mono stream at the nominal rate. It derives this from the stride rather than from a failing test, notes that the module tests pass because they never exercise the conversion, and makes correcting it step one of the plan: the capture is the instrument that would prove whether the radio or the microphone feeds the codec.
p25mon.c:432–466 · p25mon_capture.c:455–490 · tests/p25/run.py:264–270