OpenLaserTag IR protocol

Overview

OpenLaserTag protocol is based on the MilesTag II protocol, extends its capabilities and is backward-compatible with this protocol. Allows up to 32767 unique player ID, 15 bits for player ID. It allows Big Game for many players. The last 1024 IDs reserved and indicate anti-materiel weapons. This fully penetrate armored target.

Protocol specification
Carrier frequency:56kHz
Recommended carrier duty-cycle: 1/3
Recommended sensors:TSOP2256, TSOP4856, TSOP34856, TSOP32256
Shot Packet bite count22
Command Packet bite count24

Modulation

 

 

 

 

The protocol uses pulse width encoding of the bits. The pulse representing a logical “1” is a 1.2ms long burst of the 56kHz carrier, while the burst width for a logical “0” is 0.6ms long. All bursts are separated by a 0.6ms long space interval. The recommended carrier duty-cycle is 1/3. Receiver

OpenLaserTag Packet

The LaserTag uses two types of packets. The Shot packet is used for shooting. The Command packet is used for game moderation and basic player settings. The Advanced player settings are realized with using other wireless technologies or IR protocol extensions.

The Shot Packet begins with a 2400us header followed by a 600us pause. The data partion for the Shot Packet is 22 bits. The first bit specifies Shot Packet. “0” indicates Shot Packet, “1” indicates Command Packet. Next 7 bits is the first part of the user ID, it can be the club ID for backward compatibility. Next 2 bits is team ID. Next 4 bits damage. Last 8 bits is the second part of the user ID. The most significant 3 bits this second part indicate anti-materiel weapons.

TeamBinary ID
Red[00]
Blue[01]
Yellow[10]
Green[11]

 

DamageBinary ID
1[0000]
2[0001]
4[0010]
5[0011]
7[0100]
10[0101]
15[0110]
17[0111]
20[1000]
25[1001]
30[1010]
35[1011]
40[1100]
50[1101]
75[1110]
100[1111]

The Command Packet begins with a 2400us header followed by a 600us pause. Next 24 bits that contain a command message. Italic indicates expansion beyond MilesTag II.

CommandFirst ByteSecond ByteThird Byte
Add Healt 1 to 1000x800x01 to 0x640xE8
Add Rounds 1 to 1000x810x01 to 0x640xE8
RESERVED0x82---0xE8
Admin Kill0x830x000xE8
Pause/Unpause0x830x010xE8
Start Game0x830x020xE8
Restore Defaults0x830x030xE8
Respawn0x830x040xE8
New Game0x830x050xE8
Full Ammo0x830x060xE8
End Game0x830x070xE8
Reset Clock0x830x080xE8
RESERVED0x830x090xE8
Initialize Player0x830x0A0xE8
Explode Player0x830x0B0xE8
New Game (Ready)0x830x0C0xE8
Full Health0x830x0D0xE8
RESERVED0x830x0E0xE8
Full Armor0x830x0F0xE8
RESERVED
0x830x100xE8
RESERVED
0x830x110xE8
RESERVED
0x830x120xE8
RESERVED
0x830x130xE8
Clear Scores0x830x140xE8
Test Sensors
0x830x150xE8
Stun Player
0x830x160xE8
Disarm Player
0x830x170xE8
RESERVED0x84---0xE8
RESERVED0x85---0xE8
RESERVED0x86---0xE8
System Data0x87[Not Implemented]0xE8
RESERVED0x88---0xE8
RESERVED0x89---0xE8
Pickup Clips Box, quantity 0 to 1508A0x00 to 0x0F0xE8
Pickup Health Box, quantity 0 to 150x8B0x00 to 0x0F0xE8
Flag Pickup, Flag ID 0 to 150x8C0x00 to 0x0F0xE8
Radiation Zone remove Health 1 to 1000xA00x01 to 0x640xE8
Anomaly Zone Add Health 1 to 1000xA10x01 to 0x640xE8
Set Game Mode0xA80x00 to 0xFF0xE8
Set Team ID 0 to 30xA90x00 to 0x030xE8
Add or Remove Red member Health -128 to 1270xB00x00 to 0xFF0xE8
Add or Remove Blue member Health -128 to 1270xB10x00 to 0xFF0xE8
Add or Remove Yellow member Health -128 to 1270xB20x00 to 0xFF0xE8
Add or Remove Green member Health -128 to 1270xB30x00 to 0xFF0xE8
Respawn Team member ID 0 to 40хВ40x00 to 0x030xE8
Kill Team member ID 0 to 40хВ60x00 to 0x030xE8
Full Ammo Team member ID 0 to 40xB70x00 to 0x030xE8

Add a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.