Commit Graph

535 Commits

Author SHA1 Message Date
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
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
c7c7d5a4cf Added $SDS command for outputting Stepper Driver Status. 2025-01-20 13:11:00 +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
31fc78c949 Merge pull request #660 from Dietz0r/master
Improvements on Jerk-Accel code
2025-01-18 20:41: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
Dietz0r
8ed5d369a3 Merge branch 'grblHAL:master' into master 2025-01-15 14:29:34 +01:00
Terje Io
234c5609b9 Plugin fixes. 2025-01-15 07:06:47 +01:00