Accept big endian version in XTC files (#159)

## Summary

* Accept big endian version in XTC files
* Recently, two issues
(https://github.com/daveallie/crosspoint-reader/issues/157 and
https://github.com/daveallie/crosspoint-reader/issues/146) have popped
up with XTC files with a big endian encoded version. This is read out as
256.
  * We should be more lax and accept these values.
This commit is contained in:
Dave Allie 2025-12-30 12:36:25 +10:00 committed by GitHub
parent 278b056bd0
commit e4ac90f5c1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -101,7 +101,9 @@ XtcError XtcParser::readHeader() {
m_bitDepth = (m_header.magic == XTCH_MAGIC) ? 2 : 1;
// Check version
if (m_header.version > 1) {
// Currently, version 1 is the only valid version, however some generators are using big endian for the version code
// so we also accept version 256 (0x0100)
if (m_header.version != 1 && m_header.version != 256) {
Serial.printf("[%lu] [XTC] Unsupported version: %d\n", millis(), m_header.version);
return XtcError::INVALID_VERSION;
}