Auteur Sujet: Definir le sens de circulation pour un decodeur de fonctions embarquées.  (Lu 17512 fois)

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Hello

Le but est de modifier le code du decodeur de Geoff BUNZA fourni plus haut afin de le rendre sensible à la direction de circulation pour l activation ou non de sorties...

Challenge!

Ltr

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Bon, si ce n'est pas pour changer le sens des feux mais pour modifier un code, le sketch suivant n'est pas la réponse, mais la ligne 97 peut être intéressante ...
Ce site a déjà été signalé dans ces colonnes :
https://rudysmodelrailway.wordpress.com/software/
Cordialement

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Bonjour

J ai poursuivi mes recherches sur ce sujet

J ai réalisé des expériences simples pour bien identifier chaque étape et vous livre les résultats obtenus

Je vous livre le fichier "test": NmraDccMultiFunctionMotorDecoder.ino

Vous pourrez tester aussi en commentant la ligne pour changer d'adresse.
idem sur la ligne du type de CV29
CONSTAT:
le type de CV 29 influe directement
Adresses < 255
en "TYPE2" donc {CV_29_CONFIG,                       CV29_F0_LOCATION}, // Short Address 28/128 Speed Steps
on peut avoir des adresses de 1 à 253 pour le décodeur et cela fonctionne bien ( F0 avec inversion selon sens de marche.
Adresses >255
MAIS des que les adresses dépassent 255 ( ex ici 260 rien ne va plus:même en choisissant le troisième type de CV29:   {CV_29_CONFIG, CV29_EXT_ADDRESSING | CV29_F0_LOCATION}, et cela quelque soient les valeurs des adresses entrées.

Ex Adresse 1000 CV29 Type 2 ==> rien ne s allume sur F0 quelque soit le sens de marche.

Comment résoudre cette anomalie?
Bug de la biblio ou du soft? Ah la magie des adresses!!

Ce meme comportement va t il etre identique sur les autres sorties F1 F2... ou exclusif à F0?

Je pense qu on bute ici sur les limites des fonctions gerant les LSB/MSB ... peut etre peut on ameliorer?

Ltr