mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-09-11 18:29:22 -07:00
The emitted bit is the running phase, so a shift accepted before the tag answers toggles curPhase once too often and the rest of the word comes back complemented. pskFindFirstPhaseShift judged its first measured length, but waveStart starts as wherever the caller began looking - that length is part of a wave, not a wave, and any gap beating fc was taken as a shift. Baseline on the first peak instead. pskRawDemod_ext separately trusted a shift under one bit period in; the clock is known by then, so look again from a bit period in. Both are needed - dropping either leaves one of the tags measured inverting on most reads. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>