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 - DDEFF

Pages: [1] 2 3 ... 38
1
Merci Michel,

Je connais donc maintenant quels ordres envoyer/recevoir.

Au début, je vais utiliser la centrale basique Arduino UNO+Shield L298 (et pas n'importe lequel, le vrai, celui de Dominique).
Comme le port USB n'est pas utilisé dans cette centrale, je vais pouvoir l'utiliser pour faire un port série et transmettre/recevoir les ordres.
La centrale sera dédiée voie de programmation.

Pour LaBox, ce sera plus dur : elle n'a pas de sortie Voie de Programmation et, si j'ai bien compris, pas de port série...

Je vais aussi me plonger dans le programme Processing de Greg. Il y a certainement des choses à glaner.
En particulier comprendre CALLBACKNUM et CALLBACKSUM  :o

Mais il faut déjà que je réalise mon réseau : un rond sur une planche de bois ! Tadaa !  :D ;D

Un peu de patience.

Denis

Commençons par voir avec une centrale dédiée

2
Depuis Processing, je peux envoyer/recevoir ce que je veux sur le port série. Je m'adapterai.
Si je suis compatible DCCpp, je serai compatible avec LaBox.

Si j'ai bien compris, on envoie un texte démarrant par un W pour écrire un CV dans la centrale, puis dans la loco ?

En fait, j'ai besoin de savoir ce que je dois envoyer à la centrale sur le port série pour lire un CV, écrire un CV. C'est tout.
Il n'y a que 2 messages.

Denis

3
Je continue…

Onglet Configuration :



Là, on s'occupe du CV29 qui a la particularité de gérer plusieurs fonctions, bit par bit.
On voit l'usage de chaque bit et la valeur du CV29 correspondant à tous les choix que vous avez fait.
Ici, on est en configuration usine, c'est-à-dire que tous les bits sont à 0, sauf :
->  Le bit 1 qui est à 1 (128 crans de vitesse), mais un pop-up précise aussi l'effet sur l'éclairage
->  Le bit 2 qui est à 1 (Autoriser le changement de source)

Si on clique sur l'un des boutons bleus, on a une fenêtre pop-up qui propose les choix :



Exemple après avoir cliqué sur "Autoriser le changement de source"
On a une question claire.

Une fois que les modifications ont été faites (et, pour chaque modification, le bouton devient vert), on valide par le bouton "Valider les choix pour cet onglet"

Onglet Adresse :



Voici comment se présente l'onglet quand on clique dessus si on est en adresse courte.

C'est la fameuse adresse 3.
On voit qu'elle est dans le CV1 et que le bit 5 du CV29 est à 0.

Supposons qu'on veuille mettre l'adresse 201. On la rentre simplement au clavier, puis RETURN.



Apparait alors la nouvelle adresse, qui sera dans les CV17 et CV18, en changeant le bit 5 du CV29 qui passe à 1.

En appuyant sur "Valider les choix de cet onglet", on change donc 3 CV, sans pouvoir se tromper.

Onglet moteur :



Dans l'onglet moteur, vous pouvez agir sur les CV3 et CV4.
Ils servent, respectivement, à déterminer la durée d'un cran de vitesse pour l'accélération et la durée d'un cran de vitesse pour la décélération.
En bougeant les curseurs, on peut agir sur la valeur des CV.
Au lieu de donner la valeur du CV, ce qui n'est pas très parlant, j'y ai ajouté les temps que ça donnait pour aller du cran 0 au cran 128 (ou 28, suivant le bit 1 du CV29)

Par exemple, ici, en mettant "22" dans le CV3, la durée d'un cran de vitesse, en 128 crans de vitesse; est de 156 ms et le train va de 0 à 128 crans en 20 s.

Nota :
Comme un CV peut accepter la valeur maximale de 255, cela correspond à 288 s (4' 48"), ce qui est énorme !
J'ai donc limité les choix à 63 s, ce qui est déjà pas mal. Cela permet d'augmenter la précision pour les petites durées.

Onglet Contrôle basique des vitesses :



Action sur les CV 2, CV6 et CV5 (je n'ai jamais compris pourquoi dans cet ordre)

Certains trains sont "longs à la détente" et leur faut une certaine tension pour démarrer.
Le CV2 permet que le train démarre dès le début du potar de vitesse.

Certains trains vont beaucoup trop vite quand le potar de vitesse est à fond.
Le CV5 permet de limiter la vitesse maxi quand le potar est à fond.
Ces deux CV permettent de profiter du maximum de précision pour la vitesse, la totalité de la course du potar étant utilisée.

Le CV6 permet de fixer la vitesse moyenne à mi-course du potar.
Pour être très précis : "au cran milieu", c'est-à-dire qu'on fixe ici la vitesse au cran 64 sur 128 ou au cran 14 sur 28.

Ici, J'ai choisi un réglage plutôt pour une vapeur qu'une électrique.
J'y reviendrai pour l'onglet suivant.
Nota :
Quand on valide cet onglet, on agit AUSSI sur le CV29, rappelé en bas de page.

Onglet Tableau des vitesses :

Là, j'avoue, je me suis lâché…
Depuis des années, j'ai envie de pouvoir affiner la courbe de vitesse d'une loco.

Il y a deux types de courbes :


1°) La courbe des moteurs thermiques, avec un couple faible au démarrage, couple qui augmente avec la vitesse, atteint un palier, puis décroit quand la vitesse continue à augmenter.
C'est donc le cas des locos vapeur.



2°) La courbe des moteurs électriques, avec un très fort couple au démarrage qui décroît progressivement.
C'est donc le cas des locos électriques, évidemment, mais aussi des diesels qui, finalement, ont bien un moteur électrique pour entraîner les roues.



Les formules des ces courbes étant très compliquées, j'ai choisi de pouvoir modifier les paramètres de ces courbes à l'inde de simples curseurs. Et on voit tout de suite l'impact sur le dessin de la courbe et, partant, sur la valeur des CV47 à CV94.

Le curseur P0 agit sur la vitesse mini, le curseur P4 agit sur la vitesse maxi, comme pour CV2 et CV5.
Le curseur P3 agit sur le point d'inflexion de la courbe, pour les vapeurs, et P1, P3 sur la convexité des deux ½ courbes.
Dit comme ça, c'est abscons, mais vous verrez en le faisant. C'est très visuel.
Pour les moteurs électriques, P2 agit sur l'aspect plus ou moins brutal de la croissance au départ.

Et si vous voulez personnaliser complètement votre courbe, il y a le bouton "Boutons libres" et, là, vous faites absolument ce que vous voulez.

Nota :
Quand on valide cet onglet, on agit AUSSI sur le CV29, rappelé en bas de page.

Onglet Carte des fonctions :

Voilà l'onglet tout au départ :



Lenz et la NMRA ont prévu que chaque bouton de fonction puisse agir sur 8 (!!) sorties.
C'est absolument énorme.
D'où cette carte des fonctions que je trouve assez démentielle, surtout sur la plupart des décodeurs qui sont déjà bien contents d'afficher 4 fonctions.
Si on appuie sur "Valeurs par défaut", on a une belle diagonale :



Une seule sortie par fonction. C'est déjà plus simple.

En cliquant sur une case, on a accès à une bascule : 0 = vide, V = 1.
On peut ainsi définir les CV 33 à CV46.
J'ai ajouté un code couleur des fils des sorties, très connu, mais qu'on retrouve là.
Comme ça on sait où le trouver si on a un doute.

Voilà.
J'arrête là pour le développement des onglets.
Il reste énormément de choses à faire, mais je vais me consacrer à ce qui se passe sur l'Arduino de la centrale DCC.
Quand ça marchera, je continuerai le développement du programme.

Denis

4
Vos projets / Re : projet centrale wifi DCC++ Can
« le: septembre 08, 2020, 05:24:54 pm »
Bravo à tous !

C'est quand même particulièrement réussi.
Petit, mais costaud  ;D

D'ici la semaine prochaine, je teste la toute première version sur un UNO avec un shield juste pour tester mon interface.
Puis je sors le fer à souder et je fabrique cette centrale : ça doit dépoter  8)

Denis

5
Images des véhicules :

Pour moi, il est fondamental d'avoir une image de ses véhicules.
C'est un peu de travail, c'est vrai, mais c'est très agréable d'avoir pour chaque page l'image du véhicule sur lequel on agit. C'est beaucoup moins austère, comme interface !

Il s'agit donc de faire une photo de son véhicule posé de côté sur une feuille blanche et bien éclairée.

Puis, dans un logiciel gratuit comme Paint, on "détoure" le véhicule (on supprime tout le blanc qui entoure le modèle).

Cela rend le fond de la photo invisible.

En le sauvant au format ".png", on conserve cette invisibilité et on peut mettre ce modèle sur n'importe quel fond.

Comme il faut imposer une échelle, je propose de sauvegarder toutes les photos en 200 pixels de haut. C'est comme ça que le programme a été conçu.

Dans un premier temps, on rogne l'image dans un rectangle qui touche le véhicule en haut, en bas, à gauche et à droite. Puis on réduit l'image en utilisant "Image/Redimensionner" et en cochant "Conserver les proportions". Et on impose 200 pixels de haut, ce qui calcule la longueur de l'image.
Une image "pèse" ainsi environ 250 Ko.

Comme nous sommes sur un site communautaire, si quelqu'un a déjà l'image d'un véhicule, il peut en faire profiter les autres.
Ne vous gênez pas pour utiliser mes images si vous en avez besoin.

Page gestion :



C'est sur cette page qu'on arrive quand on lance le programme.
Là, l'image est prépondérante (elle sera plus petite dans les onglets du décodeur).

Le premier usage de cette image, c'est qu'on peut sélectionner le véhicule sur lequel on va agir.

Soit on avance de 1 en 1 avec les petits boutons bleus en dessous de l'image.
Mais avec 600 wagons, on ne peut pas agir ainsi…
C'est à ça que sert le curseur horizontal en dessous de l'image : on dégrossit la recherche, puis on affine avec les boutons.

Remarque :
Comme on est sur une voie isolée, on n'agit que sur un et un seul véhicule.
Et, dans ce véhicule, il ne peut y avoir qu'un décodeur, associé à ce véhicule.
C'est une limitation, c'est vrai, mais c'est un début.

Deux cases, en dessous de l'image :

Les infos issues de "Materiel.tsv" concernant le véhicule et celles concernant le décodeur éventuel associé.
ID(+1) vaut ici 1/21 (1er véhicule sur 21 dans la liste)

Les boutons :

On peut ajouter, mettre à jour ou retirer un décodeur dans le véhicule.

Pour ajouter un décodeur, il faut connaître son fabricant, sa famille et son modèle.
Et c'est là que les ennuis commencent : en général, on n'en sait vraiment rien…

J'ai donc crée un décodeur générique :
Fabricant = NMRA
Famille     = famille_ generique
Modele    = modele_generique

Cela permet de lire le CV8 (en lecture seule, voir la norme) qui donne le numéro du fabricant.
La dernière liste du NMRA date du 24/08/2020 et est en PJ.
Par exemple, Zimo a le numéro 145, qu'on retrouve donc dans le CV8.

C'est là que les dimensions exactes du décodeur vont servir, mais il faut aller sur internet.
On doit, au moins, trouver la famille.
J'avoue que c'est un défaut de mon programme : je ne sais pas aller plus loin.
Avez-vous une idée ?

Deuxième série de boutons : les copies.

On peut trouver intéressant de ne pas avoir à recopier un à un les CV d'un décodeur vers un autre décodeur.
Il existe à cet effet une fonction copier-coller de TOUS les CV d'un décodeur vers un autre.



On commence par aller sur le véhicule à copier.
On appuie sur "Copie". On peut encore changer de véhicule à ce stade.
Puis on appuie sur "Coller".
A ce moment, on a deux fois la même image en bas.
Mais si on bouge le curseur (ou on appuie sur les petites flèches de chaque côté), on change l'image du véhicule dans lequel les CV seront copiés.
Il suffit alors d'appuyer sur le bouton : "Réaliser la copie effective" ou "Sortir de la copie sans rien faire"

C'est dans cette fonction qu'on apprécie particulièrement d'avoir les images des véhicules !

Troisième série de boutons : les filtres.

Pour ne pas parcourir 600 wagons, on peut restreindre avec les filtres proposés :

Échelle, Moteur, DCC, Marque loco, propriétaire et, évidement, Effacer filtres.

Évidemment, plus on filtre, plus le compteur associé à ID(+1) diminue et, par voie de conséquence, l'écart, pour passer d'un véhicule à l'autre, augmente.
La ligne du curseur fait 1126 pixels (= 1366-240). On peut donc, théoriquement, gérer 1126 véhicules.
Dans l'exemple, comme il y a 21 véhicules, l'écart entre 2 véhicules est 1126/21 = 53 pixels.

Composition des trains :

Là, je n'ai pas encore développé jusqu'au bout.
L'idée est de sélectionner un véhicule en haut et d'appuyer sur "+" pour l'inclure dans un train et "-" pour retirer un véhicule dans le train, en bas.
Puis sauver ces compositions dans un fichier de plus dans "Communs".
A suivre. Je pense que c'est assez simple.

Les onglets :

En cliquant sur "Mise à jour" dans la version actuelle du programme, sur le véhicule "Loco0", on passe aux onglets, dans le même genre que Decoder Pro's.

Je n'ai, pour l'instant, développé que les 7 premiers onglets, parce que ce sont les plus utiles.
Je continuerai le développement des autres onglets quand j'aurai passé un cap fondamental : la lecture et l'écriture dans le décodeur.
Et là, comme demandé dans mon post du 06/09/20, je vais avoir besoin d'aide.
Par avance, merci.

Tout d'abord, lors d'échanges en juillet 2018, Pierre (Pierre59) m'avait proposé un programme capable de reconnaitre automatiquement sur quel port est branché l'Arduino depuis Processing.
C'est une pure merveille qui fonctionne sur Windows, Mac et Linux !
Si vous n'avez rien branché, il vous signale qu'il ne trouve pas l'Arduino, évidement.
Mais si vous avez branché l'Arduino, il vous donne dans une String le nom du port.
Par exemple : "Trouvé l'Arduino sur le port : COM4" pour Windows.

Fort de cette information, vous avez construit un port série entre l'Arduino (qui contient le programme de gestion DCC) et Processing.
On va pouvoir faire des échanges entre les deux programmes.

C'est à cette tâche que je vais m'atteler maintenant.
Dit autrement, mon programme actuel en Processing n'est qu'une IHM, avec un canal série, quand même.
Mais il fallait bien développer l'IHM pour savoir quelles informations échanger avec le gestionnaire DCC sur l'Arduino.

Interface Homme Machine :

Elle fait quand même plus de 5 000 lignes et mérite d'être décrite.
Dans un premier temps, je me suis attaché aux onglets du "Zimo/MX620//MX620 Version 9.12" car c'est l'un de ceux qui en a le plus dans Decoder Pro's.

Qu'on ajoute un décodeur ou qu'on le mette à jour, on tombe sur l'onglet "Fiche"



En haut, en vert, 3 cases qui se dimensionnement en fonction de leur contenu correspondent :
-> Le fabricant du décodeur
-> La famille du décodeur
-> Le modèle du décodeur

Au dessus des onglets, deux boutons explicites :
-> Mettre à jour et sortir
-> Sortir sans mettre à jour

Puis les 23 onglets de CE décodeur.
Le nombre d'onglet dépend du décodeur et est entré "en dur" dans le programme.
Pour chaque décodeur décrit, on devra donner les onglets dont il est composé et, dans chaque onglet, définir les groupes de boutons, puis les boutons et leur fonction spécifique.

Fort heureusement, on retrouve certains onglets dans tous les décodeurs (comme "Fiche") et il n'est décrit qu'une fois. C'est quand même un minimum.
On retrouve aussi certains groupes de boutons, certains boutons, …

Il n'empêche que la liste va être longue, très longue…

On retrouve dans chaque onglet :
-> L'image du véhicule
-> Le groupe de boutons "Boutons_validation_onglet"
-> Les boutons correspondants :
-> "Valider les choix pour cet onglet"
-> "Ne rien changer pour cet onglet"

Onglet "Fiche" :

On a :
-> Le choix du numéro du propriétaire qui sera dans le CV105.
En construisant le fichier "Proprietaires.tsv", il faudra bien faire attention à l'adéquation du nom du propriétaire et de son numéro (CV105). Il n'y a pas de garde-fou (pour l'instant, c'est en cours)
-> Les dimensions du décodeur qui sont "en dur" dans le programme
-> Le numéro du fabricant qui est en lecture seule dans le CV8
-> Le numéro de la version du décodeur qui est en lecture seule dans le CV7

Pour changer le numéro du propriétaire, on le tape au clavier, on fait RETURN
Le fond du bouton devient vert, preuve qu'on a bien pris en compte l'information.
C'est une constante pour tous les boutons.
Puis on appuie sur le bouton "Valider les choix pour cet onglet".
Cela met à jour le fichier "Materiel.tsv" (c'est fait) et le CV105 dans le décodeur (pour l'instant : non)

Le bouton "Valeurs usine" remet TOUS LES CV du décodeur dans leur version d'usine.
Sauf le CV105 qui est conservé.
En général, quand on fait ça, c'est que plus rien ne marche…

Il reste de la place pour d'autres informations. C'est voulu.

Notez que, de façon pédagogique, on sait, à chaque fois, sur quel CV on intervient, d'où vient l'info, etc…
On sait ce qu'on fait, au fur et à mesure. Cela peut même servir d'aide mémoire.

C'est tout pour aujourd'hui.
A suivre.

Denis

6
Merci Laurent,

Pour faire suite à ton propos, j'ai agrandi le fichier "Proprietaires.tsv" (sans accent, d'ailleurs) avec les TITRES de fonctions 1 à 28.
(F0 est définitivement dédiée aux phares).

Dans l'image précédente, je n'avais pas mis de nom de fonction pour F1 - F12, parce que je ne savais pas quoi mettre...
Et je me suis dit que, POUR UN PROPRIÉTAIRE DONNE  les fonctions F1 - F12 ont la même attributions pour toute SES locos.
J'irai donc chercher ses attributions à afficher dans cet onglet dans le fichier "Proprietaires.tsv".

Par exemple : pour le propriétaire P1, F4 sera l'allumage de la cabine, alors que pour le propriétaire P2, F4 sera le son des freins.
Par contre, F4 sera l'allumage de la cabine pour TOUTES SES locos pour P1.
Et si des locos ne sont pas configurées comme ça, on pourra justement utiliser cet onglet pour mettre toutes les locos "d'équerre" !

Et il y a d'autres onglets sympas. Mais je ne peux pas diffuser un programme uniquement Windows... :(

Denis

7
Merci Laurent,

Comme tu l'as remarqué, c'est le début d'un vaste projet.
Je le veux à la fois pédagogique (utilisable par un débutant, tu le verras quand tu auras le programme) et par les perfectionnistes (dont je suis  8).

Je vais commencer par satisfaire les débutants avec un programme d'usage simple et on verra par la suite.
Par exemple, la NMRA ne dit rien pour les fonctions au delà de F12.

Voilà ce que ça donne (après qu'on ait appuyé sur "valeurs par défaut")



Dès qu'on aura réglé le pb (simple, à mon avis) avec les répertoires Mac, je donnerai le programme. On ne peut pas donner un programme qui ne marche qu'avec Windows.

A part ça, je ne prévois pas du tout d'utiliser des décodeurs de fonctions. Il y a le bus CAN pour ça.

Denis

8
J'ai essayé de relever le défi que m'avait lancé msport le 03/06/20  8)

Je vais maintenant décrire un "premier jet", assez costaud quand même, d'une version Processing de ressemblant à Decoder Pro's. Ne rêvez pas, toutefois, ce n'est pas fini.
Et même, j'aurais besoin de votre aide (un pb simple et un plus compliqué).
Mais on est sur un site communautaire, n'est-ce pas ?  ;D

La norme DCC :

Avant ça, j'ai commencé par la base : le DCC
Je ne vais pas ici faire un historique complet, mais noter quelques points :
Inventé au départ par Lenz, mais le fait que Märklin l'ait pris pour ses modèles Trix n'est pas étranger à son succès.
Puis la NMRA (National Model Railroad Association), l'organisme de normalisation américain, l'a pris sous son aile et c'est maintenant LA norme numérique mondiale.
La dernière version de cette norme date du … 20/12/2012.

Et, plutôt que d'explorer internet qui regorge de détails de-ci, de-là, malheureusement parfois contradictoires, je me suis attelé d'abord à une traduction la plus proche possible de LA norme, sans y ajouter des élucubrations diverses, des interprétations et des raccourcis saisissants…

Comme ça, on n'oublie rien.

On a, en tout, 1024 CV (Configuration Variables = variables de configuration) et j'ai gardé le terme CV, même en français, car c'est maintenant entré dans le langage courant (des modélistes).
Je pense que c'est du genre féminin (ce serait logique), mais on voit aussi le masculin.
Et, contrairement au mot "COVID", l'Académie ne donnera pas son avis. On peut dire les deux.

Rassurez-vous, sur ces 1024 CV, 650 CV (!) sont "pour une utilisation future" dans la norme.
Puis 163 CV sont réservés aux fabricants de décodeurs et, donc, pas dans la norme non plus.
Il ne reste "que" 211 CV (!) définis.  ;)

Vous verrez en PJ ma traduction.

Comme tous ces CV n'ont pas un intérêt immédiat, j'ai commencé par les plus utiles, quitte à enrichir au fur et à mesure des besoins. C'est un choix de départ.

Qui dit DCC dit aussi décodeurs et, donc, fabricants de décodeurs qui s'en sont donné à cœur joie pour remplir les 163 CV qui leurs sont alloués.

Dans Decodeur Pro's, on recense 60 fabricants et près de 1 000 décodeurs.
Et,  pour chaque décodeur, la quasi totalité des spécificités sont prises en compte.
Franchement, chapeau !  :P ;D

Mon projet est beaucoup plus modeste  :), surtout à ce stade.
Mais il contient les bases pour aller plus loin.
La gestion d'un parc de véhicules :

Une autre fonctionnalité de ce programme, c'est qu'on peut gérer un parc de véhicules.
J'ai bien dit "véhicules" et pas "locos" d'une part à cause du fait qu'un wagon/une voiture peut aussi avoir un décodeur (allumage, …) et qu'on peut utiliser ces véhicules dans des compositions de trains qui sera gérée.

Un autre défi, plus vieux, celui-là, c'est celui de CATPLUS, le 29/11/19 et la gestion du réseau de son ami Gérard et ses … 600 wagons (!). Autant dire un club !  :o
J'ai démarré cet aspect, mais il me manque encore quelques jours pour le mener à bien.

Les bases de Decoduino :

Pour gérer tout ça, il faut des fichiers pour sauvegarder toutes ces infos.

La structure des répertoires est la suivante :



On a un répertoire Processing qui contient 3 sous-répertoires :
1°) Decoduino
   C'est un répertoire générique qui contient toutes les versions des programmes Decoduino.
   En ce moment, j'en suis à Decoduino_V_06.
        Chaque version contient les fichiers Processing (en *.pde) et un répertoire data qui contient les fichiers d'icones
2°) Trains_TCO
   C'est un répertoire générique qui contient toutes les versions des programmes Train_TCO
   En ce moment, j'en suis à la version Train_TCO_V1_9_1
        Chaque version contient les fichiers en Processing (en *.pde) et un répertoire data qui  contient les plans de réseau (par exemple Circuit d'essai.tsv) et deux   sous-répertoires contenant les fichiers d'icones et les fichiers d'aide.
3°) Communs
       Ces deux programmes utilisent des fichiers communs qui sont :
            -> Matériel.tsv (tous les véhicules et CV)
            -> Propriétaires.tsv (les identifiants des propriétaires)

Évidemment, Train_TCO n'est absolument pas nécessaire au fonctionnement de Decoduino.
J'en parle ici juste pour montrer qu'il y a des fichiers communs aux deux programmes.

D'autre part, les fichiers communs ne changement pas si on change de version Decoduino (ou de version Trains_TCO)

Fichiers communs :

Processing utilise des fichiers en ".tsv" (Tabulation Separated Variables = variables séparées par des tabulations).
Et c'est le format natif des fichiers ".txt" (texte) dans Excel.

Pour LIRE un fichier ".tsv" dans Excel, il suffit de l'ouvrir ! Qui dit mieux ?

Pour ECRIRE, il faut ruser un peu.
1°) Depuis Excel, on sauve en ".txt" ("Texte (séparateur : tabulation)   *.txt", pour être précis)
2°) On renomme le fichier en ".tsv".

Le premier fichier est le plus important : Materiel.tsv

Champs ("colonnes" dans Excel) :



Les noms de champs ne doivent pas être modifiés, ni leur ordre. Ils n'ont pas d'accent.

Remarques :

1°) Dans Processing, les fichiers ".tsv" ne contiennent des données de seulement deux types :
"String" ou "Int". Pas de booléens, ni de virgule flottante.
D'où le fait que "moteur" est en "0" ou "1", par exemple.
D'où le fait que les dimensions sont en 1/10 de mm

2°) J'impose l'extension ".png" car c'est la plus courante acceptant des fonds invisibles, ce qui est indispensable. Exit ".jpg" !

3°) Ne pas croire que la marque du véhicule est la même que le nom du fabricant du décodeur.
J'ai une loco Fleischmann qui a, d'origine, un décodeur Zimo.

4°) fabricant, famille, modele : je garde les appellations de Decoder Pro's.
Notez qu'il y a un seul "/" entre fabricant et famille et deux "/" entre famille et modele.
C'est indispensable.

5°) On peut se demander pourquoi on note les dimensions des décodeurs (surtout avec une telle précision) :
Parce que l'une des questions principales est d'identifier avec exactitude quel modèle de décodeur est dans ma loco. J'y reviendrai.

Dernière remarque, la plus importante :


A tout moment, on doit avoir une bijection entre le contenu des CV du fichier Materiel.tsv et le contenu réel du décodeur.
C'est le principal intérêt de ce programme.


Deuxième fichier : Propriétaires.tsv

Champs ("colonnes" dans Excel)



Les CV105 et CV106 sont réservés à l'usage de l'utilisateur
Dans un club, on peut très bien avoir 2 locos identiques qui peuvent avoir 2 propriétaires.
On mettra dans le CV105 les identifiants de chaque propriétaire.
Et comme un numéro, ça n'est pas très causant, il faut bien le nom en clair.
D'où ce fichier.
Je n'ai pas développé plus loin cette fonction pour l'instant. Mais ce serait assez facile.

Remarque :

N'utiliser que le CV105 "limite" le club à 255 adhérents.
En utilisant les deux CV, on pourrait avoir 65 536 adhérents (!!)

Développement prévu pour ces fichiers :

Actuellement, LE SEUL moyen d'ajouter un véhicule est de l'ajouter dans le fichier Materiel.tsv
De même pour supprimer un véhicule.
En fait, les 16 premières colonnes (tout sauf les CV et P0/P4) ne sont modifiables que directement via Materiel.tsv
C'est un peu gênant, mais je pense que développer le programme et ses fonctionnalités est plus urgent.

Le programme :

Puisque la gestion des répertoires est différente en Windows et Mac, elle n'est pas identique non plus dans Processing.
Ce qui fait que mon programme ne fonctionne pas avec Mac…

J'avais dit que j'avais besoin d'aide tout au début de ce post. C'est là que se situe le problème simple.
J'aurais donc besoin qu'un utilisateur Processing sur Mac me dise quoi faire.

Voilà le setup() :



Tout d'abord, on ouvre en size(1366, 768, P2D);
Cette taille permet l'affichage sur tous les ordinateurs.

La fonction sketchPath("") permet de remonter jusqu'à la racine de l'arborescence.

Sur mon ordi Windows, le   println(Repertoire_Decoduino);   donne :

R:\Documents publics\_Trains\Processing\Decoduino\Decoduino_V0_6\

 Vous noterez qu'on est bien avec des "\", le cas normal dans Windows.
Puis je crée toutes les polices nécessaires.
Cela pourrait paraître superflu et on pourrait n'en créer qu'une seule et l'adapter à chaque fois qu'on s'en sert.
L'expérience montre que si on fait comme ça, les textes sont flous…
D'où cette façon de procéder.

Mais, en y regardant de plus près, ce sont les "/" qu'il faut utiliser pour descendre dans l'arborescence !

Puis je retire les 25 derniers caractères pour les remplacer par Communs\\ , oui, avec deux "\" !!
Là, ça ne sera pas pareil pour Mac.

Sur mon ordi Windows, le   println(Repertoire_Communs);   donne :

R:\Documents publics\_Trains\Processing\Communs\

Plus loin, dans le programme, on va charger le fichier "Matériel.tsv"

La ligne correspondante est, dans Windows :

Materiel = loadTable(Repertoire_Communs+"Materiel/Materiel.tsv", "header, tsv");
Je pense que c'est compatible Mac.

Et, quand on sauve :

saveTable(Materiel, Repertoire_Communs+"Materiel/Materiel.tsv");
Là aussi, je pense que c'est compatible Mac.

J'arrête là pour aujourd'hui. Je continuerai quand le programme marchera dans les deux configurations Windows et Mac.

Et ça me laissera le temps de peaufiner.

Pour vous faire patienter, voici deux photos :




9
Infos et bonnes affaires / Re : Capteur de proximité VL6180X
« le: juillet 11, 2020, 05:39:08 pm »
Bonjour,

Si je comprends bien, c'est surtout le bus I2C qui n'est pas bon... 8)
Je note la proposition d'Antoine pour proposer de revendre ses VL6180X.

Denis

10
Absolument magnifique.  ;D ;D
La patine est très dure, d'autant qu'un tel pont est souvent très sale.

11
Infos et bonnes affaires / Re : Capteur de proximité VL6180X
« le: juin 07, 2020, 01:14:08 pm »
VL6180X

12
Infos et bonnes affaires / Re : Capteur de proximité VL6180X
« le: juin 07, 2020, 12:07:17 pm »
Bonjour Antoine,

Avec un testeur comme toi, on ne peut qu'avancer !
Merci
J'ai reçu les miens, mais je ne les ai pas encore testés.

Denis

13
Bonjour Pierre,

J'ai bien les fichiers que tu m'avais envoyé.
Ils ont bien les lignes que tu donnes.
Le débogage USB est bien présent depuis longtemps et activé.
Je reteste et je t'en reparles.

Pour Michel, on en reparle quand ça marchera. Il ne suffit pas d'avoir les 3 fichiers. C'est normalement simple, mais il y a un truc qui bloque.

Amicalement
Denis

14
Ouahhh !
Quel honneur !  ;D ;D

(ça doit être à force de regarder "Affaire Conclue"  ;))

15
Bonjour Dominique,

Le problème que j'ai avec le Wifi et Processing, c'est que je n'arrive pas à me connecter.
Ta manette, celle de Pierre, le programme d'essai de Serge pour son wagon mesure de vitesse : tout fonctionne sur mon mobile Android.
Mais si on ne se connecte pas au Wifi, heu, comment dire...

Mon mobile se connecte très bien en wifi à internet, évidemment.
Mais pas via l'application APDE (Android Processing IDE).
Comme j'aimerais trouver une solution !

Denis

Concernant tes propositions : le dernier, je l'ai déjà, alors le premier qui a l'air d'avoir les mêmes caractéristiques que le deuxième.
Je cherchais un shield qui s'enfiche directement.
Et encore merci  ;D ;D

Pages: [1] 2 3 ... 38