VzBoT3D / docs

VzBot Documentation
https://docs.vzbot.org/
13 stars 25 forks source link

Make use of multi_pin aliases #85

Open HumbleDeer opened 1 year ago

HumbleDeer commented 1 year ago

Proposal: use [multi_pin xxx] in config files

Make use of some multi_pin aliases and/or controller_fan definitions to control fans otherwise controlled by different pins.

There's multiple parts of the printer where multiple accessories are controlled as one device. For example:

Not fans, but also possible to control in groups (provided pins are set up correctly):

Aux fans / RSCS fans

Reference:
https://www.klipper3d.org/Config_Reference.html#multi_pin

Example:

[multi_pin rscs_fans]
pins: pin1, pin2

[fan rscs_fan]
pin: multi_pin:rscs_fans

Exhaust fans

Vz235 has two smaller exhaust fans instead of the Vz330's single larger fan. These can be combined using a multi_pin alias as well.

[multi_pin exhaust_fans]
pins: pin1, pin2

[fan exhaust_fan]
pin: multi_pin:exhaust_fans

Stepper driver fans

Configuring the stepper driver fans to be driven by four fan ports on the motherboard

Reference:
https://www.klipper3d.org/Config_Reference.html#multi_pin https://www.klipper3d.org/Config_Reference.html#controller_fan

[multi_pin controller_fans]
pins: PA2, PA3

[controller_fan controller_fan]
pin: multi_pin:controller_fans
kick_start_time: 0.5
#fan_speed: 0.5
stepper:
#   Name of the config section defining the stepper that this fan is
#   associated with. A **comma separated list** of stepper names will 
#   enable the fan when any of them are enabled. 
#   **The default stepper is all of them.**

Partially courtesy of @AxMod3DPrint

tehmaze commented 1 year ago

Great idea overall and allows for a more clutter-free RCSC setup for example.

Let's leave out the pin setup for the driver fans, as they are supposed to be connected to the stepper driver directly in a typical setup; however we can of course provide a commented-out example plus documentation in the printer.cfg we provide.

HumbleDeer commented 1 year ago

This could tie in nicely with some suggestions as well as ideas I took over from the guys over at mellow-3d.github.io.

The way they have their config files modular for each motherboard is not only a great idea, but a fantastic resource right out of the gate. This would solve issues like the one Nero had, where he had to redo his whole config cause the pin diagram we provide is a different board type than the one he got.

I agree with Nero that we should be supplying config files for all possible configurations that the Mellow kit could come in. The modular way of working would really help with editing the configs on the user side of things as well.

See this: https://mellow-3d.github.io/fly_super8_klipper_mcu_config.html#fly-super8-aliases-file

tehmaze commented 1 year ago

That's nice if you're a vendor with a limited set of boards that are fully under your control, but it gets out of hand fast if we have to support printers * boards pin aliases and matching configurations. That isn't to say we can't provide a set of pin alias stubs plus reference configuration files for the most popular boards out there, thinking of:

HumbleDeer commented 1 year ago

I'm not suggesting we support all boards. I suggest we support the three versions of Mellow board we talk about in the docs. Those are the ones that make sense, as they're the ones the kits and BOM have.

It would also make sense to actually rename the printer configs printer-vz235awd.cfg for example, or other verbose and descriptive terms in both the titles and the file inside.

But @pbsuper told me to keep mn fikken van de printer configs :')