Auteur Sujet: DCC++ sur Nano avec LMD18200  (Lu 76433 fois)

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #30 le: septembre 21, 2016, 04:33:39 pm »
Voilà ton problème : tu veux un port COM précis et, par défaut, Processing ne connait que le port Serial.list()[0];

Ce que tu veux est compliqué en Processing : choisir un port dans une liste.

Processing édite une liste (Serial.list()[n]) avec n = nombre de ports détectés, c'est automatique.

La seule façon que j'aie trouvé, c'est de trier cette liste pour que le port que tu veux soit en Serial.list()[0]; (mais c'est compliqué)
Mais pas de dire "je prends le deuxième"...
Je suis quasi certain qu'on ne peut pas directement.

Peux-tu retirer ce que tu as en COM1, et ainsi ne garder que le port Arduino ?
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #31 le: septembre 21, 2016, 04:52:38 pm »
je ne pense pas (dans la limite de ce que je comprends) que le problème vienne de ce point puisque processing communique bien avec arduino avec Serial.list()[1] dans mon cas, cohérent puisqu'il trouve deux ports. Si processing affiche bien le message de version du sketch arduino, c'est qu'il communique sur le COM1. Le COM7 est celui de la carte Nano.
Il y a probablement un COM1 physique sur ma carte mère mais il n'y a pas de header sorti, mais j'imagine qu'il peut être désactivé dans le BIOS, je vais regarder au prochain arrêt.
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #32 le: septembre 21, 2016, 05:09:41 pm »
Je constate qu'il y a bien communication entre l'Arduino et Processing.

Sinon, Processing n'inventerait pas ce qu'il écrit, qui vient bien de l'Arduino :

Serial.list()[0] = COM1
Serial.list()[1] = COM7

Processing l'écrit sur la première ligne :
COM1 COM7

On peut donc considérer qu'il y a bien échange entre l'Arduino et Processing.
Donc, là n'était pas le problème.

Donc, c'est dans le programme Processing qu'il ne va pas plus loin que cet affichage.

Tu peux m'envoyer ton programme Processing STP ?
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : DCC++ sur Nano avec LMD18200
« Réponse #33 le: septembre 21, 2016, 05:31:43 pm »
j'ai bien le sketch arduino dans les diags processing :
COM1 COM7
<DCC++ BASE STATION FOR ARDUINO NANO / LMD18200 MOTOR SHIELD + MAX471: V-1.2.1-DB / Sep 21 2016 14:52:02>
<N0: SERIAL>
<p1>
<rm123|123|1 36>
m123
adresse DCC : 36
<p0>
Par contre, je n'ai qu'un clin d'oeil en vert avant de repasser instantanément en rouge.
Seul le bouton Exit semble actif avec In stop <p0> qui s'affiche dans la dite fenêtre.

Que vérifier ?


Cela prouve que la liaison série fonctionne bien dans le sens Arduino -> Processing : c'est bien ce qu'envoie l'Arduino qui fait la détection automatique d'adresse DCC et ferme le DCC ensuite (<p0>) ce qui explique que l'écran s'affiche vert un court instant et redevient rouge.
Cela prouve aussi que le sketch Processing fonctionne bien et traite les messages reçus.

Le seul bouton actif qui devrait fonctionner est le bouton en haut à gauche qui est à l'état OFF : en cliquant dessus, l'écran devrait passer à vert, ce bouton à ON et le reste doit fonctionner.

Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #34 le: septembre 21, 2016, 05:37:09 pm »
sauf deux modifs (adresse et COM) ce devrait être :
 * Manette DCC
 * by Dominique Bultez, 30 Aout 2016.
 * V0.8 31/08/16
fichier plus capture du contenu du répertoire ManetteDCC
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #35 le: septembre 21, 2016, 05:52:02 pm »
Je vois des message d'erreur dans le .pde, en particulier ligne 314 (serialEvent) ??
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #36 le: septembre 21, 2016, 08:41:23 pm »
cette ligne 314 c'est la seule référence à serialEvent :
if (myPort.available() > 0) {
    serialEvent(myPort);
}

dans le répertoire du sketch, il y a un autre sketch : SerialEvents (S et avec un s). Qui est bien lié puisque le premier sketch se plaint quand on renomme le deuxième.

mais n'ayant aucune idée sur processing ...
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #37 le: septembre 22, 2016, 10:53:15 pm »
Bonsoir,
j'ai installé DCC++ Base Station et son controller : celui-ci m'en dit un peu plus dans la barre d'en tête :
Serial port busy : /dev/tty.usbmodem1431
ce qui semble correspondre au driver du port COM émulé par l'USB (ce qui n'est pas une grande découverte)
je soupçonne que le problème peut venir de mes essais de diverses cartes arduino avec des drivers différents (le CH340 qui peut remplacer le 16U2) avec de plus une première installation manuelle du driver qui peut faire double emploi avec la détection automatique de l'IDE.
Je vais tenter de remettre la main sur une carte arduino de première génération ...
Sinon il ne me reste plus qu'à monter une manette physique. (avis bienvenus)
« Modifié: septembre 25, 2016, 01:00:32 pm par msport »
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #38 le: septembre 23, 2016, 08:19:41 am »
Je suis plutôt fan de la manette physique et concrète. Un PC ou une tablette ou un smartphone, c'est beaucoup trop de technologie et de puissance pour faire pas grand chose.

Sauf dans le cas où on développe un gestionnaire complet comme Christophe ou un TCO sophistiqué comme Denis.

Un simple Pro Mini, un potar, qq boutons, une pile et un transmetteur radio devrait permettre de faire une manette à mettre entre toutes les mains : je pense aux enfants  ::)
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #39 le: septembre 23, 2016, 08:35:51 am »
Citer
cette ligne 314 c'est la seule référence à serialEvent :
if (myPort.available() > 0) {
    serialEvent(myPort);
}

dans le répertoire du sketch, il y a un autre sketch : SerialEvents (S et avec un s). Qui est bien lié puisque le premier sketch se plaint quand on renomme le deuxième.

C'est ce que je pensais. Tel quel, seul, ce programme ne fonctionne pas.
Tant qu'il y a un messager d'erreur souligné en rouge, Processing refuse de démarrer.
Or, tu l'as fait marcher : donc, il manquait quelque chose.

Peux-tu envoyer la directory complète (en .zip) STP ?

Concernant les manettes, je suis pour une sorte de GPS pour train que j'ai déjà bien dégrossi.  ;)
http://forum.locoduino.org/index.php?topic=156.0
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #40 le: septembre 23, 2016, 11:43:23 am »
merci de vous intéresser à mon cas ...
le fichier zip devrait contenir ce qu'il y avait dans l'original - sauf accident - et sauf le répertoire MAC.
Le cahier des charges de Dominique me va : une manette à mettre entre toutes les mains : je pense aux enfants.
Au point où j'en suis (pas encore réussi à faire tourner un DCC++) je préfère démarrer modeste, avec un projet où je comprends (presque) tout.
Ce qui me semble le cas de :
http://trainelectronics.com/DCC_Arduino/DCC++/Throttle/
et qui commence bien, avec un problème de library de LCD ...
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : DCC++ sur Nano avec LMD18200
« Réponse #41 le: septembre 23, 2016, 05:02:51 pm »
Au point où j'en suis (pas encore réussi à faire tourner un DCC++) je préfère démarrer modeste, avec un projet où je comprends (presque) tout.
Ce qui me semble le cas de :
http://trainelectronics.com/DCC_Arduino/DCC++/Throttle/
et qui commence bien, avec un problème de library de LCD ...

Le projet est assez attrayant et tu peux même te passer du clavier en utilisant le bouton rotatif pour entrer des nombres (l'adresse DCC) en validant avec un autre bouton. Ça économise un paquet de temps et la manette reste petite pour simplement piloter 1 ou 2 trains.

C'est d'ailleurs ce que je tente de faire directement dans le Nano qui fait tourner DCC++ pour mon automatisme de va et vient. Et la j'en bave un peu car la mémoire manque.
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #42 le: septembre 23, 2016, 06:58:23 pm »
Bon, cette fois c'est la bonne. J'ai probablement de la chance, mais ce n'est pas interdit.
Un fois réglé les problèmes de library (je pense que l'auteur a mal vécu le passage à I2C pour l'afficheur), j'ai branché le TX de la throttle au RX du booster DCC++ et ça a marché du premier coup. (le TX se chargeant d'alimenter l'arduino du booster !)
Le temps de trouver où se trouvent les touches sur mon clavier 4x4, de sélectionner l'adresse de ma loco avec quelques rebonds ou parasites en plus, et ça roule !
Cerise sur le gâteau, au hasard des touches de fonction, voila que mon locotracteur V36 se met à me faire la séquence du décrochage automatique dont je rêvais depuis son acquisition après l'avoir deviné dans la traduction automatique de l'allemand de la notice.
Du bonheur !
Merci pour votre aide et la mise en ligne de vos projets.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #43 le: septembre 23, 2016, 07:34:25 pm »
Alors là je dis bravo  8) 8) 8)

Et j'espère voir bientôt ta réalisation dans ces pages de Locoduino !

Amicalement
Dominique
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : DCC++ sur Nano avec LMD18200
« Réponse #44 le: septembre 23, 2016, 08:00:59 pm »
Ah que moi aussi  8)

Je vais quand même un peu décortiquer ce que tu m'as envoyé.
Ce n'est pas parce que tu la fais marcher directement qu'on ne peux pas regarder aussi pour le faire marcher via Processing.

"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)