Welcome! Log In Create A New Profile

Advanced

Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!

Posted by MagoKimbra 
Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
May 05, 2014 09:30AM
Questa vuole essere un piccola guida per aggiornare il vostro firmware senza combinare casini e perdersi nelle linee di codice.
Innanzitutto serve questo software gratuito, molto ma molto utile anche per tante altre cose. Winmerge.
Qual'è il problema, quando marlin rilascia delle modifiche al firmware, dobbiamo aggiornare i nostri file senza perderci le nostre modifiche, come possiamo fare? Usiamo Winmerge.
Apriamo winmerge e ci ci chiederà di scegliere due file uno per la finestra di sinistra e uno per la finestra di destra.

Nella finestra di sinistra mettiamo il file del nuovo firmware scaricato dal sito marlin, in quella di destra la nostra versione.

Questa è quello che abbiamo, a sinistra ci sono due colonne con delle linee gialle, il software ha individuato delle differenze. Spostiamoci con il cursore su quelle linee.
In questo esempio vediamo che è stata aggiunta una scheda nuova, non fa parte delle nostre modifiche. Quindi possiamo aggiungere quella linea al nostro file.
Premiamo il tasto destro con il cursore su quella linea.

Come vedete appare un menù a tendina e la prima funzione è copia a destra. La cosa carina che winmerge avrà già aggiunto una riga vuota a destra per indicarci che li manca una riga rispetto a sinistra, quindi cliccando sul tasto copia a destra andremo ad aggiungere la linea senza andare ad intaccare il nostro file. Cioè se in quella linea c'era qualcosa verrà spostata di uno sotto.


Una volta cliccato il tasto copia avremo la nuova riga anche nel nostro file.

Questo è quello che otteniamo..

Andiamo avanti per tutte le differenze. Quando però incontreremo una differenza sul nostro file che invece interessa mantenere, vedi step o altre cose, manteniamo le cose come stanno.
Alla fine basterà salvare il tutto e avremmo aggiornato il file con le nuove modifiche.
I file che normalmente non vengono toccati li possiamo copiare cosi come sono nella nostra cartella.
Compiliamo il tutto e mandiamo alla scheda.

Consiglio fatevi sempre una copia backup del vostro ultimo firmware che va.

Ciao e alla prossima....


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: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
May 08, 2014 02:48AM
Grazie Alberto, anche questo è molto interessante. In pratica è un comparatore di script: si può usare per tutto? Tipo due documenti PDF ?

Edited 1 time(s). Last edit at 05/08/2014 02:51AM by Nicola P.


R2 Evo-Prometeo-Poseidon-Titan0
Multiextruder NPr3-WR4
[www.3dmakerlab.it]
Licenza Creative Commons
Re: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
May 08, 2014 05:18AM
Si si può usare per tutto, certo che però nei file che contengono dati in binario la cosa diventa più complessa, i PDF per esempio, però si può fare...


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: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
August 04, 2016 03:44PM
Riprendo un momento questo discussione, se non ricordo i parametri che ho impostato a mio tempo in marlinkimbra e mi ritrovo ora a doverlo aggiornare, posso fare la stessa cosa? Cioè, creo il file zip con il configuratore sul sito del mago e una vilta scaricato faccio la conparazione del configuration.h. Una volta fatto questo devo anche apportare le modifiche agli altri file o si aggiornano quanfo compilo il tutto? Intendo file x gli assi ecc?

Grazie grinning smiley


Prusa i3 Rework
Arduino Mega - Ramps 1.4 - Hot End IEC 2.1 Ottone - per filo 1,75 mm : 0,30 - Driver DRV8825 - Marlinkimbra 4.2.87 - Slic3r - Repetier Host
Re: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
August 05, 2016 02:56AM
il winmerge è un comparatore di file di testo molto ben fatto che ti permette di evidenziare le differenze tra due file. La stessa cosa (più o meno) la puoi fare anche con altri software (per esempio in notepad++ c'è un plugin "quasi obbligatorio" che lo fa) ma c'era anche in ultraedit.
Ti permette di capire quali cose sono cambiate....certo che da una versione molto vecchia ad una molto nuova troverai presumo molte differenze anche sul come sono state chiamate le voci... boo... comunque alla fine anche "leggendolo" dovresti riuscire a venirne a capo.
Comunque se hai il vecchio configuration.h prova a compararlo con l'overall.h: assi, lcd, endstop, velocità, settaggi termici è tutto settato e raggruppato in configuration_overall: tu alla fine devi modificare quello (e basta in teoria) poi riapri l'MK.ino (vedrai che si ricarica anche altri configuration tra cui l'overral) controlli con la "V" e poi invii. Una volta fatto apri pronterface e provi a muovere assi, scaldare eccetera, casomai intervieni di nuovo sul overral e ricompili.

In pratica quello che accade è che tutti i file contenuti nella directory di sketch vengono compilati dall'IDE di arduino per il processore montato sulla stampante (Atmel Atmega328?). All'interno dell'overall ci sono dei #DEFINE ossia delle direttive al compilatore che fanno si che determinate parti di codice o determinati settaggi/valori vengano tradotti direttamente nel binario compilato. L'Atmel che riceve il compilato non ha quindi "dei file di configurazione" e non ha neanche un "sistema operativo", ha solo una piccola memoria flash che accoglie questo codice binario e lo esegue (solo quel binario che gli hai passato). Quindi per farti un esempio se dopo aver installato l'MK compili il programma d'esempio Blink e gli spari dentro il Blink il tuo arduino perderà il Firmware e comincerà a far lampeggiare il led come uno stupido fintanto che non gli manderei un altro binario compilato per lui.
Per questo ieri non capivo sta cosa del perchè mi dicevi che "non compilava ma prendeva le modifiche agli assi"... non è normale.
Re: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
August 05, 2016 09:06AM
Ecco cosa vien fuori se paragono il Configuration_basic del nuovo mk e il Configuration del vecchio mk:

[a68.tinypic.com]

Qualche consiglio su come procedere? Grazie smiling smiley



Quote
qsecofr
il winmerge è un comparatore di file di testo molto ben fatto che ti permette di evidenziare le differenze tra due file. La stessa cosa (più o meno) la puoi fare anche con altri software (per esempio in notepad++ c'è un plugin "quasi obbligatorio" che lo fa) ma c'era anche in ultraedit.
Ti permette di capire quali cose sono cambiate....certo che da una versione molto vecchia ad una molto nuova troverai presumo molte differenze anche sul come sono state chiamate le voci... boo... comunque alla fine anche "leggendolo" dovresti riuscire a venirne a capo.
Comunque se hai il vecchio configuration.h prova a compararlo con l'overall.h: assi, lcd, endstop, velocità, settaggi termici è tutto settato e raggruppato in configuration_overall: tu alla fine devi modificare quello (e basta in teoria) poi riapri l'MK.ino (vedrai che si ricarica anche altri configuration tra cui l'overral) controlli con la "V" e poi invii. Una volta fatto apri pronterface e provi a muovere assi, scaldare eccetera, casomai intervieni di nuovo sul overral e ricompili.

In pratica quello che accade è che tutti i file contenuti nella directory di sketch vengono compilati dall'IDE di arduino per il processore montato sulla stampante (Atmel Atmega328?). All'interno dell'overall ci sono dei #DEFINE ossia delle direttive al compilatore che fanno si che determinate parti di codice o determinati settaggi/valori vengano tradotti direttamente nel binario compilato. L'Atmel che riceve il compilato non ha quindi "dei file di configurazione" e non ha neanche un "sistema operativo", ha solo una piccola memoria flash che accoglie questo codice binario e lo esegue (solo quel binario che gli hai passato). Quindi per farti un esempio se dopo aver installato l'MK compili il programma d'esempio Blink e gli spari dentro il Blink il tuo arduino perderà il Firmware e comincerà a far lampeggiare il led come uno stupido fintanto che non gli manderei un altro binario compilato per lui.
Per questo ieri non capivo sta cosa del perchè mi dicevi che "non compilava ma prendeva le modifiche agli assi"... non è normale.


Prusa i3 Rework
Arduino Mega - Ramps 1.4 - Hot End IEC 2.1 Ottone - per filo 1,75 mm : 0,30 - Driver DRV8825 - Marlinkimbra 4.2.87 - Slic3r - Repetier Host
Re: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
August 05, 2016 09:49AM
è un ottimo inizio direi grinning smiley

Allora intanto il nuovo MK ha tanti file di configurazione non uno unico ma i settings sono raggruppati e come dire "sovrascritti/Ridefiniti" dall'overall. Quindi non dovrebbe essere necessario modificare gli altri file: anzi ripeto i DEFINE che setti nell'overall adranno poi a ridefinire i singoli file di configurazione quindi potresti fare il lavoro per nulla. Dai anche una letta "umana" al configuration_overral.h: vedrai che non ci sono alla fine tantissimi settings ed è abbastanza interpretabile.

Quello che vedi è dovuto ad una diversa interpretazione dei file di testo nei vari sistemi operativi: unix usa il solo LF (carriage return) mentre tutti i sistemi win usano per andare a capo 2 byte: il CR(carriage return) e l 'Lf'. Se apri il file con il solo LF sotto notepad vedrai che è un papacchio unico senza a capo riga, apri lo stesso file con wordpad e va a capo... (mi pare almeno).... fa che s'arrangi winmerge o il tuo editor di testo su 'ste faccende "binarie" smiling smiley

Edited 1 time(s). Last edit at 08/05/2016 09:58AM by qsecofr.
Re: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
April 07, 2018 10:48AM
Ho scaricato la nuova versione di Mk (4.3.5) e provato a modificare gli end stop per invertirli. aprendo l'host, i risultati restano sempre gli stessi. la stessa operazione con versioni precedenti mi dava risultati positivi.Ho una cartesiana,gli endstop sono tre schede eletteroniche con tre micro meccanici, ho provato a collegarli su v+, poi su gnd, quindi ho provato a digli "inverti selezione" senza risultato alcuno. Potrei cambiare i valori da false a true, ma nell' ide di arduino ho modificato il file overall.h, salvato e ricompilato e ricaricato ma senza risultato. Ora proverei con Win merge, le domande sono due: 1 perchè il configuratore non mi esegue le modifiche? 2 se uso winmerge posso salvarlo in un formato uguale a quello del overall.h o devo utilizzare il copia incolla?
Re: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
April 08, 2018 03:46PM
Mica ho capito nulla di quanto hai detto!!! Se riesci a spiegarti meglio..


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: Aggiustare e/o aggiornare il firmware con l'aiuto di winmerge!
April 08, 2018 05:16PM
Ripostare su un post del 2014 mi sembra il modo meno corretto per chiedere aiuto, seguire un post datato per modificare un firmware recente in genere non è molto indicato.

Mi pare di avere i tuoi stessi endstop e li ho collegati così:

il S l'ho collegato all' S della RAMPS.

la massa l'ho collegata alla massa (-) della RAMPS

il +5V l'ho collegato ad un alimentatore aggiuntivo a 5V (per non caricare troppo l'alimentatore di bordo con il consumo dei tre LED).

Nei settaggi di MK4duo nel configuratore online ho messo Electronic, normally +5v nelle caselle realtive ad ogni asse.

E tutto funziona a dovere.

Se usi la modifica dei #define (cosa che non è molto consigliabile) posso supporre derivando i valori dal mio Configuration_overall.h che in teoria dovresti settare

#define ENDSTOPPULLUP_XMIN false

e in questo modo disabiliti le resistenze interne di pullup

#define X_MIN_ENDSTOP_LOGIC true

Ovviamente per XMIN YMIN e ZMIN


Però se apri un nuovo post sarebbe più corretto e Mago Kimbra ti potrà aiutare meglio ed evitare di ripetersi mille volte sulle stesse cose.

Saluti

Carlo D.

Edited 1 time(s). Last edit at 04/08/2018 05:17PM by onekk.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Sorry, only registered users may post in this forum.

Click here to login