Auteur Sujet: Bibliothèque Accessories  (Lu 3675 fois)

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #15 le: novembre 18, 2018, 07:28:01 pm »
   Bonsoir,

Je crois savoir où est le sniffer (c'est Rudy je crois qui en a un...), je regarde de mon côté et je te tiens au courant.

Je vais réaliser ce sniffer et je transmets les résultats.

Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #16 le: novembre 18, 2018, 07:35:36 pm »
     Bonjour,

J'ai trouvé sur l'Intellibox, le menu où se règle les durées d'impulsion des accessoires.

En usine le réglage est de:

- 100ms minimum, c'est à dire que même une brève impulsion sur une touche sera envoyée pendant 100ms

- 5000ms maximun, c'est à dire que si on garde la touche appuyée, l'impulsion cesse au bout de 5000ms..

Faut-il changer ce réglage?


Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #17 le: novembre 18, 2018, 08:09:12 pm »
   Bonsoir,

J'ai réalisé le "sniffeur de Rudy" et j'obtiens les résultats suivants en appuyant successivement sur les 2 touches de l'aiguillage 125:

---
DCC Packet Analyze started
Updates every 4 seconds
---
Idle
Idle
-
Idle
Acc 125 32:0 1 Off  10100000 11111000
Idle
Idle
-
Idle
Idle
Idle
Acc 125 32:0 1 On  10100000 11111001
-
Idle
Idle

J'espère que tu trouveras la réponse à ton interrogation.
.
Merci de me dire comment aller plus loin.

Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #18 le: novembre 18, 2018, 08:25:31 pm »
J'ai l'impression que ce n'est pas un problème de durée, mais de désactivation non demandée. Il devrait y avoir au moins deux paquets Dcc, l'un en activation et l'autre en désactivation. Voir par exemple la video de Rudy au sujet de son sniffer (https://www.youtube.com/watch?time_continue=103&v=UC2eJa6SEmM, à partir de 1'43"). Dans son test, chaque appui sur sa centrale génère deux paquets différents. Il semble donc bien que le problème soit lié à un réglage de l'Ecos...

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #19 le: novembre 18, 2018, 08:54:12 pm »
   Bonsoir,

En effet on voit deux trames DCC.

Il y a un paramètrage dans l'Intellibox pour les aiguillages:

- MOTOROLA
- ou DCC

Elle est réglée sur DCC

Il n'y a pas d'autres réglages.

Comment vois-tu la suite, y a -t-il une solution ou dois-je abandonner?

Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #20 le: novembre 18, 2018, 09:00:21 pm »
Je vais essayer de jeter un oeil plus attentif sur la norme demain pour voir s'il n'y aurait pas des exceptions à la règle du activé/désactivé...  Bonne soirée.

msport

  • Hero Member
  • *****
  • Messages: 655
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Bibliothèque Accessories
« Réponse #21 le: novembre 18, 2018, 09:27:16 pm »
   Bonsoir,

Je crois savoir où est le sniffer (c'est Rudy je crois qui en a un...), je regarde de mon côté et je te tiens au courant.

Je vais réaliser ce sniffer et je transmets les résultats.

Cordialement

Adaptation de ce montage :
http://forum.locoduino.org/index.php?topic=460.0
http://forum.locoduino.org/index.php?topic=461.0
Cordialement

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #22 le: novembre 19, 2018, 09:28:24 am »
Après vérification de la norme :

Citer
Basic Accessory Decoder Packet Format

     The format for packets intended for Accessory Digital Decoders is:
            {preamble} 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1

Accessory Digital Decoders can be designed to control momentary or constant-on devices, the duration of time each output is active being controlled by configuration variables CVs #515 through 518. Bit 3 of the second byte "C" is used to activate or deactivate the addressed device. (Note if the duration the device is intended to be on is less than or equal the set duration, no deactivation is necessary.) Since most devices are paired, the convention is that bit "0" of the second byte is used to distinguish between which of a pair of outputs the accessory decoder is activating or deactivating. Bits 1 and 2 of byte two are used to indicate which of 4 pairs of outputs the packet is controlling. The most significant bits of the 9-bit address are bits 4-6 of the second data byte. By convention these bits (bits 4-6 of the second data byte) are in ones complement.

(source https://www.nmra.org/sites/default/files/s-9.2.1_2012_07.pdf)

Il est bien dit que deux paquets doivent être envoyés, l'un en activation et l'autre en désactivation, mais il est aussi précisé que lorsque la désactivation peut être évitée si le délai de fonctionnement de l'accessoire est inférieur au délai d'activation... On est probablement dans ce cas. Je vais voir ce soir si je peux modifier Commanders pour gérer ce cas précis.

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #23 le: novembre 19, 2018, 10:11:35 am »
    Bonjour,

En effet, je crois qu'on est dans ce cas puisque sur" l'Intellibox1", les délais sont réglables.

Merci beaucoup de t'intéresser à mon problème.

J'aimerais beaucoup utiliser cette bibliothèque car j'utilise déjà la rétrosignalisation de LOCODUINO, et je souhaiterais être "full Arduino" sur mon réseau.

  Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #24 le: novembre 19, 2018, 05:41:30 pm »
Voilà des modifications pour gérer ton cas particulier, même si on va certainement le retrouver chez d'autres utilisateurs de l'Ecos... Copie les deux fichiers joints dans le répertoire Commanders/src . Pense à copier src AVANT pour pouvoir remettre en état après les tests. Si ça marche, je pousserai une nouvelle version de Commanders assez vite.

J'ai ajouté une petite fonction de réglage à appeler après le begin de DccCommander : RaiseEventWhen() avec deux arguments. Le premier fixe le type de paquet Dcc qui déclenche l'événement, activation ou non (par défaut), le second fixe le délai d'inactivité forcé de DccCommander sur cet accessoire précis une fois l'événement envoyé. Ce délai est fixé par défaut à 200ms.
Donc tu devras ajouter

   DccCommander.RaiseEventWhen(true);

ou

   DccCommander.RaiseEventWhen(true, 200);

Le seul problème potentiel que je vois est la collision de plusieurs paquets d'accessoires différents au même moment, ce qui pourrait arriver avec des commandes envoyées très rapidement par logiciel. Pour éviter ça, il faut réduire au maximum le délai. Par exemple le descendre à 100 et voir s'il l'on ne répète pas le même ordre plusieurs fois.

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #25 le: novembre 19, 2018, 06:24:22 pm »
   Bonjour,

Et merci.

Quelques erreurs à la compilation:

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:162:2: error: stray '\262' in program

 DCC.lo²op()

  ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp: In static member function 'static void DccCommanderClass::DccAccessoryDecoderPacket(int, boolean, uint8_t)':

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:65:18: error: 'this' is unavailable for static member functions

  if (activate == this->RaiseEventOnActivation)

                  ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:68:19: error: 'this' is unavailable for static member functions

    if (millis() - this->LastEventDate < this->RaiseEventDebounceDelay)

                   ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:68:41: error: 'this' is unavailable for static member functions

    if (millis() - this->LastEventDate < this->RaiseEventDebounceDelay)

                                         ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:79:3: error: 'this' is unavailable for static member functions

   this->LastEventDate = millis();

   ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:93:4: error: 'this' is unavailable for static member functions

    this->LastDccId = DCCINT(realAddress, data);

    ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp: In member function 'virtual long unsigned int DccCommanderClass::loop()':

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:162:6: error: 'class DCC_Decoder' has no member named 'lo'

  DCC.lo²op();

      ^

exit status 1
Erreur de compilation pour la carte Arduino/Genuino Uno

J'ai bien trouvé les erreurs DCC.lo²op(), par contre pour les erreurs avec "this", là je câle...

Cordialement



R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #26 le: novembre 19, 2018, 08:21:43 pm »
Oups, tu as raison. J'ai fait ça en temps masqué au bureau, je n'ai pas pu compiler avec l'IDE. J'ai juste compilé avec mon simulateur, mais je ne me suis pas rappelé que lui ne disposait pas du Dcc... Voici les fichiers corrigés.

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #27 le: novembre 19, 2018, 08:33:37 pm »
   Bonsoir,

Pas de souçis, dans une autre vie je développais des logiciels de gestion alors les erreurs de compil, j'en ai fait plus souvent
qu'à mon tour.

Je teste ça et te tiens au courant.

Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

pierrepv

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #28 le: novembre 19, 2018, 08:49:57 pm »
   Bonsoir,

Je viens de faire le test et....miracle ça fonctionne, le servo se déplace normalement aussi bien avec l'Intellibox que par commande dans RRTC.

Chapeau l'artiste...

Je vais pouvoir continuer et commander mes 35 aiguillages.

Je n'hésiterais pas à te recontacter en cas d'interrogation.

Bravo à toi et à toute l'équipe LOCODUINO.

   Très Cordialement
R�seau en N - 70m de voie - R�trosignalisation sur Arduino Mega2560 - RRTC Siver sous Windows10

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Bibliothèque Accessories
« Réponse #29 le: novembre 20, 2018, 09:09:07 am »
Super. Heureux que ça fonctionne. Pour l'eexmple, tu pourrais poster ici la version corrigée de ton sketch ?