- Harden timing decode, correct Manchester polarity, and size encoder buffer exactly
- Derive exact encoder upload capacity (FIAT_V0_UPLOAD_CAP = 1325 with current constants)
- Fix Manchester Short/Long High/Low event polarity (level maps to duration level)
- Fix end-of-frame off-by-one for btn bits (>= 0x46)
- Zero-init encoder/decoder allocations and reset decoder during alloc
- Reset Manchester state at frame start and ignore very short glitch pulses seen in capture
- Add overflow guards on upload building and yield stop conditions
- Add compact timing helpers/macros for consistent TE tolerance checks
- Reset decoder Manchester state + counters in reset() to avoid stale parses
- Make Type2 Manchester decoder use tolerance-based checks (half-bit robustness)
- Compact repeated encoder Manchester bit emission via macro
- Add upload buffer overflow guards in encoder builders
- aut64_encrypt/decrypt/pack/unpack now return int
- API now uses pointers everywhere
- Made 0xFF sentinel meaningful
- Strict key validation added and enforced
- aut64_encrypt, aut64_decrypt, and aut64_pack fail fast if the key is invalid
- aut64_unpack() unpacks into dest, then validates the resulting key
- Pointer validation for public API functions
- Removed sizeof(...) loop bounds and replaced with defined sizes
- Avoid reading uninitialized memory / overwriting incorrectly
- Converted hardcoded message[7] to message[AUT64_BLOCK_SIZE - 1].
- Upgraded internal array dimensions to use defines
- fix alloc / free
- fix raw file reading buffer size
- remake raw file reading logic
- remake sub decode to stop when heap is low
- disable 2 scenes to free heap
- add comments
- fix crashes caused by previous alloc/free fixes
- alloc worker only for RX
- fix emulation scene hold
- fix emulation scene back button