OpenLaserTag IR protokol
Přehled
Protokol OpenLaserTag je založen na protokolu MilesTag II, rozšiřuje jeho možnosti a je s ním zpětně kompatibilní. Umožňuje až 32767 unikátní ID hráčů, obsahuje 15 bitů pro ID hráče. To umožňuje hry pro velký počet hráčů. Posledních 1024 ID je vyhrazeno pro anti-materiálové zbraně. Ty slouží pro ničení obrněných cílů.
Protocol specification | |
---|---|
Carrier frequency: | 56kHz |
Recommended carrier duty-cycle: | 1/3 |
Recommended sensors: | TSOP2256, TSOP4856, TSOP34856, TSOP32256 |
Shot Packet bite count | 22 |
Command Packet bite count | 24 |
Modulace
Protokol používá kódování založené na rozdílné délce pulsů. Nosná frekvence je 56kHz s doporučenou střídou 1/3. Logická „1“ má puls dlouhý 1.2ms a pro logickou „0“ je to 0,6ms. Všechny pulsy jsou odděleny 0,6ms pauzou.
OpenLaserTag paket
LaserTag používá dva typy paketů. Shot paket pro výstřel. Command paket pro moderování hry a základní nastavení hráče. Pokročilá nastavení jsou pak realizována pomocí jiných bezdrátových technologií nebo rozšířením IR protokolu mimo tuto specifikaci.
Shot paket začíná hlavičkou 2400us následovanou 600us pauzou. Délka Shot paketu je 22 bitů. První bit určuje typ paketu, „0“ označuje Shot paket a „1“ Command paket. Dalších 7 bitů je první část ID hráče, to může být pro zpětnou kompatibilitu ID klubu. Další 2 bity je ID týmu. Další 4 bity poškození. Posledních 8 bitů je druhá část ID uživatele. Nejvýznamnější 3 bity této druhé části označují anti-materiálové zbraně.
Team | Binary ID |
---|---|
Red | [00] |
Blue | [01] |
Yellow | [10] |
Green | [11] |
Damage | Binary 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] |
Command Packet začíná hlavičkou 2400us následovanou 600us pauzou. Dalších 24 bitů, 3 Bajty, obsahují zprávu příkazu. Kurzíva označuje rozšíření mimo protokol MilesTag II.
Command | First Byte | Second Byte | Third Byte |
---|---|---|---|
Add Healt 1 to 100 | 0x80 | 0x01 to 0x64 | 0xE8 |
Add Rounds 1 to 100 | 0x81 | 0x01 to 0x64 | 0xE8 |
RESERVED | 0x82 | --- | 0xE8 |
Admin Kill | 0x83 | 0x00 | 0xE8 |
Pause/Unpause | 0x83 | 0x01 | 0xE8 |
Start Game | 0x83 | 0x02 | 0xE8 |
Restore Defaults | 0x83 | 0x03 | 0xE8 |
Respawn | 0x83 | 0x04 | 0xE8 |
New Game | 0x83 | 0x05 | 0xE8 |
Full Ammo | 0x83 | 0x06 | 0xE8 |
End Game | 0x83 | 0x07 | 0xE8 |
Reset Clock | 0x83 | 0x08 | 0xE8 |
RESERVED | 0x83 | 0x09 | 0xE8 |
Initialize Player | 0x83 | 0x0A | 0xE8 |
Explode Player | 0x83 | 0x0B | 0xE8 |
New Game (Ready) | 0x83 | 0x0C | 0xE8 |
Full Health | 0x83 | 0x0D | 0xE8 |
RESERVED | 0x83 | 0x0E | 0xE8 |
Full Armor | 0x83 | 0x0F | 0xE8 |
RESERVED | 0x83 | 0x10 | 0xE8 |
RESERVED | 0x83 | 0x11 | 0xE8 |
RESERVED | 0x83 | 0x12 | 0xE8 |
RESERVED | 0x83 | 0x13 | 0xE8 |
Clear Scores | 0x83 | 0x14 | 0xE8 |
Test Sensors | 0x83 | 0x15 | 0xE8 |
Stun Player | 0x83 | 0x16 | 0xE8 |
Disarm Player | 0x83 | 0x17 | 0xE8 |
RESERVED | 0x84 | --- | 0xE8 |
RESERVED | 0x85 | --- | 0xE8 |
RESERVED | 0x86 | --- | 0xE8 |
System Data | 0x87 | [Not Implemented] | 0xE8 |
RESERVED | 0x88 | --- | 0xE8 |
RESERVED | 0x89 | --- | 0xE8 |
Pickup Clips Box, quantity 0 to 15 | 08A | 0x00 to 0x0F | 0xE8 |
Pickup Health Box, quantity 0 to 15 | 0x8B | 0x00 to 0x0F | 0xE8 |
Flag Pickup, Flag ID 0 to 15 | 0x8C | 0x00 to 0x0F | 0xE8 |
Radiation Zone remove Health 1 to 100 | 0xA0 | 0x01 to 0x64 | 0xE8 |
Anomaly Zone Add Health 1 to 100 | 0xA1 | 0x01 to 0x64 | 0xE8 |
Set Game Mode | 0xA8 | 0x00 to 0xFF | 0xE8 |
Set Team ID 0 to 3 | 0xA9 | 0x00 to 0x03 | 0xE8 |
Add or Remove Red member Health -128 to 127 | 0xB0 | 0x00 to 0xFF | 0xE8 |
Add or Remove Blue member Health -128 to 127 | 0xB1 | 0x00 to 0xFF | 0xE8 |
Add or Remove Yellow member Health -128 to 127 | 0xB2 | 0x00 to 0xFF | 0xE8 |
Add or Remove Green member Health -128 to 127 | 0xB3 | 0x00 to 0xFF | 0xE8 |
Respawn Team member ID 0 to 4 | 0хВ4 | 0x00 to 0x03 | 0xE8 |
Kill Team member ID 0 to 4 | 0хВ6 | 0x00 to 0x03 | 0xE8 |
Full Ammo Team member ID 0 to 4 | 0xB7 | 0x00 to 0x03 | 0xE8 |