ItalianoEnglish

LaserTagItalia

 

IL PROTOCOLLO

PDF Stampa E-mail
Il proiettile di bit.

La lettura di questo paragrafo potrebbe essere ostile per i non esperti, ma cercheremo di usare le parole più semplici possibili in modo da spiegare cosa stà dietro ad un sistema lasertag.

LTITag è basato sul famoso protocollo MilesTag(R) da anni conosciuto come uno dei migliori sistemi per lasertag outdoor. MilesTag(R) è la trasposizione ludica dei sistemi di addestramento militare di tipo MILES (MULTIPLE INTEGRATED LASER ENGAGEMENT SYSTEM - Sistema integrato ad ingaggio laser multiarma). Di seguito vedremo come  è strutturato.

Come abbiamo visto nel lasertag il proiettile fisico è sostituito da un "pacchetto" di dati,  una successione di codici binari (gli stessi utilizzati dai computers e da tutti i sistemi digitali, ovvero una grande sequenza di "0" e "1"). Il protocollo MilesTag(R) definisce il formato ed il significato di questi codici.

Il segnale portante.

I segnali costituenti il "pacchetto" di dati sono generati modulando in durata una portante a 40 KHz di impulsi infrarossi... Ok, ok, in parole più semplici... Una luce infrarossa viene accesa e spenta a intermittenza con una frequenza di 40000 impulsi al secondo (40 Khz) che si definisce "portante". Per far si che il ricevitore capisca il messaggio, vengono inviati cicli di intermittenza a distanze di tempo determinate. Se il ricevitore "vede" la presenza della portante per 0,6 msec (millisecondi) la interpreta come uno "0", altrimenti se la presenza dura 1,2 msec la interpreta come un "1". Il tempo che intercorre tra una presenza e l'altra è sempre di 0.6 msec.

Il pacchetto dati.

Il pacchetto dati base del protocollo MilesTag è costituito da due bytes (gruppi di otto bit) preceduti da un intestazione e seguiti dal bit di controllo, per un totale di 17 bit più l'impulso di intestazione.

L'intestazione è costituita da un impulso di 2,4 msec e serve per indicare al ricevitore che sta per arrivare un messaggio da decodificare.

All'intestazione seguino i due bytes che costituiscono il messaggio vero e proprio. Come detto un impulso di 0,6 msec indica uno "0" mentre un impulso di 1,2 msec indica un "1". La pausa tra un impulso e l'altro è sempre 0.6 msec.

Il bit di parità messo in fondo serve da controllo per far capire al ricevitore se ha ricevuto correttamente il messaggio oppure no. Il concetto è semplice: se nel messaggio è presente un numero pari di "1" il bit di parità sarà uno "0", mentre se il messaggio contiene un numero dispari di "1" il bit di parità sarà un "1" anch'esso. Il ricevitore così contanto gli "1" ricevuti nel messaggio e confrontando il risultato col bit di parità è in grado di sapere se il messaggio è corretto o affetto da errori. Se il messaggio non viene riconosciuto come valido, il sistema emette il segnale di warning, comunemente detto "colpo di striscio", ad indicare che è arrivato un messaggio ma questo è incompleto o non esatto.

1T=0.6 msec

La codifica.

Nei due byte inviati è codificato il messaggio. qui di seguito sono riportati i messaggi accettati dal sistema

Byte 1 :

ttt ppppp

I primi tre bit (ttt) indicano la codifica della squadra (da 0 a 7 = 8 squadre). La squadra 1 corrisponde alla ROSSA, la 2 alla BLU, la 3 alla GIALLA e così via per tutti gli altri colori disponibili nei menu. La squadra 0 è la squadra di sistema ed è utilizzata per la gestione di altri comandi, diversi dallo sparo normale. Gli ultimi 5 bit del byte 1 (ppppp) indicano la codifica del giocatore (da 0 a 31 = 32 giocatori) nel caso di un messaggio indicante il colpo, altrimenti indicano il tipo di messaggio di comando di sistema.

Byte 2 :

dddddddd

I bit del secondo byte indicano il danno impartito dal colpo, nel caso il messagio sia appunto riferito a un colpo, altrimenti prendono significati diversi a seconda del comando di sistema impartito dal primo byte.

Alcuni esempi di messaggi:

00100101 00001000 :  Colpo "normale" emesso dal giocatore 5 (00101) della squadra ROSSA (001) avente una capacità di danno di 8 punti (00001000)

01000011 00000011 :  Colpo "normale" emesso dal giocatore 3 (00011) della squadra BLU (010) avente una capacità di danno di 3 punti (00000011)

00001001 00000100 :  Comando di sistema: riattivazione (squadra 0, comando 9, danno 4)

00001001 00000100 :  Comando di sistema: accesso alla configurazione (squadra 0 , comando 9, danno 9)

00000101 00001000 :  Colpo "no player hit" da dispositivo Claymore per un danno di 32 punti (squadra 0, comando 5, tipo dispositivo claymore, danno 8x4=32)

Il protocollo completo comprende i messaggi del "colpo normale" e più di 30 messaggi di sistema con altrettante funzioni.