Commit Graph
532 Commits
Author SHA1 Message Date
Terje Io d74d450f2d Reinstated settings definition that somehow was deleted in the 20260202 commit++ 2026-02-04 16:58:19 +01:00
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 0ed9404b9e Fixed incorrect motor assignments for ABC motors. Ref. issue #902. 2026-02-02 23:11:43 +01:00
Terje Io 94ee157387 Updated changelog 2026-02-02 22:45:45 +01:00
Terje Io c6aa574279 Added experimental support for M98 subroutines, internal subroutines are only supported for programs run from a local file system.
$700 controls whether they are scanned for internally in the main program (1) or always located externally (0).
If scanned for internally the program is run twice, initially in check mode to locate the subroutines before it is rewound and run in normal mode.
If stored externally the file P<macro number>.macro is run, <macro number> is the M98 P value.
2026-02-02 22:25:31 +01:00
Terje Io 08c778530c Updated changelog. 2026-01-31 06:34:16 +01:00
Terje Io 5087dc61b8 Updated changelog. 2026-01-28 23:58:17 +01:00
Terje Io 4340b3d768 fix for out of sync commit 2026-01-25 08:27:32 +01:00
Terje Io 497c7d4eb0 Updated readme. 2026-01-25 08:13:31 +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 f8867e7ea3 Merge pull request #883 from petervanderwalt/sienci_atc_plugin
Added Sienci ATC plugin init and m-code reservation
2026-01-08 11:08:41 +07:00
Peter van der Walt 3414137837 Added Sienci ATC plugin init and m-code reservation 2026-01-07 10:40:41 +02:00
terjeio 779d41b8d8 Fix for regression causing loss of tool offset on soft reset when $676 option is to keep offsets. 2026-01-07 08:49:16 +07:00
Terje Io fe858f73e9 Merge pull request #873 from gcormier/fix-toolchange-z-restore
Fix Z home movement when XY already at TLS position
2025-12-21 20:27:05 +07:00
Greg Cormier c5d888fdee Fix Z home movement when XY already at TLS position
When X and Y coordinates are already at the tool length sensor (TLS)
position during tool change restore, Z was incorrectly not moving to
the home position after probing.

The issue was in the restore() function where Z movement was only
executed inside a conditional block that checked if XY needed to move.
This caused Z to remain at the probed position when starting from the
TLS XY location.

Fixed by decoupling Z home movement from XY position comparison,
ensuring Z always returns to home after probing (unless $346
disables full position restore).
2025-12-20 11:39:46 -05:00
terjeio aaa7b6e73e Updated changelog and build date. 2025-12-08 07:04:00 +07:00
Terje Io 380199e388 Merge pull request #865 from engigeer/PR_reboot
Add support for $REBOOT (hard reset) command
2025-12-08 06:37:17 +07:00
Mitchell Grams 0488a61465 Add support for $REBOOT (hard reset) command 2025-12-07 16:02:00 -07:00
terjeio 6c59a548ae Final fix for handling of $680 stepper enable delay. 2025-12-07 16:47:19 +07:00
terjeio e350ea501e Fix for copy paste error introduced in build 20251130 causing alarms to be ignored.
Increased $680, stepper enable delay limit to 500ms.
2025-12-02 07:35:07 +07:00
terjeio 13145a4a46 Updated to allow Bluetooth serial streams to be used for MPG/pendants.
Parking mode improvements.
Removed requirement for external encoder for spindle sync if stepper spindle is enabled.
Improved handling of $680 stepper enable delay.
2025-12-01 17:55:53 +07:00
Terje Io e272f773b5 Refactored the tool table HAL API a bit to improve functionality.
Added tool name, pocket number and some lathe specific data fields to the $# tool output when available from the tool table.
If name is available it will be output as a push message on M6 if there is no message in the same block.
Added support for directory up, .., to VFS.
Added new option to $650 - File systems options to enable hierarchical listing of files and directories via $F and $F+ commands.
2025-11-11 16:51:08 +01:00
Terje Io 18d6272060 Fix for regression causing MPG mode switch malfunction. Ref. issue #846. 2025-11-08 20:27:11 +01:00
Terje Io 6efbed8fa2 Updated changelog 2025-11-08 08:37:39 +01:00
Terje Io adba5d031c Refactored M70-M73 modal state handling, should now be fully compatible with LinuxCNC behaviour.
Added ADC/DAC resolution to $pinstate command, changed reported values to integer for ADC/DAC devices and float formatted for PWM devices.
Numeric settings can now be set via G65P1Q<n>S<value>, <n> is the setting number, <value> is the new value.
Changed alarm code for Modbus exceptions (communication errors) from 14 to 19.
Refactored MPG stream code to allow plugins to hook into MPG streams (via event handler).
Added _free memory system parameter, returns value in KBytes or -1 if not available from driver.
Changed basic stream data type from char to uint8_t, added HAL function and core API for releasing/closing UART streams.
2025-11-08 07:52:01 +01:00
Terje Io caa1cfcd13 Updated changelog. 2025-11-07 22:26:42 +01:00
Terje Io 69cdfb76c8 Added field for programmed timer period to HAL timer struct. 2025-11-05 07:54:32 +01:00
Terje Io 720f6bd552 Workaround for POS (Power on self-test) failure messages(s) not output on "native" USB connect.
Fixed handling of NVS buffer allocation, size was not increased as expected when physical NVS is capable of holding more than 2 Kbytes.
This could lead to POS failure or plugins not initializing when a large tool table is configured.
2025-10-23 10:40:01 +02:00
Terje Io ba222d16aa Previous commit was incorrect, fixed 2025-10-22 08:31:34 +02:00
Terje Io f5f31e6780 Fix for regression causing no WCO data in the real time report. 2025-10-22 08:20:54 +02:00
Terje Io b5b236ca3f Updated some pointer casts to get warning free compilation for 64-bit targets.
A few tweaks to get rid of warnings for some driver/board/configuration combinations.
2025-10-20 08:10:58 +02:00
Terje Io ed2a392dd7 Added _probe2_state system parameter, returns -1 if probe 2 is not available, 1 if triggered and 0 if not.
Fix for hang when G65 sub call level is > 2.
Fix for crash when selecting a tool (with the T command) outside the tool table range.
2025-10-18 20:28:02 +02:00
Terje Io 106f5fd573 Refactored assignment of of auxiliary I/O for "standard" inputs and outputs to make it more robust and easier to follow for developers.
Moved probe signal handling from drivers to the core, improved handling of probe disconnected signal.
NOTE: The changes above are quite large, please verify probe operation after installation.
2025-10-16 17:22:32 +02:00
Terje Io 0679a0c6d4 Updated changelog 2025-10-15 13:25:10 +02:00
Terje Io 1d0d7b41a4 Added preprocessor code and symbols to allow easy assignment of unused/unclaimed limit inputs as auxiliary inputs. 2025-10-12 20:24:35 +02:00
Terje Io 8c3d44bfca Added helper code for plugins claiming auxiliary ports to make plugin coding easier and behaviour consistent.
Some minor bug fixes such as incorrect error code returned for unknown $-commands and temporary incorrect position reporting on in-flight G92 offset changes.
2025-10-11 18:28:21 +02:00
Terje Io 5d48dd5c43 For developers: added function for getting standardized UART pin descriptions. 2025-10-06 07:44:51 +02:00
Terje Io 132159a6b6 Workaround for some compilers configured to treat warnings as errors causing compilation failure.
Added $PORTS command for listing serial ports, later I will update all drivers to provide the optional information.
Potential fix for polar kinematics not handling axes > 3 correctly, needs testing. Ref. issue #820.
2025-10-04 20:17:22 +02:00
Terje Io 7db744f04a fix typos 2025-10-02 15:41:10 +02:00
Terje Io e37572fe02 Improved M70-M73 modal state save and restore, should now handle overrides correctly.
Added lightweight JSON serializer outputting directly to file.
Fix for event handler sometimes called too early. Ref. issue #818.
For developers: added optional device filing system that can redirect file read/write to serial streams.
2025-10-02 15:18:28 +02:00
Terje Io b829928674 Fix for crash when multiple G95 mode motions are commanded. 2025-09-28 07:53:18 +02:00
Terje Io d96d3c488e Fix for stepper spindle in polling mode causing alarm 14 when used for spindle synced motion (G33, G76). 2025-09-27 06:37:21 +02:00
Terje Io 17a4648a1d Updated motion in units per revolution mode (G95) to handle spindle RPM changes.
Changed initial wait for two index pulses to check RPM > 0 before starting such motion.
2025-09-26 09:57:05 +02:00
Terje Io e3803a252a Fixed typo in parameter access for G59 coordinate. Ref. issue #814. 2025-09-25 20:40:49 +02:00
Terje Io 65dd33c569 Fix for compilation failure for N_AXIS > 3 (typo) 2025-09-25 19:33:13 +02:00
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
Terje Io 75b1a23839 Merge pull request #802 from engigeer/PR_dist_to_go
Add realtime report of distance-to-go
2025-09-10 20:22:45 +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