SergiuToporjinschi / OctoPrint-CalibrationTools

GNU General Public License v3.0
19 stars 8 forks source link

[FR] Add M302 control for estep calibration w/o heating nozzle #12

Open fnsign opened 2 years ago

fnsign commented 2 years ago

Hi, thanks for that cool plugin!

I have following FR: I calibrate my esteps always with detached extruder from the hotend (as it is recommended). Ususally, the firmware has a temperature check to avoid extruding cold filament. But the nozzle doesn't need to be heated for a detached extruder what also reduces the risk of getting burned while working on the extruder. To override the temperature check I use M302 S0 before starting the 100mm filament extrusion. After calibration I re-enable the check with M302 S170 (or higher temperature) again. Could you implement that feature to disable and re-enable the temperature check?

SergiuToporjinschi commented 2 years ago

Hi, UUU that's nice, I didn't know there is a command for that. So, M302 S0 sets the limit of cold extrusion to 0 and M302 S170 to 170 C. So, M302 will respond with the current cold extrusion temperature.

There is also a parameter to just disable check

M302         ; report current cold extrusion state
M302 P0      ; enable cold extrusion checking
M302 P1      ; disable cold extrusion checking
M302 S0      ; always allow extrusion (disable checking)
M302 S170    ; only allow extrusion above 170
M302 S170 P1 ; set min extrude temp to 170 but leave disabled

It would work to use M302 P1 before and M302 P0 after ?!?! I would use P attribute because I want to make as less changes as possible in printer settings. Using P I think I don't have query the printer to see how the value is. Using P would be just send M302 P1 before and on save settings in EEPROM send M302 P0 this way I don't care what the value is.

I think I will implement that over the weekend.

fnsign commented 2 years ago

Thanks for your quick response!

I wasn't aware of the P1/P0 parameters, but they are far more elegant than working with the S-params. Yeah, setting first M302 P1 (disable check) and then M302 P0 (enable checking) would do the job. Looking forward to the update! Take care!