29 Commits

Author SHA1 Message Date
Terje Io
b435b48ec1 Changed real time reporting to allow per connection status for which report elements to output.
Added pragmas to shut up warning from the ESP32 compiler.
2026-02-04 11:28:20 +01:00
Terje Io
64c35930c7 Refactored offset handling, for improved readability and in preparation for rotation support.
Added experimental support for G66 (modal macro call) and G67 (end modal macro call).
Made axis letter to axis/motor assignment for axes ABCUVW freely changeable at compile time.
Fix for some G65 arguments being incorrectly validated for normal use (sign, range).
Added repeat support to G65 macro call via the optional L parameter word.
Changed default setting for ABC-axes to rotary.
Changed defaults for jerk settings to 10x acceleration settings.
Disabled jerk for jog, probe and spindle synchronized motion.
Added _active_probe system parameter, returns -1 if no probe inputs available.
Minor bug fix, G5.1 and G33.1 motion commands were not coverted to the correct string equivalent in $G output.
2026-01-25 07:51:44 +01:00
Terje Io
24d802e573 Fix for bug preventing disabling of AMASS, changed the ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING symbol so it can be overridden via compiler argument.
For developers: added output function parameter to signature of report_realtime_status() call to allow routing output to a given stream (or streams).
2025-09-04 08:36:48 +02:00
Terje Io
ee1cd5a745 Improved ioport remapping of auxiliary pins (used by plasma plugin).
Changed signature of limit check functions, grbl.travel_limits() et. al.
to include a pointer to the work envelope to use.
Updated spindle off handling to check for "at speed" on deceleration when spindle is "at speed" capable.
2025-08-06 18:32:29 +02:00
Terje Io
472012e137 Changed $65 setting to flags for allowing feed rate overrides during probing and limiting probe motion to be within machine workspace.
Improved handling of stop realtime command (0x19) for faster motion halt without losing position.
Optimized RAM usage. Fixed regression related to losing current coordinate system and tool offset over a stop.
2025-02-20 10:46:04 +01:00
Terje Io
3f37d8c478 Added setting $539 for spindle spin down delay. Ref. issue #651. 2025-01-07 08:57:34 +01:00
Terje Io
50a7507f6f Added preprocessor support for moving coolant outputs to auxiliary pool. Some minor bug fixes and code cleanup.
Those who have custom board maps must update pin assignments accordingly when updating to this or later versions.
2024-12-17 16:10:20 +01:00
Terje Io
a41790dada Revised core setting structures, changed from 8-bit to 16-bit CRC checksums for improved detection of corruption/version mismatches.
Added option to homing enable setting ($22) for per axis homing feedrates.

!! Backup and restore settings over an update is recommended since all settings will be reset to default. Any odometer data will also be lost.
2024-12-09 19:24:20 +01:00
Terje Io
43d694917c Added basic core support for toolsetter probe, changes $6 (probe input inversion) and $19
(probe input pullup disable) settings from boolean to bitfield when driver support is available.
Added a few default values for settings in config.h, overridable from the compiler command line.
Added core support for per axis pulloff distance, needs plugin for configuring them.
Added HAL flags for disabling settings for MCU input pins pullup disable, may be set by
drivers/boards that has buffered (optocoupled) inputs that is not possible to change.
2024-11-13 17:32:36 +01:00
Terje Io
236a40c100 Improved parameter handling some more, now allows indirected O-calls and line numbers with O-word.
Fix for issue #609, homing may cause a controller crash.
2024-10-16 14:13:04 +07:00
Terje Io
d2c476deaf Added option bit for enabling realtime reporting while homing to $10, Status report options. Ref. issue #551. 2024-08-01 19:24:00 +02:00
Terje Io
8b9b7859ee Limited tool change probe moves to be within machine limits. Ref. issue #542.
Added setting $358 to enable experimental functionality for fast rotary 'rewind' to stored G28 position.
Return move should complete in half a rotation or less.
For developers: added option to redirect debug via driver provided function when DEBUGOUT is set to -1 in config.h. Ref. issue #545.
2024-07-19 09:49:46 +02:00
Terje Io
7cf86877f0 Changed signature of grbl.on_homing complete event to include the cycle flags.
Added definitions for up to four additional digital aux I/O ports.
Added real time report of selected spindle in multi spindle configurations. Reported on changes only.
Removed limits override input invert config, for safety reasons it is always active low.
Added HAL entry points for second RGB channel, renamed first from hal.rgb to hal.rgb0.
Added option to setting $22 to force use of limit switches for homing when homing inputs are available in the driver/board combo.
Improved handling of aux I/O pins when claimed for core functions.
Added flag to $9 for disabling laser mode capability for primary PWM spindle. Allows leaving laser mode enabled when a secondary PWM spindle is available and this is used to control a laser.
Added some generic setting definitions for stepper drivers, currently used by the motors plugin.
2024-03-19 20:32:40 +01:00
Terje Io
685da469cb Updated build date and a minor insignificant fix. 2024-01-15 14:58:12 +01:00
Terje Io
742eed9254 Added setting option to $21 Hard limit enable to allow exception for rotary axes. 2023-09-19 20:22:04 +02:00
Terje Io
c3fd2db2e2 Added faster soft limits check for arcs when work envelope is a cuboid, fixed some related obscure bugs.
New/modified core entry points for soft limit checking.
More delta robot tuning, added setting warning in $DELTA output if some settings are inconsistent such as steps/rad, acceleration etc.
Fix for issue #361, HOME status is not reported or reported late when auto reporting is enabled with setting $481.
2023-09-14 08:20:25 +02:00
Terje Io
049f0f13e4 Delta robot kinematics tuning: soft limits checks, extended $DELTA command++. 2023-09-07 18:27:34 +02:00
Terje Io
e0fa78cb87 The method for constraining continuous multi-axis jogs (XYZ) (when enabled by `$40=1\) will now use clipping of the motion vector to the work envelope. 2023-09-05 15:42:46 +02:00
Terje Io
43691fca19 Changed handling of homing inputs from limit switches.
Some drivers will now only disable hard limits (if enabled) for axes that are homing, this includes max/min limit switches.
HAL entry points and core handlers/events has been added and some have changed signatures in order to better support kinematics implementations.
More work on delta kinematics: new and changed settings, some improved functionality. Still in progress.
2023-09-03 14:50:36 +02:00
Terje Io
244bbb3454 More fixes for issue #332: setting tool table data cleared current coordinate system offset, incomplete handling of G10 L10 and L11.
Added free memory to $I output when available, example: [FREE MEMORY:102K]
Changed reported position for failed probe to target. Parameters #5061 - #5069 returns position in coordinate system used when probing.
2023-08-08 18:42:59 +02:00
Terje Io
c652eee852 Now allows some $-commands while critical events are active or in sleep mode.
Added work envelope data to global sys struct, used by soft limits and jog limit handling.
2023-04-29 15:53:46 +02:00
Terje Io
b6e43d6c19 Fix for issue #236, dual axis offsets.
Changes to allow use of M4 for laser capable spindles in laser mode even if direction control is not available.
2023-04-11 20:47:45 +02:00
Terje Io
f793b4a8c8 Fix for issue #271 - unwanted motion after soft reset when feed hold was active, reported for canned cycle but may occur for other commands as well. 2023-03-21 20:16:32 +01:00
Terje Io
04ce2c5c8c Large spindle handling refactoring and enhancement++, see the changelog for more. 2023-02-13 22:14:48 +01:00
Terje Io
4e7f313271 Some internal changes to allow homing feed rate overrides from plugins, reserved setting numbers for per axis homing feedrate settings (not used by the core). 2023-01-28 10:45:14 +01:00
Terje Io
fb60b493b5 Added settings, updated settings version to 22. See changelog for details.
Merged defaults.h with config.h, deleted defaults.h and harmonized settings defines.
2023-01-25 21:11:21 +01:00
Terje Io
b0d9e9e78a Fix for issue #209, incorrect handling of homing of more than one auto squared axis in each pass.
Error 55 will now be returned.
2022-10-23 07:27:20 +02:00
Terje Io
893f0de66a Fix for issue #191, allow homing of rotary axes with infinite rotation (max travel = 0)
Added spindle type property to HAL, "hardened" code.
Added new setting $346 for action to take after tool change: either return controlled point (tool tip) back to the same position as before the M6 command (default) or move spindle to Z home.
2022-10-21 11:50:00 +02:00
Terje Io
180f9fa9fc Added $RTC system command for outputting or setting current real time clock date and time. Uses ISO8601 format.
Driver developers: check the changelog!
2022-09-07 21:08:11 +02:00