Dcc++

Re: Dcc++

Messagepar msport » 17 Mars 2018, 13:29

D'où l'intérêt du E-Stop !
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

Re: Dcc++

Messagepar Xavier » 17 Mars 2018, 19:27

Bonsoir Jean-Pierre,

Le beau temps m'a poussé à regarder comment faire ...
Je propose donc...

Nb_Module : à multiplier par 8 pour avoir le nombre de zone détectées
Format : 0=Binaire, 1=Hexadécimal

Initialisation du nombre de modules S88 : <Y Nb_Module Format>
Requête d'état : <Y>
Dans tous les cas... Réponse : <y Occupations> ou <X> en cas d'erreur de syntaxe

soit pour 2 modules donc 16 zones
Initialisation Binaire : <Y 2 0>
Initialisation Hexadécimale : <Y 2 1>
Requête d'état : <Y>
Réponse (suite à changement ou requête d'état)
si Format=0 : <y 0001110000000110>
si Format=1 : <y 1A06>

Amicalement,

Xavier
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 19:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

Re: Dcc++

Messagepar jpp38 » 17 Mars 2018, 21:37

Salut Xavier,

Parfait.

En fait, j'avais aussi pensé à paramétrer le format dans la commande d'initialisation. Nous sommes donc parfaitement en phase.

Merci.

Amicalement.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar jpp38 » 19 Mars 2018, 13:00

Bonjour,

En attaquant les instructions de programmation (voie de programmation), la réponse n'est pas du tout celle attendue. Au lieu d'avoir une réponse <w...>, j'ai une réponse qui contient les codes HEXA ASCII des caractères de la commande ( 1 1 3 64 ).
Voir exemple suivant avec la commande Write CV (W). Ca fait pareil avec le read. write 64 dans le CV 3.

DCCpp_PROG.jpg
DCCpp_PROG.jpg (122.9 Kio) Consulté 1390 fois


Vous confirmez?

Pour le moment, je laisse donc tomber ces instructions de programmation.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar msport » 19 Mars 2018, 15:33

Bonjour,
effectivement, j'ai comme réponse à <W 3 64 1 1>, <r1|1|3 64>
puis à <W 3 1 1 1>, <r1|1|3 1>
et à <R 3 1 1> : <r1|1|3 1>, ce qui me semble correct. (non spécifique au décodeur, ici Laisdcc id fabricant cv8 = 134)
mais la programmation peut passer en deuxième plan.

Parallèlement, j'ai regardé pour le e-stop avec l'aide de locoduino :
La séquence de bits est décrite dans la norme en 4.2 du MOROP, restait à l'implémenter avec DCC++.
Paquet 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 2 Octet de données 3 (octet de contrô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)
http://www.morop.org/downloads/nem/fr/nem671_f.pdf

Nota : il y a d'autres paquets-commandes plus subtils après dans la norme.

Le e-stop est donc un paquet de trois octets : 0 0 0 , avant il y a la synchro, au milieu les bits 0 de séparation et ensuite le bit 1 final.

La commande <M > permet d'envoyer des paquets. (voir http://www.locoduino.org/spip.php?article182 aux 2/5 de la page, une liste des commandes tirées du .h)
J'ai donc testé <M 0 0 0> ... et ça marche ! (enfin bon, ça s'arrête. Mais il faut savoir ce qu'on veut)

Cordialement
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

Re: Dcc++

Messagepar jpp38 » 19 Mars 2018, 19:52

Merci pour ta réponse.

En fait, c'est mon émulateur de terminal qui passe en binaire sans prévenir. Avec un autre émulateur, j'ai bien la même réponse que toi.
Pour 'Emergency stop, je le gère depuis ma DLL. je mets toutes les locos connues au cran -1. Donc, en principe, pas besoin de la commande globale.

Bonne soirée.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar Xavier » 20 Mars 2018, 19:30

Bonsoir,

Voici la version modifié du sketch Arduino pour le S88
Initialisation : <Y Nb_Module Format>
Requête d'état : <Y>
DCCpp_Z22_CDM.zip
(35.98 Kio) Téléchargé 54 fois


N'hésites pas a me contacter si tu as des soucis.

Amicalement,

Xavier
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 19:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

Re: Dcc++

Messagepar jpp38 » 21 Mars 2018, 08:25

Salut Xavier.

Merci.

Au fait, j'ai une autre question.
Je ne vois rien concernant le remontée d'info de court-circuit.
Il faudrait un feedback de notification de court-cicuit quand ça arrive (en fait, un "POWER OFF <p0>). C'est absolument essentiel pour le fonctionnement en automatique.
Et je n'ai rien vu là-dessus. Je l'ai loupé, ou yapa?

Bonne journée.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar msport » 21 Mars 2018, 10:21

Bonjour,
j'ai comme réponse
<p1> à la mise sous tension
et
<p3> à la coupure sur court-circuit

Bonne continuation.
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

Re: Dcc++

Messagepar jpp38 » 21 Mars 2018, 10:30

Bonjour,

Ah super. le feedback sur CC est donc <p3>.

C'est dans la doc, ou tu as fait l'essai?

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

PrécédentSuivant

Retourner vers Le coin des bricoleurs (électronique)

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité