Voici ma dernière mouture.
Première chose immédiatement visible : quand on ouvre le fichier, on a un réseau complet, qu’on peut utiliser.
Et comme la fenêtre fait 1366 x 768, même ceux qui ont un Mac ne seront pas gênés par mon menu qui ressemble à leur dock, mais sans être au dessus du vrai dock du Mac.
On peut bien sûr l’utiliser en plein écran ou en plus petit grâce aux loupes :
Si on clique GAUCHE, c’est le pupitre qui change de taille.
Si on clique DROIT, c’est tout le réseau qui change de taille.
On peut aussi déplacer le pupitre par glisser-déposer de la souris sur le signal du pupitre 0 (le premier à gauche).
Une fois qu’on a la configuration qu’on veut, on peut passer à la nouveauté principale :
La gestion des itinéraires.
Dans d’autres logiciels, on doit définir à l’avance les points qui pourront servir de point de départ et de point d’arrivée, généralement dans des grills de gare.
Là, on peut maintenant partir ou arriver de n’importe où, à proximité d'un signal.
Pour le découpage du réseau, l’élément de base est la zone.
Il existe fondamentalement deux types de zones :
Les zones appareils de voies qui ne contiennent que des appareils de voie. Je les nomme zones AV.
Les zones qui ne contiennent aucun appareil de voie. Je les nomme SAV.
Les zones mixtes. Je sais, ça fait 3 types…
Je suis sûr qu’à la SNCF on peut trouver des zones qui ne contiennent que des appareils de voie et qui, pourtant, ont aussi des signaux.
Mais j’ai pris pour principe que les zones AV n’auront aucun signal.
De la même façon, il doit exister à la SNCF des zones SAV sans aucun signal (hors zones de manœuvre où c’est, par contre, très courant).
Mais j’ai pris pour principe que les zones SAV auraient deux signaux, un à chaque extrémité.
Dans les zones mixtes, il y aura aussi deux signaux, mais placés sur la partie SAV. Exemple sur le réseau d’essai, en haut à gauche.
Avec ces deux principes, je peux placer automatiquement les signaux sur n’importe quel réseau.
Je suis conscient que ce sont des "limitations", mais qui ne doivent pas être bloquantes.
Le connecteurLe connecteur est l’élément fondamental pour découvrir les itinéraires. (Merci Jean-Luc pour ce post pionnier sur le Forum Locoduino)
Au niveau structure, c'est le point qui est entre deux "pavés" (sous-ensemble des zones).
En fait, même s'ils existent vraiment "partout", ceux qui nous intéressent sont ceux qui sont juste à côté d'un signal.
Pour choisir un itinéraire, on clique GAUCHE à proximité d'un signal, au départ comme à l'arrivée.
Dans la précédente version, j'avais en plus comme contrainte que le connecteur soit au point de jonction d'une zone AV et d'une zone SAV. C'était très gênant en pleine voie. Cette contrainte n'existe plus.
Attention au fonctionnement du programme qui est très précis sur ce point :
Le programme choisit le connecteur avec signal LE PLUS PROCHE (à vol d'oiseau) du clic de souris.
Dans des zones denses, il faudra bien se rappeler ce point et bien viser. On pourrait avoir des surprises !
Pour bien mémoriser le choix du départ comme de l'arrivée, le signal choisi devient noir le temps qu'on ait choisi l'itinéraire.
On a donc un signal noir au départ et un signal noir à l'arrivée.
Ainsi, si vous avez cliqué à proximité d'un autre signal sans le vouloir, quand le programme vous dira "Aucun itinéraire n'est possible avec ces deux extrémités", vous verrez où est l'erreur…
Si un itinéraire est possible, il s'affiche en couleur "sable" et, dans la barre de statut (sous le menu), vous savez combien il en existe.
En cliquant GAUCHE autant de fois que nécessaire, on fait défiler tous les itinéraires trouvés.
Puis vous validez avec un clic DROIT. L'itinéraire passe au vert.
A noter que si aucun itinéraire ne vous convient, dans la liste des itinéraires, il y en a un qui est "vide". Si vous validez DROIT à ce moment, on oublie tout. Retour à la situation précédente.
Évidemment, les signaux reprennent leur couleur dès qu'on valide. Et d'ailleurs, les signaux suivent la position des aiguilles. Un minimum.
Voici la première vidéo qui illustre les différents choix.
Les itinéraires chainésOn a choisi un itinéraire. C'est bien. Mais il serait bien de pouvoir les chaîner.
1°) Chaînage "en avant" :Très utile si on veut parcourir un ovale, par exemple. Il faut, au moins, chaîner deux itinéraires.
On peut, également passer par une boucle de retournement, en deux fois, bien sûr.
Fonctionnement :
Une fois le premier itinéraire choisi, on en choisit un deuxième, un troisième, …
La contrainte est que la dernière zone du premier itinéraire soit aussi la première zone du deuxième. C'est tout.
Voici la vidéo explicative. En faisant des arrêts image vous pourrez voir quels signaux sont noirs d'un itinéraire sur l'autre pour vérifier la technique de choix.
Vous noterez aussi qu'à chaque nouvel itinéraire, vous pourrez toujours choisir l'un des itinéraires proposés, comme avant. Donc, vous pouvez vraiment choisir d'aller où vous voulez, par le chemin que vous voulez.
Vraiment tout ? Non !
2°) Chaînage "retour" :Il y a des situations où vous voudriez bien rebrousser chemin. L'exemple le plus courant est la navette
C'est le même principe que le chaînage en avant. Sauf que vous choisissez le deuxième itinéraire dans l'autre sens.
Là aussi, la dernière zone du premier itinéraire doit être la même que la première zone du deuxième.
Voici la vidéo explicative :
Le train ralentit et dès que la vitesse est à zéro, il change de sens.
On peut, bien sûr, mixer les deux modes. Et, là, oui, on peut tout faire !
Remarque sur les vidéos :1°) J'ai fait exprès de rendre immédiate l'accélération. La loco "s'essuie les roues" au démarrage, surtout si vous demandez la vitesse maximale. Cela m'était très utile pour le développement.
Par contre, les ralentissement/arrêts sont, eux, bien naturels.
Voilà un exemple de décélération suivie d'un arrêt :
On a une décélération qui suit bien une courbe de ralenti réaliste. Le fait que cette courbe ressemble à une décharge de condensateur nous aide bien…
2°) Le retournement est, lui aussi, brutal. Il faudra ajouter un temps d'arrêt en gare dans une prochaine version.
3°) Vous avez certainement cherché un bouton d'inversion de sens du train. Il n'y en a pas !!
Une flèche suit l'orientation de la loco (merci Pierre59 pour cette idée sympa), mais c'est tout.
Si vous voulez reculer, il faut demander un itinéraire dans l'autre sens à partir de la zone où vous êtes.
Pour l'instant, ça ne marche que si vous êtes sur une zone de fin d'itinéraire, mais je suis en cours de développement. La difficulté viendra de l'effacement de tout, y compris les chaînages, si on veut reculer de façon inopinée. Mais c'est jouable.
4°) Au fur et à mesure de l'avancement, comme dans un PRS, les zones s'effacent quand le train les quitte. C'est le but.
Il y aura un autre bouton de recherche d'itinéraires sur le menu où, cette fois, les itinéraires seront sauvegardés pour faire une boucle continue ou une navette sans fin. Faisable aussi.
Les itinéraires continueront à s'effacer au fur et à mesure car c'est la solution qui permet le plus de flexibilité, mais ils se "régénèreront" automatiquement.
5°) Vous avez remarqué qu'on peut poser un train sur n'importe quelle zone. C'est bien.
Mais j'ai à gérer la composition du train pour qu'elle puisse évoluer. On a le droit d'ajouter ou de retirer des véhicules à tout moment, voire le train complet.
6°) Puisqu'on peut aller partout, il faut ajouter une gestion de gare cachée.
On peut d'ores et déjà le faire en demandant une voie précise de la gare, mais il faut que je gère la recherche d'une voie libre automatique.
Voici le lien pour télécharger le programme :
http://www.locoduino.org/IMG/zip/train_tco_v1_6_33.zip