XPressNet ™ - Commandes prises en charge

    Le tableau suivant montre une liste complète des commandes XpressNet. Cette liste s'applique à la version XPressNet et à l'interpréteur compatible au standard de Lenz. OpenDCC ne supporte pas (pour l’instant) les entêtes doubles ou multiples.
    Liste des commandes pour XPressNet (messages du client vers la centrale de commande)
     OP-CodeVer.Operation

    0x05 0xF1 TCODE1 TCODE2 TCODE3 TCODE4 [XOR]   Requête de changement de DCC FAST CLOCK.
    Format of TCODEx
    00mmmmmmTCODE1, mmmmmm = indique minutes, range 0...59.
    100HHHHHTCODE2, HHHHH = indique heures, range 0...23.
    01000wwwTCODE3, www = indique le jour de la semaine, 0=monday, 1=tuesday, a.s.o.
    110fffffTCODE4, fffff = indique le rapport de vitesse, range 0..31. (0=stopped)
    La réponse est 0x05 0xF1 TCODE1 TCODE2 TCODE3 TCODE4 [XOR] en diffusion (broadcast). Lorsque la station de commande reçoit une commande , il génère un message d'horloge du côté DCC avec le nouveau réglage.

    0x01 0xF2 0xF3   Requête de lecture de DCC FAST CLOCK.
    La réponse est 0x05 0xF1 TCODE1 TCODE2 TCODE3 TCODE4 [XOR] comme message dédié à cet esclave.

    0x13 0x01 B+AddrH AddrL   AddrH (bit A10 .. A8) et AddrL (bit A7 .. A0) forment une adresse de décodeur de 11 bits, B (= B4 .. B0) détermine la valeur souhaitée. Quand tous les bits B4 .. B0 sont égal à 0, cela définit le «statut stop ».
    La station de commande doit émettre une commande DCC accessoire étendue telle que définie dans NMRA 9.2.1.
    Il n'ya pas de réponse à cette requête
    0x21 0x10 0x31   Requête de valeur du Mode Service
    0x22 0x11 REG [XOR]   Requête de lecture du Register (Register Mode (REG=1..8))
    0x23 0x12 REG DAT [XOR]   Requête d’écriture du Register (Register Mode)
    0x22 0x14 CV [XOR]   Requête de lecture en Mode Page (Paged Mode)
    0x22 0x15 CV [XOR] 3.0 Requête de lecture CV en Mode Direct (CV mode)
    0x23 0x16 CV DAT [XOR] 3.0 Requête d'écriture CV en Mode Direct (CV mode (CV=1..256))
    0x23 0x17 CV DAT [XOR]   Requête d'écriture en Mode Page(Paged mode)
    0x23 0x18 CV DAT [XOR] 3.6 Requête de lecture CV en Mode Direct (CV mode (CV1024, CV=1..255))
    0x23 0x19 CV DAT [XOR] 3.6 Requête de lecture CV en Mode Direct (CV mode (CV=256 ... 511))
    0x23 0x1C CV DAT [XOR] 3.6 Requête de lecture CV en Mode Direct (CV mode (CV=512 ... 767))
    0x23 0x1B CV DAT [XOR] 3.6 Requête de lecture CV en Mode Direct (CV mode (CV=768 ... 1023))
    0x23 0x1C CV DAT [XOR] 3.6 Requête d'écriture CV en Mode Direct (CV mode (CV1024, CV=1..255))
    0x23 0x1D CV DAT [XOR] 3.6 Requête d'écriture CV en Mode Direct (CV mode (CV=256 ... 511))
    0x23 0x1E CV DAT [XOR] 3.6 Requête d'écriture CV en Mode Direct (CV mode (CV=512 ... 767))
    0x23 0x1F CV DAT [XOR] 3.6 Requête d'écriture CV en Mode Direct (CV mode (CV=768 ... 1023))
    0x21 0x21 0x00   Requête de lecture due la version logicielle de la centrale de commande
    OpenDCC ne répond pas à sa version logicielle, mais avec 3.0 20, OpenDCC XP répond avec 0x63, 0x21, 0x36
    0x22 0x22 00000M00 [XOR]   Requête de commande du mode de mise sous tension de la centrale de commande
    Cette commande est mise en œuvre, mais pas exécutée. A la mise sous tension OpenDCC est toujours arrêté (sécurité d'abord)
    0x21 0x24 0x05   Requête de commande du statut de la centrale de commande

    0x23 0x28 AddrH AddrL [XOR]   SO (option spéciale) demande de lecture, ce qui permet de lire les valeurs de configuration internes.
    AddrH AddrL désigne l'adresse de la CV. La réponse est 0x24 0x28 AddrH AddrL [XOR]

    0x24 0x29 AddrH AddrL DAT [XOR]   demande d’écriture
    La réponse est is 0x24 0x28 AddrH AddrL DATA [XOR]
    0x21 0x80 0xA1   Requête de commande d’arrêt d’urgence
    0x21 0x81 0xA0   Requête de commande de reprise des opérations

    0x3* ** ** [XOR]   Tunnel commande
    Commandes commençant par 0x3 * sont transférés de XPressNet à la centrale et vice versa. voir ci-dessous.
    0x42 Addr Nibble [XOR]   Requête de demande d’information à un décodeur d’accessoire.
    0x52 Addr DAT [XOR]   Requête de commande à un décodeur d’accessoire.
    0x7* ** ** [XOR]   Messages BiDi messages (voir ci-dessous)
    0x80 0x80   Requête de demande d’arrêt de toutes les locomotives (arrêt d'urgence)
    0x91 loco_addr [XOR] 2 Requête de demande d’arrêt de d'urgence d’une locomotive
    0x92 AddrH AddrL [XOR]   Requête de demande d’arrêt de d'urgence d’une locomotive
    0x9N loco_addr_1 loco_addr_2 ... loco_addr N [XOR] 2 Requête de demande d’arrêt de d'urgence des locomotives sélectionnées.
    (Commande de la version V2, obsolète)
    0xA1 loco_addr [XOR] 1 Requête de demande d’information à une locomotive
    0xA2 loco_addr ModSel [XOR] 2 Requête de demande d’information à une locomotive
    0xC3 0x05 loco_addr_1 loco_addr_2 [XOR] 2 Établir une double traction (deux locomotives)
    0xC3 0x04 loco_addr_1 loco_addr_2 [XOR]   supprimerune double traction (deux locomotives)
    0xB3 loco_addr loco_data_1 loco_data_2 [XOR] 1 Contrôle des locomotives (ancienne commande de X-Bus V1)
    0xB4 loco_addr loco_data_1 loco_data_2 ModSel [XOR] 2 Contrôle des circulations des locomotives (ancienne commande de bus X V2)
    0xE3 0x00 AddrH AddrL [XOR]   Requête de demande d’information à une locomotive
    0xE4 0x01+R MTR AddrH AddrL [XOR]   Requête de l’adresse membre d’une multi-unité (double traction loco 2)
    0xE2 0x03+R MTR [XOR]   Requête de l’adresse d’une multi-unité (loco 1)
    0xE3 0x05+R AddrH AddrL [XOR]   Requête à la centrale de commande de l’adresse d’une locomotive
    0xE3 0x07 AddrH AddrL [XOR]   Requête d'état de fonction
    0xE3 0x08 AddrH AddrL [XOR] 3.6 Requête d'état de fonction F13-F28
    0xE3 0x09 AddrH AddrL [XOR] 3.6 Requête d'état de fonction F13-F28
    0xE4 0x10 AddrH AddrL Speed [XOR]   Commande de vitesse et direction de Locomotive - 14 pas de vitesse
    0xE4 0x11 AddrH AddrL Speed [XOR]   Commande de vitesse et direction de Locomotive - 27 pas de vitesse
    0xE4 0x12 AddrH AddrL Speed [XOR]   Commande de vitesse et direction de Locomotive - 28 pas de vitesse
    0xE4 0x13 AddrH AddrL Speed [XOR]   Commande de vitesse et direction de Locomotive - 128 pas de vitesse
    0xE4 0x20 AddrH AddrL Group [XOR]   Finstruction de fonctionnement de la fonction - Groupe 1 f0f4f3f2f1
    0xE4 0x21 AddrH AddrL Group [XOR]   instruction de fonctionnement de la fonction - Groupe 2 f8f7f6f5
    0xE4 0x22 AddrH AddrL Group [XOR]   instruction de fonctionnement de la fonction - Groupe 3 f12 .. f9
    0xE4 0x23 AddrH AddrL Group [XOR] 3.6 instruction de fonctionnement de la fonction - Groupe 4 f20 f13 ..
    0xE4 0x24 AddrH AddrL Group [XOR]   Définition de l'état de la fonction - Groupe 1
    0xE4 0x25 AddrH AddrL Group [XOR]   Définition de l'état de la fonction - Groupe 2
    0xE4 0x26 AddrH AddrL Group [XOR]   Définition de l'état de la fonction - Groupe 3
    0xE4 0x27 AddrH AddrL Group [XOR] 3.6 Définition de l'état de la fonction - Groupe 4
    0xE4 0x28 AddrH AddrL Group [XOR] 3.6 Opération instruction de fonction - Groupe 5 (. F28. f21)
    0xE4 0x2C AddrH AddrL Group [XOR] 3.6 Définition de l'état de la fonction - Groupe 5
    0xE5 0x2F AddrH AddrL RefMode [XOR] 3.6 Réglez le mode fonction de rafraîchissement
    0xE6 0x30 AddrH AddrL 0xE4+C CV DAT [XOR]   En mode exploitation, programmation en mode octet de locomotive, demande de lecture.
    Notes: Lenz XPressNet document Ceci est indiqué comme 0xEA + C, qui semble être une erreur dans le document.
    Cette commande envoie le paquet DCC correspondant sur la voie; cette commande effectue une lecture de l'octet, donc fournir le DAT lors de l'interrogation est redondant. Il sera remplacé par 0 dans la station de commande. Si un OpenDCC GBM16 est relié à la XpressNet, OpenDCC obtiendra les données avec lesextensions de commandes à XPressNet pour BiDi .
    CV est compris entre 0 .. 1023. C sont les deux bits supérieurs de l'adresse de CV.
    0xE6 0x30 AddrH AddrL 0xEC+C CV DAT [XOR]   En mode exploitation, programmation en mode octet de locomotive, demande d’écriture.
    Remarque: CV est compris dans l'intervalle 0 .. 1023 (même format que vu sur la voie; CV1 est transmis comme 0), ce qui est différent de commandes de CV normales
    0xE6 0x30 AddrH AddrL 0xE8+C CV DAT [XOR]   Demande d'écriture de bits de programmation en mode exploitation

    0xE6 0x30 AddrH AddrL 0xF0+C CV DAT [XOR]   En mode exploitation, programmation de décodeur accessoire, demande d’écriture. Le CV est compris entre 0 .. 1023; C sont les deux bits supérieurs. Adresse est codé comme pour des locomotives: si la valeur est> = 100, alors la partie haute est un OU logique avec 0xC0.

    0xE6 0x30 AddrH AddrL 0xF4+C CV DAT [XOR]   En mode exploitation, programmation de décodeur d’accessoire, demande de lecture. CV est compris entre 0 .. 1023; C sont les deux bits supérieurs. DAT est vide.

    0xE6 0x30 AddrH AddrL 0xF8+C CV DAT [XOR]   En mode exploitation, programmation de décodeur d’accessoire étendue, demande d’écriture CV est compris entre 0 .. 1023; C sont les deux bits supérieurs.

    0xE6 0x30 AddrH AddrL 0xFC+C CV DAT [XOR]   En mode exploitation, programmation de décodeur d’accessoire étendue, demande de lecture CV est compris entre 0 .. 1023; C sont les deux bits supérieurs. DAT est vide.
    0xE5 0x43 ADR1H ADR1L ADR2H ADR2L [XOR]   Établir une double traction
    0xE5 0x43 ADR1H ADR1L 0x00 0x00 [XOR]   supprimer une double traction
    0xE4 0x40+R AddrH AddrL MTR [XOR]   Ajouter une locomotive à une demande multi-unité (double traction et plus)
    0xE4 0x42 AddrH AddrL MTR [XOR]   Retirer une locomotive d'une demande multi-unité (double traction et plus)
    0xE3 0x44 AddrH AddrL [XOR]   Supprimer une locomotive de la pile des commandes en cours
    Ceci n'est pas nécessaire avec OpenDCC, la gestion de la pile est effectuée de façon dynamique.

    0xE9 0xF1 AddrH AddrL IDX SIZE [NAME][XOR]   Entrée de bibliothèque de locomotive
    Cette commande non documentée est utilisée quand un mulitMAUS ™ transfère sa bibliothèque. La longueur de cette commande variable en fonction de la longueur du nom. (Codé en ASCII, max. 10 caractères Ainsi, l’entête peut être 0xE5 jusqu'à 0xEF.
    IDX est l'index, à compter de 0 à SIZE-1.
    SIZE est la taille de la base de données (entrées).
    Cette commande est transmise deux fois pour chaque locomotive, avec un intervalle de 100 ms. La multiMAUS du commerce écrase sa bibliothèque de loco avec les valeurs transmises. Les noms de locomotive avec plus de 5 caractères sont tronqués par multiMAUS, le régulateur OPENDCC les accepte.

    0xE4 0xF3 AddrH AddrL Group [XOR]   instruction de commande d'une fonction - Groupe contient les bits pour le groupe 4 dans l'ordre f20 f13 .. (max_significant_byte..lowestsignificantbyte)
    Cette commande non documentée est utilisée quand un mulitMAUS ™ assure le contrôle des fonctions f20 .. f13.
    0xF0 [XOR]   LI-Version
    Answer: 0x03 0x30 0x01 [XOR]
    Cette commande est uniquement disponible sur l'interface d'accueil, pas sur le XpressNet interface (V0.23.5). Il est utilisé pour répondre aux demandes du PC.
    0xF2 0x01 ADR [XOR]  

    Demande/fixe LI-Slot Addr
    Answer: 0xF2 0x01 ADR [XOR] Cette commande est uniquement disponible sur l'interface du PC, pas sur l’interface XpressNet. (V0.23.5). Elle est utilisée pour répondre aux demandes du PC, aucune action sur OpenDCC.

    0xF2 0x02 BAUD [XOR]   Demande/fixe Baudrate
    Réponse: 0xF2 0x02 BAUD [XOR]
    Cette commande est uniquement disponible sur le PC, pas sur l’interface XpressNet. (V0.23.5). BAUD est codé comme suit:
    1BAUD = 19200 (default)
    2BAUD = 38400
    3BAUD = 57600
    4BAUD = 115200
    Toutes les autres valeurs sont converties à la valeur par défaut.
    Remarque sur l'adresse de codage: si l'adresse <100, l'adresse est codée telle quelle. Si l'adresse> = 100, l'adresse est incrémentée par 0xC000 avant de l'insérer dans la commande.
    Liste des commandes pour XPressNet (messages du PC)
     OP-CodeVer.Operation

    0x05 0x01 TCODE0 TCODE1 TCODE2 TCODE3   Transfert de Timecode, temps de mise en page accéléré. Un TCODE se compose d'un octet, codé en binaire comme CCDDDDDD, où CC indique le type de code et les données correspondantes DDDDDDD.
    TCODEContent
    CC=00DDDDDD = mmmmmm, indique la minute, range 0..59.
    CC=10 DDDDDD = 0HHHHHH, indique l'heure, , range 0..23
    CC=01DDDDDD = 000WWW, indique le jour de la semaine,
    0 = Lundi, 1 = Lundi, 2 = Mardi, 3 = jeudi 4 = vendredi, 5 = samedi 6 = dimanche.
    CC=11DDDDDD = 00FFFFF, représente le facteur d'accélération, range 0..31;
    un facteur d'accélération de 0 signifie horloge est arrêtée, un facteur de 1 signifie horloge fonctionne en temps réel, un facteur de 2 signifie horloge tourne deux fois plus vite en temps réel.
    Ce message est émis en multidiffusion une fois toutes les minutes (du modèle réduit) ou comme réponse à une demande d'établissement.

    0x61 0x23 [XOR]   Diffusion: Tous les appareils de détection d'occupation de voie doivent renvoyer leurs données.

    Ce message est émis lorsque le PC efface les données d'occupation déjà stockées dans la station de commande, donc une retransmission est nécessaire.
    Légende
    Commande implementée
    Commande non encore mise en œuvre ou en phase de test
    Commande non implementée
      Commande obsolète (ancienne version)
    Commande avec un codage différent, donc Lenz
    Commande supplémentaire

Fonctions supportées XPressNet

    Outre le contrôle des décodeurs et de la centrale, quelques explications complémentaires s’imposent:
  • Ordonnancement
    OpenDCC utilise un algorithme intelligent pour gérer les équipements XpressNet effectivement connectés. Les actifs sont appelés plus souvent que les inactifs. La totalité des 31 équipements possibles est autorisé.
    Le processus de gestion de XpressNet s'exécute en parallèle à l'interface du PC, qui a son propre accès à la base de données. C'est un avantage de performance important par rapport à des implémentations XpressNet traditionnelles, où le PC doit attendre la fenêtre temporelle visée. En outre, le protocole à l'interface PC est complètement indépendant, si XpressNet peut fonctionner en même temps, soit en mode Lenz ou émulation Intellibox.
  • Handover (changement de controleur)
    Les locomotives peuvent être contrôlées à partir de différentes commandes distantes et à partir de l'interface graphique du PC. OpenDCC gère automatiquement le transfert, et informe les équipements ou l'interface PC sur le transfert du contrôle.
  • Rétroaction
    Chaque fois qu'un évènement de rétroaction se produit, il est indiqué pour les deux parties: PC et XpressNet. Les indicateurs de changement si un évènement a déjà été rapporté sont doublés, permettant ainsi des rapports indépendants. Voir aussi les explications sur . XPressNet mappage d'adresse de retour.
  • Aiguillages
    Les opérations manuelles d’aiguillages sont rapportées au PC, cela s'applique actuellement uniquement pour les branchements 1 ... 1024 (voir aussi # define SIZE_TURNOUTBUFFER dans config.c)
  • Extension accessoire
    La station de commande OpenDCC est capable d'envoyer la commande DCC d’accessoire étendue jusqu'à 31 états différents. Il y a une commande étendue pour cela. .
  • Programmation
    Apparemment, la station de commande Lenz cesse de fonctionner en mode de programmation. Seul l’équipement qui a émis la commande de programmation est actif et obtient le résultat. OpenDCC agit différemment: l'opération se poursuit, que le signal sur la voie est réduit à des commandes de programmation. Par conséquent, aucune réponse n’est donnée (ni immédiate, ni retardée). Le résultat doit être interrogé par soit «Demande pour les résultats du Mode de service» ou une demande d'état général. Cela correspond au comportement de la Roco Multimaus.
    Désolé de le dire, mais le régulateur Lenz LH100 a quelques problèmes avec ce comportement: la réponse «station de commande est occupé (= 0x61 0x1F) 'est ignorée et aucune requête pour un résultat est délivré - si la LH100 reste dans l'état« lecture » .
  • commande Tunnel
    La centrale OpenDCC permet l'interaction directe entre un régulateur (commande de contrôle) et le programme du PC. Dans ce mode, les touches sur le régulateur de vitesse sont transmises à l'hôte. Par ailleurs, l'ordinateur a accès à l'affichage LED et au régulateur de vitesse. Toutes les commandes commençant par 0x3.. sont en miroir à partir du PC vers XPressNet et vice versa.
    Lorsque l'ordinateur émet une commande de tunnel, il recevra le message ACK normal si la commande est transmise au bus XPressNet. Ce n'est pas un accusé de réception à partir du régulateur. Si la commande ne peut pas être transmise, la réponse sera «occupé» et la commande est mise au rebut. Elle doit alors être répétée par le ‘utilisateur (sur le PC ou le régulateur de vitesse)
  • BiDi (railcom®) Messages
    Jusqu'à présent, il n'y a pas de types de messages pour BiDi dans la documentation Lenz. OpenDCC utilise la gamme complète de messages 0x7 * pour le transport de BiDi et des commentaires.