System Z/T IR Code Generator v0.3
(2020-09-21) by Lonewolf
[Also check out the Nexus IR Code Generator]
System:
Encoded
Raw μs: pulse space pulse space pulse ... pulse
Theory of Operation
The IR protocol for these older systems is nothing but async serial (UART) data sent at around 1510 baud with 9 data bits (9N1) and modulated with a 38 kHz carrier. The v4 system literally dumped the output of the hardware UART into a AND gate along with a 38 kHz crystal oscillator, and this then fed the IR emitter MOSFET. Due to how the microcontroller clock divides, the actual baud rate for v4 is 1515.762 baud and the T/T2 documentation says they use 1507 baud.
The very first byte in the packet is the command, and the last is a CRC-8 checksum. Most packets are 4 bytes long, with the exception of v4 configuration packets which have a variable length. With v4, the very first byte in the packet sets the 9th bit to 0 and all following bytes set it to 1. Starting with v5 this was reversed and the first byte in the packet sets the 9th bit to 1 and all following bytes set it to 0. The CRC-8 checksum uses a polynomial of 0x92 and an initial seed value of either 0x55 (v4, v5) or 0x34 (T, T2)