1
Aide / Re : sprog3, DCC Center et DCC decoder
« Dernier message par PhilGuen le Aujourd'hui à 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
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
et pas
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
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
Code: [Sélectionner]
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
Code: [Sélectionner]
address = adresseDecode + 4;
et pas
Code: [Sélectionner]
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