Added preprocessor code and symbols to allow easy assignment of unused/unclaimed limit inputs as auxiliary inputs.

This commit is contained in:
Terje Io
2025-10-12 20:24:35 +02:00
parent 8c3d44bfca
commit 1d0d7b41a4
3 changed files with 65 additions and 6 deletions
+18 -2
View File
@@ -1,5 +1,21 @@
## grblHAL changelog
<a name="20251012">20251012
Core:
* Added preprocessor code and symbols to allow easy assignment of unused/unclaimed limit inputs as auxiliary inputs.
Drivers:
* ESP32: updated board map for PiBot to assign unsed limit inputs as auxiliary inputs.
Plugins:
* WebUI: fix for badly formatted ESP400 response from v2 implementation. Added event hook to allow plugin code to trap regular commands originating from HTTP requests.
---
<a name="20251011">Build 20251011
Core:
@@ -12,14 +28,14 @@ Drivers:
* ESP32: fix for some unreported compilation failures, triggered by certain configuration options - due to unique build system.
* iMXRT1062: addd tentative support for SPI based Trinamic drivers. Ref. issue [#101](https://github.com/grblHAL/iMXRT1062/issues/101).
* iMXRT1062: added tentative support for SPI based Trinamic drivers. Ref. issue [#101](https://github.com/grblHAL/iMXRT1062/issues/101).
A known issue is that PWM spindle cannot be enabled whith Trinamic drivers. Testing required.
* STM32F4xx: updated board specific code to use new core helper code.
Plugins:
*all having configurable auxiliary ports: updated to use new core helper code.
* All having configurable auxiliary ports: updated to use new core helper code.
* SD card: fixed/improved error code returned on formatting errors.
+37 -1
View File
@@ -86,6 +86,38 @@
#define N_GANGED (X_GANGED + Y_GANGED + Z_GANGED)
#define N_AUTO_SQUARED (X_AUTO_SQUARE + Y_AUTO_SQUARE + Z_AUTO_SQUARE)
#define N_ABC_MOTORS (N_ABC_AXIS + N_GANGED)
#define GANGED_MAP (((Z_GANGED<<2)|(Y_GANGED<<1)|X_GANGED)<<N_AXIS)
#define AUTO_SQUARED_MAP (((Z_AUTO_SQUARE<<2)|(Y_AUTO_SQUARE<<1)|X_AUTO_SQUARE)<<N_AXIS)
#if N_AXIS > 3 || (AUTO_SQUARED_MAP & 8)
#define M3_LIMIT_ENABLE 1
#else
#define M3_LIMIT_ENABLE 0
#endif
#if N_AXIS > 4 || (AUTO_SQUARED_MAP & 16)
#define M4_LIMIT_ENABLE 1
#else
#define M4_LIMIT_ENABLE 0
#endif
#if N_AXIS > 5 || (AUTO_SQUARED_MAP & 32)
#define M5_LIMIT_ENABLE 1
#else
#define M5_LIMIT_ENABLE 0
#endif
#if N_AXIS > 6 || (AUTO_SQUARED_MAP & 64)
#define M6_LIMIT_ENABLE 1
#else
#define M6_LIMIT_ENABLE 0
#endif
#if N_AXIS > 7 || (AUTO_SQUARED_MAP & 128)
#define M7_LIMIT_ENABLE 1
#else
#define M7_LIMIT_ENABLE 0
#endif
#ifndef NEOPIXELS_ENABLE
#define NEOPIXELS_ENABLE 0
@@ -694,8 +726,12 @@
#define FS_ENABLE 0
#endif
#ifndef SDCARD_SDIO
#define SDCARD_SDIO 0
#endif
#ifndef SPI_ENABLE
#if SDCARD_ENABLE || TRINAMIC_SPI_ENABLE
#if (SDCARD_ENABLE && !SDCARD_SDIO) || TRINAMIC_SPI_ENABLE
#define SPI_ENABLE 1
#else
#define SPI_ENABLE 0
+10 -3
View File
@@ -1154,7 +1154,7 @@ status_code_t gc_execute_block (char *block)
FAIL(Status_GcodeUnsupportedCommand); // [probing not supported by driver or unsupported G38.x command]
int_value += (mantissa / 10) + 100;
mantissa = 0; // Set to zero to indicate valid non-integer G command.
// No break. Continues to next line.
// No break. Continues to next line.
case 0: case 1: case 2: case 3:
#if GCODE_ADVANCED
@@ -3705,6 +3705,10 @@ status_code_t gc_execute_block (char *block)
case NonModal_GoHome_0:
#if N_AXIS > 3
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
#endif
{
axes_signals_t wrap = { (axis_words.mask & settings.steppers.is_rotary.mask) & settings.steppers.rotary_wrap.mask };
if(gc_state.modal.distance_incremental && wrap.mask) {
@@ -3714,8 +3718,11 @@ status_code_t gc_execute_block (char *block)
}
}
}
// No break. Continues to next line.
// No break. Continues to next line.
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#endif // N_AXIS > 3
case NonModal_GoHome_1:
// Move to intermediate position before going home. Obeys current coordinate system and offsets
@@ -3800,7 +3807,7 @@ status_code_t gc_execute_block (char *block)
case NonModal_ResetCoordinateOffset: // G92.1
if(!settings.flags.g92_is_volatile)
settings_write_coord_data(CoordinateSystem_G92, &null_vector.values); // Save G92 offsets to non-volatile storage
// No break. Continues to next line.
// No break. Continues to next line.
case NonModal_ClearCoordinateOffset: // G92.2
add_offset(&null_vector);