Skip to content

grblHAL/Plugins_misc

Repository files navigation

Assorted small plugins

Probe relay(s)

Adds setting $678 (toolsetter) and $679 (secondary probe) for which auxillary ports to use for controlling the probe selection relay(s). Set to -1 when unused/disabled.
Probe selection is via the inbuilt G65P5Q<n> macro, <n> is the probe id: 0 - primary probe, 1 - toolsetter, 2 - secondary probe. The toolsetter can be selected automatically on "@G59.3" toolchanges.

Dependencies:

The selected driver/board must provide at least one free auxiliary digital output port capable of driving the relay coil, either directly or via a buffer.

Feed override

Adds Marlin style M220 command for setting feed overrides.

  M220 [B] [R] [S<percent>]

  B - backup current values
  R - restore values from backup
  S<percent> - percentage of current feedrate.

Note

M220RS<percentage> can be used to override the rapids rate, if R is not specified the feed rate will be overridden. This deviates from the Marlin specification.

Configuration:

Add/uncomment #define FEED_OVERRIDE_ENABLE 1 in my_machine.h.

Homing pulloff

*** Experimental ***

Adds per axis setting for homing pulloff distance. $290 for X-axis pulloff, $291 for Y-axis, ...

Configuration:

Add/uncomment #define HOMING_PULLOFF_ENABLE 1 in my_machine.h.

ESP-AT

*** Experimental ***

Adds Telnet support via ESP-AT running on a supported ESP MCU. Allows senders to connect to the controller via WiFi.

Dependencies:

Driver and board support for a serial port (UART) that is not claimed by a different plugin.

Configuration:

Add/uncomment #define ESP_AT_ENABLE 1 in my_machine.h.

Adds many networking and WiFi settings for configuring mode (Station, Access Point), Telnet port, IP adress etc.

Note

The ESP32 is a 3.3V device and pins are not 5V tolerant. If the controller serial port uses 5V signalling add a 5V to 3.3V level shifter, at least for the controller TX line.

RGB LED strips

Adds one or two settings, $536 and $537, for setting number of LEDs in NeoPixel/WS2812 LED strips.

Dependencies:

Driver and board support for LED strips.

Configuration:

Add/uncomment #define RGB_LED_ENABLE 1 in my_machine.h.

RGB LED strip control

Adds support for Marlin style M150 command.

M150 [B<intensity>] [I<pixel>] [K] [P<intensity>] [R<intensity>] [S<strip>] [U<intensity>] [W<intensity>]

    B<intensity> - blue component, 0 - 255.
    I<pixel>     - LED index, 0 - 255. Available if number of LEDs in strip is > 1.
    K            - keep unspecified values.
    P<intensity> - brightness, 0 - 255.
    S<strip>     - strip index, 0 or 1. Default is 0.
    R<intensity> - red component, 0 - 255.
    U<intensity> - green component, 0 - 255.

Dependencies:

Driver and board support for LED strips.

Configuration:

Add/uncomment #define RGB_LED_ENABLE in my_machine.h and set/change the define value to 2.

Dependencies:

Driver and board support for LED strips.

Note

If B axis is enabled then the plugin will not be activated.

Bind events to aux output ports

Configuration:

Add/uncomment #define EVENTOUT_ENABLE 1 in my_machine.h .

Depending on the number of free output ports up to four events can be selected. Settings $750+<n> is used to select the event (trigger) to bind to the port selected by setting $760+<n> where <n> is the event number, currently 0 - 3.

Dependencies:

The selected driver/board must provide at least one free auxiliary output port.

Credits:

Based on idea from plugin by @Sienci-Labs.

File based tooltable

*** Experimental ***

Adds support for LinuxCNC format tool table loaded from root file system (SD card).

The plugin allows mapping of tools to tool rack/carousel pockets, planned is support for randomized toolchangers.

The file /linuxcnc/tooltable.tbl is used for storing the tool table and it is automatically loaded when the SD card is mounted.

Configuration:

Add/uncomment #define TOOLTABLE_ENABLE 1 in my_machine.h.

Dependencies:

SD card plugin.

PWM Servo

*** Experimental ***

Adds support for Marlin style M280 command.

M280 [P<index>] [S<position>]

    P<index>    - servo to set or get position for. Default is 0.
    S<position> - set position in degrees, 0 - 180.
                  If omitted the current position is reported: 
                  [Servo <index> position: <position> degrees]

Configuration:

Add/uncomment #define PWM_SERVO_ENABLE 1 in my_machine.h.

Dependencies:

The selected driver/board must provide at least one free auxiliary analog output port that is PWM capable.

Credits:

Based on code by @wakass.

BLTouch probe

*** Experimental ***

Adds support for Marlin style M401 and M402 commands.

M401 [H] [R<0|1>] [S<0|1>] - deploy probe

    H      - report high speed mode.
    R<0|1> - currently ignored.
    S<0|1> - S0: disable high speed mode, S1: enable high speed mode.
M402 [R<0|1>] - stow probe

    R<0|1> - currently ignored.

Configuration:

Add/uncomment #define PWM_SERVO_ENABLE 1 and #define BLTOUCH_ENABLE 1 in my_machine.h.

Dependencies:

The selected driver/board must provide at least one free auxiliary analog output port that is PWM capable.

Credits:

Based on code by @wakass.


2025-06-26

About

Assorted small plugins

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published