Simple plugin to reduce the number of ABLs triggered.
How it works?
The plugin reads
ABL_CMD1 from your print file and check the bed mesh
- If mesh is updated,
M420 S1M is sent in order to load bed mesh from memory.
- If mesh is outdated or doesn’t exist,
ABL_CMDis sent in order to generate a new mesh. On Marlin,
M500is also sent to save the mesh on the eeprom.
BED_MESH_CALIBRATE(Klipper). This can be customized in SmartABL settings.
Warning: Prusa and Klipper require at least 1 ABL to track the state.
Note: By default, the standard ABL command for each firmware triggers SmartABL algorithm, however, you can customize this behaviour in settings: the command that triggers the algorithm, the command sent to the printer or even ignore commands.
Credits to Oscar for the idea.
- Marlin (M)
- Prusa (P)
- Prusa-buddy (B)
- Klipper (K)
*: You can customize the gcode triggering ABL and the gcode sent to the printer in settings. Check the setting “Enable SmartABL on unknown firmware” to use not detected firmwares.
Want your firmware to be compatible? Open an Issue on github so we can add it 🙂
Don’t forget to upload plugin_SmartABL.log!!
Trigger custom gcode(s): By default, SmartABL only triggers with the standard ABL commands, i.e.
G29/G80/BED_MESH_CALIBRATE. However, you can define here a list of gcodes that can trigger SmartABl, e.g. macros or non-standard commands. Default: disabled (G29).
ABL custom gcode(s): By default, SmartABL sends the standard ABL commands, i.e.
G29/G80/BED_MESH_CALIBRATE. However, you can define here a list of gcodes that will be sent instead, e.g. macros or non-standard commands. Default: disabled (G29).
Ignore gcode(s): Define here if you want to skip gcodes. The commands defined here won’t be sent to the printer. Default: disabled.
Force bed leveling
#days. Default: enabled (1).
#prints. Default: enabled (5).
- If current print bed temperature is different from last print. Default: enabled.
- If current print hotend temperature is different from last print. Default: enabled.
- Take into account failed/stopped jobs in prints counter. Default: disabled (only successful prints increase the counter).
- Enable SmartABL on unknown firmwares.
You have to enable and configure
Trigger custom gcode(s)and
ABL custom gcode(s). If you don’t configure these two settings, SmartABL assumes marlin firmware by default (i.e. G29 read from file and G29 send to printer when ABL is needed)
ABL Restricted: Normal behaviour, the plugin chooses when to trigger ABL based on your settings.
P/FP: Number of current prints/Number of prints to force ABL.
ABL Always: Ignore settings; the plugin always trigger ABL. Handy when you need to force-update your mesh.
You find this plugin helpful and want to support me?