Dcc++

Re: Dcc++

Messagepar jpp38 » 30 Mars 2018, 09:42

msport a écrit:Vérification de la com avec l'IDE


Quel IDE?


msport a écrit:puis émotion ! 98 char lus avec le welcome de l'arduino, :cool: mais c'est reparti sur cannot read puis IMPOSSIBLE ... :(


Peux-tu me détailler ça? Il n'a pas affiché la chaine de caractères qui suit?

Dans ce mode de dialogue, il faut vraiment me donner tous les détails des messages qu'il affiche. Il n'y a que de cette façon que je peux localiser où ça coince.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar msport » 30 Mars 2018, 09:46

ça été trop vite effacé ... Mais à priori, c'était la chaine initiale (mise sous tension, réinitialisation, réponse à <s>)

je vais tenter de rééditer l'exploit (photo)

Un début de recherche sur Google avec "communication arduino depuis programme c++"

m'a amené à :
https://forum.arduino.cc/index.php?topic=365427.0

où j'ai relevé :
Giving the Arduino time to reset was the key missing ingridient. I literally used sleep( 2 seconds) and everything worked (without even using any serial object code). So I was sending the data too fast before the Arduino had a chance to set up.

Effectivement chaque lancement du serial monitor réinitialise l'Arduino ... Donc j'imagine que c'est le cas de toute action qui ouvre le port COM.
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

Re: Dcc++

Messagepar jpp38 » 30 Mars 2018, 09:52

msport a écrit:Effectivement chaque lancement du serial monitor réinitialise l'Arduino ... Donc j'imagine que c'est le cas de toute action qui ouvre le port COM.


Oui, c'est sûr. Mais là, j'ai mis la tempo à 3 secondes!!!

En fait, chez moi, la réponse à la commande <s> provoque la série de messages suivants:

1) 4 caractères
2) <p0>
3) xxx caractères (nombre élevé): la chaine ARDUINO contenant la version
4) la chaine ARDUINO C'est de cette chaine que j'extrais le numéro de version.
Mais à ce niveau, en principe, la connexion est établie.
je lis ensuite toutes les informations qui sont débitées par cette commande <s>
5) <X>
6) <X>
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar jpp38 » 30 Mars 2018, 10:35

Voilà la DLL sur COM6 uniquement.

DDGI_DCCpp_COM6.dll
(70.55 Kio) Téléchargé 41 fois


JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar msport » 30 Mars 2018, 10:48

La séquence présentée dans l'ordre inverse (pas de 9 et de 13):
Pièces jointes
msg15.jpg
msg15.jpg (39.5 Kio) Consulté 1147 fois
msg14.jpg
msg14.jpg (15.87 Kio) Consulté 1138 fois
msg12.jpg
msg12.jpg (27.63 Kio) Consulté 1129 fois
msg11.jpg
msg11.jpg (16.24 Kio) Consulté 1100 fois
msg10.jpg
msg10.jpg (25.54 Kio) Consulté 1081 fois
msg8.jpg
msg8.jpg (30.56 Kio) Consulté 1066 fois
msg7.jpg
msg6.jpg
msg5.jpg
msg5.jpg (23.82 Kio) Consulté 1088 fois
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

Re: Dcc++

Messagepar jpp38 » 30 Mars 2018, 13:50

Merci. OK. Vu!

C'est parce qu'il ne sort pas les mêmes infos, ou pas dans le même ordre, que je ne les reconnais pas.
J'attends le numéro de version en deuxième, pas en premier.

Je corrige ça en ne faisant pas de supposition sur l'ordre de réception.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar jpp38 » 30 Mars 2018, 14:07

Nouvelle tentative.

DDGI_DCCpp_COM6_2.dll
(70.05 Kio) Téléchargé 45 fois


JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar msport » 30 Mars 2018, 18:52

A priori, on ne se fait plus jeter ...
A bientôt
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

Re: Dcc++

Messagepar jpp38 » 30 Mars 2018, 19:08

Merci du retour.

Si ça a l'air de passer, voici la même version nettoyée de ses commentaires.

DDGI_DCCpp5.dll
(69.55 Kio) Téléchargé 66 fois


Si ça marche, on doit voir une fenêtre avec le port COM, la vitesse de transmission, et la version de DCC++.

A partir de là, on passe dans un mode totalement différent, géré par le "thread" interne de la DLL.
Pour voir les commandes envoyées, et les réponses de la base, on peut visualiser la FIFO de commande, par

- cliquer sur "..." tout-à-fait à droite de la barre de menu (debug)
- Dans la première fenêtre déroulante, cliquer sur "RUN" en bas de la fenêtre.
- Dans la deuxième fenêtre qui s'affiche, cliquer sur "Cmd FIFO" vers le bas de la fenêtre.

La fenêtre des commandes envoyées et reçues apparaît.

Pour commencer, les commandes les plus simples sont (depuis l'onglet "Interface") :
- Rétablir le fonctionnement (rESUME OPERATIONS)
- Coupure de l'alimentation (POWER OFF) vérifiable sur les LEDS du motor shield
- Arrêt d'urgence (EMERGENCY STOP).

Puis, créer un contrôleur de train: voir ce lien


Merci et bon week-end. (je reviens lundi).

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Dcc++

Messagepar msport » 30 Mars 2018, 20:18

En cherchant les œufs, j'ai vu qu'à la ligne 161 du module principal, il y un " COM < 10 " qui doit expliquer le problème du COM10.
Joyeuses Pâques.
A bientôt.
msport
 
Messages: 102
Inscrit le: 20 Décembre 2016, 15:15
Localisation: du coté de Nice

PrécédentSuivant

Retourner vers Le coin des bricoleurs (électronique)

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité