Does Octoprint fan control override slicer fan gcode?

I have been using octoprint for a few weeks now. Mostly I do remote uploads and then track the progress, Because of a material issue that I am having I am running some temperature towers with different fan settings for each tower. I set the fan via Slic3R so its in the G-code.

I noticed that while I was printing one tower with a g-code set 60%, I notice that the fan control slider was sitting at 30% from a few prints ago. Does that mean that the printer was only doing 30%. Or if I selected the control would it have gone to 30%. I decided to slide it up to 60% (the g-code settiung) and then select it.

But I really do not understand the control.

The fan slider doesn't do anything until you click the "Fan Speed" button under the slider. It's kinda like an "Activate" button.

Is it possible to "deactivate" the fan speed as well?

Maybe because the bridge setting wasn't right in the G-code so you can manually adjust the fan for only a couple layers and return to the G-code fan settings after "deactivating" the fan speed in octoprint.

To me, "deactivate" means "turn off"

You can set the fan speed at any time, to any speed you like from the Octoprint console, BUT, once you over ride the slicer's setting, you can't go back, but, since you can change the fan speed any time you like, that really doesn't matter, unless you plan to walk away from the printer, in which case the fan speed will stay at whatever the last setting was

So, I think the answer you're looking for is "no", you can't deactivate the Octoprint over ride and go back to slicer settings

Thanks for the quick response, that's all i wanted to know :slight_smile:

That's not true, at least not completely true. If the slicer inserts multiple fan speed commands throughout the gcode then octoprint's slider in the UI will override the current speed, but as soon as another fan speed in the gcode comes along, it'll revert back to that. The feed rate and flow rate sliders work as you describe by telling the firmware to alter any incoming values for feed speed and extrusion by the given multiplier, but no such firmware multiplier exists for the cooling fan speed.

The way you describe it is only true if the slicer only inserts one fan speed command right at the start which is usually never the case You'll nearly always have different fan speeds based on layer times, whether it's bridging, first layer fan speeds can also differ from nth layer fan speeds (although some / most may depend on the slicer being used).

As for the fan speed plugin (Fan Speed Control), which I assume is what you're referring to since octoprint doesn't have a fan slider by default, it doesn't remember your last speed and alter any future speeds, what it can do if you tell it to, is to alter any speeds that are outside a given range if your fan perhaps doesn't operate below a certain percentage or is too strong at 100%. Those functions are meant mainly as a bandaid for slicers that don't allow full fan control, or if perhaps you accidentally set your fan too high and can't be bothered re-slicing, you could use it to limit the fan's speeds that way. Other than that, it's not a persistent speed setting.

Thanks for that correction. I hadn't taken into account more than one speed change

That's cool, and also perhaps some / most slicers may only add that one command at the start by default. I know I like to fiddle with slicers in the advanced mode which gives you more control so perhaps your scenario with only 1 speed setting may be more common than I imagine. Especially for people who print PLA, the fan is probably just 100% after layer x, and therefore the gcode may actually only contain that 1 fan command.

The bit about the plugin still holds true though, if you set the speed to 30% with the plugin, it won't remember that for future prints (at least it shouldn't anyway, there's no code in it to make it remember the last set speed, though maybe that could be a future feature?)