jpp38 a écrit:Bonjour,
Merci pour la réponse.
J'ai bien vu qu'il y une valeur prévue pour le Estop, à envoyer au niveau du cran vitesse de la loco, conformément à la spec du NMRA.
Donc, on peut toujours l'envoyer à une loco particulière (celle contrôlée à l'instant t par le throttle).
Mais l'intérêt de cette commande est d'arrêter tous les trains ensemble.
Donc, y a-t-il une commande (ou une convention) que je n'ai pas vu pour le faire?
Bonjour,
coté Locoduino, j'ai eu plusieurs réponse sur le e-Stop individuel mais aucune sur le e-Stop général :
La séquence de bits est décrite dans la norme en 4.2 du MOROP, est-elle implémentée dans DCC++ ou est-ce à faire ?
http://www.morop.org/downloads/nem/fr/nem671_f.pdfPaquet de données DCC de base pour la remise à zéro générale des décodeurs
Format des données DCC de base:
1111111111111111 0 00000000 0 00000000 0 00000000 1
Synchronisation Octet de données 1 Octet de données 2Octet dedonnées 3 (octet decontrôle)
Le paquet de données DCC pour la remise à zéro générale des décodeurs est constitué de trois
octets dont tous les bits sont à zéro. Lorsqu’un décodeur reçoit ce paquet de données, il doit
effacer toutes ses mémoires non permanentes (y compris les données de vitesse et de sens de
marche) et revenir à son état normal de mise sous-tension. Si la motrice est en mouvement, le
décodeur doit lui appliquer un arrêt d’urgence.
Dans les 20 millisecondes qui suivent un paquet de remise à zéro générale, une station de
commande ne doit pas envoyer un paquet de données avec une adresse comprise entre
01100100 (adresse 100) et 01111111 (adresse 127) bornes incluses, sauf si elle souhaite passer
en mode « Service ». 5)
msport a écrit:je n'ai pas utilisé la déclaration des aiguillages de DCC++, et donc pas l'EEPROM. Je me suis contenté jusque là de commander les aiguillages en tant qu'accessoires. Leur position est indéfinie au départ et il faudrait les initialiser. Mais sur un (tout) petit réseau ...
jpp38 a écrit:Là, par contre, je n'ai pas compris. J'ai essayé de piloter les aiguillages sans stockage dans l'EEPROM (car ça m'embête plus qu'autre chose), et je n'y suis pas arrivé. Si je ne stocke pas en EEPROM, la commande passe tant que je ne définis pas d'autre aiguille, mais après, il les oublie.
Peux-tu me détailler la façon dont tu le fais, ça m'intéresse. J'ai l'impression que j'ai loupé quelque chose.
pour les aiguillages j'utilise des décodeurs d'accessoires (Rudy Boer sur arduino, bien sur) qui répondent aux commandes DCC ci-dessous. J'utilise une manette dédiée aux dits accessoires (dérivée de celle de Dave Bodnar avec des modules radio HC-12C)
####STATIONARY ACCESSORY DECODERS & TURNOUTS####
DCC++ BASE STATION can keep track of the direction of any turnout that is controlled by a DCC stationary accessory decoder once its Defined (Set Up).
All decoders that are not in a engine are accessory decoders including turnouts.
Besides being defined all turnouts, as well as any other DCC accessories connected in this fashion, can always be operated using the DCC BASE STATION Accessory command:
#####You Controlling a Accessory Decoder** with **< a ADDRESS SUBADDRESS ACTIVATE >#####
• <: Begin DCC++ command
• a (lower case a) this command is for a Acessory Decoder
• ADDRESS: the primary address of the decoder controlling this turnout (0-511)
• SUBADDRESS: the subaddress of the decoder controlling this turnout (0-3)
• ACTIVATE: (0) (Deactivate, Off, Unthrown) or (1) (Activate, On, Thrown)
• >: End DCC++ command
• However, this general command simply sends the appropriate DCC instruction packet to the main tracks to operate connected accessories. It does not store or retain any information regarding the current status of that accessory.
jpp38 a écrit:Enfin, la gestion des SENSORS (par les broches de l'ARDUINO), est vraiment trop limitée. Je ne suis pas certain que je vais perdre du temps là-dessus.
je pense que je vais vite m'orienter vers la solution de Xavier, si, comme j'ai cru le comprendre, il gère une chaîne S88.
Je n'utilise pas encore de rétrosignalisation, ce que je compte faire dès que CDM-Rail pilotera ma Base Station, mais alors je préfèrerais qu'elle n'utilise pas les broches de la Base Station, je pense que des fonctions indépendantes faciliteraient la mise au point et le dépannage. Mais la Base Station pourrait servir d'interface à des concentrateurs S88 - merci Xavier - (genre montage Paco, je n'ai pas encore vu d'arduino pour ça) Coté Locoduino, le S88 est bien vu, relayé par un bus CAN apparemment plus robuste.
Merci pour vos réponses et à bientot.