System Z/T IR Code Generator v0.3

(2020-09-21) by Lonewolf
[Also check out the Nexus IR Code Generator]

System:

System T


Prestart Time: seconds
Game Time: seconds
Team:
Power:
Shot Type:
Arena:
Power Level:
xxx
Device ID #: (0-127)
Device Type:
Beacon ID #: (0-127)

 

T2 (Infusion)


Prestart Time: seconds
Game Time: seconds
Set or Add:

Teams: Red Blue Yellow
Power:
Device Type:
Can Tag Allies:
Can Tag Foes:
Power Multiplier:
Stealth Tag: (Does not deactivate, only reports to server)
xxx
Device ID #: (0-63)

 

 

Advanced Options

Frequency: kHz CRC-8 Seed / Poly: /
Baud Rate: Override "1" Pulse Time: μs
Raw μs int size: bits Override "0" Pulse Time: μs

Encoded


 
Hex: 0x

Pronto:

Raw μs:

pulse space pulse space pulse ... pulse
C Array:

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)