There have already been a lot of discussions around this topic and unfortunately it is far more complex than it initially might seem. To list a few:
- Multiple aliases referencing the same pin
- Priority of [include....]
- Reworking example config files to have pin aliases at top of file
There are multiple challenges involved:
- @mykepredko listed a few
- RatRig already tried such an approach with their config. Nicely engineered but IMHO it leads to very obfuscated configs, giving the novice user a very hard time
- Something most users are not really aware of: Most of the config settings are tied to the board and only very few actually represent the given type of printer. So, by far the asiest approach is:
- Start a cfg with the bare board as basis, e.g. from the given examples or the board’s manufacturer GitHub
- Add the few printer specific items like endstop positions, min / max movement ranges and accelerations / velocities from your current config
- Yet another challenge is that you actually “modify” your board when pushing in stepper drivers. There are models using SPI or UART. Both scenarios lead to different pin usages and settings