DCCpp pour Arduino: DCCpp_S88

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar gily » 16 Décembre 2019, 20:08

Bonjour

d'après ce que je comprends, il faut utiliser le mode DCC étendu qui permet d'envoyer un octet, un mot ou un double mot sur une seule adresse.
voir ici le protocole détaillé :https://lesiteferroviaire.pagesperso-orange.fr/DCC.htm#Ancre6
Je peux facilement intégrer çà dans le programme des signaux complexes,à condition que la fonction de plus bas niveau de la DLL d'interfacage avec CDM ne masque pas les informations. Je ne pourrais cependant pas le tester car je n'ai pas de décodeur et ma centrale LENZ est en V3.6 donc elle ne gère pas le mode étendu.

A bientot
gily
 
Messages: 755
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar SUPERN » 17 Décembre 2019, 20:44

Bonsoir,
Je laisse JP répondre pour CDM
Je te passerai un décodeur lorsqu'il sera fini en Mars
Pour la centrale on verra avec Lormedy et Xavier
Belle collaboration en perspective !!!!
Bonnes fêtes à tous
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1389
Inscrit le: 07 Octobre 2013, 18:27
Localisation: 17600 SAUJON

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar gily » 22 Décembre 2019, 14:56

Bonjour

voici la table que je propose pour les signaux complexes pour les décodeurs au protocole NMEA DCC étendu, seul le carré est imposé à la valeur 0.
Cette table représente les 19 aspects possibles en signalisation SNCF. J'ai rajouté les codes 32 et 33 mais qui ne servent qu'a la maintenance, ils ne sont pas utilisés pour l'exploitation normale.

0. Carré
1. Sémaphore
2. Sémaphore clignotant
3. Vert
4. Vert clignotant
5. Carré violet
6. Blanc
7. Blanc clignotant
8. Avertissement
9. Avertissement clignotant
10. Ralentissement 30
11. Ralentissement 60
12. Ralentissement 60 + avertissement clignotant
13. Rappel 30
14. Rappel 60
15. Rappel 30 + avertissement
16. Rappel 30 + avertissement clignotant
17. Rappel 60 + avertissement
18. rappel 60 + avertissement clignotant
30. Extinction du signal
31. Allumage de toutes les lampes du signal (test lampes)
Dernière édition par gily le 22 Décembre 2019, 21:24, édité 1 fois au total.
gily
 
Messages: 755
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar SUPERN » 22 Décembre 2019, 19:12

Super,

Merci pour cadeau de Noël !
Je prends tel quel.
Je commence dès maintenant la rédaction du cahier des charges.
Le développement se fera après la trêve des confiseurs....

Bonnes fêtes à tous
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1389
Inscrit le: 07 Octobre 2013, 18:27
Localisation: 17600 SAUJON

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar gily » 22 Décembre 2019, 21:23

Pour que tout soit bien clair, j'envoie au décodeur sur une seule adresse d'accessoire, la valeur sur un octet de 0 à 31.
En principe en protocole DCC strict, on ne peut envoyer que les valeurs 0 1, 2 (et 3 pour certaines centrales). Cela signifie donc que seuls 2 bits sont significatifs. Dans le cas du protocole étendu, on envoie les 8 bits. D'après la spécification page 9, les bits 5 6 et 7 sont à 0 donc la valeur maxi est 0001 1111 soit 1F en hexa = 31 maxi en décimal. Je rectifie donc le tableau avec les deux valeurs suivantes:

30. Extinction du signal
31. Allumage de toutes les lampes du signal (test lampes).

Je sortirai la V11 des signaux complexes prochainement qui contiendra ce pilotage. Je suis en attente de certaines validations.

Bon courage
gily
 
Messages: 755
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar gily » 23 Décembre 2019, 12:22

bonjour

j'ai comparé les trames S88 en protocole normal et étendu du pilotage des accessoires: (en hexa)

Normal : FF, FE, 52, adresse, octet de donnée, checksum ou exclusif

étendu : (entete)+bit à 0 , 80+adresse1+bit à 0 , adresse2+bit à 0, octet de donnée + bit à 0, checksum + bit à 1

en aucun cas la DLL ne permet d'envoyer un bit supplémentaire entre les octets (c'est un bit de séparation entre les données) .
J'ai développé un programme qui dialogue directement en Xpressnet et évidemment on envoie un octet à la fois, donc impossible également de gérer cet envoi de bit intercalé....

Maintenant, la protocole NMRA n'a rien à voir avec le protocole XpressNet.

Bizarre :?
gily
 
Messages: 755
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar SUPERN » 23 Décembre 2019, 17:30

Bonsoir,

C'est effectivement compliqué.
C'est pourquoi je n'avais pas commencé tout seul!
Je regarde la librairie NMRA pour pouvoir décoder la trame DCC et être prêt lorsque tu pourras l'envoyer....

Joyeux Noël

Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1389
Inscrit le: 07 Octobre 2013, 18:27
Localisation: 17600 SAUJON

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar gily » 23 Décembre 2019, 17:33

bonjour

je suis prêt le code aussi :mrgreen:

Noyeux Joël
gily
 
Messages: 755
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: DCCpp pour Arduino: DCCpp_S88

Messagepar SUPERN » 23 Décembre 2019, 17:57

Oups
Voilà que je démarre avec plusieurs semaines de retard.... :o
Mais c'est quand même un plaisir de lancer ce projet
A+
Yves
Bon TRAIN à tous!
Membre des modélistes charentais (http://www.lmc-17.fr)
Membre AFAN
CDMrail + PC quadricoeur ASUS + double écran SAMSUNG
LZV100 + LH100 + XIS88 + LS150 + RMGB8
SUPERN
 
Messages: 1389
Inscrit le: 07 Octobre 2013, 18:27
Localisation: 17600 SAUJON

Précédent

Retourner vers CDM-Rail et DCCpp pour Arduino (ou DCC++)

Qui est en ligne ?

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