Опенласертаг ИК-протокол
Обзор
Опенласертаг протокол основан на протоколе милестаг II, расширяет его возможности и является обратно совместимым с этим протоколом. Позволяет до 32767 уникальный ID игрока, 15 бит для игрока ID. Это позволяет большую игру для многих игроков. Последние 1024 идентификаторов зарезервированы и указывают на противоматериальное оружие. Это полностью проникает в бронированную цель.
| 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 |
Модуляции

Протокол использует кодирование ширины импульса битов. Импульс, представляющий логический «1» является 1,2 мс длинный всплеск 56kHz перевозчика, в то время как ширина взрыва для логического «0» составляет 0,6 мс длиной. Все всплески разделяются на 0,6 мс длинным интервалом пространства. Рекомендуемый рабочий цикл перевозчика составляет 1/3. Приемник
Опенласертаг пакет
Лазертаг использует два типа пакетов. Пакет Shot используется для съемки. Командный пакет используется для модерации игры и базовых настроек проигрывателя. Расширенные настройки проигрывателя реализуются с использованием других беспроводных технологий или расширений ИК-протокола.

Пакет Shot начинается с заголовка 2400ус, за которым следует 600ус пауза. Часть данных для пакета Shot составляет 22 бита. Первый бит указывает пакет Shot. «0» обозначает пакет «Shot», «1» означает пакет команд. Следующие 7 бит — это первая часть идентификатора пользователя, это может быть идентификатор клуба для обратной совместимости. Следующие 2 бита — идентификатор команды. Следующие 4 бита урон. Последние 8 бит — это вторая часть идентификатора пользователя. Наиболее значимые 3 бита эта вторая часть свидетельствует об оружии против материальных средств.
| 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] |

Пакет команд начинается с заголовка 2400ус, за которым следует 600ус пауза. Следующие 24 бита, содержащие командное сообщение. Курсив указывает на расширение за пределами милестаг 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 |
