Basic Information:
Printer Model: HEVO
MCU / Printerboard: SKR Pro 1.2
klippy.log
not relevant, it’s not about an error or a specific configuration.
Describe your issue:
The Hall filament width sensor (on my desk, not yet configured) (klipper/hall_filament_width_sensor.py at master · Klipper3d/klipper · GitHub and Hall filament width sensor - Klipper documentation ) works by setting the extrusion multiplier depending on the filament diameter, it issues M221 when in operation.
That’s ok in principle, but right now I use the EM to adjust flow of different filaments after doing the EM calibration (see Ellis’ guide), so that wouldn’t work anymore. I may also want to adjust the flow on the fly, if for some reason I notice it’s off.
So what can I do to retain the ability to manually adjust the flow multiplier, while using the Hall effect filament sensor?
In principle I thought about writing a macro which redefines the M221, so that the M221 multiplies the value received (by the filament module) by a variable I can control externally during print. This would work but then I need to type variable assignment commands manually.
Is there a way to show in Mainsail an extra slider which controls a user-defined variable? Then I could adjust that slider instead of the EM slider, which is already controlled by the filament module.
Being able to add sliders/switches linked to user variables would be useful also in other cases: for example, I am thinking of redefining M106 and SET_FAN_SPEED to discard the command if a user-variable “locked fan” is true.
Another option would be for the filament module to continuously redefine the rotation distance, leaving the user-facing EM parameter free. This would require a change of the source code, which I may even be able to do myself. Not sure whether the rotation distance would have instant effect, like the EM has, or if it is checked and applied only in specific cases (like initialisation, or similar).
Any comment on the topic?