Question To FanSpeedMirror

Hello @b-morgan !

I have a question to your FanSpeedMirror.
Is it possible to just send another Gcode to the printer with the occurrence on a M106 command instead of calling a script?

Reason: PrusaSlicer does not support more than one part cooling fan.
So for my IDEX printer I just want to copy the occurring M106 Sxxx command to M106 P1 Sxxx to the second print head.

Or must that be new plugin?

It doesn't have to be a new plugin but it probably should be. FanSpeedMirror uses the plugin hook octoprint.comm.protocol.gcode.sent and your FanSpeedCopy would need to use octoprint.comm.protocol.gcode.queuing. See the OctoPrint docs at:
https://docs.octoprint.org/en/master/plugins/hooks.html#octoprint-comm-protocol-gcode-phase
for the details (or differences).

I'd be happy to co-author a plugin with you. Unless you want to send me your IDEX printer I will need a partner to do the actual debugging :wink: :innocent:

1 Like

Thank you for that info.
Maybe I should dive into the plugin adventure.
For the simplicity of what is to do, it maybe can be a single file plugin.

It probably could be a single file plugin but I was thinking a plugin with inputs so it would be more general. I used FanSpeedSlider as a model for FanSpeedMirror.

My first attempt was to patch FanSpeedSlider and submit the patch to the author of that plugin but my patch was rejected. It does use the queuing plugin hook and the docs I linked above have an example of converting one gcode command into two gcode commands.

I found the OctoPrint plugin adventure fairly easy from the coding perspective but a little bit challenging to dot the i's and cross the t's to get it submitted and accepted.

Let me know if you would like my help.

Have you opened an "enhancement" request against PrusaSlicer? Seems like something they should consider supporting.

Some users already did, but Prusa seems a bit deaf on that ear...