mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
P25 Phase 2: consult I-ISCH 2 when I-ISCH 1 fails to decode (#2458)
SuperFrameFragment.getTimeslotOffset() tests getIISCH1().isValid() twice, so the second I-ISCH is never consulted and a fragment whose first I-ISCH does not decode is descrambled at timeslot offset 0. On a weak signal the first I-ISCH fails on almost half of the fragments, and two of every three of those are then descrambled with the wrong phase. Test I-ISCH 2 as the surrounding code intends (isFinalFragment() already does). Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -322,7 +322,7 @@ public class SuperFrameFragment implements IMessage
|
||||
return getIISCH1().getIschSequence().getTimeslotOffset();
|
||||
}
|
||||
|
||||
if(getIISCH1().isValid())
|
||||
if(getIISCH2().isValid())
|
||||
{
|
||||
return getIISCH2().getIschSequence().getTimeslotOffset();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user