lecture des trames DCC [Résolu]

Rubrique dédiée au Centre de Programmation DCC

Animateur: ClaudeF

Re: lecture des trames DCC

Messagepar philguen
19 Fév 2024, 08:58

OK, c'est bon ... il n'y a plus qu'à tester.

D'après votre expérience, cette version de la bibiothèque est-elle entièrement compatible avec celle d'origine ou vaut-il mieux garder les deux (en modifiant les noms bien sur)?

Merci pour votre aide. Bonne journée
philguen
 
Messages: 23
Âge: 74
Enregistré le: 23 Mai 2019, 11:40
Localisation: Cuzion (36)

Re: lecture des trames DCC

Messagepar philguen
19 Fév 2024, 18:00

Test ok ... l'espion DCC fonctionne .... merci à tous de votre aide.
philguen
 
Messages: 23
Âge: 74
Enregistré le: 23 Mai 2019, 11:40
Localisation: Cuzion (36)

Re: lecture des trames DCC

Messagepar ClaudeF
19 Fév 2024, 18:23

J'arrive trop tard !

Merci à tous ceux qui ont (très bien) répondu à ma place :mrgreen:
Avatar de l’utilisateur
ClaudeF
 
Messages: 515
Âge: 40
Enregistré le: 07 Mai 2012, 11:19

Re: lecture des trames DCC

Messagepar Jeanmi67
19 Fév 2024, 18:31

 
Bonjour Philippe,

philguen a écrit:D'après votre expérience, cette version de la bibiothèque est-elle entièrement compatible avec celle d'origine ou vaut-il mieux garder les deux (en modifiant les noms bien sur)?

Tout dépend de vos besoins...
Mais, au lieu de modifier les noms, ce qui risque de vous embrouiller un peu plus un jour pour un autre projet, pourquoi ne pas faire comme je l'ai indiqué dans mon message du 18 Fév 2024, 23:55 ?
Vous conserver la bibliothèque GitHub là où elle doit être avec les autres bibliothèques Arduino pour vos autres projets, et vous enregistrez la bibliothèque spécifique à votre programme "Espion DCC" dans le même répertoire que celui-ci, il n'y a qu'une ligne à légèrement modifier dans le programme pour que cela fonctionne ainsi.

Enfin, et pour mémoire, on voit de plus en plus souvent des programmes Arduino tournant autour du DCC où la bibliothèque DCC_Decoder de MynaBay est remplacée par la bibliothèque NmraDcc de mrrwa.(https://mrrwa.org/)

Jean-Michel :coucou:
Jeanmi67
Membre AMFN Nice et AFAN :yin
Avatar de l’utilisateur
Jeanmi67
 
Messages: 861
Âge: 71
Enregistré le: 27 Oct 2010, 02:49
Localisation: PACA

Re: lecture des trames DCC

Messagepar philguen
19 Fév 2024, 23:26

Jeanmi67 a écrit: 
Bonjour Philippe,

pourquoi ne pas faire comme je l'ai indiqué dans mon message du 18 Fév 2024, 23:55 ?
Vous conserver la bibliothèque GitHub là où elle doit être avec les autres bibliothèques Arduino pour vos autres projets, et vous enregistrez la bibliothèque spécifique à votre programme "Espion DCC" dans le même répertoire que celui-ci, il n'y a qu'une ligne à légèrement modifier dans le programme pour que cela fonctionne ainsi.

Enfin, et pour mémoire, on voit de plus en plus souvent des programmes Arduino tournant autour du DCC où la bibliothèque DCC_Decoder de MynaBay est remplacée par la bibliothèque NmraDcc de mrrwa.(https://mrrwa.org/)

Jean-Michel :coucou:


Oui Jean-Michel, c'est la solution qui est de loin la meilleure et que j'ai finalement choisie.

Je vais regarder ce que ca donne avec la bibliothèque NmraDCC.

Une dernière question car je maitrise mal ces histoires d'interruptions. En modifiant la déclaration dans le code, peut-on utiliser, par exemple, Int4 pour une carte Mega2560 (pin 2) à la place du pin 21 (Int0) qui est aussi SCL.

Je ferai des tests demain mais votre avis m'évitera peut-être de "devenir chèvre" s'ils n'aboutissent pas du premier coup.

Allez... mon neurone est fatigué .. au dodo ...

Bonne soirée à tous
philguen
 
Messages: 23
Âge: 74
Enregistré le: 23 Mai 2019, 11:40
Localisation: Cuzion (36)

Re: lecture des trames DCC

Messagepar Jeanmi67
19 Fév 2024, 23:57

 
Bonsoir Philippe,

philguen a écrit:En modifiant la déclaration dans le code, peut-on utiliser, par exemple, Int4 pour une carte Mega2560 (pin 2) à la place du pin 21 (Int0) qui est aussi SCL.

Je ne suis pas spécialiste des interruptions mais je pense que vous pouvez effectivement modifier la ligne
Code: Tout sélectionner
8 #define kDCC_INTERRUPT 0
en remplaçant le 0 par 4 ou 5.
En tous cas, je dirais qu'il suffit d'essayer. Au pire ça ne fonctionnera pas ou pas comme attendu.

En supposant que cela fonctionne, et si vous voulez garder le compatibilité du programme entre un UNO et un MEGA2560, vous pouvez alors remplacer la ligne 8 du programme par ce petit bloc :
Code: Tout sélectionner
#if defined(__AVR_ATmega328P__)   // Arduino Uno et Nano
  #define kDCC_INTERRUPT 0
#elif defined(__AVR_ATmega2560__) // MEGA2560
  #define kDCC_INTERRUPT 4
#else
  #error "Carte non supportée"
#endif


Bonne soirée

Jean-Michel :coucou:
Jeanmi67
Membre AMFN Nice et AFAN :yin
Avatar de l’utilisateur
Jeanmi67
 
Messages: 861
Âge: 71
Enregistré le: 27 Oct 2010, 02:49
Localisation: PACA

Re: lecture des trames DCC

Messagepar philguen
20 Fév 2024, 07:19

Bonjour Jean-Michel. Je ferai un test dans la journée et viendrait faire mon rapport ici. Ca pourra servir à d'autres.

[edit]

Mes cartes MEGA 2560 étant opérationnelles sur mon réseau, j'ai fait un test ce matin en utilisant le pin 3 (INT1) de ma UNO et ca fonctionne (aussi bien avec le sketch habituel qu'avec l'application de Claude Ferrari). Il ne devrait donc pas y avoir de raisons pour que ca ne fonctionne pas sur le pin 2 (INT4) d'une carte MEGA ... mais je ferai quand même un test dès que possible.

je marque le post comme étant résolu .

Bonne journée à tous et encore merci
philguen
 
Messages: 23
Âge: 74
Enregistré le: 23 Mai 2019, 11:40
Localisation: Cuzion (36)

Précédente

Retourner vers Centre de Programmation DCC

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 9 invités