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

Pages: [1]
1
Bonjour Denis

Je déterre un peu ce fil qui est à l'arrêt depuis janvier en espérant que tu lises ce message.
Mon projet de TCO avance et j'en suis arrivé à la recherche d'itinéraires donc j'ai repris ce fil et mis en œuvre la recherche d'itinéraires sur la base du travail de Jean-Luc (Que je remercie au passage pour sa contribution).

Puis j'ai relu l'intégralité de ce fil pour vérifier que je n'avais pas loupé quelques choses. Et je suis tombé sur ta contribution, que j'avais survolé quand tu avais posté mais je n'avais pas forcément tout compris car je n'en étais pas là. Du coup j'ai adapté mon programme pour tenir compte de tes propositions que j'ai trouvées très pertinentes.

Aujourd'hui ma recherche d'itinéraires fonctionne parfaitement sur ta gare que j'ai pris pour vérifier que tout fonctionnait correctement. Et j'en suis au même point que toi (du moins à fin janvier) à savoir comment trouver "LE" meilleur itinéraire. Tu as commencé à élaborer une théorie sur le calcul d'un "poids" des itinéraires en sachant que le meilleur serait celui dont le poids est le plus faible.

As-tu finalisé cette méthode et si oui pourrais-tu nous en dire quelques mots ?

PS : Je développe mon TCO  sous DELPHI (programmation Pascal) pour qu'il tourne sur un PC Windows.

Locoduino est vraiment un site formidable

2
Bonjour Jean-Luc

Je suis en train de décortiquer ton code, afin de bien comprendre.  ;)

Je me pose une question par rapport à la fonction tousLesCheminsVers(). Dans l'objet "TraverseeJonctionDouble" tu as déclaré cette fonction comme protected alors que pour tous les autres objets "Voie" elle est déclarée en public. Y-a-t-il une raison particulière ?
Comme cette fonction (pour le moment) n'est appelée que par les objets "voie" en interne elle devrait peut-être être déclarée comme protected par tous les objets "Voie" ?

Dans le même ordre d'idée la fonction connecteDeVoie() qui n'est appelée (toujours pour le moment) que par les objets "Voie" pourrait (devrait ?) être déclarée comme protected ?

Clairement cela ne change rien pour le fonctionnement du code dans son état actuel, mais quand je me pose une question j'aime bien aller au bout, cela m'aide à progresser en C++ qui n'est pas mon langage de prédilection. ???

3
Bonjour Jean-Luc

Sujet très intéressant, après avoir décortiqué le SGDD de Denis (merci Denis) et avant de me décider sur la méthode que je vais utiliser pour gérer mon réseau (encore virtuel  :'() je vais essayé de comprendre ta méthode qui me plait bien au premier survol. Maintenant il faut approfondir et je me pose quelques petites questions.

Sur tes schémas de présentation tu parles du "sens normal" et dans ton code tu définis dans voie.h
enum { DIRECTION_AVANT = 0, DIRECTION_ARRIERE = 1, AUCUNE_DIRECTION = 2 };
puis dans voie.cpp
void afficheSens(byte sens)
{
  switch (sens) {
    case DIRECTION_AVANT:   Serial.print("AV"); break;
    case DIRECTION_ARRIERE: Serial.print("AR"); break;
    case AUCUNE_DIRECTION:  Serial.print("*");  break;
  }
}

C'est quoi exactement le "Sens normal" y-a-t-il une relation avec les "DIRECTION" par exemple sens normal = DIRECTION_AVANT, ou bien pour faire un // avec le SGDD de Denis sens normal = sens HORAIRE ?

D'autre part est-ce que la définition du canton est la même que celle de Denis à savoir : une zone STOP, une Zone pleine voie, une zone STOP ?

J'aurai sûrement d'autres questions par la suite (j'ai aperçu des pointeurs dans ton code  :P), car je n'en suis qu'au début de l'analyse de ton code. Mais pour le moment cette question de "sens" m'interpelle.

Merci d'avance pour ta réponse.
 

4
Bonjour à tous,

Je rebondi sur ce fil (j'espère que c'est bon) car j'ai préparé un PCB sous Eagle et je me pose 2 ou 3 questions concernant la fabrication chez ElectroDragon. Comme je sais que certains d'entre vous ont déjà passé plusieurs commandes je me dis qu'une bonne âme pourrait me répondre.

Voici mes questions :

  • Sur le site il faut choisir le menu "Projects, service / PCB Service"
  • puis "PCB Standard Service, 2-layer"
  • size : 10 x10 CM (RAS)
  • Penalization : ?? c'est là que j'ai un problème : quelle option choisir et pourquoi ? J'avoue avoir un peu de mal avec l'anglais  :-\
  • color : Red(RAS)

D'autre part quel doit être le format des fichiers à transmettre ?

Quel est votre avis sur la qualité des PCB réalisés par ElectroDragon ?

Merci d'avance pour votre aide.

5
Modélisation, Architectures logicielles et matérielles / Re : SGDD
« le: décembre 29, 2015, 08:42:58 am »
Bonjour Denis,

Tout d'abord je vous présente à tous, mes meilleurs vœux pour cette année 2016 qui pointe le bout de son nez.

Je suis en train de décortiquer ton programme pour en comprendre le fonctionnement  :P. J'ai bien compris que dans SGDD(2) le programme fourni est un programme de test et que certains éléments ne sont là que pour réaliser les tests.

Cependant je me pose une question concernant le tableau global new_route_init[]. En examinant le schéma du réseau on remarque que cela correspond aux routes possibles dans le sens horaire, avec le No du block de départ puis le No du premier Turnout. Est-ce bien cela ?
Si c'est bien le cas alors je penses que le fait que le couple (122, 10) ne fasse pas parti du tableau est un oubli ou y-a-t-il une raison particulière ?  ???

Pour fixer un peu les choses :
  • BlockList = liste de tous les cantons
  • TurnoutList = liste de toutes les aiguilles
  • RouteList = liste de toutes les routes possibles dans le sens horaire
  • R_RouteList = liste de toutes les "Reserved" routes (prioritaires)
  • W_RouteList = liste de toutes les "Wanted" routes (demandées) possibles
Merci d'avance pour ta réponse.

6
Modélisation, Architectures logicielles et matérielles / Re : SGDD
« le: décembre 15, 2015, 06:17:46 pm »
Bonjour,

J'ai un petit problème de compréhension avec la liste des itinéraires réservés. Dans le système de gestion DD (2) tu dis : " par exemple, pour les cantons 131, 107, 108 et l'aiguille 2 on ne peut avoir qu'un itinéraires sur les 4 possibles..."

Pourrais-tu développer un peu car je vois bien les 4 itinéraires possibles, mais pourquoi ne peut-on avoir qu'un itinéraire sur les 4 ? La conclusion est qu'on ne s'occupe essentiellement que des aiguilles coté pointe. OK, mais il me manque le raisonnement. :(

Merci d'avance pour ta réponse.

7
Modélisation, Architectures logicielles et matérielles / Re : SGDD
« le: décembre 09, 2015, 09:10:49 pm »
Bonsoir,

Nous sommes toujours en pleine réflexion sur la mise en œuvre du CAN dans la gestion globale du réseau. Tu sembles déjà avoir pas mal avancé sur le sujet et je me demandais si tu avais déjà réalisé une « cartographie » des différents messages entre les types de cartes.

Si oui, et si cela ne fait pas partie de ton prochain article en préparation, pourrais-tu nous en dévoiler les grandes lignes.

Merci d’avance.

8
Bus CAN / Re : Le bus CAN
« le: novembre 28, 2015, 02:46:57 pm »
Bonjour,

Tout d’abord j’espère avoir posté ma question dans le bon fil.

J’ai vu sur le net des cartes SPI-CAN mais avec des quartz à 8 MHz ou 20 MHz du coup en regardant le code de la CAN_BUS_Shield j’ai remarqué qu’il y avait des constantes (MCP_16MHz_200kBPS_CFG1, MCP_16MHz_200kBPS_CFG2, …) qui permettent de configurer les registres du MCP2515 CNF1, CHF2 et CNF3. Cependant ces constantes sont déterminées pour une FOSC = 16 MHz.

J’ai essayé de trouver la logique pour adapter ces constantes à d’autres fréquences, mais j’avoue ne pas en avoir trouvée. J’ai bien sûr regardé le datasheet du 2515, mais j’avoue avoir du mal avec les subtilités de l’anglais. :-[

Y-a-t-il une logique pour déterminer BRP, PRSEG, PHSEG1, PHSEG2 en fonction(FOSC, BitRate) afin de pouvoir paramétrer correctement les registres CNF1, CNF2 et CNF3.

Merci d'avance

9
Modélisation, Architectures logicielles et matérielles / Re : SGDD
« le: novembre 24, 2015, 02:50:20 pm »
Merci,

Je vais mettre en pratique sur un exemple de réseau.  :)

10
Présentez vous ! / Bonjour de Bretagne
« le: novembre 23, 2015, 09:35:53 pm »
Bonjour à tous,

L'age de la retraite arrivé je me suis décidé à ressortir mon petit train (échelle N) acheté il y a plusieurs années, mais que je n'avais jamais eu le temps de mettre en œuvre.

Ayant un collègue qui a construit son réseau depuis quelques année déjà (échelle HO) et qui avait un projet de créer un logiciel pour piloter son train. nous avons décidé d'unir nos efforts pour faire progresser nos deux projets ensemble.

Lui réseau HO existant, "automatisme pilotage" à base de PIC, logiciel sur PC, communication entre cartes liaison Rs485.

Moi réseau N à imaginer et à construire, "pilotage automatisme" à base d'Arduino, logiciel sur PC (le même), communication entre cartes Rs485.

Depuis que nous suivons le site et le forum LOCODUINO, nous sommes en train de regarder la possibilité de remplacer le bus Rs485 par un bus CAN qui a l'air bien séduisant.
On se pose une question sur comment relier le PC (USB) au bus CAN. Connaissez vous une carte USB-CAN ou tout autre moyen de raccorder le PC au Bus CAN ?

J'ai aussi était très intéressé par le système de gestion DD, j’attends la suite avec impatience.

Pages: [1]