Partially complete rework of all the decoders to avoid seeking inside the

fluxmap. This requires resetting the FluxDecoder, which loses any pending
state, resulting in bad reads for (some) formats which don't have gaps between
sectors --- the DVK MX is the main victim.
This commit is contained in:
David Given
2022-02-12 00:55:09 +01:00
parent 610b7fe95c
commit 0933dc1afa
20 changed files with 204 additions and 227 deletions

View File

@@ -129,15 +129,9 @@ public:
AbstractDecoder(config)
{}
RecordType advanceToNextRecord()
nanoseconds_t advanceToNextRecord() override
{
const FluxMatcher* matcher = nullptr;
_sector->clock = _fmr->seekToPattern(ANY_RECORD_PATTERN, matcher);
if (matcher == &SECTOR_RECORD_PATTERN)
return SECTOR_RECORD;
if (matcher == &DATA_RECORD_PATTERN)
return DATA_RECORD;
return UNKNOWN_RECORD;
return seekToPattern(ANY_RECORD_PATTERN);
}
void decodeSectorRecord()