Commit Graph
162 Commits
Author SHA1 Message Date
Terje Io 2f9ba98040 Added G65P6 for disabling spindle on/off delay for the next spindle command (M3, M4 and M5).
For programmers: added grbl.on_control_signals_changed event, fired on some signals: optional stop, single step, block delete and cycle start.
Fix for incorrect handling of arcs when negative scaling is enabled with G51.
2025-09-25 08:29:01 +02:00
Terje Io a61e5e1089 Added setting options for clearing rapids and feed overrids on soft reset to $676, defaults to on. Ref. issue #803.
Added realtime report of distance-to-go. Ref. PR #802.
2025-09-10 21:34:20 +02:00
Mitchell Grams 65679de995 Revise DTG bit location do avoid need for setting reset 2025-09-08 13:03:43 -06:00
Mitchell Grams 50e10ac768 Add setting for including distance-to-go in realtime report 2025-09-07 18:15:42 -06:00
Terje Io 255d02b020 Fix for transposed options in $41 - parking cycle enable. 2025-08-02 08:23:08 +02:00
Terje Io 02b45f86e5 Fix for corrupted tool table entries not beeing reset. This may happen on resizing the tool table.
Added system parameter _tool_table_size, 0 if a tool table is not enabled.
Removed dependency on safety door input for parking settings: $41, $42, $56-$59, $392 and $393.
Removed strict dependency on spindle encoder input for spindle synced motion,
allows the use of the stepper spindle which has an implicit encoder.
2025-07-31 08:19:07 +02:00
Terje Io 5aff8fe767 Fix for optional control signals not respecting $14 inversion setting. Ref. issue #780.
Added core on_spindle_at_speed event. This must be verified with actual VFD spindles, I only have a simulator available.
Improved handling of "iterated" settings, can now be fully implemented by plugins.
2025-07-24 08:25:25 +02:00
Terje Io 6c13075ebe Updated serial stream format options. Fix for compiler warning. 2025-07-07 07:19:41 +02:00
Terje Io 74eb456533 Added ioports API call for remapping port numbers.
Added HAL support for setting serial stream format.
Added setting $681 for configuring Modbus RTU stream parity, available when the underlying driver supports format setting.
2025-07-05 14:17:11 +02:00
Terje Io 081f24f663 Added option flag to $22 (Homing cycle) to run startup scripts only on homing completed.
Added API call modbus_isbusy() for checking if Modbus transaction is ongoing.
2025-06-25 08:52:15 +02:00
Terje Io e03e594ca5 Fix for typecast issue causing compile failure with some compilers. Ref issue #761. 2025-06-21 07:05:50 +02:00
Terje Io 5614f505fb Refactored tool table API/HAL, now supports tool > tool rack/carousel pocket mapping.
Named system parameters _current_pocket and _selected_pocket updated to return the correct values.
Moved handling of keeping last tool number over reboot from template plugin to the core.
Added named system parameters _homed_state and _homed_axes.
Fix for failure to claim auxiliary ports in some configurations.
2025-06-19 07:09:49 +02:00
Terje Io 596576763e Fix for hardfault due to recent control pins handling change - affects at least RP2040/RP2350 MCUs.
No longer outputs settings/settings data for $14 (inversion) and $17 (pullup disable) if no control inputs are configured.
2025-06-11 22:37:53 +02:00
Terje Io b10b3317d2 Fix for custom M-code commands claiming all axis words even when not using any.
Added setting $680 for configuring delay from stepper enable to first dir/step pulse.
Adds to fixed ~2ms delay provided by most drivers.
2025-05-18 08:03:51 +02:00
Terje Io 6948b0e117 Added initial/enhanced support for toolsetter and second probe input.
Moved inbuilt G65 macros to the core and added macro G65P5Q<n> for selecting probe.
Added probe id to real time report: |P:<n> will be reported on probe select when more than one probe is available.
Fix for WCO and Ov real time status report elements not beeing reported as they should in some circumstances.
2025-05-15 06:23:17 +02:00
Terje Io b41018543b Moved part of the driver based spindle sync code to the core.
Spindle sync now has to be enabled in grbl/config.h.
2025-04-24 22:38:55 +02:00
Terje Io 837398221b Fixed regression introduced with PR#673.
Added G30 as optional position for tool change.
Moved new tool change mode from PR#673 to $346 - Tool change options.
Moved Modbus RTU code from spindle plugin to the core.
Fixed bug in delayed task handler, might occasionally hang the controller.
2025-04-19 14:08:46 +02:00
Terje Io 790cff7036 Increased max number of digital ioports to 24, added some crossbar capabilities (external, async, entry point for setting pin function). 2025-04-07 19:36:50 +02:00
Terje Io bbd3b69939 Added new mid/low level HAL/API to ioports (auxiliary ports).
Added '$709' setting for second PWM spindle when available - PWM options.
Added properties to PWM spindles to allow "overdriving" PWM output when _RPM controls spindle enable signal is enabled with '$9' or '$709'.
Optimized Modbus CRC calculation, may fix issue with a compiler generating different code compared to most others. Ref. issue #723.
2025-04-05 17:20:44 +02:00
Terje Io b737687743 Reduced default step pulse length to 5 microseconds.
Added HAL parameter for minimum step pulse length set by driver, used for validation of $0 setting.
Changed HAL API signature for outputting step pulses, optimized to allow drivers to only change direction outputs when there is an actual direction change.
Improved handling of overrides at end of program when all motion is buffered. Possible fix for issue #714.
Some optimizations to allow higher step rates.
2025-03-28 18:02:56 +01:00
andrew_marles e86932b789 Fix settings issue with selecting fast semi-auto. 2025-03-12 18:21:02 -07:00
Terje Io 68aa11923a Fixed bug introduced in PR #673. 2025-02-25 21:28:04 +01:00
Terje Io 9ed8d488f8 Added vfs_chmod() to VFS (Virtual File System), for setting basic file attributes.
Changed signature of vfs.on_mount() event.
Added grbl.on_cycle_start() event, fired on cycle start signal asserted or on cycle start real time command received.
2025-02-25 20:55:59 +01:00
Terje IoandGitHub 4f883b92d5 Merge pull request #673 from Expatria-Technologies/PR_FAST_SEMIAUTO
Proposed PR for faster semi-automatic toolchanges.
2025-02-25 09:40:21 +01:00
Andrew Marles 9ae45ce8c1 Fixed issues with settings.c and added setting description. 2025-02-22 10:25:52 -08:00
Andrew Marles bdd89941d0 Merge branch 'master' into PR_FAST_SEMIAUTO 2025-02-22 10:12:52 -08:00
Terje Io 1e44828151 fix for ESP-IDF compiler having its own ideas... 2025-02-22 01:19:00 +01:00
Terje Io 29f10397cb Improved/fixed soft reset handling related to position lost if reset was executed during motion.
Added setting $676 with flags to control soft reset actions. See the changelog for details.
Workaround for Microsoft C adding a non-standard reserved keyword...
2025-02-22 00:18:41 +01: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 1cec3d2711 Added availability check for axis settings so plugins can hide unused/meaningless settings. 2025-02-08 07:17:15 +01:00
andrew_marles ade39fb608 Proposed PR for faster semi-automatic toolchanges. 2025-02-06 09:44:11 -08:00
Terje Io d25d2eaa42 Fixed some typos causing compilation failure in some configurations.
No longer copies spindle on delay from door setting ($392) to the new general setting ($340) on update from pre 20250103 builds.
Fixed missed code change when general spindle on delay was implemented causing the delay to be inserted on a simple RPM change with the S word.
2025-01-31 19:15:53 +01:00
Terje Io fd3438da34 Added API call for overriding jerk settings, symbol for M201.3 gcode. 2025-01-29 15:51:25 +01:00
Terje Io dfa1b262a4 Added setting definition for macro ATC options.
Now hides core toolchange settings when macro based ATC is active to avoid confusion.
"hardened" parser tool change code a bit.
2025-01-28 09:22:00 +01:00
Terje Io f4ca082f38 Guarded new code that caused compilation failure if COMPATIBILITY_LEVEL was set > 1. 2025-01-22 08:43:57 +01:00
Terje Io ff0903fd87 Added HAL support for stepper driver status signals (warning and fault) and
new HAL entry point for querying/resetting driver status.
Added driver capability flags and settings, $742 - $745, for enabling and inverting motor warning and fault input signals (per axis).
Improved jerk acceleration. Ref. PR #660.
2025-01-18 21:18:30 +01:00
Terje Io 5f135ed433 Added definition for new plasma THC setting and signals for toolsetter.
Added named parameters _probe_state and _toolsetter_state. Both return -1 if state is not available.
These may return incorrect values initially so use with care.
2025-01-17 09:54:22 +01:00
Terje Io efe4245a06 "hardened" task deregistration code and changed signature of setting available and ioport_find_free() calls.
Some low-level ioport improvements, added definition for virtual pins/ports.
Deprecated direct access to number of the different ioport ports in hal.port struct, use ioports_unclaimed() instead.
2025-01-14 17:13:56 +01:00
Terje Io c681661516 Fix for all $RST command variants resetting driver settings to default when only $RST=* and $RST=& should. Ref. issue #659.
Changed behaviour of $RST=# to not reset coordinate systems locked by setting $486.
2025-01-10 21:10:47 +01:00
Terje Io 22a8a08a95 Fixed inconsistent handling of auxiliary port numbers when claiming from plugins.
New API call added related to this.
2025-01-09 12:17:25 +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 6b4bab82ad Added new handling for spindle spin up and coolant start delays. See the changelog for details. 2025-01-03 23:16:08 +01:00
Terje Io 5a05201041 Fix for coolant issue when resetting from feed hold state. 2025-01-02 13:31:41 +01:00
Terje Io e8a0aeea26 Fix for laser incorrectly enabled in laser mode when M3S<n> commanded in G0 and G80 modal states. Ref. issue #644.
Added optional support for 3rd order acceleration (jerk) and G187 gcode. Ref. pull request #593.
2024-12-31 08:48:33 +01:00
Dietz0randGitHub 719017bff9 Adjusted lookup function for array counting (start from 0) and added input checking 2024-12-27 15:25:45 +01:00
Dietz0randGitHub c47e6a356e Debugging and Compiling 2024-12-27 02:45:34 +01:00
Dietz0randGitHub 254a3d1212 Update settings.c
Cleaned up out of sync functions. Most likely a remnant from resolving the merge conflict.
2024-12-26 21:23:06 +01:00
Dietz0randGitHub df6aec3e3a Merge branch 'grblHAL:master' into master 2024-12-26 17:03:56 +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 c7c5b63447 Added suppression of door open signal when in manual or semi-automatic tool change mode. 2024-12-14 15:08:07 +01:00