Auteur Sujet: sprog3, DCC Center et DCC decoder  (Lu 7489 fois)

PhilGuen

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
sprog3, DCC Center et DCC decoder
« le: mai 20, 2024, 07:35:21 am »
Bonjour à tous,

Pour programmer mes locos, j'utilise sprog3 vec le logiciel DCC Center.

Pour des tests d'apprentissage du DCC (en particulier du décodage de l'adresse) dans le but de créer des décodeurs d'accessoires, j'ai installé le sketch DCC decoder sur un Nano.

Tout fonctionne correctement pour ce qui concerne les locos (decodeur lenz standard v2).

Mais pour les accessoires, j'ai un décallage de 64 entre l'adresse programmée (100) et l'adresse lue par le sketch (164).

Avez-vous une explication?

Merci d'avance pour votre aide.

Je vous souhaite une excellente journée


Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 810
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #1 le: mai 20, 2024, 09:02:44 am »
Je ne sais pas pour DCC decoder, mais j'ai implémenté le protocole DCC Center pour SProg sur ma version de Labox et ça marche parfaitement. Le protocole est bien décrit dans la doc du SProg... Pour ce faire j'ai dû me servir de Serial2 pour ne pas être pollué sur Serial1 par les messages envoyés à la console de l'IDE... Et sur Labox, je n'ai pas de décalage d'adresse.

PhilGuen

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #2 le: mai 20, 2024, 10:40:39 pm »
Bonsoir Thierry.

Merci pour votre réponse ... même si je ne la comprends pas. Parle-t-on bien de la même chose?

Logiciel Windows(c)  DCC Center également nommé "Centre de Programmtion DCC" pour gérer une Sprog3

Sketch DCC Monitor fourni en exemple avec la bibliothèque DCC_Decoder.h

Comme le montre bien la copie d'écran, si j'utilise un accessoire avec l'adresse 100, le sketch "lit" 164. Il doit y avoir quelque chose que je n'ai pas compris.

Si quelqu'un a une piste sur cette anomalie, je suis preneur.

Bonne soirée à tous.

PhilGuen

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #3 le: mai 21, 2024, 01:23:33 am »
Je pense que j'ai trouvé.

en fait, celà doit venir du mode d'adressage différent entre les locos qui commencent par 0 et les accessoires qui commencent par1

A vérifier demain

bonne nuit
« Modifié: mai 21, 2024, 01:56:05 am par PhilGuen »

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 810
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #4 le: mai 21, 2024, 10:54:26 pm »
Oui oui je parle bien de la même chose. DCC Center pour Windows (il n'existe pas pour d'autres systèmes je crois) peut être piloté par une liaison série, ce que je fais avec un cable USB. DCC Center envoie des ordres via l'USB au format du protocole SPROG, et je les interprète pour que LaBox fasse ce qui est demandé : lire et écrire les CVs...

PhilGuen

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #5 le: mai 22, 2024, 07:06:58 am »
Merci Thierry.

Bonne journée

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #6 le: mai 25, 2024, 09:04:40 am »
Est-ce que c’est la même chose que JMRI/DECODER PRO ?

Je l’utilise sur Mac avec LaBox qui se comporte comme un(e) SPROG .
Cordialement,
Dominique

PhilGuen

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #7 le: mai 26, 2024, 07:43:57 am »
Bonjour Dominique,

Disons que ca semble être l'équivalent qui utilise les fichiers JMRI de données des décodeurs.

J'ai trouvé un script de "sniffer" super bien fait sur le site de UAICF http://modelisme58.free.fr/index.php/telechargement/decodeurs-accessoires-dcc.html

Grâce à lui j'ai trouvé l'origine du problème qui provient de cette partie du code

  address -= 1;
  address *= 4;
  address += 1;
  address += (data & 0x06) >> 1;    // DCC address decoding

Comme ces lignes ne sont pas documentées dans les exemples de la bibliothèque, je ne savais pas à quoi elles servent. Sans doute à adapter le décodage de l'adresse pour les centrales. En l'occurence, avec le programme "Centre de programmation" et une Sprog3, il faut les commenter.

Pour une z21 il faut ajouter une ligne

address = adresseDecode + 4;

et pas

address = address - 4;

comme on le voit partout sur le net.

Les exemples de la bibliothèque DCC_Decoder.h sont incomplets. Le script de l'UAICF détaille bien le décodage des trames pour les locos et pour les accessoires. Bravo à eux pour ce code.

En règle générale, je trouve que les bibliothèques sont mal documentées pour les "nuls" comme moi (tant dans le code en lui-même que pour l'utilisation). Il faudrait que Giuhub renforce ces critères de publication.

Maintenant la fonction DCC de ma gestion d'aiguillages fonctionne parfaitement ... et je sais pourquoi ... mdr ... seul soucis, ca semble incompatible avec la gestion par Infra Rouge que j'avais faite. Sans doute que IRRemote utilise les mêmes interruptions.

Bon dimanche à tous et merci de votre aide

Bien amicalement

Philippe


PhilGuen

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : sprog3, DCC Center et DCC decoder
« Réponse #8 le: juin 23, 2024, 06:41:33 am »
Encore une petite précision pour en terminer avec le sujet.

Pour la z21, le décalage de 4 à ajouter est dû à une ancienne norme. Il y a une option de conformité à cocher dans les paramètres et dans ce cas il n'est même plus besoin d'ajouter cette ligne dans le code.