I had originally posted this in the general discord, but it wa suggested this might be a better place to post/ask.
The running joke among RailCore owners is that no 2 are alike.
So recently another person and myself started to set up a modular configuration framework using includes, to make it easier for RailCore owners to quickly and easily adopt Klipper.
The basic premise is to set up pin aliases for each board, but use a standardized naming methodology for the aliases. The fan, stepper, probe, etc includes reference the standardized alias names, thus drastically reducing the time that needs to be spent setting up a configuration.
Last night we came across an issue/error that’s kind of limiting. The background is that duets have a shared stepper enable pin , so we set an alias.
# The shared enable pin for all steppers
S_EN=PC6,
We were then going to use that to set other name aliases, so we didn’t have to hardcode the pin name 10 times (duet 2 + duex 5 supports 10 steppers).
# Stepper Motors
# X & Y
X_STEP=S0_STEP, X_DIR=S0_DIR, X_EN=S_EN, X_CS=S0_CS,
Y_STEP=S1_STEP, Y_DIR=S1_DIR, Y_EN=S_EN, Y_CS=S1_CS,
#....
However this yielded an error
pin Y_EN is an alias for X_EN
and that’s coming from here.
The code allows a 1 to 1 alias mapping, for example.
aliases:
All_0=PD6,
All_1=All_0,
But not a one to many mapping.
aliases:
All_0=PD6,
All_1=All_0,
All_2=All_0,
Is this as designed, a bug, or just a use case that wasn’t considered?