Commit Graph
592 Commits
Author SHA1 Message Date
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
Mitchell Grams c472a24d93 Revert "add Picohal plugin init" 2025-04-21 13:40:26 -06:00
Mitchell Grams 10acd2110a add Picohal plugin init 2025-04-21 13:40:14 -06:00
Mitchell Grams 7ad918e52e add picohal io init 2025-04-21 13:39:29 -06:00
Terje Io 58dd5dc25a "hardened" task handler a bit more 2025-04-19 23:21:12 +02:00
Terje Io bcef020c32 changes to allow compile on all platforms 2025-04-19 16:08:22 +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 77b65c6fdd Fixed long standing "bug" where settings $370 and $372 for auxiliary ports where
applied before the underlying GPIO pins were initialized by the driver.
Improved handling of same settings for external (I2C, ModBus, ...) ports.
2025-04-15 14:57:18 +02:00
Terje Io ae006ebafe missed commit 2025-04-13 21:23:24 +02:00
Terje Io e1ea957ca4 Added wrappers/veneers for hal.port functions, plugin code should be changed to use
these instead of calling via hal.port functions or accessing hal.port properties.
Improved the ioports API, updated core code to make use of it.
Flagged some calls and (part of) some stuctures as deprecated.
2025-04-13 20:54:09 +02:00
Terje Io d51de9d98f Added MCP4725 I2C DAC to IO expander plugins. 2025-04-11 02:18:31 +02:00
Terje Io 95011b570b Added new ioport capabilities.
Added registration scheme for 3rd party I/O expander plugins.
Fixed minor bug in ioport numbering (P<n>/E<n>) for plugin based ioports.
2025-04-09 11:49:10 +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 6be2dbc646 Updated changelog 2025-04-06 07:12:01 +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 55a9f6a197 "Hardened" new optimized code to ensure initial motion is going in the correct direction.
Fix for feedhold during G33 and G76 synchronized motion not beeing delayed until motion completed.
2025-03-29 09:29:31 +01: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
Terje Io 3d7cb52d98 Hardened" task handler code, reseved some realtime control characters for macro plugins.
Added missing file to CMakeLists.txt and made private function public for plugin use.
2025-03-20 11:25:25 +01:00
Terje Io 7edc03be1d Added setting $677 for stepper spindle options. 2025-03-13 21:05:13 +01:00
Terje Io bf0a01a2c8 Merge pull request #706 from Expatria-Technologies/PR_Fast_Semiauto_fix
Fix settings issue with selecting fast semi-auto.
2025-03-13 09:05:27 +01:00
andrew_marles e86932b789 Fix settings issue with selecting fast semi-auto. 2025-03-12 18:21:02 -07:00
Terje Io 808d224304 Changed display plugin defines/symbols. No functional change. 2025-03-12 23:41:40 +01:00
Terje Io 8e2847a6c6 Some ioports HAL wrapper functions refactored. Fixes persisting issue with coprocessor control pins mentioned here.
Changed some parts to no longer reference deprecated code.
Added some display driver symbols (for plugin use).
2025-03-11 19:18:08 +01:00
Terje Io cbdfbd619d Updated build date, default VFS mount directory created date. 2025-03-07 21:47:45 +01:00
Terje Io c547f540f7 Fixed ioports enumeration issue affecting remapped ports used by the ESP-AT plugin and stream passthru mode.
Changed stream passtrhu mode to not enter coprocessor MCU bootloader mode when turned on.
2025-03-05 10:44:29 +01:00
Terje Io 39977aa3c4 Updated changelog. 2025-03-01 08:30:55 +01:00
Terje Io 2d54e34339 Refactored I2C interface definitions, added capabilities flags for run time discovery. 2025-02-28 23:38:55 +01: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 Io 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 debffc391b fixed option order in settings.h 2025-02-24 21:15:23 -08:00
Terje Io 3e84d4b96c Imported string utilities from networking plugin, increased max named parameter length to 30. 2025-02-23 22:36:24 +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 99fdc8f199 Added definition for LinuxCNC M190 gcode, required by plasma plugin. No functional change. 2025-02-22 17:40:04 +01: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 46d2b0d367 Fixed issue with restoring spindle status for spindles making use optional spindle status flags. Ref. PR #673. 2025-02-16 17:54:45 +01:00
Terje Io b86a7d48f8 Updated changelog. 2025-02-13 14:23:59 +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 10673744e3 Updated changelog. 2025-02-05 20:57:17 +01:00
Terje Io f5aafc1a75 Changed limits struct to union and added field for access to all pin states in one statement.
No functional change.
2025-02-04 19:13:03 +01:00
Terje Io 525a7d322a Fixed issue where aux output commands syncronized with motion was sometimes lost.
Added spindle capability flag for plasma torch and disable of spindle spin up/down delay if set.
2025-02-01 21:50:06 +01: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 0462c97dc9 Changed core tool change routine to play nice with plugins subscribing to probe event. 2025-01-26 07:13:37 +01:00
Terje Io 4dc17753bb Fixed $help topic search failing if target contains spaces. Ref. issue #664.
Improved default serial port mapping when both MPG mode and keypad plugin are enabled to ensure the port is shared.
Delayed status report output on MPG mode change a few milliseconds to avoid awakening the ESP32 guru that sometimes reboots the controller.
2025-01-24 21:01:56 +01:00