Temperature Override


Stop reading if this is already done, and I just don't know where to find it...

At some point, the Temperature Offsets were added, and I really like them. If I'm printing something with a different filament, or a different color, I don't need to reslice the whole thing, I just want different temperatures.

But the problem is that I have to remember that my slicer is set to 205C and I want to use 230C, so I need to add an offset of 25C. Plus, when I reboot my octopi, the setting is lost (or is it when I load the page from a different browser, I'm not sure).

What I'd like is something that sets the extruder and bed temp, in the appropriate M104/M109/M190/etc. commands, and stays set until I change it (which I'll do if I change the filament, or want a small tweak).

Is that available somewhere? The other option is to smush it into Marlin, as some kind of temperature preset, and then have M104/M109 have an additional argument like which preset to use, and store the temperatures in EEPROM.


I wish I could slice once and print forever changing only the temperature but I've never been able to do that.

For different colors, maybe tweaking just temperature would work but for different materials, its not just temperature but fans, retractions, speeds, etc. that need to change. I could write a Perl program (sorry @foosel, but my Python skills are still in their infancy) that would tweak temperature settings in the gcode, but frankly, I'd just re-slice.

I don't know about your slicer, but the ones I use have a save "project" which includes the models loaded and all the current settings. Some slicers even have a load the settings from one "project" into another. Some slicers also store the settings in the gcode file so you can at least see what worked, if not load the slicer from the gcode.

Marlin has "M145" presets which may or may not be stored in EEPROM. These only work from the LCD to "prepare" for printing, you can't use them from gcode.


The M145 is really close to what I need, I just need M104 to be able to choose the preset. Somethijg like M104 P0 for the first preset, and I can change it whenever I want with the M145 command. I would need the bed to be similar, I guess, so M190 P0 too. There's certainly more than one way to skin this cat.

As for also needing to change retraction settings, it's too late by the time it gets to octoprint... As for flow rate, there is a similar way to edit it, either by adjusting rate or steps/mm.


Unfortunately, to get what you want/need, you will have to modify the Marlin firmware quite a bit. Add preset selection to M104, M109, M190, and M140. Then you would have to obtain the sources for your slicer and modify it to select and then output the proper preset codes. Not to mention how many M145 presets can be held in EEPROM.

All this effort to avoid re-slicing parts seems counter productive since slicing doesn't take that long. Setup OctoPrint with a watch folder and a periodic purge of the uploaded files and/or use a slicer's OctoPrint interface and you should be able to achieve what you want without any custom firmware or software.


"All this effort" is not worth it if it's just me, but there are a lot of users of octoprint and of Marlin. If I can solve this problem in one of those two places, then it will be worth it for the next guy.

If you don't want to help, or you won't use it, that's fine. I'm not sure why you are even responding to this post.


May your efforts be successful!