Commit Graph

219 Commits

Author SHA1 Message Date
Terje Io
57243a0fc2 Fixed regression that prevented builds with compatibiliy level set > 1.
Added [SIGNALS:xxx] element to the $I output.
2023-12-29 19:33:27 +01:00
Terje Io
eb29390238 Added setting and data field for network interface MAC address (for WizNet interfaces, not used by the core). 2023-12-26 10:13:21 +01:00
Terje Io
49b43a5fe1 Some minor fixes and changes. 2023-12-22 13:35:27 +01:00
Terje Io
1486280b5e Fix for incorrect handling of mode flags when mounting root filesystem.
Added option to list hidden filesystems.
2023-12-18 09:22:22 +01:00
Terje Io
2b10e62bfc Updated changelog. 2023-12-17 19:42:16 +01:00
Terje Io
8e165815f8 fixed typo 2023-12-16 16:47:32 +01:00
Terje Io
5bd4835b69 Refactored canned cycles to better match how LinuxCNC actually implements them. Ref. ioSender issue 348.
NOTE: The implementation may still be incorrect - use with care!
2023-12-16 16:11:46 +01:00
Terje Io
2c58f0de09 Spindle handling refactoring for improved management and configuration of multiple spindles.
NOTE: this is a relatively large change and may have introduced bugs and/or unintended side-effects. Please report any issues!

Added setting $519 for binding spindle encoder to given spindle in multi spindle configurations.

Added machine readable spindle enumeration report, $SPINDLESH.

Increased default value for setting $398 (number of planner blocs) from 35 to 100 for faster laser engraving.
NOTE: the $398 setting value will not change on an upgrade!
NOTE: STM32F103 builds for the 128K flash variants does not have enough free RAM and will keep 35 as the default value.

Increased allowed number of decimal places from 3 to 5 for $10x stepper step/mm settings. Ref. ioSender issue 346.

Added setting $650 for filing system options. Ref. issue 397.
Currently the following bits are available (depending on the configuration):
0 - Auto mount SD card on startup (1).
1 - Do not add littlefs files when listing the root directory (2).

Added build option for lathe UVW mode.
When enabled UVW words can be used to command relative moves for XYZ without switching to relative mode with G91.
NOTE: This permanently sets lathe mode and disables the $32 mode setting.

There are signature changes to some spindle, ioports enumeration and VFS filing system mount functions.

Added events to allow plugin code to handle tool table data, possibly stored on a SD card.
2023-12-12 09:51:59 +01:00
Terje Io
04a5edcf83 Extended secondary stepper driver code and improved debug stream handling. 2023-10-05 07:11:10 +02:00
Terje Io
257093b2a1 Fixed some typos that may cause compiler warnings.
Added initial secondary stepper driver code to be used for plasma THC and possibly later for stepper driven spindles.
2023-10-02 10:22:18 +02:00
Terje Io
70ffca3c0a Hardened" serial stream registration, now allows empty descriptor.
Now returns no data for alarm and error enums when firmware is compiled for 128K versions of the STM32F1xx MCU.
This frees up some flash space for plugins etc.
2023-09-26 09:54:10 +02: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
4fd9b5dadd Merge pull request #367 from infnorm/fix-macosx
Fix to compile on MacOS X
2023-09-17 11:29:58 +02:00
Terje Io
acaea365cd Added setting $486 that allows locking G59.1 - G59.3 coordinate system offsets against accidental changes. 2023-09-17 09:51:58 +02:00
Infnorm
554088eb9f Fix to compile on MacOS X 2023-09-16 14:55:52 -07: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
9bf18c38f8 Updated changelog. 2023-09-06 09:47:48 +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
5c21425adb Updated readme 2023-09-03 15:13:56 +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
1d7872fc5c Added grbl.on_tool_changed event and removed help for disabled $-commands. 2023-08-25 17:14:28 +02:00
Terje Io
2e2b1da6e4 Updated changelog. 2023-08-21 21:22:39 +02:00
Terje Io
9b28c45ecb Fix for issue #349 - active feed rate override caused jog motions to hang on some drivers 2023-08-21 09:18:37 +02:00
Terje Io
d361ef1c9d Delta kinematics improvements. Added setting for base > floor distance, $DELTA command for work envelope info. Still WIP.
Changed signature of grbl.on_homing_completed event.
2023-08-20 19:02:24 +02:00
Terje Io
be9f7db33e Moved kinematics implementations to separate folder and added initial implementation of delta and polar kinematics.
NOTE: Delta and polar kinematics is WIP (work in progress) and incomplete.
Feedback is required as I do not have machines at hand for testing.
Ref. issue #341 and #346.
2023-08-18 18:02:31 +02:00
Terje Io
7aa5ce3a62 Updated changelog 2023-08-16 08:37:34 +02:00
Terje Io
02aaf24e84 Updated readme 2023-08-15 12:05:25 +02:00
Terje Io
e6c044908c Added setting $484, Unlock required after E-stop cleared by reset, default on. From issue #337.
Fixed typo, added event grbl.on_parser_init.
2023-08-15 11:48:18 +02:00
Terje Io
e2df2fb101 Fix for issue #340, CoreXY kinematics does not update position for axes A+.
Adds auto reporting state to realtime report sent on MPG mode change to off.
2023-08-10 12:01:28 +02:00
Terje Io
6c20a5488e Updated changelog. 2023-08-09 19:58:59 +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
909b7f9eed Updated readme 2023-08-07 09:15:43 +02:00
Terje Io
6a89bd2712 Fix for issue #332, incorrect NGC parameter values returned for last probed position. 2023-08-05 14:30:01 +02:00
Terje Io
280dd953c3 Fix for ioSender issue 319, improved handling of sycle start input signal had side-effects. 2023-07-29 07:20:36 +02:00
Terje Io
849c252a63 Updated readme 2023-07-24 11:29:33 +02:00
Terje Io
c886caedbf Fixed bug in WHILE loop handling when first statement in macro. 2023-07-24 10:30:56 +02:00
Terje Io
4e1bba5e74 Fixed regression in VFS file system handling causing hardfault when only one mount is present. 2023-07-18 14:47:28 +02:00
Terje Io
f1b1776bdc Some tweaks for new Web Builder options++ 2023-07-18 11:47:09 +02:00
Terje Io
6c5c3fdb65 Merge pull request #266 from dresco/panel
Add init for 3rd party control panel plugin
2023-07-17 21:18:31 +02:00
Terje Io
d41781a68a Merge pull request #331 from dresco/stm32h723xx
Add definition for STM32H723xx series processors
2023-07-17 18:29:56 +02:00
Jon Escombe
eb4e81fbec Add definition for STM32H723xx series processors 2023-07-17 11:12:15 +01:00
Terje Io
0c6f3f6dd7 Added support for traversing directory structure across file system mounts. Allows access to littlefs mount via ftp.
Fixed inconsistent (random) real-time reporting of cycle start signal by adding a latch to ensure it is reported at least once.
20230714
2023-07-16 13:03:22 +02:00
Terje Io
8f5fa900be Improved handling of critical events for adding |$C=1 to full realtime report. 2023-07-11 08:10:13 +02:00
Terje Io
403a172574 Updated changelog 2023-07-08 09:22:08 +02:00
Terje Io
c2450947ae Skip calling tool change code if current and selected tool number is the same.
Added 5s timeout/abort handling when waiting for index pulses prior to startiong spindle synchronized motion.
Added definitions for M401 (deploy probe) and M402 (stow probe) for plugin use.
Added support for probe protected message and alarm. Requires driver support for interrupt handled probe input.
2023-07-04 15:40:47 +02:00
Terje Io
83d708a872 Added |$C=1 to full realtime report (requested by 0x87) when controller is in a blocking state (after a critical event) but still accepts some $ commands. 2023-06-26 19:07:08 +02:00
Terje Io
8c7f841840 Added virtual Modbus API. Some internal settings handling improvements. 2023-06-13 19:47:02 +02:00
Terje Io
0a8c51ebe9 Added initial support for macro based automatic tool changes (ATC).
Currently macros has to be stored on a SD card or in littlefs and expression support has to be enabled.
2023-06-07 19:16:53 +02:00
Terje Io
9e2d7b46b2 Fixed regression related to CSS (Constant Surface Speed for lathes) mode.
Improved stream handling for native USB streams.
2023-06-06 12:45:14 +02:00