LOCODUINO

Parlons Arduino => Le logiciel DCC++ => Discussion démarrée par: Thierry le novembre 08, 2020, 04:43:15 pm

Titre: DCCpp 1.4.2
Posté par: Thierry le novembre 08, 2020, 04:43:15 pm
Bonjour à tous.

Une nouvelle version 1.4.2 de la librairie DCCpp vient d'être publiée (https://github.com/Locoduino/DCCpp ou à partir de l'IDE Arduino). Elle intègre notamment des corrections pour la lecture des CVs, que ce soit sur Nano/Uno/Mega ou sur ESP32. Elle récupère aussi une partie de travail effectué sur la librairie LaBox en cours de développement dans un autre projet.

08/11/2020 V1.4.2
- Adaptation de la mesure de courant à l'ESP32.
- L'écriture de CV sur la voie de programmation retourne un booleen à false si l'écriture n'a pas été vérifiée.
- Amélioration de la procédure de lecture/écriture de CV, en Avr, et aussi en ESP32 (Merci à DCC++ Classic de l'équipe DCC++Ex (www.dcc-ex.com) ).
- Nouvelle commande texte 'r' pour lire une CV sur la voie principale.

Suite à ces modifications, je recommande chaudement à ceux qui trouvent des problèmes de lecture/écriture de CVs avec DCC++ ou DCCpp de refaire des essais. Je n'ai moi même aucun décodeur à problème, donc je ne sais pas si c'est mieux...
Titre: Re : DCCpp 1.4.2
Posté par: Dominique le novembre 09, 2020, 09:48:37 am
Merci Thierry,

Ça tombe bien car mon va-et-vient a été modernisé par msport sous forme d’un shield moteur sur circuit imprimé pour Uno avec l’Oled, le circuit de puissance et la mesure de courant du projet LaBox.

On va donc utiliser cette nouvelle version DCCpp 1.4.2 avec les lectures de CVs sur voie principale.

Au passage je voudrais signaler qu’il n’est pas possible (sauf erreur) de laissez les 2 bibliothèques LaBox et DCCpp en même temps dans le dossier libraries de l’IDE, car celui-ci est un petit malin qui fouille partout dans le dossier et trouve 2 fichiers DCCpp.h.
Titre: Re : DCCpp 1.4.2
Posté par: Thierry le novembre 09, 2020, 10:11:31 am
Oui il trouve les deux, mais généralement choisit la bonne ! En tout cas je n'ai pas de problème avec ça. Et j'ai au moins trois versions de DCC++ en plus de DCCpp. Quelque part dans le rapport de compilation, il y a le résultat de sa recherche de librairie avec celle qui est choisie.
Titre: Re : DCCpp 1.4.2
Posté par: msport le novembre 09, 2020, 10:20:33 am
Ah, pas de chance pour moi, j'ai de temps en temps des problèmes de conflit de bibliothèques ...

Et la mise à jour automatique des bibliothèques me crée à l'occasion des quiz intéressants quand je reviens sur d'anciens sketches.
D'où l'intérêt de passer en verbose le résultat des compilations.
Titre: Re : DCCpp 1.4.2
Posté par: Dominique le novembre 09, 2020, 06:21:29 pm
Néanmoins cette petite centrale est très sexie et le meilleur écrin pour DCCpp  ;D ??? :P :-*


Si, Si !
(https://www.locoduino.org/IMG/jpg/img_4326.jpg)
C'est l'oeuvre de Michel !
Titre: Re : DCCpp 1.4.2
Posté par: msport le novembre 09, 2020, 07:57:58 pm
Rendons à César ce qui appartient à Dominique :
Cette mini centrale est le copier-collé de son va-et-vient automatique et réaliste :
https://www.locoduino.org/spip.php?article232
avec un afficheur oled 0.96 à la place du LCD 1602.
Titre: Re : DCCpp 1.4.2
Posté par: Jeje_12_34 le novembre 09, 2020, 08:25:11 pm
Bonjour

Je n'ai malheureusement pas le temps ( durant quelques mois) de vous confirmer que  je peux programmer mes D&H  via cette nouvelle bibliothèque.

Je vous tiens au courant des que je peux

Merci a tous, surtout ! :)
Titre: Re : DCCpp 1.4.2
Posté par: Daniel075 le décembre 08, 2020, 07:29:20 pm
Bonjour, J’ai installé DCCpp1.4.2 dans mon logiciel qui s’appuyait jusqu’à aujourd’hui sur la version 1.3.6. Je rencontre un comportement incorrect avec les commandes de fonctions (j’obtiens un signal impulsionnel sur les leds de mon banc de test, une fraction de seconde sur une sortie et parfois même sur deux sorties à la fois). Le reste, lecture de l’adresse loco et commandes de mouvement fonctionne. Pour la commande des fonctions mon logiciel utilise l’approche présentée dans les exemples :
void commandeFonction(bool l) {         
    if (l)  { gLocoFunctions.activate (num_funct) ; }
       else { gLocoFunctions.inactivate (num_funct) ; }
       DCCpp::setFunctionsMain (num_register, adresse_dcc , gLocoFunctions ) ;
    }
Avec num_funct un entier, le numéro de la fonction et num_register=0, La commande est envoyée 5 fois à intervalle de 100ms. Tout ceci a parfaitement marché jusqu’à aujourd’hui et sur différents décodeurs. Je suis revenu en version 1.3.6 et j’ai retrouvé le fonctionnement correct  auquel j’étais précédemment habitué. Auriez-vous une piste?