User Tools

Site Tools


rocnet:rocnet-prot-fr
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


rocnet:rocnet-prot-fr [2019/02/12 23:35] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== Le protocole RocNet ======
 +[[:france#les_centrales_numeriques|{{  :interface.png}}]][[:france|{{  :rocrail-logo-35.png}}]][[:rocnet:rocnetnode-fr|{{ :rocnet:rocnet-hw.png}}]]
 +[[:france|Sommaire]] -> [[:france#ls_centrales_numeriques|Les centrales numériques]] ->  **[[rocnet:rocnet-prot-fr|RocNet]]** 
 +  * [[:rocnet:rocnetnode-fr|RocNetNode]]
 +    * [[:rocnet:rocnetnode-hwsetup-fr|Installation RocNetNode]] | [[:rocnet:rocnetnode-setup-fr|Configuration RocNetNode]] | [[:rocnet:rocnetnode-img-fr|Paquet d'installation]]
 +    * [[:gca1-pi01-fr|GCA-Pi01]] | [[:rocnet:pi01can-fr|Pi01CAN]] | [[:gca_pi02-fr|GCA-Pi02]] | [[:gca-pi03-fr|GCA-PI03]] | [[:gca-pi04-fr|GCA-PI04]] | [[:gca-pi05-fr|GCA-Pi05]] | [[:gca-pi06-fr|GCA-Pi06]] | [[:GCA-PI07-fr|GCA-PI07]] | [[:rocnet:rocdisplay-fr|RocDisplay]]
 + \\
 +**RocNet => Réseau Rocrail(r)**\\
  
 +C'est un protocole binaire Open Source prévu pour la communication entre deux et plusieurs, dans un réseau d'égal à égal, unités matériels.\\
 +
 + \\
 +
 +===== Réseau sans maître =====
 +{{ rocnet:rocnet-wlan.png?250}}
 +L'idée est de construire un réseau de deux ou plus d'unités en fonctionnement. \\
 +Il y a différents types d'unités: 
 +  * E/S, pour les aiguillages, signaux, détecteurs, ...
 +  * Générateurs DCC
 +  * Décodeurs mobile et stationnaire activés par WLAN
 +  * Ordinateurs
 +  * ...
 +Tous doivent avoir leurs propre identifient unique qui sont utilisés comme paramètre expéditeur/destinataire dans l'en-tête.\\
 +L'unité qui traite tous les messages et en envoie beaucoup entre eux et peut être autorisé à être l'hôte du réseau, mais en fait il est seulement un joueur dans le jeu.\\
 +Alors dans le cas de Rocrail l'ordinateur qui exécute ce logiciel peut être vu comme un hôte.\\
 +
 +
 + \\
 +
 +===== Identifiants réservés=====
 +^ ID ^ Description ^ Note ^
 +|  0  | Diffusion | Tous les nœuds l'évalueront. |
 +|  1  | Serveur Rocrail. | C'est l'identifiant recommandé par défaut. Un deuxième serveur doit utiliser 65001+. |
 +|  65535  |  L'identifiant du nœud initial; Un nouvel identifiant sera assigné par le serveur Rocrail. | |
 + \\
 +
 +===== Configuration =====
 +{{:rocnet:rocnet-en.png}}{{:rocnet:rocnet-nodelist-en.png}}\\
 +Plus d'informations à propos de la mise en place de la connexion RocNet: __**[[:rocnet:rocnetnode-hwsetup-fr#configuration_logiciel|Configuration]]**__ \\
 +\\
 +
 +====UDP 8 bit====
 +UDP est la méthode de communication par défaut recommandée qui est également utilisée en combinaison avec les RocNetNodes.\\
 +Toutes les autres méthodes sont limitées à la communication "un-à-un" communication.\\
 + 
 +__Réglages par défaut:__\\
 +  * adresse: 224.0.0.1 (http://en.wikipedia.org/wiki/Multicast_address#IPv4_multicast_addresses)
 +  * port: 4321 -> Assurez-vous qu'aucun autre service ne tourne sur le même port!
 + \\
 +
 +====ASCII HEXA 16 bit====
 +Cela peut être utilisé pour une communication série utilisant seulement les caractères ASCII.\\
 +Le début du paquet démarre avec un **@** et le reste est en HEXA((Un octect est représenté par deux caractères ASCII.)). (La valeur de 255 est représenté en HEXA par "FF", 100 par "64" etc...)\\
 +Les caractères ASCII utilisés:\\
 +<code>
 +@ 0 1 2 3 4 5 6 7 8 9 A B C D E F
 +</code>
 +Après la détection du début du paquet les 16 premiers caractères (8 octects), l'en-tête, peut être lu.\\
 +La longueur des données est dans deux derniers caractères de l'en-tête. Dans ce cas la longueur doit être multipliée par deux pour lire la partie donnée.\\ 
 +
 +__Exemple:__\\
 +Une commande de mise sous tension de la voie envoyée à partir du serveur:
 +<code>
 +@000000000101020101
 +</code>
 +
 + \\
 +
 +====7 bit série====
 +| :!: L'octet **netid** doit avoir le bit 7, 0x80, à l'état haut pour signaler le début du paquet. Tous les autres octets doivent utiliser 7 bit, 0x7F, chargement de la donnée. |\\
 +__Réglages par défaut:__\\
 +  * dispositif: com1
 +===Exemple===
 +<code xml>
 +  <digint iid="rn-1" lib="rocnet" sublib="serial" device="com1" bps="19200">
 +    <rocnet id="1" crc="true"/>
 +  </digint>
 +</code>
 +
 + \\
 +
 +===== Format du paquet =====
 +|  8 Byte Header  ||||||||
 +|  réseau  |  destinataire  ||  expéditeur  ||  action  ||  donnée  ||  crc  |
 +^ netid ^ idH ^ idL ^ idH ^ idL ^ groupe ^ code ^ longueur |  n octets de données | optionnel pour 7-bit |\\
 +
 +
 + \\
 + \\
 +
 +===== Contenu du paquet =====
 +=== Identifiant réseau ===
 +Pour grouper les unités dans un large système. Laisser à zéro si il n'y a qu'un seul réseau actif.\\
 +Le bit 7 doit être réglé en cas de 7 bit série.\\
 +Alternativement il peut être utilisé comme identifiant d'emplacement pour grouper les nœuds logiquement dans une boite de dialogue de vue d'ensemble.\\
 +
 +=== Destinataire ===
 +Chaque unité sur le réseau à son propre identifiant.\\
 +Si laissé à zéro toutes les unités doivent évaluer le paquet. Cela peut être utile pour les requêtes pour voir quels dispositifs sont disponibles.\\
 +=== Expéditeur ===
 +L'identifiant de l'unité expéditrice. L'identifiant par défaut du serveur Rocrail est 1.\\
 +Une valeur à "0" est pour la diffusion.\\
 +=== Action ===
 +Si l'action a besoin d'une adresse elle sera fourni par les premiers deux octets de la partie donnée. (format étendu)\\
 +=== Longueur ===
 +Nombre net d'octets des données suivantes.\\
 +=== Donnée ===
 +La partie variable du paquet qui dépend de l'action.\\
 +La longueur peut être réglée à zéro si aucune information futur n'est nécessaire pour l'action donnée.\\
 +
 + \\
 +
 +=== Identifiant Réseau ===
 +|  bit ^  7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 ^ 1 ^ 0 ^
 +^  8 bits |  ID (0-255)  ||||||||\\
 +^  7 bits | 1 |  ID (0-127)  |||||||\\
 +L'identifiant zéro est pour tous les réseaux.\\
 + \\
 +
 +=== Identifiant de nœud Haut/Bas ===
 +|  bit ^  7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 ^ 1 ^ 0 ^
 +^  8 bits |  ID (0-255)  ||||||||\\
 +^  7 bits | 0 |  ID (0-127)  ||||||||\\
 +== Calcul de l'adresse/identifiant ==
 +<code>8 bit ID = idL + idH * 256</code>
 +<code>7 bit ID = idL + idH * 128</code>\\
 +
 +
 +=== Groupe ===
 +|  bit ^  7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 ^ 1 ^ 0 ^
 +^  8 bit |  code groupe (0-255)  ||||||||\\
 +^  7 bit | 0 |  code groupe (0-127)  |||||||\\
 + \\
 +
 +=== Code ===
 +|       bit ^  7 ^ 6 ^  5  ^ 4 ^ 3 ^ 2 ^ 1 ^ 0 ^
 +^  fonction | 0 |  2 bit type (0-3) || 5 bit code (0-31)  |||||||\\
 +==Type==
 +  * 0 requête
 +  * 1 évènement
 +  * 2 réponse
 +Si le type est un évènement ou une réponse, aucune action d'E/S réelle ne doit être effectuée sur l'adresse spécifiée; la plupart du temps l'E/S avec cette adresse signale un changement d'état.\\
 + \\
 +
 +=== Longueur ===
 +|  bit ^  7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 ^ 1 ^ 0 ^
 +^  8 bit |  nombre d'octets donnée (0-255) ||||||||\\
 +^  7 bit | 0 |  nombre d'octets donnée (0-127) ||||||||\\
 + \\
 +
 +=== Donnée ===
 +|  bit ^  7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 ^ 1 ^ 0 ^
 +^  8 bits |  8 bits de donnée (0-255) ||||||||\\
 +^  7 bits | 0 |  7 bits de donnée (0-127) ||||||||\\
 + \\
 +
 +=== CRC ===
 +Optionnel pour les connexions série 7-bit:\\
 +Le complément à 1 du OU exclusif au niveau du bit de tous les octets dans le message.\\
 +==Exemple de code==
 +<code c>
 +unsigned char rnChecksum(const unsigned char *b, int len) {
 +  unsigned char chksum = 0xff;
 +  int i;
 +  for (i = 0; i < len; i++) {
 +    chksum ^= b[i];
 +  }
 +  return chksum;
 +}
 +</code>
 +
 + \\
 +
 +===== Groupes =====
 +^ Code ^ Description ^ Remarque ^ sujet MQTT ^
 +|  0 | Hôte         | Rocrail | ''rocnet/ht''  |
 +|  1 | Centrale numérique        | Centrale numérique | ''rocnet/cs''  |
 +|  2 | Décodeurs mobiles        | Locomotives et fonctions | ''rocnet/lc''  |
 +|  3 | Décodeurs stationnaires    | Ports multiples pour entrées et sorties | ''rocnet/dc''  |
 +|  4 | Programmation mobile     | DCC CVs | ''rocnet/pm''  |
 +|  5 | Programmation stationnaire | Incluant les centrales numériques | ''rocnet/ps''  |
 +|  6 | Transfert de données GP       | Transfert de données à usage général entre les modules | ''rocnet/gp''  |
 +|  7 | Horloge                  | Horloge accélérée | ''rocnet/ck''  |
 +|  8 | Détecteur                 | Détermination de la position | ''rocnet/sr''  |
 +|  9 | Sortie                  | ''rocnet/ot''  |
 +|  10 | Entrée                  | ''rocnet/in''  |
 +|  11 | Son                  | ''rocnet/sn''  |
 +|  12 | Afficheur                | ''rocnet/dp''  |
 +
 + \\
 +
 +==== Hôte ====
 +
 +=== Actions ===
 +^ act ^ description ^ data 1 ^ data 2 ^ data 3 ^ data 4 ^ data 5 ^ data 6 ^ data 7 | données de réponse 1 | données de réponse 2 |
 +|   1 | Arrêt | | | | | | | |  | |
 +
 +
 + \\
 +
 +==== Centrale numérique ====
 +
 +=== Actions ===
 +^ act ^ description ^ data 1 ^ data 2 ^ data 3 ^ data 4 ^ data 5 ^ data 6 ^ data 7 ^ data 8 | données de réponse 1 | données de réponse 2 |
 +|   0 | NOP | | | | | | | | | 0 | |
 +|   1 | requête | | | | | | | | | statut |  |
 +|   2 | alimentation de la voie | 0 = off, 1 = on | | | | | | | | statut |  |
 +|   3 | arrêt | | | | | | | | | statut |  |
 +|   4 | version | | | | | | | | | versionH | versionL |
 +|   5 | PT on/off | on/off | | | | | | | | on/off |  |
 +|   6 | vélocité  | addrH | addrL| 0...127 | direction | lumières  | protocole | crans de vitesse | | | | 
 +|   7 | fonction | addrH | addrL |  F1-F8  | F9-F16  | F17-F24 | protocole | fonction changée + lumières 0x80 | F25-F32 | | |
 +|   8 | POM | addrH | addrL |  cvH  | cvL | value  | opération: 0=obtenir, 1=régler  | | | | |
 +|   9 | Aiguillage | commande | type | | adresse | | | | |  |  |
 +|  10 | Sortie | commande | type | value | adresse | | | | |  |  |
 + \\  
 +
 +
 +== Statut ==
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +| 0 |         | Occupation PT | idle | alimentation |\\
 + \\
 +
 +==== Mobile ====
 +=== Actions ===
 +^ requête ^^^^^^^^|  réponse  |||||
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4 ^ donnée 5 ^ donnée 6 ^ donnée 7 | donnée 1 | donnée 2 | donnée 3 | donnée 4 |
 +|   0 | NOP      |    | | | 0 | | | ||||
 +|   1 | réglage    | protocole | nombre de fonctions | | | | | | | | | 
 +|   2 | vélocité | 0...127 | direction | lumières  | masse | pas | | | | | | | 
 +|   3 | fonction |  F1-F8  |  F9-F16  |  F17-F24 | fonction modifiée |  F25-F32  | | | | | | |
 +|   4 | requête    | code  | sous-code | | | | | | code | sous-code | réponse dépendant du code ||
 +|   5 | fieldcmd | adresse de base | V_raw | dirf | fg 0+1 | fg 2+3 | fg 4+5 | fg 6+7 |
 + \\
 +
 +===Type de protocole===
 +^ Code ^ Type ^ Description ^
 +|    0 | 256  | 256 pas interprété (8 bit seulement) |
 +|    1 | DCC 28  | NMRA DCC avec 28 crans de vitesse |
 +|    2 | DCC 128 | NMRA DCC avec 128 crans de vitesse |
 +|    3 | DCC 14  | NMRA DCC avec 14 crans de vitesse |
 +|    3 | MM 1    | [[:ddx-fr#specifications_du_protocole_Motorola|Märklin/Motorola]] | 
 +|    4 | MM 2    | [[:ddx-fr#specifications_du_protocole_Motorola|Märklin/Motorola]] |
 +|    5 | MM 3    | [[:ddx-fr#specifications_du_protocole_Motorola|Märklin/Motorola]] |
 +|    6 | MM 4    | [[:ddx-fr#specifications_du_protocole_Motorola|Märklin/Motorola]] |
 +|    7 | MM 5    | [[:ddx-fr#specifications_du_protocole_Motorola|Märklin/Motorola]] |
 + \\
 +===Exemples===
 +==Arrête toutes les locomotives envoyé par le serveur Rocrail:==
 +^ netid ^ rcptH ^ rcptL ^ sndrH ^ sndrL ^ groupe ^ code ^ longueur ^ velocité ^ direction ^ lumières ^
 +|     0 |     0 |     0 |     0 |     1 |     2 |    2 |      3 |        0 |         0 |      0 |
 +| tout   | tout   | tout   | srvr  | srvr  | mobile | velocité |        ||||\\
 +Représentation binaire:
 +<code>
 +00 00 00 00 01 02 02 03 00 00 00
 +</code>
 +Représentation ASCII HEXA:
 +<code>
 +@0000000001020203000000
 +</code>
 +
 +La direction et les lumières restent inchangées parce que le bit 6 des deux octets ne sont pas définis.\\
 +
 + \\
 +==Réglage de la vélocité par le serveur Rocrail:==
 +  * Adresse Locomotive = 291
 +  * Velocité = 48
 +  * Direction = avant
 +  * Lumières = off
 +
 +^ netid ^ rcptH ^ rcptL ^ sndrH ^ sndrL ^ groupe ^ code ^ longueur ^ velocité ^ direction ^ lumières ^
 +|     0 |     1 |    35 |     0 |     1 |     2 |    2 |      3 |       48 |       65 |    64 |
 +Représentation binaire:
 +<code>
 +00 01 23 00 01 02 02 03 30 41 40
 +</code>
 +Représentation ASCII HEXA:
 +<code>
 +@0001230001020203304140
 +</code>
 + \\
 +
 +==== Stationnaire ====
 +=== Actions ===
 +| ||||||  Réponse  |||||||
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4  | donnée 1  | donnée 2  | donnée 3  | donnée 4  | donnée 5 | donnée 6 | donnée 7 ^
 +|   0 | NOP |  |  |  |  | 0 | | | |
 +|   1 | single port | 0,1 (off,on) | protocole/type | délai | port | statut | | | |
 +|   2 | port paire | 0,1 (fermé,lancé) | protocole/type | délai | port | statut | | | |
 +|   3 | port multiple | masque du port | 0...255 ou l'adresse est décalée | protocole/type | port | statut n | | | |
 +|   4 | requête port simple | port | | | | addrH | addrL | statut | |
 +|   5 | requête port paire | port | | | | addrH | addrL  | statut | |
 +|   6 | requête port multiple | port | | | | addrH | addrL  | statut n | |
 +|   7 | report¹ |  | | | | addrH | addrL | statut1 | statut2 |
 +|   8 | identifier |  |  |  |  | classe | manuID | versionH | versionL | nr E/S | subipH | subipL |
 +|   9 | arrêt | 1=les nœuds doivent également s'éteindre |  |  |  | rc |  |  |  |
 +|  10 | accuser réception | code action | portnr optionnel |  |  |  |  |  |  |
 +|  11 | afficher² |  |  |  |  |  |  |  |  |
 +|  12 | début de journée |  |  |  |  |  |  |  |  |
 +|  13 | rapport d'erreur | classe d'erreur | raison | addrH | addrL |  |  |  |  |
 +
 +¹) Tous les décodeurs stationnaires doivent rapporter leur statuts si le destinataire est réglé à zéro.\\
 +²) Le bouton poussoir sur le nœud déclenchera la boite de dialogue RocNetNode qui apparaîtra avec le nœud sélectionné. Une requête affichée à partir de l'hôte fera clignoter la LED sur le nœud.
 + \\
 +
 +==== Programmation ====
 +Pour la programmation des décodeurs stationnaires l'adresse représente l'adresse du module.\\
 +=== Actions ===
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4 ^ donnée 5 | donnée de réponse 1 | donnée de réponse 2 | donnée de réponse 3 | donnée de réponse 4 | donnée de réponse 5 | donnée de réponse 6 | donnée de réponse 7 | donnée de réponse 8 | donnée de réponse 9 | donnée de réponse 10 | donnée de réponse 11 | donnée de réponse 12  | donnée de réponse 13 ^
 +|   1 | écriture | registerH | registerL | valeurH | valeurL | | registreH | registreL | valeurH | valeurL |
 +|   2 | lecture  | registreH | registreL |        |        | | registreH | registreL | valeurH | valeurL |
 +|   3 | copie  | destH     | destL           donnée n   | | | ack             |
 +|   4 | lecture de la configuration du port  | du port  | au port  |    | |  | port# | valeur | type | délai  |
 +|   5 | écriture de la configuration du port  | port#  | valeur | type | délai | | | |     |
 +|   6 | régler l'identifiant RocNet  | idH  | idL | subipH | subipL | | |     |
 +|   7 | lecture des options  |  |  |  |  | | iotype | flags | cstype | csdevice | I2C scan 0x20 H | I2C scan 0x20 L | I2C scan 0x30 H | I2C scan 0x30 | I2C scan 0x40 H | I2C scan 0x40 L | adc threshold | I2C scan 0x50 H | I2C scan 0x50 L |
 +|   8 | écriture des options  | iotype:\\ 0=GPIO, 1=I2c-0, 2=I2C-1  | flags:\\ bit0=ack | cstype:\\ 0=none, 1=dcc232, 2=sprog | csdevice:\\ 0=/dev/ttyUSB0, 1=/dev/ttyUSB1 |  | |     |
 +|   9 | lecture des macros  | nombre  |  |  |  | | nombre | port | délai | type | valeur |
 +|  10 | écriture des macros  | nombre  | port | délai | type | valeur | 
 +|  11 | mise à jour  | revH  | revL |  |  |  | 
 +|  12 | lecture d'un évènement du port  | du port  | au port  |    | |  | port# | idH | idL | port  |
 +|  13 | écriture d'un évènement du port  | port#  | idH | idL | port | | | |     |
 +|  14 | effacement de la configuration du port  | port#  |  |  |  | | | |     |
 + \\
 +==Canaux==
 +^ code ^ description ^ d1 ^ d2 ^ d3 ^ d4 ^ d5 ^ d6 ^ d7 ^ d8 |  d1  |  d2  |  d3  |  d4  |  d5  |  d6  |  d7  |  d8  ^
 +|  15 | lecture de la configuration du canal  | du canal | au canal | |  |  |  |  | | canal#  | offposH | offposL | onposH | onposL | offsteps | onsteps | options |
 +|  16 | écriture de la configuration du canal  | canal#  | offposH | offposL | onposH | onposL | offsteps | onsteps | options |
 +|  17 | efficacement de la configuration du canal  | canal#  |  |  |  |  |  |  |  |
 +|  18 | régler le canal | canal# | valeurH | valeurL |  |  |  |  |  |
 +
 + \\
 +La lecture, l'écriture et l'effacement du port/canal peut contenir jusqu'à 8 configurations de port.\\
 +La lecture et l'écriture de macro peut contenir jusqu'à 8 commandes.\\
 +
 +==== Sortie ====
 +=== Type ===
 +^ Type ^ Valeur ^
 +| aiguillage | 0 |
 +| lumière | 1 | 
 +| servo | 2 | 
 +| son | 3 | 
 +| moteur | 4 | 
 +| analogique | 5 | 
 +| macro | 6 | 
 +| rétro-éclairage | 7 | 
 +
 +=== Actions ===
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4 ^ donnée 5 ^ donnée 6 ^ donnée 7 ^ donnée 8 ^
 +|   0 | off | type | valeur | adresse |  |  |  |  |   |
 +|   1 | on | type | valeur | adresse |  |  |  |  |   |
 +|   1 (macro) | on | 6 | 0 | aspect | macro offset |  |  |  |   |
 +
 +
 + \\
 +
 +==== Entrée ====
 +Le groupe entrée n'est pas utilisé ni défini; Utiliser le groupe détecteur.
 +=== Actions ===
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4 ^ donnée 5 ^ donnée 6 ^ donnée 7 ^ donnée 8 ^
 +
 + \\
 +
 +==== Horloge ====
 +=== Actions ===
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4 ^ donnée 5 ^ donnée 6 ^ donnée 7 ^ donnée 8 ^ donnée 9 ^
 +|   1 | réglage | annéeH | annéeL | mois | jour | heure | minutes | secondes | diviseur | luminosité |
 +|   2 | sync | annéeH | annéeL | mois | jour | heure | minutes | secondes | diviseur | luminosité |
 +
 +
 + \\
 +
 +
 +==== Son ====
 +=== Actions ===
 +^ code ^ description ^ donnée 1-n ^
 +|   1 | play | nom du fichier audio |
 +|   2 | setpath | chemin du fichier audio |
 +|   3 | setplayer | nom du programme du lecteur audio |
 +
 +
 + \\
 +
 +==== Afficheur ====
 +=== Actions ===
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3-n ^
 +|   1 | text | addr | displaynr | texte à montrer sur l'afficheur |
 +
 +
 + \\
 +
 +==== Détecteur ====
 +=== Actions ===
 +^ code ^ description ^ donnée 1 ^ donnée 2 ^ donnée 3 ^ donnée 4 ^ donnée n ^
 +|   1 | report | addrH¹ | addrL¹ | status | port | identifier (RFID) |
 +¹) Adresse de la locomotive déclarée.\\
 +L'identifiant du détecteur est réglé dans l'entête; Expéditeur.\\
 +Une sécurité du détecteur est faite avec le message d'accusé de réception stationnaire:
 +  * Code = 1
 +  * Port = port
 +\\
 +
 +=====Fichiers=====
 +  * {{:rocnet:rocnet-const.h.zip}} Fichier entête pour langage C.
rocnet/rocnet-prot-fr.txt · Last modified: 2019/02/12 23:35 by 127.0.0.1