1
0
mirror of https://github.com/bdring/Grbl_Esp32.git synced 2025-08-30 17:49:56 +02:00

Fixed homing speeds and pulloff

This commit is contained in:
bdring
2021-06-30 21:19:55 -05:00
parent ec957aa212
commit 18f2ad6bd1
2 changed files with 8 additions and 5 deletions

View File

@@ -23,7 +23,7 @@ axes:
mpos: 10
positive_direction: false
feed_rate: 50.000
seek_rate: 100.000
seek_rate: 200.000
gang0:
endstops:
@@ -44,7 +44,7 @@ axes:
mpos: 10
positive_direction: false
feed_rate: 50.000
seek_rate: 200.000
seek_rate: 500.000
gang0:
endstops:
@@ -65,7 +65,8 @@ axes:
mpos: 10
positive_direction: true
feed_rate: 50.000
seek_rate: 200.000
seek_rate: 100.000
locate_scaler: 2.000
gang0:
endstops:

View File

@@ -125,6 +125,7 @@ void limits_go_home(uint8_t cycle_mask, uint32_t n_locate_cycles) {
// Set search mode with approach at seek rate to quickly engage the specified cycle_mask limit switches.
bool approach = true;
bool seek = true;
uint8_t n_active_axis;
AxisMask limit_state, axislock;
float homing_rate = 0.0;
@@ -160,7 +161,7 @@ void limits_go_home(uint8_t cycle_mask, uint32_t n_locate_cycles) {
if (axis_debounce > debounce) {
debounce = axis_debounce;
}
auto axis_homing_rate = approach ? homing->_seekRate : homing->_feedRate;
auto axis_homing_rate = seek ? homing->_seekRate : homing->_feedRate;
// Accumulate the squares of the homing rates for later use
// in computing the aggregate feed rate.
@@ -192,7 +193,7 @@ void limits_go_home(uint8_t cycle_mask, uint32_t n_locate_cycles) {
for (int axis = 0; axis < n_axis; axis++) {
auto axisConfig = config->_axes->_axis[axis];
auto homing = axisConfig->_homing;
auto scaler = approach ? homing->_search_scaler : homing->_locate_scaler;
auto scaler = approach ? homing->_search_scaler : 1.0;
if (bitnum_istrue(axislock, axis)) {
target[axis] *= limitingRate * scaler;
}
@@ -220,6 +221,7 @@ void limits_go_home(uint8_t cycle_mask, uint32_t n_locate_cycles) {
}
sys.homing_axis_lock = axislock;
}
seek = false;
st_prep_buffer(); // Check and prep segment buffer. NOTE: Should take no longer than 200us.
// Exit routines: No time to run protocol_execute_realtime() in this loop.
if (rtSafetyDoor || rtReset || rtCycleStop) {