Спецификации протокола Miles tag II

Протокол данных MilesTag II

последнее обновление 25 июля 2010

перевод с английского (оригинал находится здесь)

  Частота несущей инфракрасного сигнала.

Частота несущей выбирается из следующих значений: 38кГц/40кГц/56кГц. Системная частота несущей должна соотвествовать типу применяемого датчика инфракрасного сигнала.

Пакеты данных

Пакет выстрела = Заголовок + 14 бит данных

[Заголовок] — [8 бит] — [6 бит]

Пакет сообщения = Заголовок + 24 бита данных (или больше)  

[Заголовок] — [8 бит] — [8 бит] — [8 бит] …

Заголовок и биты данных кодируются на 56кГц несущей инфракрасного сигнала используя широтную модуляцию. Тип модуляции похож на формат используемый во множестве пультов дистанционного управления. 

Широтная модуляция

Значение битов данных ("1" или "0") и заголовок кодируется длиной импульса. Каждый импульс представляет собой вспышку инфракрасного сигнала, промодулированного с частотой 56 кГц длительностью соответствующей значению бита данных.

  • Заголовок является импульсом (56 кГц несущей) длительностью 2400 микросекунд.
  • Бит со значением "1" — импульс (56 кГц несущей) длительностью 1200 микросекунд.
  • Бит со значением "0" — импульс (56 кГц несущей) длительностью 600 микросекунд.
  • Промежуток (несущая отсутствует) между битами длится 600 микросекунд.

Модуляция протокола Miles Tag II

Пакет выстрела содержит 2 байта: [Заголовок]-[ID игрока]-[повреждение]
Формат данных: [Заголовок]-[0ppppppp]-[ttdddd]

Заголовок = (2.4 миллисекундная вспышка)

ID игрока = 8 бит

Формат данных: 0ppppppp  (Первый бит для пакета выстрела всегда = "0")
ppppppp = ID игрока(7 бит)

Повреждение = 6 бит  

Формат данных: ttdddd
tt = ID команды (2 бита), где
            00 = Красные
            01 = Синие
            10 = Желтые
            11 = Зеленые

dddd = повреждение (4 бита), где
            0000 = 1
            0001 = 2
            0010 = 4
            0011 = 5
            0100 = 7
            0101 = 10
            0110 = 15
            0111 = 17
            1000 = 20
            1001 = 25
            1010 = 30
            1011 = 35
            1100 = 40
            1101 = 50
            1110 = 75
            1111 = 100
 
Пакет сообщения содержит 3 байта данных: [Заголовок]-[Байт1]-[Байт2]-[0xE8]

Пакет команд содержит 3 байта данных:  [Заголовок]-[0x83]-[Команда]-[0xE8]

Команда = см. в таблице ниже

Пакет системных данных имеет дополнительные байты данных:
    [Заголовок]-[0x87]-[Тип]-[0xE8]-[данные]-[данные]…
    Тип 0×01 = Данные копирования
    Тип 0×03 = Данные очков (часть 1)
    Тип 0×04 = Данные очков (часть 2)
    Тип 0×05 = Данные очков (часть 3)

Команды

Байт 1   Байт 2 Примечания
0×80 Добавить здоровья от 1 до 100  
0×81 Добавить магазин от 1 до 100  
0×82 Зарезервировано    
0×83 Команда 0×00 Убийство администратором
0×01 Поставить/снять паузу
0×02 Начать игру
0×03 Восстановить значения по умолчанию
0×04 Респаун
0×05 Новая игра (немедленно)
0×06 Заполнить магазин
0×07 Закончить игру
0×08 Сбросить таймер
0×09 Зарезервировано
0x0A Инициализировать игрока
0x0B Взорвать игрока
0x0C Новая игра (готовность)
0x0D Восстановить жизнь
0x0E Зарезервировано
0X0F Восстановить броню
0×10 Зарезервировано
0×11 Зарезервировано
0×12 Зарезервировано
0×13 Зарезервировано
0×14 Сбросить очки
0×15 Проверить датчики
0×16 Обездвижить игрока
0×17 Разрядить оружие у игрока
0×84 Зарезервировано    
0×85 Зарезервировано    
0×86 Зарезервировано    
0×87 Системные данные 0×00 Зарезервировано
0×01 Скопировать данные
0×02 Зарезервировано
0×03 Данные об очках (часть 1)
0×04 Данные об очках (часть 2)
0х05 Данные об очках (часть 3)
0х88 Зарезервировано    
0×89 Зарезервировано    
0х8А

Ящик с патронами (дозарядка на интерактивном устройстве)

0×00-0x0F ID ящика с патронами (0-15)
0х8B

Медицинская аптечка (дозарядка на интерактивном устройстве)

0×00-0x0F ID аптечки (0-15)
0х8С

Захват флага (интерактивное устройство)

0×00-0x0F ID флага

 

Данные копирования (неполные)
       

Байт

значение

   
1 0×87 ID команды Системные данные
2 0×01 Значение данных Данные копирования
3 0xE8 Передаваемые значения  
4 0×08 Неизменно  
5 0xE8 Неизменно  
6 0×21 Неизменно  
7 0 to 3 ID команды  
8   Зарезервировано  
9 1 to 200 Коробка патронов  
0 1 to 200 Аптечка  
    Зарезервировано  
  1 to 240 LED Timeout  
    Звуки 8
    Скорость перегрева 9
    Зарезервировано 10
    Зарезервировано 11
  Переносимые данные Повреждение 12
  от 1 до 240 Емкость магазина 13
  от 1 до 200 Количество магазинов 14
    Тип стрельбы 15
  3,4,5,6 Количество гранат 16
  Переносимые данные Темп стрельбы 17
    Задержка перезарядки 18
    Мощность инфракрасного излучения 19
    Диапазон излучения 20
    биты 21
  Переносимые данные Здоровье 22
    Зарезервировано 23
    длительность респауна 24
    Броня 25
    биты 26
    биты 27
    Длительность шока 28
    Время до старта 29
    Отсрочка смерти 30
  от 5 до 240 Ограничения времени 31
    Количество респаунов 32
    Зарезервировано 33
    Контрольная сумма  

 


Комментарии запрещены.