Welcome! Log In Create A New Profile

Advanced

Ajout de commande dans marlin firmware

Posted by Mister Fab 
Ajout de commande dans marlin firmware
May 01, 2016 09:28AM
Salut à tous.

J'ai déjà posté dans le forum international sans succès

J'ai besoin de lancer la commande M107 quand je sélectionne arrêt sur l'écran de ma prusa i3.
Est ce que quelqu'un pourrait m'aider?
Re: Ajout de commande dans marlin firmware
May 02, 2016 05:37AM
Je veux bien jeter un œil au code de Marlin pour voir si je saurais faire ça, mais il faudrait me dire quelle version tu utilises (lien github ou autre) ?


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 02, 2016 06:56AM
Salut DeuxVis,

Merci pour ta réponse.

J'utilise le firmware de EmotionTech prusa i3 rework 1.5
Marlin prusa i3 rework 1.5

J'ai déjà commencé à regarder le code mais je ne suis pas assez expert en arduino.

J'ai trouvé ce qui correspond au menu affiché dans le fichier ultralcd.cpp

"arrêter l'impression" correspond à la variable MSG_STOP_PRINT que l'on trouve dans le fichier language.h

Après je ne comprends pas comment la selection est validée et à quoi elle renvoie.

Edited 2 time(s). Last edit at 05/02/2016 07:00AM by Mister Fab.
Re: Ajout de commande dans marlin firmware
May 02, 2016 07:12AM
Par ailleurs quand tu dis " je sélectionne arrêt sur l'écran", tu parles de l'écran LCD ? Si oui quel modèle de LCD (la configuration de Marlin utilisée pour l'activer m’intéresse) et est-ce qu'il s'agit d'une entrée de menu "Arreter impr." ou bien "Arret" ?

Ah pardon ta réponse à croisé mon deuxième post. Je vais regarder ça.

Edited 2 time(s). Last edit at 05/02/2016 07:13AM by DeuxVis.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 02, 2016 07:29AM
Je pense que j'ai trouvé.

Dans le fichier ultralcd.cpp trouves cette fonction et ajoutes-y la ligne en gras :

static void lcd_sdcard_stop()
{
    card.sdprinting = false;
    card.closefile();
    quickStop();
    if(SD_FINISHED_STEPPERRELEASE)
    {
        enquecommand_P(PSTR(SD_FINISHED_RELEASECOMMAND));
    }
    autotempShutdown();

    fanSpeed = 0;

    cancel_heatup = true;
}


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 02, 2016 07:41AM
Et pour ton autre question dans la partie anglophone "add an external emergency stop button" il doit y avoir ce qu'il faut dans Marlin est c'est déjà cablé dans ta configuration :

extrait de pins.h :
#if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
    #define KILL_PIN           41
#else
    #define KILL_PIN           -1
#endif

Or justement dans Configuration.h :
#define REPRAP_DISCOUNT_SMART_CONTROLLER

Ça me laisse supposer que c'est déjà relié à un bouton de ton LCD.

Edited 1 time(s). Last edit at 05/02/2016 07:42AM by DeuxVis.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 02, 2016 07:45AM
Ah par contre ça ne coupe pas explicitement le "ventilo" comme un M107 avec ce "kill pin". Il doit supposer que couper l'alimentation suffit.

Si jamais ça ne marche pas pour toi il faut rajouter le fanSpeed = 0; dans cette fonction de Marlin_main.cpp :
void kill()
{
  cli(); // Stop interrupts
  disable_heater();

  disable_x();
  disable_y();
  disable_z();
  disable_e0();
  disable_e1();
  disable_e2();

#if defined(PS_ON_PIN) && PS_ON_PIN > -1
  pinMode(PS_ON_PIN,INPUT);
#endif
  SERIAL_ERROR_START;
  SERIAL_ERRORLNPGM(MSG_ERR_KILLED);
  LCD_ALERTMESSAGEPGM(MSG_KILLED);
  suicide();
  while(1) { /* Intentionally left empty */ } // Wait for reset
}

Edited 1 time(s). Last edit at 05/02/2016 07:46AM by DeuxVis.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 02, 2016 07:57AM
Ouais d'après les schémas électriques et c'est le bouton "reset" à coté du LCD qui est connecté au pin 41.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 02, 2016 10:10AM
Ouahou !

Merci pour tout ça. Je teste dès que j'ai un peu de temps et je te dis comment ça a fonctionné.

La commande me sert pour une modif de la prusa avec un laser, qui est commandé par m106 et m107.le problème c'est qu'il ne s'arrête pas avec la commande stop du lcd.
Et du coup le bouton d'urgence aurait la même fonction, car jai déjà un bouton urgence qui coupe l'alimentation, mais je préférerais ne pas redémarrer le système à chaque fois.
Re: Ajout de commande dans marlin firmware
May 02, 2016 10:46AM
Euh oui je me suis peut-être un peu emporté, essayes-ça une étape à la fois.

Et si jamais la première suggestion (ajout de fanSpeed = 0;) ne fonctionne pas essaye aussi de mettre ça juste après, j'ai un doute :

    analogWrite(FAN_PIN, 0);


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: Ajout de commande dans marlin firmware
May 03, 2016 09:50AM
Bon, après test, j'ai essayé

fanSpeed = 0;

ça n'a pas fonctionné, puis j'ai remplacé par

analogWrite(FAN_PIN, 0);

qui n'a pas fonctionné non plus.

Par contre, j'ai cherché le bouton sur le LCD, je l'avais complètement oublié car peu visible dans le boitier que j'ai imprimé.

Celui ci fonctionne et me stoppe bien tout sans faire de modification à marlin. Par contre, il fait planter le firmware, je dois déconnecter et reconnecter repetier et ça le relance, ou éteindre physiquement l'alimentation.

Y'a quand même du mieux! winking smiley

Edited 1 time(s). Last edit at 05/03/2016 09:51AM by Mister Fab.
Re: Ajout de commande dans marlin firmware
May 03, 2016 10:11AM
Quote
Mister Fab
Bon, après test, j'ai essayé

fanSpeed = 0;

ça n'a pas fonctionné, puis j'ai remplacé par

analogWrite(FAN_PIN, 0);

qui n'a pas fonctionné non plus.

Étonnant, la première version fait vraiment la même chose qu'un M107.
Les commandes M107 / M106 marchent bien comme tu veux au fait ?


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Sorry, only registered users may post in this forum.

Click here to login