Commit Graph
44 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 a4dd4134c0 Minor bug fix, only relevant when debug output to a dedicated UART is enabled. 2026-03-20 15:56:19 +01:00
Terje Io 46369e2623 Fixed bad update causing compiler error if multiple spindles are enabled.
Moved some reporting data definitions/structures that caused Windows simulator builds to fail.
2026-02-05 17:59:37 +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 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
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 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 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 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 24d802e573 Fix for bug preventing disabling of AMASS, changed the ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING symbol so it can be overridden via compiler argument.
For developers: added output function parameter to signature of report_realtime_status() call to allow routing output to a given stream (or streams).
2025-09-04 08:36:48 +02:00
Terje Io 6c13075ebe Updated serial stream format options. Fix for compiler warning. 2025-07-07 07:19:41 +02:00
Terje Io 74eb456533 Added ioports API call for remapping port numbers.
Added HAL support for setting serial stream format.
Added setting $681 for configuring Modbus RTU stream parity, available when the underlying driver supports format setting.
2025-07-05 14:17:11 +02:00
Terje Io b80cd2f3f8 Changed error code reported when file not found for G65 macro or named O-sub calls from 39 to 84.
Removed IDLE state requirement for executing G65 macros, an error will no longer be returned and the macro will be run.
Added event handler for outputting welcome message on "native" USB connect for drivers that provides the linestate changed event.
2025-01-05 08:18:52 +01:00
Terje Io 81fe93adb8 Removed deprecated stream flags, added stream event for line state (RTS, DTR) changes - initially for USB streams. 2024-11-07 20:44:16 +01:00
Terje Io 5cff12e660 Added printf style debug output function and corresponding macro.
Added grbl.on_report_ngc_parameters event.
Fixed silly mistakes in CAN code.
2024-07-09 19:34:31 +02:00
Terje Io 4f14f1acf6 Fix for stream regression, improved MPG stream handling. Ref. issue #509.
Added NGC parameter 5599, debug output enabled status.
2024-05-09 22:40:54 +02:00
Terje Io e5d088eda7 Added core support for new MPG mode that claims one serial stream and uses the 0x8B real-time command character for switching mode.
Moved RGB API definitions to separate file and added some utilities for drivers and plugins. Fixed minor bug.
stream_open_instance(), signature change - added optional description string.
2024-02-05 23:39:27 +01:00
Terje Io f0ef77435e Enhanced RGB and ioports APIs.
Allowed use of unused (by the core) axis words (ABCUVW) in M-code commands implemented by plugin code.
Added $PINSTATE command, for outputting auxillary pin states, modes and capabilities. Machine readable formatting.
2024-01-24 18:38:08 +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.
2023-07-16 13:03:22 +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 44e4dc4ea3 Extended handling of legacy printable real-time commands due to ESP32 RTOS issue.
Internal changes to crossbar definitions, improved stream handling and sleep handling.
2023-05-19 19:17:32 +02:00
Terje Io b6e43d6c19 Fix for issue #236, dual axis offsets.
Changes to allow use of M4 for laser capable spindles in laser mode even if direction control is not available.
2023-04-11 20:47:45 +02:00
Terje Io fb60b493b5 Added settings, updated settings version to 22. See changelog for details.
Merged defaults.h with config.h, deleted defaults.h and harmonized settings defines.
2023-01-25 21:11:21 +01:00
Terje Io 6e22a074c8 Added optional string pointers to HAL for driver and board URLs. If present they are announced by the SSDP protocol. 2022-10-07 10:17:07 +02:00
Terje Io 34699b725c Added crossbar support for UART RTS handshake output signal. 2022-09-29 14:58:06 +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
luz paz 90fd6ca410 Fix various typos
Found via`codespell -q 3 -L iterm,nd`
2022-08-07 18:56:52 -04:00
Terje Io 0aeb53883b Moved and enhanced handling of pendant serial stream (MPG) to core. Added some new stream handling functions.
Added real time command character 0x8B for toggling MPG stream on/off.
Fix for issue #104
2022-01-05 20:13:41 +01:00
Terje Io dcdc3ef1ed Added function for connecting via specified serial port.
Changed internals to allow further VFD spindle drivers to be added.
2021-12-23 13:21:41 +01:00
Terje Io d86015b154 Added generic stream switcher functions for driver use, to avoid duplicated code.
Some minor fixes.
2021-12-13 12:42:19 +01:00
Terje Io acf66542ee Added flags for WebUI reconnect handling and core support for enabling debug stream. 2021-12-04 12:12:28 +01:00
Terje Io f88b154b96 See changelog for details. 2021-11-28 16:52:00 +01:00
Terje Io f306bfa598 Renamed default hostnames and device names, added some HAL extensions and hardened code a bit. 2021-11-09 15:24:52 +01:00
Terje Io 82d42f4fa4 Fixed variable name typo, renamed hal.stream.disable to hal.stream.disable_rx 2021-11-01 08:40:55 +01:00
Terje Io 79882cf094 Added enum and associated get function for system defined named parameters.
Added core event handler function pointers and calls if provided.
Some other minor changes.
2021-10-11 13:16:58 +02:00
Terje Io e0d67142fe Fixed regression in buffer length 2021-09-14 09:55:48 +02:00
Terje Io 415886e53b Improved HAL/core stream handling etc. 2021-09-09 19:19:09 +02:00
Terje Io 384fda6e3a Added $376 setting for designating ABC-axes individually as rotational.
Added `$ESG` and `$ESH` system commands for outputting current setting definitions.
Added setting descriptions to most settings. Work in progress.
Added/updated preprocessor code for leaner board map files++
2021-08-20 18:53:20 +02:00
Terje Io 2068165e62 Moved HAL entry point for realtime commands enqueueing to stream struct,
added some crossbar pin definitions and limited $TPW retract to Z home.
Moved some common driver code to the core and update of current position on steps/mm changes.
2021-07-26 15:35:55 +02:00
Terje Io 222ba55724 See changelog for details. 2021-07-07 19:19:15 +02:00
Terje Io b685e18411 Added shared files for driver motor pins allocation and options handling.
Expanded HAL stream I/O functions. Added doxygen documentation to parts of the code.
A number of minor changes to simplify code.
2021-06-27 20:55:00 +02:00
Terje Io e1554ddd86 added HAL entry for writing single character to output stream, core event for unknown real time command (character) 2021-04-23 16:40:39 +02:00
Terje aa08dc8d43 Added shared stream buffer handling for tool change protocol. 2021-03-14 21:53:45 +01:00
Terje Io cdca5ad55c test check in 2021-02-22 12:29:17 +01:00