Welcome! Log In Create A New Profile

Advanced

Aggiunta comando menu lcd Marlin

Posted by enricodare 
Aggiunta comando menu lcd Marlin
July 16, 2014 06:35AM
Ciao,
seppur lette varie cose tipo [forums.reprap.org]
la mia inpreparazione in merito non mi consente di aggiungere un comando al menu che credo possa essere utile a tutti.
C'è il comando per mandare in home tutti gli assi, ma se volessi mandare in home solo z per livellare in vecchio stile il piano?

Grande Mago, grazie in anticipo perchè immagino sia pasta per i tuoi denti.


Enrico

[www.dapa3dservice.it] [www.studiodapa.it]
repstrap dApA, Ramps 1.4, MarlinKimbra / scanner 3D Cubify Sense / Formlabs Form 2
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 07:12AM
Enrico, in che voce del menu lo vuoi quel comando?
Credo si possa fare facilmente, sto guardando ora, basta aggiungere due righe di codice.


---- "Let me make my move" ----
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 09:22AM
magari sotto home all axes

e sarebbe allora possibile dire

1 ti alzi di 5mm, aspetti 10 secondi, e poi fai lo z?

con il nome "home z for calib" ?

Grazie


Enrico

[www.dapa3dservice.it] [www.studiodapa.it]
repstrap dApA, Ramps 1.4, MarlinKimbra / scanner 3D Cubify Sense / Formlabs Form 2
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 11:33AM
Uhm quella combinazione è un po' più complicata, aspetto MagoKimbra per delucidazioni.

Un conto è dare un G28 Z0 per fare l'home del Z, un'altro è concatenare vari comandi. Mago dici che è possibile richiamare Z_RAISE_BEFORE_HOMING presente nel configuration.h da ultralcd.cpp?
Sto ancora imparando il C++...

Intanto ti metto l'homing in Z. Mago controlla se ho fatto bene smiling smiley

Vai in language.h e inserisci nella lista //LCD Menu Messages che trovi dopo riga 74:
#define MSG_HOME_Z "Home Z for calib"

Poi apri il file ultracd.cpp e vai alla riga 567 dove trovi scritto MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); e inserisci appena sotto:
MENU_ITEM(gcode, MSG_HOME_Z, PSTR("G28 Z0"));

Salva, compila e carica, dovrebbe funzionare, ci dovrebbe essere una nuova voce sotto Auto Home nel menu Prepare


---- "Let me make my move" ----
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 11:55AM
Grazie Gordie,
quando ti metti sei un Sacramento di programmatore ;-)

ciao


Enrico

[www.dapa3dservice.it] [www.studiodapa.it]
repstrap dApA, Ramps 1.4, MarlinKimbra / scanner 3D Cubify Sense / Formlabs Form 2
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 12:33PM
Grande Gordie!!!!
Ma...

Fai quello che ha scritto Gordie in language.h.
In Ultralcd.ccp dove diceva Gordie metti cosi:

MENU_ITEM(function, MSG_HOME_Z, lcd_home_z_calib);

Sempre nello stesso file metti solo la parte rossa, l'altra serve solo per farti trovare la posizione.
#ifdef SDSUPPORT
static void lcd_autostart_sd()
{
    card.lastnr=0;
    card.setroot();
    card.checkautostart(true);
}
#endif

static void lcd_home_z_calib()
{
	enquecommand_P(PSTR("G1 Z1")); // Comando Z a 1
	enquecommand_P(PSTR("M998 T10000")); // Comando ritardo 10000 millisecondi (10s)
	enquecommand_P(PSTR("G28 Z0")); // Comando fa la home di Z
}

Poi in Marlin_main.ccp, sempre solo la parte rossa...
break;
    case 998:  // M998 Add Txxxxx milliseconds delay
    {
      if(code_seen('T')) delay(code_value());
    }
    break;
    case 999: // M999: Restart after being stopped
      Stopped = false;
      lcd_reset_alert_level();
      gcode_LastN = Stopped_gcode_LastN;
      FlushSerialRequestResend();
    break;


Questo aggiunge un Mcode: M998 Txxxx dove xxxx sono i millisecondi di delay,magari può essere utile anche per altro...
Allego ultralcd.ccp già modificato, va modificato solo marlin_main che non metto perché ho molte mie modifiche personali... Non che non le voglio dare e che non so se poi ti funziona senza altri file....

Edited 1 time(s). Last edit at 07/16/2014 12:35PM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Attachments:
open | download - ultralcd.cpp (49.7 KB)
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 12:37PM
Cmq tutto quello che ha fatto Gordie era perfetto... Non volevo fare il più figo... é che oramai lo avevo fatto e quindi l'ho messo...........


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 12:39PM
Ok il tuo, MagoKimbra, risolve la richiesta di Enrico.
Il mio invece faceva solo l'homing in Z senza sollevamento e pausa. Avevo quindi scritto giusto per fare solo l'homing?
Così magari chi vuol fare solo l'homing in Z segue il mio codice.
Grazie Mago smiling smiley

Edit: Scritto il messaggio in contemporanea con Mago quindi presumo che sì è giusto anche il mio codice solo per fare homing in Z

Edited 1 time(s). Last edit at 07/16/2014 12:41PM by Gordie.


---- "Let me make my move" ----
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 12:43PM
Si si quella era la strada giusta con un solo comando... Anche io avevo iniziato cosi, ma non ero riuscito a trovare un modo semplice per fare una sequenza di comandi. E quindi alla fine ho fatto la function...
Nel modo tuo si possono tranquillamente aggiungere comandi all'LCD...

Una cosa se per farsi modifiche proprie al menu, senza aggiungere modifiche al language.h bastava anche fare cosi:
MENU_ITEM(gcode,"Home Z for calib", PSTR("G28 Z0"));

Quello che hai fatto tu è il più giusto, anche perché se vuoi poi localizzare basta cambiare language.h. Però se parliamo di modifiche personali che non andranno mai in giro meglio fare in questo modo..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 12:50PM
Non c'è che dire, siamo una squadra fortissimi, fatta di gente fantastici!

Grazie ad entrambi

P.S. a questo punto, se voglio anche disabilitare i motori devo mettere

static void lcd_home_z_calib()
{
enquecommand_P(PSTR("G1 Z1")); // Comando Z a 1
enquecommand_P(PSTR("M998 T10000")); // Comando ritardo 10000 millisecondi (10s)
enquecommand_P(PSTR("G28 Z0")); // Comando fa la home di Z
enquecommand_P(PSTR("M18")); // Disabilita stepper
}

Così sposto il piano a mano

Giusto?

Edited 2 time(s). Last edit at 07/16/2014 12:56PM by enricodare.


Enrico

[www.dapa3dservice.it] [www.studiodapa.it]
repstrap dApA, Ramps 1.4, MarlinKimbra / scanner 3D Cubify Sense / Formlabs Form 2
Re: Aggiunta comando menu lcd Marlin
July 16, 2014 02:00PM
Puoi mettere tutti i comandi gcode che vuoi.... Ma non esagerare è tutto codice in più che va in memoria di arduino...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 18, 2014 09:02PM
Grazie ragazzi, siete proprio illuminanti...quasi quasi comincio a capirci qualcosa anche io...

Già che ci siete, come si fa a far attendere la fine dell'esecuzione di un comando prima di cominciarne un'altro?
Mi spiego, se uso quello appena inserito (M998 T10000) la macchina attende la fine dei 10 secondi e poi passa al comando successivo o vale solo in alcuni casi? Lo chiedo perchè usando gli alimentatori ATX, ho fatto si che alla fine della stampa il carrello si spostasse in posizione avanzata e la stampante si spegnesse, ma questo non succede perchè il comando M81 parte prima che il carrello sia in posizione: temo però che sul controllo del posizionamento si possa fare poco senza un encoder o sbaglio? Con quel timer risolvo (scusate ...ho le stampanti occupate e non riesco a provare)
Grazie


R2 Evo-Prometeo-Poseidon-Titan0
Multiextruder NPr3-WR4
[www.3dmakerlab.it]
Licenza Creative Commons
Re: Aggiunta comando menu lcd Marlin
July 19, 2014 02:39AM
Nicola anche io faccio cosi:
G1 X0 Y260 Z5 F8000
M81
e funziona perfettamente, perché fino a quando non ha finito il primo comando il firmware non esegue il secondo. Non capisco perché a te si spenga prima....


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 19, 2014 03:54AM
Se non lo capisci tu, figurati io smiling smiley

In merito alla riga che hai riportato, la z ti scende in contemporanea del movimento x e y o parte in sequenza?x poi y poi z?
Nello start gcode di cura , a fine stampa si alza di 5 col comando g1 z+5 , quindi aggiunge 5 alla all'ultimo valore di z: perchè se invece aggiungo in un comando G1 qualsiasi un "+"davanti al valore me lo prende come valore assoluto?

Edited 1 time(s). Last edit at 07/19/2014 04:02AM by Nicola P.


R2 Evo-Prometeo-Poseidon-Titan0
Multiextruder NPr3-WR4
[www.3dmakerlab.it]
Licenza Creative Commons
Re: Aggiunta comando menu lcd Marlin
July 19, 2014 04:14AM
Per la prima domanda il movimento lo fa in contemporanea si sposta di x y e z.
Per quanto riguarda Cura prima del comando G1 z+5 c'è G91 che rende le coordinate relative quindi si sposta relativamente all'ultima z di +5, poi rimette le cose a posto mettendo G90 che rende le coordinate assolute quindi g1 z+5 va da 0 a 5...
Se vuoi fare anche tu la stessa cosa basta che metti prima del comando g1 il comando G91 e poi di nuovo G90!!

Per quanto riguarda quel tuo problema, non so che dirti, forse la versione marlin che hai, oppure qualche setting. Ci studio su e ti faccio sapere. Prova ad aggiungere il comando m998 che con il delay, ma se prima di finire il comando di spostamento esegue il delay farà la stessa cosa, perché la stampante si blocca proprio durante il delay.

Edited 1 time(s). Last edit at 07/19/2014 04:17AM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 20, 2014 07:33AM
Salve,
la discussione interessa anche a me, si potrebbe aggiungere nel menu il tempo mancante di stampa togliendo il tempo di avvio stampa?
Re: Aggiunta comando menu lcd Marlin
July 20, 2014 01:43PM
Ma già c'è! quello in basso dove c'è scritto ETA xx:xx è il tempo che manca (teorico)...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 21, 2014 05:09PM
Ciao!
Comunque si vede nel firmware merlin il tempo di avvio e la barra che dice quanto manca, io vorrei il tempo mancante.


Quote
MagoKimbra
Ma già c'è! quello in basso dove c'è scritto ETA xx:xx è il tempo che manca (teorico)...
Re: Aggiunta comando menu lcd Marlin
July 22, 2014 06:20AM
Ma tu hai il display grafico?
Se si bisogna intervenire sulla libreria del lcd grafico che trasforma i numeri in grafica, la cosa diventa un po più difficile... Io dico vi fate quello grafico e poi volete i numeri???


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Aggiunta comando menu lcd Marlin
July 22, 2014 02:45PM
Si ho quello grafico però è inutile sapere quando è partita la stampante, trovo più utile il tempo mancante e il grafico sotto.

Quote
MagoKimbra
Ma tu hai il display grafico?
Se si bisogna intervenire sulla libreria del lcd grafico che trasforma i numeri in grafica, la cosa diventa un po più difficile... Io dico vi fate quello grafico e poi volete i numeri???
Sorry, only registered users may post in this forum.

Click here to login