Welcome! Log In Create A New Profile

Advanced

MK4duo e pins e features

Posted by claustro 
MK4duo e pins e features
April 15, 2019 03:12AM
Stavo cercando di capire come assegnare i pina su MK4duo. A differenza delle precedenti versioni dove in pin.h trovavo i valori numerici dei vari pins adesso in configuration _pins trovo solo riferimenti del genere
// X axis pins
#define X_STEP_PIN           ORIG_X_STEP_PIN
#define X_DIR_PIN            ORIG_X_DIR_PIN
#define X_ENABLE_PIN         ORIG_X_ENABLE_PIN
#define X_CS_PIN             ORIG_X_CS_PIN

Solo alcuni pin sono numerici , nel mio caso per esempio il sensore filamento che e' al pin 5 Come faccio a capire esattamente a che pin corrispondono le varie cose?

Altra domanda .
Andando a spulciare Configuration_Feature ci sono diverse funzioni interessanti . Alcune come baby stepping , nonostante funzioni =no correttamente e siano abilitate nel mio firmware le trovo commentate in questa scheda come mai?
Se volessi abilitare funzioni extra da questa scheda basta decommentare qui o devo agire anche sul config.overall ( es extrude in advance)


//#define BABYSTEPPING

// Also enable X/Y Babystepping. Not supported on DELTA!
//#define BABYSTEP_XY

// Change if Z babysteps should go the other way
#define BABYSTEP_INVERT_Z false
// Babysteps are very small. Increase for faster motion.
#define BABYSTEP_MULTIPLICATOR 1
// Enable to combine M851 and Babystepping
//#define BABYSTEP_ZPROBE_OFFSET
// Double-click on the Status Screen for Z Babystepping.
//#define DOUBLECLICK_FOR_Z_BABYSTEPPING
// Maximum interval between clicks, in milliseconds.
// Note: Extra time may be added to mitigate controller latency.
#define DOUBLECLICK_MAX_INTERVAL 1250

Grazie
Re: MK4duo e pins e features
April 15, 2019 09:43AM
Ma che l'ho fatto a fare il configuratore, bho!!!

I pin denominati ORIG_ sono gli originali definiti nel file della scheda che hai settato.
Quindi se la scheda ha ORIG_X_STEP_PIN per esempio a 30 e nel configuration_pins hai
#define X_STEP_PIN ORIG_X_STEP_PIN
vuol dire che hai usato come pin X_STEP l'originale previsto altrimenti metti quello che vuoi tu.

Per la seconda è sempre la stessa risposta, quando configuri con il configuratore genera un file overall che è l'unico che serve per la tua configurazione qualsiasi modifica va fatta su quel file. Gli altri file servono solo per i commenti e per capire a che servono le funzioni, ma per attivarle o disattivarle va fatto sempre da overall.


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: MK4duo e pins e features
April 15, 2019 10:58AM
Grazie mille.
Perfetto non avevo visto che i pin sono definiti nella scheda boards.h
Il configuratore lo uso regolarmente ,volevo capire meglio come fossero impostate le cose, senza contare che nel configuratore non c' e' tutto , vedi ad esempio la funzione G26.
Credo che conoscere meglio su cosa si metta le mani sia altro che di beneficio per tutti senza nulla togliere ai tuoi sforzi per renderci le cose piú semplici.

Grazie per le risposte
Andrea
Re: MK4duo e pins e features
May 01, 2019 05:47AM
Se come sia fatta l'assegnazione dei pin in MK4Duo ci sono in giro alcune informazione, almeno fino alla 4.3.8 la procedura del configuratore "produce" (modifica) due file:


  • il "famoso" Configuration_Overall.h
  • il file "Configuration_Pins.h"

La compilazione prende i dati dai vari file di configurazione e se un valore è presente in "Configuration_Overall.h" usa quel valore piuttosto che quello del file "Configuration_XXX.h".

Il file Configuration_Overall.h, contiene poi in coda al codice una sezione "di commento" che contiene le informazioni necessarie per ricaricare i vari settaggi nel configuratore online per cui, se modifichi a mano il file Configuration_Overall.h ma non modifichi le corrispondenti voci nella sezione "di commento", quando lo ricarichi nel configuratore online non le trovi modificate.

Il sistema "una volta compreso" è anche abbastanza "elegante" a patto di conoscere i trucchetti del linguaggio C (di cui il linguaggio "Wiring" di Arduino è una versione derivata).

Capire e leggere il codice dei sorgenti purtroppo risente molto dello "stile di programmazione" del programmatore (o per essere più precisi dei vari programmatori ai quali si deve il codice sorgente), Mk4Duo è basato su Marlin, e quindi risente del fatto che Marlin è un prodotto fatto da molte "mani", e quindi a volte è complicato capire il codice, il fatto che poi il codice sia "sparso" in diversi file sorgente in diverse directory rende la cosa abbastanza "complicata", putroppo lavorando su codici complessi hai comunque a che fare appunto con la complicazione e la soluzione è avere molti file separati e magari divisi in directory in base alla loro "funzione" oppure alla attinenza tra di loro (ad esempio i file di definizione delle schede) qui putroppo entriamo nella filosofia della programmazione e come al solito non esiste un modo "migliore o peggiore" oppure una via "semplice o complicata", esiste solo la "realtà" di come il codice è composto e ci si deve fare i conti, a meno di non farsi un firmware da soli e adottare il "proprio stile di programmazione".

Tanto di cappello al Mago per il suo lavoro e per il buon prodotto che ha ottenuto lavorando in pratica "da solo" e in modo di sicuro "sottopagato" (anche in termini di riconoscenza degli utenti).

Saluti

Carlo D.


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