Feux clignotants PN

Re: Feux clignotants PN

Messagepar jpp38 » 05 Mai 2016, 07:10

Bonjour Christian,

christiandard a écrit:Par contre, je devrais avoir une détection avec la centrale Lenz par rapport à l'Arduino, ce que je n'ai pas.


Il y a une autre farce avec la centrale Lenz, sur laquelle nous avons transpiré avec Chris68, c'est que la centrale Lenz n'envoie JAMAIS la remise à 0 sur une adresse accessoire, alors que la MM le fait. Elle n'envoie que la mise à 1.
Ca vient peut-être de là.

christiandard a écrit:On verra avec Xavier quand il sera de retour.
Il m'a dit que tu as les deux centrales également et qu'il viendra peut-être essayer chez toi pour débloquer le problème


Ce sera avec plaisir, s'il veut venir faire l'essai chez moi.

Bonne journée.

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

Re: Feux clignotants PN

Messagepar AGB » 08 Mai 2016, 14:46

Bonjour,

jpp38 a écrit:Il y a une autre farce avec la centrale Lenz, sur laquelle nous avons transpiré avec Chris68, c'est que la centrale Lenz n'envoie JAMAIS la remise à 0 sur une adresse accessoire, alors que la MM le fait. Elle n'envoie que la mise à 1.

Désolé de m'immiscer dans la discussion mais je suis ce fil depuis le début car je m’intéresse à l'arduino, du coup j'ai franchi le pas et pour le fun j'ai réalisé le testeur de protocole DCC décrit sur le lien suivant: http://www.centredcc.fr/espion_dcc_035.htm
C'est simple et ça peut rendre service quand on a un doute sur les messages envoyés par la centrale.
Photos à l'appui:

20160508_145809r.jpg

20160508_150104r.jpg


Alain
Echelle N
Centrale "DCC_GEN" de PACO
Rétrosignalisation 4 et 8 voies basée sur le module "S88" de JPP
Commande d'aiguille par servomoteur avec modules " Servopoint" de PACO et switchpilot-servo-v2 ESU + module extension
AGB
 
Messages: 270
Inscrit le: 29 Octobre 2014, 20:04
Localisation: Val d'Oise

Re: Feux clignotants PN

Messagepar christiandard » 09 Mai 2016, 10:24

Bonjour.

Le shield que Xavier m'a amené fonctionne avec la MM mais pas avec la centrale Lenz.

C'est exactement le même shéma.

J'attends le retour de Xavier pour que l'on puisse chercher où ça coince.

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar Xavier » 09 Mai 2016, 21:19

Bonsoir,

Un excellent moment de partage modèlistique avec une brillante démonstration de CDM-rail. J'ai hâte de voir le réseau achevé!
Merci à Alain pour son programme testeur de Dcc que je compte bien faire fonctionner au plus tôt.

Jean-Pierre,

Pourrais tu expliciter un peu plus la remise a zéro que Lenz n'effectue jamais (Je dois refaire un shield avant de venir te voir!) ?
J'utilise la bibliothèque DCC_Decoder et je pense que le soucis est dans ce sous programme:

void BasicAccDecoderPacket_Handler(int address, boolean activate, byte data) {
// Convert Dcc address to human comprehensible (numérotation Lenz / décalage de 4 pour Roco)
address -= 1;
address *= 4;
address += 1;
address += (data & 0x06) >> 1;

boolean enable = (data & 0x01) ? 1 : 0;
int msg=data;
String Msg;
if (LastMsg != msg) {
LastMsg = msg;
DccAction = millis();
switch (Mode) {
case 0: // Mode de fonctionnement normal une fois l'adresse du décodeur configurée et sauvegardée en Eeprom.
for(int i=0; i<maxfunctions; i++) {
if( address == gAddresses[i].address ) {
if (i==0) {
previousMillis[0] = millis();
}
if( enable ) {
gAddresses[i].output = 1;
} else {
gAddresses[i].output = 0;
}
}
}
break;
case 1: // Affichage de l'adresse pour configurer le décodeur et la sauvegarder en Eeprom
Msg = "Dcc Detected : ";
Msg += String(address);
Serial.println(Msg);
Msg = Cmd_DccAdress;
Msg += String(address);
Msg += " pour sauvegarder !";
Serial.println(Msg);
break;
}
}
}

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: Feux clignotants PN

Messagepar jpp38 » 11 Mai 2016, 10:25

Salut Xavier,

J'ai un peu de mal à voie ce que fait ton code.

Ce qui est sûr, c'est que si à un moment ou à un autre il attend de voir la commande accessoire dans l'état 0, il ne la verra jamais.

En fait la centrale Lenz, sur réception de la commande d'activation (à 1) renvoie plusieurs fois cette mise à 1 (en moins de 0,1s) ... Cequi explique (en passant) pourquoi il y a moins de soucis de commutations d'aiguilles avec une centrale Lenz, qu'avec une centrale Roco, par exemple.
Ca explique aussi qu'il y a un délai d'attente après envoi d'une mise à 1: si on cherche à renvoyer une autre commande trop tôt, on reçoit le message "BUSY" en réponse, et il faut alors renvoyer la nouvelle commande.

Ceci suppose que tout décodeur d'accessoire (au moins d'aiguille), pour être compatible Lenz:
- doit gérer lui-même la tempo appliquée sur le pulse de sortie.
- doit considérer que la mise à 1 d'une autre adresse, provoque forcément le relâchement de l'accessoire précédent.

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

Re: Feux clignotants PN

Messagepar Xavier » 13 Mai 2016, 20:14

Bonsoir JP,

D'apres la norme :
Basic Accessory Decoder Packet Format
The format for packets intended for Accessory Digital Decoders is:
{preamble} 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1

A = Address bit
C = Instruction Type field
D = Data
0 = Bit with the value of "0"
1 = Bit with the value of "1"

Le code calcule donc l'adresse en prenant dans la trame l'adresse A et y ajoute les 2 bits de poids fort de la donnée D : "address"
Le 3eme bit de donnée indique l'état "enable"

Si l'adresse reçue correspond à l'une des adresse reconnues par le décodeur gAddresses[i].address la valeur correspondant est positionnée à 0 ou 1 en fonction du "enable"

Avec une centrale Roco cela fonctionne sans soucis.
Pour un aiguillage, le "enable" indique si l'aiguillage est droit ou dévié.

Quel est donc le bit que la centrale Lenz ne remet jamais à 0?

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: Feux clignotants PN

Messagepar jpp38 » 14 Mai 2016, 07:19

Bonjour Xavier

Xavier a écrit:D'apres la norme :
Basic Accessory Decoder Packet Format
The format for packets intended for Accessory Digital Decoders is:
{preamble} 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1

A = Address bit
C = Instruction Type field
D = Data
0 = Bit with the value of "0"
1 = Bit with the value of "1"

Le code calcule donc l'adresse en prenant dans la trame l'adresse A et y ajoute les 2 bits de poids fort de la donnée D : "address"
Le 3eme bit de donnée indique l'état "enable"



Plus précisément:
- C est un "instruction type bit", au sens de la terminologie générique de la doc., mais dans ce cas précis, c'est l'activation ou non de la sortie.
- D0 indique laquelle des deux sorties de la paire associé à l'adresse est la destination de la commande (donc, en effet, droit ou dévié pour une aiguille).

Et donc, le bit qui n'est jamais remis à 0 par la centrale Lenz est le bit C.

JP

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

Re: Feux clignotants PN

Messagepar Xavier » 24 Mai 2016, 17:28

Bonsoir,

Il semblerait que nous soyons sur la bonne piste: je vais remplacer la librairie minabay par celle du nmra.
Les tests effectues avec christian sont positifs avec une reconnaissance de 100% des trames en provenance de la centrale Lenz: merci christian. :thumb2:
Je vais donc faire les adaptations necessaires a ce changement de librairie et en profiter pour ajouter le module pour la sonnerie que je viens de recevoir.

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: Feux clignotants PN

Messagepar christiandard » 28 Mai 2016, 07:33

Bonjour.

Merci Xavier pour tout ce boulot.

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar christiandard » 03 Juin 2016, 11:59

Bonjour.



Xavier a travaillé sur le sketch pour l'Arduino, tout est rentré dans l'ordre et fonctionne.
Je ferai, à sa demande, un petite vidéo dès que j'aurai validé le tout avec CDM.


Voili, voilou...

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

PrécédentSuivant

Retourner vers Automatismes

Qui est en ligne ?

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