mirror of
https://github.com/grblHAL/core.git
synced 2026-08-18 00:47:25 +08:00
Fix for random feed hold/cycle start sequence failures. Ref. issue #491.
This commit is contained in:
@@ -13,7 +13,7 @@ It has been written to complement grblHAL and has features such as proper keyboa
|
||||
|
||||
---
|
||||
|
||||
Latest build date is 20240404, see the [changelog](changelog.md) for details.
|
||||
Latest build date is 20240416, see the [changelog](changelog.md) for details.
|
||||
|
||||
__NOTE:__ Build 20240222 has moved the probe input to the ioPorts pool of inputs and will be allocated from it when configured.
|
||||
The change is major and _potentially dangerous_, it may damage your probe, so please _verify correct operation_ after installing this, or later, builds.
|
||||
|
||||
+17
-1
@@ -1,10 +1,26 @@
|
||||
## grblHAL changelog
|
||||
|
||||
<a name="20240416"/>Build 20240416
|
||||
|
||||
Core:
|
||||
|
||||
* Fix for random feed hold/cycle start sequence failures. Ref. issue [#491](https://github.com/grblHAL/core/issues/491).
|
||||
|
||||
Drivers:
|
||||
|
||||
* STM32F1xx: added tentative support for UART4, not tested!
|
||||
|
||||
* STM32F7xx: added support for SPI4, not tested!
|
||||
|
||||
* Simulator: added support for continuous 1ms systick event. Ref issue [#8](https://github.com/grblHAL/Simulator/issues/8).
|
||||
|
||||
---
|
||||
|
||||
<a name="20240408"/>Build 20240408
|
||||
|
||||
Core:
|
||||
|
||||
* Fix for bug in NGC expressions return statement handling. Ref issue [#485](https://github.com/grblHAL/core/issues/485).
|
||||
* Fix for bug in NGC expressions return statement handling. Ref. issue [#485](https://github.com/grblHAL/core/issues/485).
|
||||
|
||||
Drivers:
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#else
|
||||
#define GRBL_VERSION "1.1f"
|
||||
#endif
|
||||
#define GRBL_BUILD 20240408
|
||||
#define GRBL_BUILD 20240416
|
||||
|
||||
#define GRBL_URL "https://github.com/grblHAL"
|
||||
|
||||
|
||||
@@ -637,8 +637,8 @@ void plan_cycle_reinitialize (void)
|
||||
{
|
||||
// Re-plan from a complete stop. Reset planner entry speeds and buffer planned pointer.
|
||||
st_update_plan_block_parameters();
|
||||
block_buffer_planned = block_buffer_tail;
|
||||
planner_recalculate();
|
||||
if((block_buffer_planned = block_buffer_tail) != block_buffer_head)
|
||||
planner_recalculate();
|
||||
}
|
||||
|
||||
// Re-calculates buffered motions profile parameters upon a motion-based override change.
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
Copyright (c) 2011-2016 Sungeun K. Jeon for Gnea Research LLC
|
||||
Copyright (c) 2009-2011 Simen Svale Skogsrud
|
||||
|
||||
Grbl is free software: you can redistribute it and/or modify
|
||||
grblHAL is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Grbl is distributed in the hope that it will be useful,
|
||||
grblHAL is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with grblHAL. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
@@ -748,11 +748,11 @@ void st_prep_buffer (void)
|
||||
prep.ramp_type = Ramp_Decel;
|
||||
// Compute decelerate distance relative to end of block.
|
||||
float decel_dist = pl_block->millimeters - inv_2_accel * pl_block->entry_speed_sqr;
|
||||
if (decel_dist < 0.0f) {
|
||||
if(decel_dist < -0.0001f) {
|
||||
// Deceleration through entire planner block. End of feed hold is not in this block.
|
||||
prep.exit_speed = sqrtf(pl_block->entry_speed_sqr - 2.0f * pl_block->acceleration * pl_block->millimeters);
|
||||
} else {
|
||||
prep.mm_complete = decel_dist; // End of feed hold.
|
||||
prep.mm_complete = decel_dist < 0.0001f ? 0.0f : decel_dist; // End of feed hold.
|
||||
prep.exit_speed = 0.0f;
|
||||
}
|
||||
} else { // [Normal Operation]
|
||||
|
||||
Reference in New Issue
Block a user