The life is too short to configure Marlin
If you want to modify and share easily your Marlin configuration, Marlin Console Configurator is for YOU.
This tool will help you to disable, enable and changes values into your Marlin firmware (currently Configuration.h & Configuration_adv.h) with just only a minimalistic wanted config.
- Marlin Console Configurator
Cool things:
- No need to fork Marlin repository, and have a git pull-rebase-conflicts-f**k. Just download/clone last Marlin sources and run marlin-console-configuration onto wanted profile.
- No more Ctrl+F to find the constant to change
- Same Marlin version/code, when you can apply the wanted profile of targeted printer
- Share profile with friends, or on a tutorial.
- It is not doing anything else than modifying C/C++ header files (
.h
), so it don't care about Marlin version ! - It will not add/remove/reorder constants, but just modifying only what you wanted into your profile :)
Bad things:
- This tool is so quick that you have no time to take a coffee while it is running :D
- Complex guys that loves complex things won't love it... Too simple !
Just run the following command.
cd /path/to/Marlin
docker run --rm -it -v ${PWD}:/app/files chuckame/marlin-console-configurator help
Since docker need to access to your Marlin configuration folder/files AND your profile, this is why there is ${PWD}:/app/files
volume.
But, because of this volume, you cannot go trought the current folder's parents using ../
from marlin-console-configurator parameters.
Example for apply
command with the following folder architecture:
3d-printing/
├── profiles/
│ ├── ender-3-pro-base.yaml
│ ├── ender-3-pro-mbl.yaml
│ ├── ender-3-pro-runout-sensor.yaml
│ └── ender-3-pro-abl.yaml
└── MarlinFirmware/
└── Marlin/
├── Configuration.h
└── Configuration_adv.h
Execute the command:
cd 3d-printing/
docker run --rm -it -v ${PWD}:/app/files chuckame/marlin-console-configurator apply ./MarlinFirmware/Marlin -p ./profiles/ender-3-pro.yaml
Actually only compatible with amd64 architectures. If you want to execute on other arch, like armv7 for raspberry pi, you can directly use binaries, while you can create an issue if you really want marlin-console-configurator on your arch.
Download marlin-console-configurator.zip
from Releases and extract it.
The unzipped folder will contain those files:
marlin-console-configurator/
├── bin/
│ ├── marlin-console-configurator # Entrypoint script for unix-like OS
│ └── marlin-console-configurator.bat # Entrypoint script for windows OS
└── lib/
└── marlin-console-configurator.jar # The marlin-console-configurator
How to use it:
cd ./marlin-console-configurator/bin
./marlin-console-configurator help
cd ./marlin-console-configurator/bin
marlin-console-configurator.bat help
./gradlew bootRun help
marlin-console-configurator apply ./Marlin -p ./ender-3-base.yml ./ender-3-abl.yml
You will see something like this:
marlin-console-configurator apply ./Marlin -p ./ender-3-abl.yml --save
Only needed modifications will be saved.
marlin-console-configurator generate-profile ./Marlin -o ./my-new-profile.yml
Usage: marlin-console-configurator [command] [command options]
Commands:
apply Apply the given profile to marlin constants files, that will enable, change value or disable constants into marlin
configuration files
Usage: apply [options] /path1 /path2 ... File or directory path(s) where all changes will be applied
Options:
* --profiles, -p
Profile's path(s) (space separated) containing changes to apply. Format: yaml
--save, -s
When is present, will save changes to files. Else, just display changes without saving
Default: false
--verbose, -v
when present, all non-changed line are printed
Default: false
--yes, -y
when present, the changes will be saved without prompting the user
Default: false
diff Display differences between marlin configuration files
Usage: diff [options]
Options:
* --left
marlin configuration folder or files paths for the base of diff
* --right
marlin configuration folder or files paths to know what was changed since --source paths
generate-profile Generate a profile from given marlin constants files
Usage: generate-profile [options] /path1 /path2 ... The marlin constants folder or files paths
Options:
--diff-from
The marlin constants folder or files paths from where you want to make a diff. If gathered, the generated profile will contains
only the diff between those files and the command files
* --output, -o
The output profile path, will be overwritten if already existing file. If 'console' is specified, the profile will just be
printed to the console
help Display this help message
Usage: help
Please go to Issues, find a similar issue, or create a new one with your problem.
Made with ❤️ by Chuckame