mirror of
https://github.com/grblHAL/core.git
synced 2026-03-23 11:32:44 +08:00
Added setting options for clearing rapids and feed overrids on soft reset to $676, defaults to on. Ref. issue #803.
Added realtime report of distance-to-go. Ref. PR #802.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
## grblHAL ##
|
||||
|
||||
Latest build date is 20250829, see the [changelog](changelog.md) for details.
|
||||
Latest build date is 20250910, see the [changelog](changelog.md) for details.
|
||||
|
||||
> [!NOTE]
|
||||
> A settings reset will be performed on an update of builds prior to 20241208. Backup and restore of settings is recommended.
|
||||
|
||||
24
changelog.md
24
changelog.md
@@ -1,5 +1,27 @@
|
||||
## grblHAL changelog
|
||||
|
||||
<a name="20250910">Build 20250910
|
||||
|
||||
Core:
|
||||
|
||||
* Added setting options for clearing rapids and feed overrids on soft reset to `$676`, defaults to on. Ref. issue [#803](https://github.com/grblHAL/core/issues/803).
|
||||
|
||||
* Added realtime report of distance-to-go. Ref. PR [#802](https://github.com/grblHAL/core/pull/802).
|
||||
|
||||
Drivers:
|
||||
|
||||
* iMXRT1062: fix for crash when basic on/off spindle is configured.
|
||||
|
||||
* STM32F4xx: workaround for PWM LED strip code setting output pin as high-Z when idle.
|
||||
|
||||
* STM32F7xx: improved spindle encoder code.
|
||||
|
||||
Plugins:
|
||||
|
||||
* Misc, eventout: fix for mixup of spindle on/off and spindle-at-speed events.
|
||||
|
||||
---
|
||||
|
||||
<a name="20250902">Build 20250902
|
||||
|
||||
Core:
|
||||
@@ -10,7 +32,7 @@ Core:
|
||||
|
||||
Drivers:
|
||||
|
||||
* ESP32, TM4C123: updated for changed `ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING` symbol.
|
||||
* ESP32, SAM3X8E and TM4C123: updated for changed `ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING` symbol.
|
||||
|
||||
* RP2040: updated BTT SKR Pico v1 map to use _Servo_ port for reset/estop in four motor configurations. Ref discussion [#110](https://github.com/grblHAL/RP2040/discussions/110).
|
||||
|
||||
|
||||
26
config.h
26
config.h
@@ -902,7 +902,7 @@ to a reset during motion.
|
||||
/*! /def DEFAULT_KEEP_OFFSETS_ON_RESET
|
||||
\brief
|
||||
Enable this setting to keep offsets (except G92 which is always kept) over a soft reset.
|
||||
\internal Bit 14 in settings.flags.
|
||||
\internal Bit 17 in settings.flags.
|
||||
*/
|
||||
///@{
|
||||
#if !defined DEFAULT_KEEP_OFFSETS_ON_RESET || defined __DOXYGEN__
|
||||
@@ -910,6 +910,30 @@ Enable this setting to keep offsets (except G92 which is always kept) over a sof
|
||||
#endif
|
||||
///@}
|
||||
|
||||
/*! /def DEFAULT_KEEP_RAPIDS_OVR_ON_RESET
|
||||
\brief
|
||||
Enable this setting to keep rapids override over a soft reset.
|
||||
\internal Bit 21 in settings.flags.
|
||||
*/
|
||||
///@{
|
||||
#if !defined DEFAULT_KEEP_RAPIDS_OVR_ON_RESET || defined __DOXYGEN__
|
||||
#define DEFAULT_KEEP_RAPIDS_OVR_ON_RESET Off
|
||||
#endif
|
||||
///@}
|
||||
|
||||
/*! /def DEFAULT_KEEP_FEED_OVR_ON_RESET
|
||||
\brief
|
||||
Enable this setting to feedrate override over a soft reset.
|
||||
\internal Bit 22 in settings.flags.
|
||||
*/
|
||||
///@{
|
||||
#if !defined DEFAULT_KEEP_FEED_OVR_ON_RESET || defined __DOXYGEN__
|
||||
#define DEFAULT_KEEP_FEED_OVR_ON_RESET Off
|
||||
#endif
|
||||
///@}
|
||||
|
||||
|
||||
|
||||
// Control signals settings (Group_ControlSignals)
|
||||
|
||||
#ifndef __DOXYGEN__ // For now do not include in documentation
|
||||
|
||||
4
grbl.h
4
grbl.h
@@ -42,7 +42,7 @@
|
||||
#else
|
||||
#define GRBL_VERSION "1.1f"
|
||||
#endif
|
||||
#define GRBL_BUILD 20250902
|
||||
#define GRBL_BUILD 20250910
|
||||
|
||||
#define GRBL_URL "https://github.com/grblHAL"
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
#define CMD_OPTIONAL_STOP_TOGGLE 0x88
|
||||
#define CMD_SINGLE_BLOCK_TOGGLE 0x89
|
||||
#define CMD_OVERRIDE_FAN0_TOGGLE 0x8A //!< Toggle Fan 0 on/off, not implemented by the core.
|
||||
#define CMD_MPG_MODE_TOGGLE 0x8B //!< Toggle MPG mode on/off, not implemented by the core.
|
||||
#define CMD_MPG_MODE_TOGGLE 0x8B //!< Toggle MPG mode on/off, available when the MPG stream is enabled with MPG mode 2.
|
||||
#define CMD_AUTO_REPORTING_TOGGLE 0x8C //!< Toggle auto real time reporting if configured.
|
||||
#define CMD_OVERRIDE_FEED_RESET 0x90 //!< Restores feed override value to 100%.
|
||||
#define CMD_OVERRIDE_FEED_COARSE_PLUS 0x91
|
||||
|
||||
10
grbllib.c
10
grbllib.c
@@ -420,14 +420,18 @@ int grbl_enter (void)
|
||||
// Reset report entry points
|
||||
report_init_fns();
|
||||
|
||||
overrides_t override;
|
||||
|
||||
memcpy(&override, &sys.override, sizeof(overrides_t));
|
||||
|
||||
if(!sys.position_lost || settings.homing.flags.keep_on_reset)
|
||||
memset(&sys, 0, offsetof(system_t, homed)); // Clear system variables except alarm & homed status.
|
||||
else
|
||||
memset(&sys, 0, offsetof(system_t, alarm)); // Clear system variables except state & alarm.
|
||||
|
||||
sys.var5399 = -2; // Clear last M66 result
|
||||
sys.override.feed_rate = DEFAULT_FEED_OVERRIDE; // Set to 100%
|
||||
sys.override.rapid_rate = DEFAULT_RAPID_OVERRIDE; // Set to 100%
|
||||
sys.var5399 = -2; // Clear last M66 result
|
||||
sys.override.feed_rate = sys.cold_start || !settings.flags.keep_feed_override_on_reset ? DEFAULT_FEED_OVERRIDE : override.feed_rate;
|
||||
sys.override.rapid_rate = sys.cold_start || !settings.flags.keep_rapids_override_on_reset ? DEFAULT_RAPID_OVERRIDE : override.rapid_rate;
|
||||
do {
|
||||
if(spindle_is_enabled(--spindle_num))
|
||||
spindle_get(spindle_num)->param->override_pct = DEFAULT_SPINDLE_RPM_OVERRIDE; // Set to 100%
|
||||
|
||||
4
report.c
4
report.c
@@ -1264,8 +1264,8 @@ void report_realtime_status (stream_write_ptr stream_write)
|
||||
dist_remaining[idx] = cur_block->target_mm[idx] - dist_remaining[idx];
|
||||
}
|
||||
|
||||
hal.stream.write_all("|DTG:");
|
||||
hal.stream.write_all(get_axis_values(dist_remaining));
|
||||
stream_write("|DTG:");
|
||||
stream_write(get_axis_values(dist_remaining));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
11
settings.c
11
settings.c
@@ -91,6 +91,8 @@ PROGMEM const settings_t defaults = {
|
||||
.flags.tool_change_fast_pulloff = DEFAULT_TOOLCHANGE_FAST_PROBE_PULLOFF,
|
||||
.flags.no_unlock_after_estop = DEFAULT_NO_UNLOCK_AFTER_ESTOP,
|
||||
.flags.keep_offsets_on_reset = DEFAULT_KEEP_OFFSETS_ON_RESET,
|
||||
.flags.keep_rapids_override_on_reset = DEFAULT_KEEP_RAPIDS_OVR_ON_RESET,
|
||||
.flags.keep_feed_override_on_reset = DEFAULT_KEEP_FEED_OVR_ON_RESET,
|
||||
.flags.tool_persistent = DEFAULT_PERSIST_TOOL,
|
||||
|
||||
.probe.disable_probe_pullup = DEFAULT_PROBE_SIGNAL_DISABLE_PULLUP,
|
||||
@@ -1049,6 +1051,8 @@ static status_code_t set_reset_actions (setting_id_t id, uint_fast16_t int_value
|
||||
{
|
||||
settings.homing.flags.keep_on_reset = bit_isfalse(int_value, bit(0));
|
||||
settings.flags.keep_offsets_on_reset = bit_isfalse(int_value, bit(1));
|
||||
settings.flags.keep_rapids_override_on_reset = bit_isfalse(int_value, bit(2));
|
||||
settings.flags.keep_feed_override_on_reset = bit_isfalse(int_value, bit(3));
|
||||
|
||||
return Status_OK;
|
||||
}
|
||||
@@ -1660,7 +1664,10 @@ static uint32_t get_int (setting_id_t id)
|
||||
break;
|
||||
#endif
|
||||
case Setting_ResetActions:
|
||||
value = (!settings.homing.flags.keep_on_reset) | ((!settings.flags.keep_offsets_on_reset) << 1);
|
||||
value = (!settings.homing.flags.keep_on_reset) |
|
||||
((!settings.flags.keep_offsets_on_reset) << 1) |
|
||||
((!settings.flags.keep_rapids_override_on_reset) << 2) |
|
||||
((!settings.flags.keep_feed_override_on_reset) << 3);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -2162,7 +2169,7 @@ PROGMEM static const setting_detail_t setting_detail[] = {
|
||||
{ Setting_MotorWarningsInvert, Group_Stepper, "Invert motor warning inputs", NULL, Format_AxisMask, NULL, NULL, NULL, Setting_IsExtended, &settings.motor_warning_invert, NULL, is_setting_available },
|
||||
{ Setting_MotorFaultsEnable, Group_Stepper, "Motor fault inputs enable", NULL, Format_AxisMask, NULL, NULL, NULL, Setting_IsExtended, &settings.motor_fault_enable, NULL, is_setting_available },
|
||||
{ Setting_MotorFaultsInvert, Group_Stepper, "Invert motor fault inputs", NULL, Format_AxisMask, NULL, NULL, NULL, Setting_IsExtended, &settings.motor_fault_invert, NULL, is_setting_available },
|
||||
{ Setting_ResetActions, Group_General, "Reset actions", NULL, Format_Bitfield, "Clear homed status if position was lost,Clear offsets (except G92)", NULL, NULL, Setting_IsExtendedFn, set_reset_actions, get_int, NULL },
|
||||
{ Setting_ResetActions, Group_General, "Reset actions", NULL, Format_Bitfield, "Clear homed status if position was lost,Clear offsets (except G92),Clear rapids override,Clear feed override", NULL, NULL, Setting_IsExtendedFn, set_reset_actions, get_int, NULL },
|
||||
{ Setting_StepperEnableDelay, Group_Stepper, "Stepper enable delay", "ms", Format_Int16, "##0", NULL, "250", Setting_IsExtended, &settings.stepper_enable_delay, NULL, NULL },
|
||||
};
|
||||
|
||||
|
||||
@@ -602,7 +602,9 @@ typedef union {
|
||||
tool_change_at_g30 :1,
|
||||
tool_change_fast_pulloff :1,
|
||||
tool_persistent :1,
|
||||
unassigned :11;
|
||||
keep_rapids_override_on_reset :1,
|
||||
keep_feed_override_on_reset :1,
|
||||
unassigned :9;
|
||||
};
|
||||
} settingflags_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user