MKFirmware / MarlinKimbra

📟 MK 3D Printer Firmware for Arduino
52 stars 39 forks source link

Power off hotend and heatbed when print #190

Open ZhenyaKa opened 5 years ago

ZhenyaKa commented 5 years ago

Just power off both heater and bed :(((

Two different (mirrored) pcs at the same heigh.

Hardware: DUE+RAMPS-FD+LV8729 (XY) 8825 (Z+E)

Repetier, Marlin 2.0 works well

`/**

/**

/***

define CONFIGURATION_OVERALL

/***

/*****

//#Kp:83.73 Ki:16.61 Kd:105.49

define DEFAULT_bedKp 83.73

define DEFAULT_bedKi 16.61

define DEFAULT_bedKd 105.49

define PIDTEMPCHAMBER false

define CHAMBER_HYSTERESIS 2 // only disable heating if T>target+CHAMBER_HYSTERESIS and enable heating if T<target-CHAMBER_HYSTERESIS

define CHAMBER_CHECK_INTERVAL 5000 // ms between checks in bang-bang control

define CHAMBER_PID_MAX 255 // Limits current to chamber while in PID mode; 255 = full current

define CHAMBER_PID_DRIVE_MIN 80 // Limits min current to chamber while PID is active; 0 = no current

define CHAMBER_PID_DRIVE_MAX 255 // Limits max current to chamber while PID is active; 255 = full current

define DEFAULT_chamberKp 10

define DEFAULT_chamberKi 1

define DEFAULT_chamberKd 305

define PIDTEMPCOOLER false

//#define FAST_PWM_COOLER

define COOLER_HYSTERESIS 2 // only disable heating if Ttarget+COOLER_HYSTERESIS

define COOLER_CHECK_INTERVAL 5000 // ms between checks in bang-bang control

define COOLER_PID_MAX 255 // Limits current to cooler while in PID mode; 255 = full current

define COOLER_PID_DRIVE_MIN 80 // Limits min current to cooler while PID is active; 0 = no current

define COOLER_PID_DRIVE_MAX 255 // Limits max current to cooler while PID is active; 255 = full current

define DEFAULT_coolerKp 10

define DEFAULT_coolerKi 1

define DEFAULT_coolerKd 305

define INVERTED_HEATER_PINS true

define INVERTED_BED_PIN true

define INVERTED_CHAMBER_PIN false

define INVERTED_COOLER_PIN false

define THERMAL_PROTECTION_HOTENDS false

define THERMAL_PROTECTION_BED false

define THERMAL_PROTECTION_CHAMBER false

define THERMAL_PROTECTION_COOLER false

define THERMAL_PROTECTION_PERIOD 40

define THERMAL_PROTECTION_HYSTERESIS 4

define WATCH_TEMP_PERIOD 20

define WATCH_TEMP_INCREASE 2

define WATCH_BED_TEMP_PERIOD 60

define WATCH_BED_TEMP_INCREASE 2

define WATCH_CHAMBER_TEMP_PERIOD 60

define WATCH_CHAMBER_TEMP_INCREASE 2

define WATCH_COOLER_TEMP_PERIOD 60

define WATCH_COOLER_TEMP_INCREASE 2

define PREVENT_COLD_EXTRUSION

define EXTRUDE_MINTEMP 170

//#define PREVENT_LENGTHY_EXTRUDE

define EXTRUDE_MAXLENGTH 400

/**

/*****

/****

/* Below you will find the configuration string, that created with Configurator tool online marlinkimbra.it ========== Start configuration string ========== { "printer": "custom", "processor": 1, "serial": 0, "baudrates": 250000, "serial2": -1, "baudrates2": 250000, "customname": "none", "customconfig": "default config", "machineuuid": "00000000-0000-0000-0000-000000000000", "killMethod": 0, "notimeouts": 1000, "advancedok": "0", "emergencyparser": "0", "fastergcodeparser": "1", "fastergcodeexecute": "1", "motherboards": "BOARD_RAMPS_FD_V1", "mechanism": 1, "power": "0", "defaultpower": "0", "delayafterpower": 5, "powertimeout": 30, "extruders": 1, "driverextruders": 1, "tempunitsupport": "0", "bed": "1", "chamber": "0", "cooler": "0", "dhtsupport": "0", "tempsensor0": "2", "tempsensor1": "0", "tempsensor2": "0", "tempsensor3": "0", "tempsensorbed": "2", "tempsensorchamber": "0", "tempsensorcooler": "0", "seriesrs": 4700, "t9name": "User sensor", "t9r25": 100000, "t9betak": 4036, "ad595offset": 0, "ad595gain": 1, "dummy998": 25, "dummy999": 25, "maxtemp0": 275, "maxtemp1": 275, "maxtemp2": 275, "maxtemp3": 275, "maxtempbed": 150, "maxtempchamber": 150, "maxtempcooler": 150, "mintemp0": 5, "mintemp1": 5, "mintemp2": 5, "mintemp3": 5, "mintempbed": 5, "mintempchamber": 5, "mintempcooler": 5, "preheat1label": "PLA", "preheat1hotendtemp": 190, "preheat1bedtemp": 60, "preheat1fanspeed": 255, "preheat2label": "ABS", "preheat2hotendtemp": 240, "preheat2bedtemp": 100, "preheat2fanspeed": 255, "preheat3label": "GUM", "preheat3hotendtemp": 230, "preheat3bedtemp": 60, "preheat3fanspeed": 255, "autotemp": "1", "autotempoldweight": 0.98, "heaterpwmspeed": 0, "pidtemp": "1", "pidmax": 255, "piddrivemin": 40, "piddrivemax": 255, "pidfunctionalrange": 20, "pidautotunemenu": "1", "pidextrusionrate": "0", "lpqmaxlen": 50, "pidkp0": 41.51, "pidki0": 7.28, "pidkd0": 59.17, "pidkc0": 100, "pidkp1": 41.51, "pidki1": 7.28, "pidkd1": 59.17, "pidkc1": 100, "pidkp2": 41.51, "pidki2": 7.28, "pidkd2": 59.17, "pidkc2": 100, "pidkp3": 41.51, "pidki3": 7.28, "pidkd3": 59.17, "pidkc3": 100, "pidbedtemp": "1", "maxbedpower": 255, "pidbedkp": 10, "pidbedki": 1, "pidbedkd": 305, "pidchambertemp": "0", "maxchamberpower": 255, "pidchamberkp": 10, "pidchamberki": 1, "pidchamberkd": 305, "pidcoolertemp": "0", "fastpwmcooler": "0", "maxcoolerpower": 255, "pidcoolerkp": 10, "pidcoolerki": 1, "pidcoolerkd": 305, "invertedheaterpins": "1", "invertedbedpin": "1", "invertedchamberpin": "0", "invertedcoolerpin": "0", "thermalprotectionhotend": "0", "thermalprotectionbed": "0", "thermalprotectionchamber": "0", "thermalprotectioncooler": "0", "thermalprotectionperiod": 40, "thermalprotectionhysteresis": 4, "watchtempperiod": 20, "watchtempincrease": 2, "watchbedtempperiod": 60, "watchbedtempincrease": 2, "watchchambertempperiod": 60, "watchchambertempincrease": 2, "watchcoolertempperiod": 60, "watchcoolertempincrease": 2, "uiprintername": "MaKe3D", "endstopinterrupt": "0", "Xminendstop": "0", "Xmaxendstop": "0", "Yminendstop": "0", "Ymaxendstop": "0", "Zminendstop": "0", "Zmaxendstop": "0", "X2minendstop": "0", "X2maxendstop": "0", "Y2minendstop": "0", "Y2maxendstop": "0", "Z2minendstop": "0", "Z2maxendstop": "0", "Z3minendstop": "0", "Z3maxendstop": "0", "Zprobeendstop": "0", "Xhoming": 0, "Yhoming": 0, "Zhoming": 0, "Ehoming": 0, "Xinvertenable": 0, "Yinvertenable": 0, "Zinvertenable": 0, "Einvertenable": 0, "Xinvertstep": "0", "Yinvertstep": "0", "Zinvertstep": "0", "Einvertstep": "0", "Xinvertdir": "0", "Yinvertdir": "0", "Zinvertdir": "0", "E0invertdir": "0", "E1invertdir": "0", "E2invertdir": "0", "E3invertdir": "0", "E4invertdir": "0", "E5invertdir": "0", "disableX": 0, "disableY": 0, "disableZ": 0, "disableE": 0, "Xmaxpos": 200, "Xminpos": 0, "Ymaxpos": 200, "Yminpos": 0, "Zmaxpos": 200, "Zminpos": 0, "Zsafehoming": "1", "ZsafehomingX": 10, "ZsafehomingY": 10, "Zminheightbeforehoming": 0, "Zprobetype": 0, "Zprobesledoffset": 5, "Xprobeoffset": 0, "Yprobeoffset": 0, "Zprobeoffset": -1, "xyprobespeed": 8000, "zprobespeedfast": 1000, "zprobespeedslow": 500, "zprobingrepeat": "0", "Zproberepetitions": 1, "Zraiseprobedeploystow": 15, "Zraisebetweenprobe": 10, "Zraiseafterprobe": 0, "Zprobelowpoint": -2, "lcdbedlevel": "0", "lcdzstep": 0.025, "lcdprobezrange": 4, "levelingfadeheight": "0", "bedlevel": 0, "meshinset": 10, "meshg28rest": "0", "maxgridpointX": 3, "maxgridpointY": 3, "leftprobe": 20, "rightprobe": 180, "backprobe": 180, "frontprobe": 20, "Xprobe1": 15, "Yprobe1": 180, "Xprobe2": 15, "Yprobe2": 15, "Xprobe3": 180, "Yprobe3": 15, "manualhomepos": "0", "bedcenter00": "0", "Xhomepos": 0, "Yhomepos": 0, "Zhomepos": 0, "Xstepspermm": 640, "Ystepspermm": 640, "Zstepspermm": 400, "E0stepspermm": 150, "E1stepspermm": 625, "E2stepspermm": 625, "E3stepspermm": 625, "E4stepspermm": 625, "E5stepspermm": 625, "Xmaxspeed": 300, "Ymaxspeed": 300, "Zmaxspeed": 5, "E0maxspeed": 100, "E1maxspeed": 100, "E2maxspeed": 100, "E3maxspeed": 100, "E4maxspeed": 100, "E5maxspeed": 100, "Xmanualspeed": 100, "Ymanualspeed": 100, "Zmanualspeed": 5, "Emanualspeed": 10, "minimumspeed": 0, "minimumtravelspeed": 0, "minimumplannerspeed": 0.05, "Xmaxacceleration": 3000, "Ymaxacceleration": 3000, "Zmaxacceleration": 50, "E0maxacceleration": 3000, "E1maxacceleration": 3000, "E2maxacceleration": 3000, "E3maxacceleration": 3000, "E4maxacceleration": 3000, "E5maxacceleration": 3000, "E0retractacceleration": 10000, "E1retractacceleration": 10000, "E2retractacceleration": 10000, "E3retractacceleration": 10000, "E4retractacceleration": 10000, "E5retractacceleration": 10000, "defaultacceleration": 3000, "defaulttravelacceleration": 3000, "maxXjerk": 10, "maxYjerk": 10, "maxZjerk": 0.4, "maxE0jerk": 5, "maxE1jerk": 5, "maxE2jerk": 5, "maxE3jerk": 5, "maxE4jerk": 5, "maxE5jerk": 5, "Xhomingspeed": 100, "Yhomingspeed": 100, "Zhomingspeed": 5, "XbumpMM": 5, "YbumpMM": 5, "ZbumpMM": 2, "Xbumpdivisor": 5, "Ybumpdivisor": 5, "Zbumpdivisor": 2, "hotendoffsetXE1": 0, "hotendoffsetXE2": 0, "hotendoffsetXE3": 0, "hotendoffsetYE1": 0, "hotendoffsetYE2": 0, "hotendoffsetYE3": 0, "hotendoffsetZE1": 0, "hotendoffsetZE2": 0, "hotendoffsetZE3": 0, "hysteresis": "0", "hysteresisXmm": 0, "hysteresisYmm": 0, "hysteresisZmm": 0, "hysteresiscorrection": 1, "deltasegmentpersecond": 200, "deltasegmentperline": 20, "deltadiagonalrod": 220, "deltasmoothrodoffset": 145, "deltaeffectoroffset": 20, "deltacarriageoffset": 20, "deltaprinterradius": 70, "deltaheight": 210, "towerAendstop": 0, "towerBendstop": 0, "towerCendstop": 0, "towerAangle": 0, "towerBangle": 0, "towerCangle": 0, "towerAradius": 0, "towerBradius": 0, "towerCradius": 0, "towerAdiagonalrod": 0, "towerBdiagonalrod": 0, "towerCdiagonalrod": 0, "deltaautoprecision": 0.1, "deltaautogrid": 20, "deltaXdeploystart": 0, "deltaYdeploystart": 0, "deltaZdeploystart": 30, "deltaXdeployend": 0, "deltaYdeployend": 0, "deltaZdeployend": 0, "deltaXretractstart": 0, "deltaYretractstart": 0, "deltaZretractstart": 30, "deltaXretractend": 0, "deltaYretractend": 0, "deltaZretractend": 0, "deltaautocalibration": 0, "deltahomesafezone": "1", "deltahomeonpower": "0", "disableddoublequadstepping": "0", "junctiondeviation": "1", "junctiondeviationfactor": 0.02, "bezierjerk": "1", "stepperpulse": 1, "stepperrate": 130000, "directiondelay": 500, "stepsmoothing": "1", "Xtwostepper": "0", "X2vsXdir": "0", "Xtwoendstop": "0", "Ytwostepper": "0", "Y2vsYdir": "0", "Ytwoendstop": "0", "Ztwostepper": "0", "Z2vsZdir": "0", "Ztwoendstop": "0", "Zthreestepper": "0", "Z3vsZdir": "0", "Zthreeendstop": "0", "extencoder": "0", "extencodererrorstep": 500, "extencoderminstep": 10, "Xmicrostep": 128, "Ymicrostep": 128, "Zmicrostep": 32, "X2microstep": 16, "Y2microstep": 16, "Z2microstep": 16, "Z3microstep": 16, "E0microstep": 16, "E1microstep": 16, "E2microstep": 16, "E3microstep": 16, "E4microstep": 16, "E5microstep": 16, "Xcurrent": 800, "Ycurrent": 800, "Zcurrent": 800, "X2current": 800, "Y2current": 800, "Z2current": 800, "Z3current": 800, "E0current": 800, "E1current": 800, "E2current": 800, "E3current": 800, "E4current": 800, "E5current": 800, "Xdrivertype": "LV8729", "Ydrivertype": "LV8729", "Zdrivertype": "DRV8825", "X2drivertype": "A4988", "Y2drivertype": "A4988", "Z2drivertype": "A4988", "Z3drivertype": "A4988", "E0drivertype": "DRV8825", "E1drivertype": "A4988", "E2drivertype": "A4988", "E3drivertype": "A4988", "E4drivertype": "A4988", "E5drivertype": "A4988", "fanpwmspeed": 0, "fanpwmfreq": 250, "fankickstarttime": 0, "fanminpwm": 0, "fanmaxpwm": 255, "autofan0": -1, "autofan1": 0, "autofan2": -1, "autofan3": -1, "autofan4": -1, "autofan5": -1, "Ecoolertemp": 50, "Ecoolerspeed": 255, "Ecoolerminspeed": 0, "controllerfansec": 60, "controllerfanspeed": 255, "controllerfanminspeed": 0, "defaultfilamentdia": 1.75, "dangerousextrude": "1", "extrudemintemp": 170, "lengthextrude": "1", "extrudemaxlenght": 400, "singlenozzle": "0", "baricuda": "0", "colormixingextruder": "0", "mixingsteppers": "2", "virtualtools": 16, "mkr4": "0", "invertrelepin": "0", "E0E1pin": 5, "E0E2pin": 5, "E1E3pin": 6, "mkr6": "0", "mkr12": "0", "EX1pin": -1, "EX2pin": -1, "dondolo": "0", "dondolodualmotor": "0", "dondoloservo": 0, "dondoloservoe0": 120, "dondoloservoe1": 10, "dondolodelay": 1000, "workspace": "0", "softwareminendstop": "1", "softwaremaxendstop": "1", "endstoponlyforhome": "1", "abortendstophit": "0", "abortendstophitinit": "1", "servos": "0", "numservos": 0, "Zservo": "0", "angleextendservosZ": 90, "angleretractservosZ": 0, "servodeactivate": "0", "servodeactivatedelay": 300, "quickhome": "1", "homeYbeforeX": "0", "homeXYbeforeZ": "0", "babystepping": "1", "babysteppingXY": "0", "babysteppingZprobe": "0", "babysteppingdoubleclick": "1", "filamentsensor": "0", "filamentsensorextruder": 0, "filamentsensormaxdia": 2, "filamentsensormindia": 1.35, "filamentsensordia": 1.75, "filamentsensorlcd": "0", "filamentrunout": "0", "filamentrunoutdav": "0", "filamentrunoutpininverting": "0", "filamentrunoutpullup": "1", "filamentrunoutscript": "M600", "powerconsumption": "0", "dooropen": "0", "doorendstop": "0", "powercheck": "0", "powercheckendstop": "0", "caselight": "0", "caselightinvert": "0", "caselightdefault": "0", "caselightbrightness": 255, "eeprom": "1", "eepromsd": "0", "eepromchitchat": "1", "sdsupport": "1", "sdspeed": 1, "sddisableddetect": "0", "sddetectinverted": "0", "sdrestart": "0", "sdrestarttime": 1, "lcdlanguages": "ru", "encoderpulsesstep": 5, "encoderstepmenu": 1, "invertclickbutton": "0", "invertbackbutton": "0", "invertrotaryswitch": 0, "invertmenudirection": "0", "displays": 5, "nextion_model": 8, "nextion_port": 1, "nextionGFX": "0", "lcdprogressbar": 0, "lcdprogressbarbartime": 3, "lcdprogressbarmsgtime": 1, "lcdprogressbarmsgexpire": 0, "laserbeam": "0", "lasercontrol": 1, "laserfocus": "0", "laserraster": "0", "rfidmodule": "0", "rfidserial": 1, "rgbled": "0", "rgbwled": "0", "pca9632": "0", "neopixelled": "0", "neopixeltype": "NEO_GRB", "neopixelpixels": 16, "eventled": "0", "jsonoutput": "0", "testmode": "0", "inchmodesupport": "0", "blockbuffersize": 32, "bufsize": 8, "nozzlecleanfeature": "0", "nozzlecleanstrokes": 12, "nozzlecleantriangle": 3, "nozzlecleanstart_x": 30, "nozzlecleanstart_y": 30, "nozzlecleanstart_z": 1, "nozzlecleanend_x": 100, "nozzlecleanend_y": 60, "nozzlecleanend_z": 1, "nozzlecleangoback": "1", "nozzleparkfeature": "0", "nozzleparkXpos": 10, "nozzleparkYpos": 10, "nozzleparkZpos": 20, "nozzleparkXYfr": 100, "nozzleparkZfr": 5, "filamentchangeenable": "0", "filamentchangeretract": 5, "filamentchangeretractfr": 20, "filamentchangeunload": 100, "filamentchangeunloadfr": 50, "filamentchangeslowload": 5, "filamentchangeslowloadfr": 6, "filamentchangefastload": 100, "filamentchangefastloadfr": 50, "filamentchangeextrude": 50, "filamentchangeextrudefr": 5, "filamentchangeunloadretract": 10, "filamentchangeunloadretractdelay": 5000, "filamentchangeunloadretractpurge": 8, "filamentchangenozzletimeout": 45, "filamentchangeprinteroff": 5, "filamentchangenumberbeep": 5, "filamentchangenosteppertimeout": "1", "filamentchangeparkheadonpause": "0", "filamentchangehomebefore": "0", "filamentchangegcodes": "0", "filamentchangeallextruder": "0", "Xmotor": { "name": "X motor", "step": "ORIG_X_STEP_PIN", "dir": "ORIG_X_DIR_PIN", "enable": "ORIG_X_ENABLE_PIN" }, "Ymotor": { "name": "Y motor", "step": "ORIG_Y_STEP_PIN", "dir": "ORIG_Y_DIR_PIN", "enable": "ORIG_Y_ENABLE_PIN" }, "Zmotor": { "name": "Z motor", "step": "ORIG_Z_STEP_PIN", "dir": "ORIG_Z_DIR_PIN", "enable": "ORIG_Z_ENABLE_PIN" }, "X2motor": { "name": "Extruder 1", "step": "ORIG_E1_STEP_PIN", "dir": "ORIG_E1_DIR_PIN", "enable": "ORIG_E1_ENABLE_PIN" }, "Y2motor": { "name": "Extruder 1", "step": "ORIG_E1_STEP_PIN", "dir": "ORIG_E1_DIR_PIN", "enable": "ORIG_E1_ENABLE_PIN" }, "Z2motor": { "name": "Extruder 1", "step": "ORIG_E1_STEP_PIN", "dir": "ORIG_E1_DIR_PIN", "enable": "ORIG_E1_ENABLE_PIN" }, "Z3motor": { "name": "Extruder 2", "step": "ORIG_E2_STEP_PIN", "dir": "ORIG_E2_DIR_PIN", "enable": "ORIG_E2_ENABLE_PIN" }, "E0motor": { "name": "Extruder 0", "step": "ORIG_E0_STEP_PIN", "dir": "ORIG_E0_DIR_PIN", "enable": "ORIG_E0_ENABLE_PIN" }, "E1motor": { "name": "Extruder 1", "step": "ORIG_E1_STEP_PIN", "dir": "ORIG_E1_DIR_PIN", "enable": "ORIG_E1_ENABLE_PIN" }, "E2motor": { "name": "Extruder 2", "step": "ORIG_E2_STEP_PIN", "dir": "ORIG_E2_DIR_PIN", "enable": "ORIG_E2_ENABLE_PIN" }, "E3motor": { "name": "Extruder 3", "step": "ORIG_E3_STEP_PIN", "dir": "ORIG_E3_DIR_PIN", "enable": "ORIG_E3_ENABLE_PIN" }, "E4motor": { "name": "Extruder 4", "step": "ORIG_E4_STEP_PIN", "dir": "ORIG_E4_DIR_PIN", "enable": "ORIG_E4_ENABLE_PIN" }, "E5motor": { "name": "Extruder 5", "step": "ORIG_E5_STEP_PIN", "dir": "ORIG_E5_DIR_PIN", "enable": "ORIG_E5_ENABLE_PIN" }, "heater0pin": "ORIG_HEATER_0_PIN", "heater1pin": "ORIG_HEATER_1_PIN", "heater2pin": "ORIG_HEATER_2_PIN", "heater3pin": "ORIG_HEATER_3_PIN", "heaterbedpin": "ORIG_HEATER_BED_PIN", "heaterchamberpin": "NoPin", "heatercoolerpin": "NoPin", "temp0pin": "ORIG_TEMP_0_PIN", "temp1pin": "ORIG_TEMP_1_PIN", "temp2pin": "ORIG_TEMP_2_PIN", "temp3pin": "ORIG_TEMP_3_PIN", "tempbedpin": "ORIG_TEMP_BED_PIN", "tempchamberpin": "NoPin", "tempcoolerpin": "NoPin", "Xminpin": "ORIG_X_MIN_PIN", "Xmaxpin": "ORIG_X_MAX_PIN", "Yminpin": "ORIG_Y_MIN_PIN", "Ymaxpin": "ORIG_Y_MAX_PIN", "Zminpin": "ORIG_Z_MIN_PIN", "Zmaxpin": "ORIG_Z_MAX_PIN", "X2minpin": "NoPin", "X2maxpin": "NoPin", "Y2minpin": "NoPin", "Y2maxpin": "NoPin", "Z2minpin": "NoPin", "Z3minpin": "NoPin", "Z2maxpin": "NoPin", "Z3maxpin": "NoPin", "Zprobepin": "NoPin", "Xcspin": "ORIG_X_CS_PIN", "Ycspin": "ORIG_Y_CS_PIN", "Zcspin": "ORIG_Z_CS_PIN", "X2cspin": "ORIG_E1_CS_PIN", "Y2cspin": "ORIG_E1_CS_PIN", "Z2cspin": "ORIG_E1_CS_PIN", "Z3cspin": "ORIG_E2_CS_PIN", "E0cspin": "ORIG_E0_CS_PIN", "E1cspin": "ORIG_E1_CS_PIN", "E2cspin": "ORIG_E2_CS_PIN", "E3cspin": "ORIG_E3_CS_PIN", "E4cspin": "ORIG_E4_CS_PIN", "E5cspin": "ORIG_E5_CS_PIN", "fanpin": "ORIG_FAN0_PIN", "fan1pin": "ORIG_FAN1_PIN", "fan2pin": "ORIG_FAN2_PIN", "fan3pin": "ORIG_FAN3_PIN", "fan4pin": "ORIG_FAN4_PIN", "fan5pin": "ORIG_FAN5_PIN", "PSONpin": "ORIG_PS_ON_PIN", "beeperpin": "ORIG_BEEPER_PIN", "E0encoderpin": "NoPin", "E1encoderpin": "NoPin", "E2encoderpin": "NoPin", "E3encoderpin": "NoPin", "E4encoderpin": "NoPin", "E5encoderpin": "NoPin", "filamentsensorpin": "NoPin", "flowmeterpin": "NoPin", "filrunoutdavpin": "NoPin", "filrunoutpin": "NoPin", "filrunoutpin1": "NoPin", "filrunoutpin2": "NoPin", "filrunoutpin3": "NoPin", "filrunoutpin4": "NoPin", "filrunoutpin5": "NoPin", "laserpwrpin": 42, "laserpwmpin": "ORIG_LASER_PWM_PIN", "laserperipheralspin": "NoPin", "laserperipheralsstatuspin": "NoPin", "cncrouterpin": "NoPin", "powerconsumptionpin": "NoPin", "doorpin": "NoPin", "powercheckpin": "NoPin", "caselightpin": "NoPin", "rgbledRpin": "NoPin", "rgbledGpin": "NoPin", "rgbledBpin": "NoPin", "rgbledWpin": "NoPin", "neopixelpin": "NoPin", "dhtdatapin": "NoPin", "tacho0pin": "NoPin", "tacho1pin": "NoPin", "tacho2pin": "NoPin", "tacho3pin": "NoPin", "tacho4pin": "NoPin", "tacho5pin": "NoPin", "END_DATA": 0, "drivesystems": 0, "npr2": "0", "lengthyextrude": "1", "autobed": "0", "gridmode": "1", "gridpoint": 2, "Zraisebeforehoming": 10, "Zraisebeforeprobe": 10, "maxXYjerk": 10, "maxEjerk": 5, "defaultaccelleration": 2500, "defaultretractionaccelleration": 3000, "deltaXprobeoffset": 0, "deltaYprobeoffset": 0, "deltaZprobeoffset": -10, "E0retractionspeed": 150, "E1retractionspeed": 150, "E2retractionspeed": 150, "E3retractionspeed": 150, "Xinvert": 0, "Yinvert": 0, "Zinvert": 0, "E0invert": 0, "E1invert": 0, "E2invert": 0, "E3invert": 0, "E0coolerpin": -1, "E1coolerpin": -1, "E2coolerpin": -1, "E3coolerpin": -1, "laserttlpin": 44, "filamentswitch": "0", "pausepin": 19, "Xservo": "-1", "Yservo": "-1", "angleextendservosX": 0, "angleretractservosX": 0, "angleextendservosY": 0, "angleretractservosY": 0, "uilanguages": 7, "easyload": 0, "bowdenlenght": 250, "lcdpurgelenght": 10, "lcdretractlenght": 5, "lcdpurgefeedrate": 3, "lcdretractfeedrate": 5, "lcdloadfeedrate": 20, "lcdunloadfeedrate": 20, "plahotendtemp": 190, "plabedtemp": 60, "plafanspeed": 255, "abshotendtemp": 240, "absbedtemp": 100, "absfanspeed": 255, "gumhotendtemp": 230, "gumbedtemp": 60, "gumfanspeed": 255 } ========== End configuration string ========== */ `

ZhenyaKa commented 5 years ago

Forgot to say: Print via Octoprint:

"Error reported by printer Your printer's firmware reported an error. Due to that OctoPrint will disconnect. Reported error: cold extrusion prevented"

MagoKimbra commented 5 years ago

You must do the auto tune pid and save the new valor in eeprom.. Look the log when you turn on the heaters...

ZhenyaKa commented 5 years ago

PID is ok. It turn off when printing.

I got checksum errors in LOG:

| Send: N11633 G1 X92.034 Y140.036 E2.311996 | Recv: ok | Send: N11634 G1 X91.753 Y140.321 E2.3253106 | Recv: ok | Send: N11635 G1 X91.788 Y140.355 E2.3269103 | Recv: Error:checksum mismatch, Last Line: 11633 | Recv: Resend:11634 2019-01-08 15:48:11,694 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 14437, current line = 14442 | Last lines in terminal: | Recv: ok | Send: N14433 G92 E070 | Send: N14434 G1 X135.649 Y98.781 E0.0211 F39009 | Recv: ok | Send: N14435 G1 X135.092 Y99.225 E0.0448100 | Recv: ok | Send: N14436 G1 X134.503 Y99.631 E0.0685105 | Recv: ok | Recv: ok | Send: N14437 G1 X133.811 Y100.038 E0.095290 | Recv: ok | Send: N14438 G1 X133.180 Y100.351 E0.118789 | Recv: X:136.12 Y:98.35 Z:4.440 E:0.0000 | Recv: ok | Send: N14439 G1 X132.553 Y100.604 E0.141295 | Send: N14440 G1 X132.051 Y100.767 E0.158795 | Recv: ok | Send: N14441 G1 X131.704 Y100.938 E0.171684 | Recv: Error:checksum mismatch, Last Line: 14436 | Recv: Resend:14437

MagoKimbra commented 5 years ago

When printing?? Explain turn off at start or more 30 minutes?

ZhenyaKa commented 5 years ago

About 30 mins with errors

2019-01-08 15:32:51,943 - octoprint.util.comm - INFO - Firmware didn't send an 'ok' with their resend request. That's a known bug with some firmware variants out there. Simulating an ok to continue... 2019-01-08 15:32:53,583 - octoprint.plugins.preheat - INFO - Preheating bed to 110.0 2019-01-08 15:32:53,587 - octoprint.plugins.preheat - INFO - Preheating tool0 to 250.0 2019-01-08 15:34:07,085 - octoprint.util.comm - INFO - Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly 2019-01-08 15:34:10,861 - octoprint.util.comm - INFO - Telling the printer to set the busy interval to our "communicationBusy" timeout - 1s = 2s 2019-01-08 15:34:12,089 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 51, current line = 53 | Last lines in terminal: | Recv: ok | Send: N48 M8435 | Recv: X:0.00 Y:0.00 Z:0.000 E:0.0000 | Recv: ok | Send: N49 M10526 | Recv: busy:processing | Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly | Recv: busy:processing | Recv: ok | Send: N50 M113 S284 | Recv: ok T:213.23 /250 B:89.79 /110 B@:255 @:255 | Recv: wait | Send: N51 M10519 | Recv: ok | Recv: echo:Unknown command: "" | Recv: ok | Recv: wait | Send: N52 M10516 | Recv: Error:Line Number is not Last Line Number+1, Last Line: 50 | Recv: Resend:51 2019-01-08 15:35:35,377 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Printing" 2019-01-08 15:35:35,460 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0 2019-01-08 15:36:07,410 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:36:19,848 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:36:32,190 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:36:44,457 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:36:56,701 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:37:08,940 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:37:21,889 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:37:27,294 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:37:34,300 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer. 2019-01-08 15:37:37,341 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 446, current line = 451 | Last lines in terminal: | Recv: ok | Send: N443 M10536 | Recv: ok | Send: N444 G1 X76.556 Y161.072 E0.2508109 | Recv: ok | Send: N445 G1 X76.570 Y161.058 E0.2520106 | Recv: X:87.89 Y:147.34 Z:0.240 E:0.0000 | Recv: ok | Send: N446 G1 X73.396 Y157.884 E0.5207107 | Recv: ok | Send: N447 G1 X73.712 Y157.568 E0.5475110 | Recv: ok | Send: N448 G1 X72.552 Y156.407 E0.645899 | Recv: ok | Send: N449 G1 X72.659 Y156.299 E0.6549106 | Recv: X:73.59 Y:158.93 Z:0.240 E:0.0000 | Recv: ok | Send: N450 G1 X76.994 Y160.634 E1.0219107 | Recv: Error:checksum mismatch, Last Line: 445 | Recv: Resend:446 2019-01-08 15:37:37,348 - octoprint.util.comm - INFO - Ignoring resend request for line 446, that still originates from lines we sent before we got the first resend request 2019-01-08 15:37:37,355 - octoprint.util.comm - INFO - Ignoring resend request for line 446, that still originates from lines we sent before we got the first resend request 2019-01-08 15:39:18,532 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 1588, current line = 1591 | Last lines in terminal: | Send: N1582 G1 Z0.640 F30021 | Recv: ok | Send: N1583 G1 E0.0000 F240012 | Recv: X:127.00 Y:101.77 Z:0.440 E:0.0000 | Recv: ok | Send: N1584 G92 E0127 | Recv: ok | Recv: ok | Send: N1585 G1 X96.513 Y138.338 E1.5936 F390053 | Recv: ok | Send: N1586 G1 X80.691 Y154.339 E2.342181 | Recv: ok | Send: N1587 G1 X80.536 Y154.200 E2.349095 | Send: N1588 G1 X80.507 Y154.171 E2.350491 | Recv: ok | Send: N1589 G1 X80.502 Y154.110 E2.352490 | Recv: ok | Send: N1590 G1 X80.511 Y153.942 E2.358086 | Recv: Error:checksum mismatch, Last Line: 1587 | Recv: Resend:1588 2019-01-08 15:39:18,554 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 1588, current line = 1592 | Last lines in terminal: | Send: N1588 G1 X80.507 Y154.171 E2.350491 | Recv: ok | Send: N1589 G1 X80.502 Y154.110 E2.352490 | Recv: ok | Send: N1590 G1 X80.511 Y153.942 E2.358086 | Recv: Error:checksum mismatch, Last Line: 1587 | Recv: Resend:1588 | Recv: ok | Recv: ok | Send: N1588 G1 X80.507 Y154.171 E2.350491 | Recv: ok | Send: N1589 G1 X80.502 Y154.110 E2.352490 | Recv: ok | Send: N1590 G1 X80.511 Y153.942 E2.358086 | Recv: X:130.17 Y:104.24 Z:0.640 E:0.0000 | Recv: ok | Recv: ok | Recv: Error:Line Number is not Last Line Number+1, Last Line: 1587 | Send: N1591 G1 X80.545 Y153.788 E2.363385 | Recv: Resend:1588 2019-01-08 15:39:18,573 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 1593, current line = 1593 | Last lines in terminal: | Recv: ok | Recv: ok | Send: N1588 G1 X80.507 Y154.171 E2.350491 | Recv: ok | Send: N1589 G1 X80.502 Y154.110 E2.352490 | Recv: ok | Send: N1590 G1 X80.511 Y153.942 E2.358086 | Recv: X:130.17 Y:104.24 Z:0.640 E:0.0000 | Recv: ok | Recv: ok | Recv: Error:Line Number is not Last Line Number+1, Last Line: 1587 | Send: N1591 G1 X80.545 Y153.788 E2.363385 | Recv: Resend:1588 | Send: N1592 G1 X80.593 Y153.643 E2.368380 | Recv: ok | Recv: ok | Send: N1589 G1 X80.502 Y154.110 E2.352490 | Send: N1590 G1 X80.511 Y153.942 E2.358086 | Recv: Error:Line Number is not Last Line Number+1, Last Line: 1592 | Recv: Resend:1593 2019-01-08 15:39:18,589 - octoprint.util.comm - INFO - Ignoring resend request for line 1594 == current line, we haven't sent that yet so the printer got N-1 twice from us, probably due to a timeout 2019-01-08 15:46:05,993 - octoprint.server.heartbeat - INFO - Server heartbeat <3 2019-01-08 15:46:20,723 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 11634, current line = 11636 | Last lines in terminal: | Recv: ok | Send: N11627 G1 X92.911 Y139.215 E2.2672109 | Recv: ok | Send: N11628 G1 X92.630 Y139.500 E2.280599 | Recv: ok | Send: N11629 G1 X92.595 Y139.465 E2.2821106 | Recv: ok | Recv: ok | Send: N11630 G1 X92.315 Y139.751 E2.2954107 | Recv: ok | Send: N11631 G1 X92.349 Y139.785 E2.2970108 | Recv: ok | Send: N11632 G1 X92.068 Y140.070 E2.310397 | Send: N11633 G1 X92.034 Y140.036 E2.311996 | Recv: ok | Send: N11634 G1 X91.753 Y140.321 E2.3253106 | Recv: ok | Send: N11635 G1 X91.788 Y140.355 E2.3269103 | Recv: Error:checksum mismatch, Last Line: 11633 | Recv: Resend:11634 2019-01-08 15:48:11,694 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 14437, current line = 14442 | Last lines in terminal: | Recv: ok | Send: N14433 G92 E070 | Send: N14434 G1 X135.649 Y98.781 E0.0211 F39009 | Recv: ok | Send: N14435 G1 X135.092 Y99.225 E0.0448100 | Recv: ok | Send: N14436 G1 X134.503 Y99.631 E0.0685105 | Recv: ok | Recv: ok | Send: N14437 G1 X133.811 Y100.038 E0.095290 | Recv: ok | Send: N14438 G1 X133.180 Y100.351 E0.118789 | Recv: X:136.12 Y:98.35 Z:4.440 E:0.0000 | Recv: ok | Send: N14439 G1 X132.553 Y100.604 E0.141295 | Send: N14440 G1 X132.051 Y100.767 E0.158795 | Recv: ok | Send: N14441 G1 X131.704 Y100.938 E0.171684 | Recv: Error:checksum mismatch, Last Line: 14436 | Recv: Resend:14437 2019-01-08 15:53:02,113 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 20635, current line = 20637 | Last lines in terminal: | Recv: ok | Send: N20628 G1 X76.683 Y158.189 E4.3728102 | Recv: ok | Send: N20629 G1 X76.588 Y158.470 E4.3826109 | Recv: ok | Send: N20630 G1 X76.454 Y158.740 E4.3926100 | Recv: ok | Send: N20631 G1 X76.382 Y158.849 E4.3970108 | Recv: ok //////////////////////

2019-01-08 16:01:05,995 - octoprint.server.heartbeat - INFO - Server heartbeat <3 2019-01-08 16:05:35,932 - octoprint.util.comm - WARNING - Received an error from the printer's firmware: cold extrusion prevented | Last lines in terminal: | Send: N34974 G1 X139.096 Y108.211 E0.420680 | Recv: X:144.70 Y:113.77 Z:13.440 E:0.0000 | Recv: ok | Send: N34975 G1 X143.987 Y113.067 E0.649895 | Recv: ok | Send: N34976 G1 X144.697 Y113.771 F390065 | Recv: ok | Send: N34977 G1 X145.268 Y113.775 F900066 | Recv: ok | Send: N34978 G92 E070 | Recv: ok | Send: N34979 G1 X142.897 Y116.073 E0.1098 F390061 | Recv: ok | Send: N34980 G1 X136.940 Y110.158 E0.389083 | Recv: ok | Send: N34981 G1 X139.069 Y107.621 E0.499284 | Recv: X:145.27 Y:113.78 Z:13.440 E:0.0000 | Recv: ok | Send: N34982 G1 X144.558 Y113.070 E0.7565*90 | Recv: Error:cold extrusion prevented 2019-01-08 16:05:35,937 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Error: cold extrusion prevented" 2019-01-08 16:05:36,089 - octoprint.util.comm - INFO - Changing monitoring state from "Error: cold extrusion prevented" to "Offline (Error: cold extrusion prevented)" 2019-01-08 16:05:37,814 - octoprint.plugin - ERROR - Error while calling plugin printhistory

MagoKimbra commented 5 years ago

Ok the printer is not printing ... When printing from USB, then HOST, you have to tell the printer that it is starting to print, command M530 S1. Repetier Host or Repetier Server already do this octoprint no, so you have to put it in the start gcode. At the end of the press there must be M530 S0 to say that you have finished printing. If you do not, a security system turns off the heaters after 30 minutes.

ZhenyaKa commented 5 years ago

You must include this in FAQ. It is very very hidden protection!

MagoKimbra commented 5 years ago

Why? The normal host already gives that command is a standard, octoprint is not yet adequate, the problem is octoprint ... However you find it written in readme.md https://github.com/MKFirmware/MK4duo Added protection of the heaters if you do not print after 30 minutes on. It is important that the host gives the command M530 S1 for the start and M530 for the stop.

ZhenyaKa commented 5 years ago

Yes but usally no many people reads release notes. And this "bug" very hidden.

MagoKimbra commented 5 years ago

Tell me where should I write it?

ZhenyaKa commented 5 years ago

I don't know, but I think you will get a lot of "issues" from octoprint users if they want to use Kimbra and dig deeper :)

Or just switch to another FW

ZhenyaKa commented 5 years ago

Maybe good place will be in configiration_overall.h or in web-configurator :) ATTENTION!!! ATTENTION!!! ATTENTION!!!

add S530 S1 in start gcode :)

MagoKimbra commented 5 years ago

Only if you have the normal host.. Octoprint isn't normal host... If octoprint do not put M104 S200, for example, i must write put in start gcode M104 for setting temperature??? No i think no!!! The command M530 for start printing is a standard in new protocol, if octoprint do not put this comand the problem is octoprint non my...

ZhenyaKa commented 5 years ago

Okay I will add issue them

foosel commented 5 years ago

The command M530 for start printing is a standard in new protocol, if octoprint do not put this comand the problem is octoprint non my...

The only thing that we have with regards to a spec states this:

This enables the firmware to switch into a special print display mode to show print progress.

It does say nothing of "firmware is also free to disable heaters without warning if this command is not sent". You can't just attach functionality as disruptive as that to new capabilities that are targeting a completely different use case and then claim host software that doesn't yet support new capabilities that are defined for purely asthetic reasons is buggy because your firmware does more than it should be doing.

You decided to add functionality that relies on M530 being sent even though it is merely defined for "special printing displays". Don't put the blame for issues resulting from that decision on OctoPrint.

MagoKimbra commented 5 years ago

I did not give it fault to Octoprint, I just said that the M530 command does: This command tells the firmware that a print has started (S1) or ended (S0). Enables a range of features within firmware, counters and more including temperature protection control if you are not printing. It is a command that hosts give. I said if octoprint does not give that command to indicate the print start, it should be put in the start gcode. The MK4duo documentation states that if there is no M530 S1 command, the printer does not know it is printing from the host, it is only executing a series of commands and then activating the 30-minute timer for the temperature. The user told me that I have to write it in large letters and I told him that if octoprint does not give that command I can not do anything about it and it is he who has to put it in the start gcode.

foosel commented 5 years ago

I did not give it fault to Octoprint

I'm sorry, but you very clearly did. You basically blamed OctoPrint for not sending this new command as default already (which, considering that it's defined for display purposes I don't see a pressing need considering a never ending TODO list with way more important things on it) for OP's problems and called it a "not normal host" due to that. My problem is with that. I don't like my software being blamed for problems caused by firmware (like this one) adding additional critical functionality to unrelated optional commands.

The problem is that you overloaded the function of M530 and that users aren't finding that in the documentation. That's ok. But don't go declaring host software that isn't aware of some firmware derivative overloading that command with additional thermal monitoring "unnormal" because due to that decision you made.

MagoKimbra commented 5 years ago

I apologize, but unfortunately speaking bad English I used inappropriate terms. It is not a critical function, it is a function to save the printer. The firmware knows when printing from SD because the M24 command starts printing the file, from host no. So I used the M530 S1 command to indicate the print start to stop the 30 minute timer for the heaters. Since the hosts or servers were sending the command, I used it for this.

ZhenyaKa commented 5 years ago

write this "protection" in any FAQ please both developers!

MagoKimbra commented 5 years ago

It's is write: Added protection of the heaters if you do not print after 30 minutes on. It is important that the host gives the command M530 S1 for the start and M530 for the stop. https://github.com/MKFirmware/MK4duo

Where i can write this??

foosel commented 5 years ago

Since the hosts or servers were sending the command, I used it for this.

"Since some of the hosts or servers were sending the command" you mean ;)

write this "protection" in any FAQ please both developers!

Sure. From my experience it won't be read though, I sadly have the same experiences as @MagoKimbra to that regard. edit there you go

@MagoKimbra If I might suggest, maybe make that bit fat in the README. Or better yet, add a new section "Caution" or something to the README, the information is very much buried as it is right now.

EvilGremlin commented 5 years ago

Kimbra clearly in the wrong here. When saying "The command M530 for start printing is a standard in new protocol", you should point us to ISO 6983-1:2009. But guess what, there is no M530 in ISO standard. And any commands not mentioned in ISO works purely on a whims of independent developers. Clearly, the word "standard" isn't applicable here in any imaginable way. And when introducing new command or rewriting old widespread ones so that by default now it will screw jobs - you should write about it explicitly in big red font everywhere, so nobody will ever miss it.