MK4duo

New Version 4.3.9

1 vote, average: 5,00 out of 51 vote, average: 5,00 out of 51 vote, average: 5,00 out of 51 vote, average: 5,00 out of 51 vote, average: 5,00 out of 5 (1 votes, average: 5,00 out of 5)
You need to be a registered member to rate this post.
Loading...
  • New graphic for Nextion 4.3, 5.0 or 7.0 Normal and Enanched v1_2_0
  • Add support 6 Hotends, 4 Beds and 4 Chambers
  • Add Support for TMC2130 – TMC2208 – TMC2660 – TMC2160 – TMC5130 – TMC5160 motor driver
  • Add command M228 for setting axis limit min/max
  • Add Prompt support for host
  • Rewrite filament runout
  • Add support for BLTouch V3.0/V3.1
  • Add Prusa MMU2 Support
  • Add support thermocouples for bed and hotend.
  • Add menu axis limit to menu advanced.
  • Add Double-Quad Stepping to command M569 Q and save it into EEPROM.
  • Add Option for Safety Timer in configuration_temperature.h
  • Add G34 and M422 Z Steppers Auto-Alignment (Cartesian and CORE)
  • Add M86 M[min] set safety timer expiration time in minute. M86 M0 will disable safety timer
  • Add M217 – Set Park position and tool change parameters
  • M301 – Set PID parameters P I D and C.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER, -3 COOLER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • P[float] Kp term, I[float] Ki term, D[float] Kd term
    • With PID_ADD_EXTRUSION_RATE: C[float] Kc term, L[int] LPQ length
  • M303 – PID relay autotune.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER, -3 COOLER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • S[temperature] sets the target temperature (default target temperature = 150C), C[cycles], U[Apply result],
    • R[Method] 0 = Classic Pid, 1 = Some overshoot, 2 = No Overshoot, 3 = Pessen Pid
  • M305 – Set thermistor and ADC parameters.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER, -3 COOLER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • A[float] Thermistor resistance at 25°C, B[float] BetaK, C[float] Steinhart-Hart C coefficien, R[float] Pullup resistor value,
    • L[int] ADC low offset correction, O[int] ADC high offset correction, P[int] Sensor Pin
    • Set DHT sensor parameter: D0 P[int] Sensor Pin, S[int] Sensor Type (11, 21, 22).
  • M306 – Set Heaters parameters.
    • H[heaters] 0-5 Hotend, -1 BED, -2 CHAMBER
    • T[int] 0-3 For Select Beds or Chambers (default 0)
    • A[int] Pid Drive Min, B[int] Pid Drive Max, C[int] Pid Max,
    • L[int] Min temperature, O[int] Max temperature, U[bool] Use Pid/bang bang,
    • I[bool] Hardware Inverted, T[bool] Thermal Protection, P[int] Pin
  • G34 I[iterations] [accuracy] A[amplification]
  • Add Game menu
  • Add DHT menu
  • Add DHT disply Dew Point
  • Fix MBL
  • Fix and clear code

New Version 4.3.8

5 votes, average: 4,80 out of 55 votes, average: 4,80 out of 55 votes, average: 4,80 out of 55 votes, average: 4,80 out of 55 votes, average: 4,80 out of 5 (5 votes, average: 4,80 out of 5)
You need to be a registered member to rate this post.
Loading...

Version 4.3.8

  • Add TMC settings to menu LCD
  • Add Adaptive Fan speed
  • Add Request pause to Host
  • Rewrite TMC files
  • Add M92 Subcommand H[microstep] L[Layer wanted]
  • Add to all nextion scroll message By MrGoblin
  • Clear code

New Version 4.3.7

4 votes, average: 3,50 out of 54 votes, average: 3,50 out of 54 votes, average: 3,50 out of 54 votes, average: 3,50 out of 54 votes, average: 3,50 out of 5 (4 votes, average: 3,50 out of 5)
You need to be a registered member to rate this post.
Loading...

### Version 4.3.7
* Add Command:
* G34: Set Delta Height calculated from toolhead position (only DELTA)
* M930: TMC set blank_time.
* M931: TMC set off_time.
* M932: TMC set hysteresis_start.
* M933: TMC set hysteresis_end.
* M934: TMC set fast_decay_time.
* M935: TMC set disable_I_comparator.
* M936: TMC set stealth_gradient.
* M937: TMC set stealth_amplitude.
* M938: TMC set stealth_freq.
* M939: TMC switch stealth_autoscale.
* M940: TMC switch StealthChop.
* M941: TMC switch ChopperMode.
* M942: TMC switch interpolation.
* M524: Abort the current SD print job (started with M24). (Requires SDSUPPORT)
* M223: T[extruder] S[bool] set Filrunout Logic.
* M224: T[extruder] S[bool] set Filrunout Pullup.
* M666: L delta segment per line.
* M851: Set X Y Z Probe Offset in current units, set speed [F]ast and [S]low, [R]epetititons. (Requires Probe)
* M413: S[bool] Enable / Disable Restart Job. (Requires SD_RESTART_FILE)
* M800: S goto to lcd menu. With no parameters run restart commands. (Requires SD_RESTART_FILE)
* Add Text Menu to Nextion Display
* Add sound function
* Add LCD menu for switch Sound [on – silent – off]
* Add pause before deploy/stow for user confirmation
* Add second serial for arduino due
* Add PCF8574 Expansion IO for pin 120 – 121 – 122 – 123 – 124 – 125 – 126 – 127
* Fix M800 for restart job
* Fix error with lcd 44780 with progress bar active
* Fix M205 with Delta and Junction active
* Fix Dogm LCD
* Add Status menu anim option for graphic display
* Add progress bar to heater when heating
* Add Text Menu SD to Nextion
* Add Support USB FLASH DRIVE such as SD
* Fixed GFX overlay with Nextion when printing from USB
* Fix and clear code

New Version 4.3.6

5 votes, average: 4,00 out of 55 votes, average: 4,00 out of 55 votes, average: 4,00 out of 55 votes, average: 4,00 out of 55 votes, average: 4,00 out of 5 (5 votes, average: 4,00 out of 5)
You need to be a registered member to rate this post.
Loading...

### Version 4.3.6
* Make class Mechanics to static
* Add Junction Deviation instead of traditional Jerk limiting
* Add Adaptive multiaxis step smoothing
* Add M205 J – Set Junction Deviation mm
* Add Bézier Jerk Control
* Add Safety Timer, after 30 minutes if not printing (SD or M530 S1) the heaters switch off.
* Rewrite SD Restart for auto restart when power loss and return.
* Add command gcode M569 for Stepper driver control: Dir, minimum pulse and maximum rate.
* Add Hysteresis in EEPROM
* Fix and clear code

EEPROM

0 votes, average: 0,00 out of 50 votes, average: 0,00 out of 50 votes, average: 0,00 out of 50 votes, average: 0,00 out of 50 votes, average: 0,00 out of 5 (0 votes, average: 0,00 out of 5)
You need to be a registered member to rate this post.
Loading...

Vedo se riesco a fare un po di chiarezza sulla funzione della eeprom.
Capisco che è una situazione a metà, a me piacerebbe che fosse totalmente gestibile via firmware la configurazione della stampante, vedi firmware tipo RRF o altri come quello della GH. Ma per fare questo c’è bisogno di memoria per le variabili, il DUE non ha problemi tutti e 512k sono utilizzabili per il software o per le variabili, purtroppo il mega ha solo 8 Kb di RAM per le variabili. Nel firmware stesso ci sono variabili cioè locazioni dove sono contenuti dati che variano nel tempo, per esempio la temperatura attuale di un riscaldatore o quella impostata come target dall’utente, la posizione degli assi (compreso E), la destinazione, e tante altre.
L’approccio dei firmware nati con il mega o inferiori è stato quello di definire costanti inizialmente alla compilazione del firmware per non occupare, la già poca, memoria del processore. Quindi valori come Z_MAX_POS o il pin del sensore o ancora i pin di una fan o le direzioni dei motori o le home sono costanti e definiti all’inizio nella configurazione. Le costanti non occupano spazio in RAM perché appunto costanti quindi occupano spazio come il software, questo lascia liberi quei pochi Kb di RAM per variabili di lavoro. Questo è perfetto per un funzionamento con il mega, ma costringe l’utente a dover compilare e scaricare il firmware per cambiare queste costanti. Per carità è nulla da dire su questa scelta, anzi la trovo perfetta per quello che serviva…
Alcune variabili però sono rimaste come gli step per mm, le velocità e le accelerazioni, variabili, che con gcode o con il display, è possibile modificare senza scaricare il firmware ricompilato. Ora questi valori però se modificati essendo in ram allo spegnimento della stampante tornano a essere quelli che erano inizialmente cioè quelli dettati dalle configurazioni, per esempio se si varia la velocità da 100 a 110 per un asse, durante tutto il funzionamento della stampante quel valore sarà 110, ma alla nuova accensione tornerà a essere 100 costringendo l’utente a inserire gocde negli start gocde per rimettere a 110 quel valore. Ecco che ci arriva in aiuto la EEPROM, cioè una memoria scrivibile dal software stesso permanente finche non sovra scritta.Quindi se io modifico il valore della velocità con il display o con il gcode e lo porto a 110 e poi lo memorizzo in EEPROM (se attiva), alla nuova accensione verrà letta la EEPROM e invece di mettere a 100 (come settato nella configurazione) la velocità il firmware la mette a 110. Ora se modifico il firmware mettendo come velocità 90 e lo scarico di nuovo nella scheda, quello che accade è la stessa cosa dell’accensione il firmware trova il valore 110 in EEPROM e quindi la velocità sarà 110 e non 90 come messo nella configurazione… In questo caso bisognerà portare il valore a 90 o con il gcode o con il display e poi memorizzarlo in eeprom per sovrascrivere solo questo e non perdere gli altri eventualmente salvati, l’alternativa è resettare la EEPROM con M502 portando tutti i valori di default (cioè quelli scritti nei file di configurazione) per poi di nuovo scriverli in eeprom con M500.
Detto ciò arriviamo al dunque, oltre ai consueti valori ho piano piano portato a variabili e non più costanti altri valori che normalmente erano solo definiti, appunto come i riscaldatori, le fan e altre cosuccie. Facciamo un esempio pratico: Configuro il firmware in modo che la fan 0 è sul pin 10, salvo in EEPROM, dopo di che vado nella configurazione e modifico il pin della fan 0 in 11, scarico il firmware senza fare altro il pin 11 non sarà mai usato perché in memoria EEPROM ho ancora il pin 10 e di conseguenza il firmware continuerà a usare il pin 10 per la fan 0.
Cosa bisognerà fare in questo caso?
Semplicemente due cose: O si cambia con il relativo comando il pin della fan0 e poi si salva in EEPROM oppure si resetta la EEPROM per riportare TUTTI i valori come scritti nella configurazione.
Ed è qui che viene la domanda, perché modificarli da configurazione invece di modificarli direttamente dal firmware con il gcode in modo più rapido senza dover compilare e scaricare ogni volta?
Altrimenti la eeprom non ha senso averla attiva, si cambia tutto da configurazione e basta cosi è tutto più facile.
Però volete mettere che io posso con un comando gcode far diventare il bed con i pid o bangbang senza dover riscaricare tutto??
Oppure modificare i pid al volo per abs o pla o tpu, o ancora cambiare tipo di sensore che monto se cambio al volo un hotend con un altro?
Per me queste sono un plus, ma forse non sono riuscito a farmi e farle capire queste cose. Questo però vuol dire che quando si configura e si modificano certi parametri bisogna fare un po di attenzione se sono valori salvati in eeprom oppure no. Come ho detto all’inizio sarebbe bello che tutti lo fossero, ma per rimanere ancora compatibile con le 8 bit, tutti è impossibile…
Spero che un po si sia capito come discorso. Intanto con RRF si modifica tutto via web browser e noi si compila ancora togliendo le // o mettendole per attivare o disattivare le funzioni…