Commit Graph
29 Commits
Author SHA1 Message Date
Terje Io 7c8488d4d5 Reworked feed mode handling (G93-G95), now keeps current feed rate over spindle synced motion. Ref. issue #954.
Added P-word option to G38.x probe commands, use to temporarily switch the probe input when multiple probes are available.
Fixed PWM spindle ramping, did not hit the target RPM.
2026-05-18 11:48:04 +02:00
Terje Io 1445a4221e From PR 928? 2026-03-31 22:18:28 +02:00
Torsten Martinsen 1f748a84e0 Fix -Werror=calloc-transposed-args with gcc 14. 2026-03-31 20:44:58 +02:00
Terje Io eef9949d55 Improved support for using expander inputs for basic functions. "Hardened" code a bit. 2026-03-26 20:52:26 +01:00
Terje Io 38cc54d74e Improved handling of current working directory (CWD). 2026-03-11 18:03:29 +01:00
Terje Io 16e5df9d93 Marked a large number of non-critical functions with FLASHMEM to save RAM for the iMXRT1062 driver.
Improved alarm handling, if a critical alarm is active when a non-critical alarm is raised the non-critical alarm will be delayed until after reset for the critical alarm.
Improved Modbus exception handling and added high level API call for creating and sending Modbus messages.
Added G65P7 inbuilt macro for interacting with Modbus devices from gcode. See the Wiki for details.
2026-02-15 22:16:03 +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 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 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 cbdfbd619d Updated build date, default VFS mount directory created date. 2025-03-07 21:47:45 +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 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 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 8dc30ad89c Improved handling of real-time clock (RTC). 2024-12-23 10:37:14 +01:00
Terje Io 2952a3eeb9 Added directory (mounts) listing capabilities to the default root file system when no real root file system (SD card) is mounted. 2024-12-19 11:34:11 +01:00
Terje Io c3aace735b Fixed symbol issue with Arduino Due blocking compilation of NGC parameter support. 2024-04-02 23:55:46 +02:00
Terje Io 4a7090d70a Fixed regression mainly affecting WebUI enabled builds. Some internal changes. 2024-01-27 20:17:42 +01:00
Terje Io b200199612 Internal changes that may affect developers, see the changelog for details. 2024-01-26 11:14:39 +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 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 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 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.
2023-07-16 13:03:22 +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 2f55555f77 Fixed some typos, incorrect default value for setting $63 - Disable laser during hold flag. Added VFS property. 2023-04-27 10:14:59 +02:00
Terje Io 229db6418b Minor options preprocessor change for littlefs, "hardened" VFS code. Core build date not changed. 2022-09-11 20:37:47 +02:00
Terje Io 180f9fa9fc Added $RTC system command for outputting or setting current real time clock date and time. Uses ISO8601 format.
Driver developers: check the changelog!
2022-09-07 21:08:11 +02:00
Terje Io e009f47116 Added optional RTC (Real Time Clock) support to the HAL. VFS improvements. 2022-09-04 20:56:33 +02:00
Terje Io f3363816c2 Tuning, VFS improvements. 2022-09-03 21:51:01 +02:00
Terje Io 66f821d8e0 Addded virtual file system \(VFS\) handler, Linux/Unix style with mount directories.
Now raises alarm if homed state becomes invalid on settings changes when homing on startup is required. Issue #173.
2022-08-30 19:54:48 +02:00