Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Thierry

Pages: 1 ... 22 23 [24] 25 26 ... 45
346
C'est exactement ce qui est fait dans Commanders et Accessories. Des listes chaînées auto-gérées permettent ensuite de balayer tout ce qui est déclaré et à faire ce qu'il faut sans se poser de question. rien n'est bloquant, et tout le fonctionnement est simultané ou presque.

347
Bibliothèques / Re : Bibliothèque DCCpp
« le: juin 24, 2018, 08:58:15 pm »
Pour moi, tous les décodeurs arrivent à recevoir les messages et à faire ce qu'on leur demande. La difficulté vient de la remontée d'information qui n'est pas faite avec la même intensité et la même durée pour tout le monde. Ce n'est pas le cas ici puisque la lecture semble fonctionner. Pourtant le délai entre l'écriture et l'envoi d'une confirmation après l'écriture, ou la manière de décoder cette confirmation peuvent être différentes.
Dans le code de PacketRegister.cpp, la lecture de CV n'a pas tout à fait la même structure que la réception de confirmation. Il faudrait afficher la valeur vraiment lue par les différents analogRead qui sont faits dans writeCVByte() pour comparer. Par exemple, ajouter juste avant la fin du test "if (DCCppConfig::CurrentMonitorProg != UNDEFINED_PIN)"

#ifdef DCCPP_DEBUG_MODE
Serial.print(F("Confirmation intensity "));
Serial.println(c);
#endif

La valeur de c doit être supérieure à celle de ACK_SAMPLE_THRESHOLD (définie dans PacketRegister.h) pour valider la confirmation. Peut être faut il ajuster cette constante pour s'adapter aux capacités du décodeur ? Et puis on va faire 500 mesures de la broche analogique (constante ACK_SAMPLE_COUNT). Peut être est-ce excessif, surtout si le décodeur renvoie sa confirmation pendant bien moins longtemps que ça... Bref, il y a des choses à régler, et peut être qu'un oscillo pourrait rendre service pour étudier la forme du retour.

348
Débuter / Re : Connecteurs câbles
« le: juin 21, 2018, 01:27:04 pm »

349
Bibliothèques / Re : Sauvegarde de l'état en EEPROM
« le: juin 19, 2018, 03:34:07 pm »
C'est la méthode utilisée dans DcDccNanoContoller ou le soft du Locoduinodrome en cours de conception...

350
Je m’immisce dans la conversation...
Le GOTO représente la façon de programmer des années 80 parce qu'il n'y avait pas le choix, en assembleur ou en Basic.
Et puis sont venus les langages évolués comme le C et ses descendants qui offraient de bien meilleures possibilités de structuration du code avec les fonctions, les while(), do-while(), switch, etc... Si le GOTO reste possible et peut être justifié dans de très rares cas comme la gestion d'erreur si on ne veut pas utiliser d'interruptions, il est reconnu aujourd'hui comme un générateur du code 'spaghetti', du code qui part dans tous les sens avec une lisibilité et une maintenabilité faible.
Donc oui, je pense que le code bootloader de l'Enfer est plein de GOTOs, que celui de Trump aussi, ce qui rend sa pensée aussi volatile et imprévisible...
Le GOTO c'est LE mal !

Grillé par msport...

351
Voici la BOM du Détecteur simple

En fait, c'est pour toutes les cartes qu'il faudrait ça... Le détecteur simple fait partie de celles que je n'ai pas commandé ! Mais y a pas d'urgence, fais à ton rythme.

352
Pour l'assemblage des cartes, il y a une nomenclature quelque part qui dit R1 c'est 10k sur telle carte ?

353
Sauf pour l'empreinte citée par msport. J'ai bon ?

355
Débuter / Re : Tableau d'objet
« le: mai 28, 2018, 08:44:52 pm »
Bonjour
La question n'est pas aussi triviale qu'il y parait.
Le mieux est de trouver les tutoriaux sur le C++ sur le net, ils sont légions. Cela dit, le mien est pas mal :) . Le mieux est de commencer par le début :http://www.locoduino.org/spip.php?article85.
Enfin pour répondre à la question posée, l'IDE Arduino utilise le compilateur Open Source GCC qui est complet, et donc peut compiler du vrai C++ avec toutes ses subtilités et ses chausse-trappes.

356
Bibliothèques / Re : Bibliothèque Accessories
« le: mai 26, 2018, 11:28:55 am »
Merci encore pour ce signalement.
Le problème est corrigé un peu différemment, mais corrigé quand même dans la version 1.1.3 disponible sur GitHub.
La raison de la différence de correction tient dans une règle que j'applique partout : ce que fait une classe, c'est elle qui doit le défaire si besoin. Dans ce cas de figure, c'est ActionsStack qui alloue la place pour l'action, c'est à elle de libérer cette place. Le respect de la règle, c'est l'assurance que tout ce qui doit être fait pour défaire sera bien fait. Et si plusieurs intervenants ont besoin de défaire quelque chose et qu'un simple delete ne suffit pas, l'appel à la bonne fonction fera le boulot complet.

357
Vos projets / Re : Support multi contrôleur
« le: mai 22, 2018, 05:23:12 pm »
Si c'est effectivement le cas, le colis retournera à l'envoyeur...

358
Vos projets / Re : Support multi contrôleur
« le: mai 22, 2018, 04:54:00 pm »
La photo est celle d'un pro micro. J'espère que ce n'est pas un pro micro que j'ai acheté à ce prix là, mais bien un Meduino 2560 avec 54 broches... A voir à la réception !

359
Vos projets / Re : Support multi contrôleur
« le: mai 22, 2018, 09:01:05 am »
Effectivement, il y a toutes les broches sur ton exemplaire, pas sur le mien. Sans doute cela explique t-il la différence de prix. Ce qui m'intéresse ici, c'est surtout le moteur, le microcontrôleur lui-même identique à un classique Méga2560.

360
Bibliothèques / Re : Bibliothèque Commanders
« le: mai 21, 2018, 08:37:15 pm »
Effectivement, ça ne marchait plus... C'est corrigé, la version est poussée sur Github. Dis moi si ça marche.

Pages: 1 ... 22 23 [24] 25 26 ... 45