Skip to content

Releases: 3DCoded/DynamicMacros

DynamicMacros v1.5

28 May 16:04
9a5ec62

Choose a tag to compare

This release of DynamicMacros has a few new features and bugfixes:

Macro Parameters in Mainsail/Fluidd/KlipperScreen

Previously, DynamicMacros required an interface_workaround: True parameter to allow for showing DynamicMacros on Fluidd. With a recent Fluidd update, this is no longer required for macros to show up. It is still recommended to use this parameter, to allow macros to display in KlipperScreen.

This update allows for displaying parameters in Mainsail/Fluidd/KlipperScreen macro previews, and fixes a few minor bugs along with it.

Fixes #20

Custom Delimiters

The previous implementation of custom delimiters in DynamicMacros had two main issues:

  • The multiline default delimiter was prone to splitting macros where they shouldn't have been split, especially around comments.
  • I misspelled delimiter to delimeter.

This update fixes both of these issues. The new default delimiter is --- to make sure macros are only split when you actually want them to split, and not accidentally.

Delayed GCode Enhancements

This release also cleans up the delayed GCode implementation in DynamicMacros to fix a few bugs surrounding them. See #21

Full Changelog: v1.4...v1.5

DynamicMacros v1.4

13 Apr 11:38

Choose a tag to compare

This release of DynamicMacros has a few new features and optimizations.

Improved Logging

Similar to the automated printer.cfg locating that used Klippy's start arguments, DynamicMacros v1.4 now uses the same technique to locate the klippy.log, and places dynamicmacros.log in the same directory.

Custom Delimiters for Receiving Variable Updates

Previously, DynamicMacros only let you split macros by three newlines. This led to a few issues, however, with macros being unintentionally split. To resolve this, DynamicMacros now has a delimeter option, or disabling entirely. docs

Support Dropped for Manufacturer Modified Klipper Installations

Unfortunately, too many manufacturers have been using Klipper firmware as advertisement, and many times, they install either old versions of Klipper, heavily modify it, or both. This makes it nearly impossible to provide support for them, let alone develop plugins for them.

As a general rule of thumb, if your klippy.log says your Klipper version is less than v0.12.0, and/or you see modified Klipper files you didn't put there, you're running a manufacturer modified Klipper and you must update to proper mainline Klipper or Kalico to use DynamicMacros.

Minor Updates:

  • DynamicMacros now supports Kalico (beta)!

Full Changelog: v1.3...v1.4

DynamicMacros v1.3

30 Oct 20:01

Choose a tag to compare

This release of DynamicMacros has a few new features.

Fluidd and KlipperScreen

A new interface_workaround parameter was introduced to DynamicMacros. Now, you can set this to true if your DynamicMacros don't show up on Fluidd or KlipperScreen interfaces. #5

[include] support

DynamicMacros now supports the [include] tag in configuration files. This allows you to include multiple configuration files into one file. #9

Full Changelog: v1.2...v1.3

DynamicMacros v1.2

18 Aug 19:41
6d8b1c4

Choose a tag to compare

This release of DynamicMacros has several new features.

Multiple Klipper Instances

When using multiple Klipper instances, the config path is no longer the default ~/printer_data/config. DynamicMacros v1.1.1 introduced a configurable config_path variable for this. Now, DynamicMacros v1.2 automatically detects the configuration path for your Klipper install.

Macro Clusters

DynamicMacros v1.2 has a new feature called macro clusters. In short, this allows for macro files to be grouped together. This also allows disabling of Python and/or the printer object on a per-cluster basis.

DYNAMIC_RENDER command

This feature (explained in the documentation) allows for viewing what will be executed when a macro is run (passing in parameters, printer data, etc.) A quick example:

[gcode_macro test]
gcode:
    M117 {params.A}

When TEST A=2 is run, the macro is internally "rendered" into:

M117 2

Then, this is run. The DYNAMIC_RENDER command allows for viewing of the rendered macro, without running it, making DynamicMacros even more useful as a macro development tool.

Traditional delayed_gcode Syntax

This last major feature of DynamicMacros v1.2 is support for traditional delayed_gcode syntax.


Full Changelog: v1.1.1...v1.2

DynamicMacros v1.1.1

07 Aug 21:46
e872d5b

Choose a tag to compare

This bugfix release of DynamicMacros has a new features.

Features

  • The ability to configure a config_path
  • Simple logging for quicker debugging

New Contributors

Thank you @Firas95k for helping me diagnose the issue in #3 leading to the new features in this release.

What's Changed

  • Logging and File Exist Verification by @3DCoded in #4

Full Changelog: v1.1...v1.1.1

DynamicMacros v1.2-beta

07 Aug 21:50

Choose a tag to compare

Pre-release

This prerelease of DynamicMacros v1.2 contains several new features.

Features

  • Sandboxing macros to enable control over whether or not Python and/or the printer object is enabled
  • Traditional delayed_gcode syntax for easier migration from standard GCode macros

This release also includes a work in progress Klippy extra tutorial.

Full Changelog: v1.1...v1.2

DynamicMacros v1.1

31 Jul 19:05

Choose a tag to compare

This release of DynamicMacros has several new features.

Features

  • Ability to run Python from within a Dynamic Macro
  • Dynamic implementation of delayed_gcode
  • More utility functions

Documentation

What's Changed

New Contributors

Full Changelog: v1.0...v1.1

Dynamic Macros v1.0

23 Jul 14:48
4575aeb

Choose a tag to compare

DynamicMacros v1.0

The first release of Dynamic Macros has the following features:

  • All features of standard GCode macros
  • Ability to update, add, remove, and rename Dynamic Macros without restarting Klipper
  • Utility functions
  • Recursion
  • Receiving Variable Updates

Documentation

Full Changelog: https://github.com/3DCoded/DynamicMacros/commits/v1.0