|
|
@ -212,7 +212,7 @@ float Planner::previous_speed[NUM_AXIS], |
|
|
|
float Planner::position_cart[XYZE]; |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(ULTRA_LCD) |
|
|
|
#if HAS_SPI_LCD |
|
|
|
volatile uint32_t Planner::block_buffer_runtime_us = 0; |
|
|
|
#endif |
|
|
|
|
|
|
@ -1469,7 +1469,7 @@ void Planner::quick_stop() { |
|
|
|
// forced to empty, there's no risk the ISR will touch this.
|
|
|
|
delay_before_delivering = BLOCK_DELAY_FOR_1ST_MOVE; |
|
|
|
|
|
|
|
#if ENABLED(ULTRA_LCD) |
|
|
|
#if HAS_SPI_LCD |
|
|
|
// Clear the accumulated runtime
|
|
|
|
clear_block_buffer_runtime(); |
|
|
|
#endif |
|
|
@ -2024,14 +2024,14 @@ bool Planner::_populate_block(block_t * const block, bool split_move, |
|
|
|
// buffer is draining, add extra time. The amount of time added increases if the buffer is still emptied more.
|
|
|
|
const uint32_t nst = segment_time_us + LROUND(2 * (settings.min_segment_time_us - segment_time_us) / moves_queued); |
|
|
|
inverse_secs = 1000000.0f / nst; |
|
|
|
#if defined(XY_FREQUENCY_LIMIT) || ENABLED(ULTRA_LCD) |
|
|
|
#if defined(XY_FREQUENCY_LIMIT) || HAS_SPI_LCD |
|
|
|
segment_time_us = nst; |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(ULTRA_LCD) |
|
|
|
#if HAS_SPI_LCD |
|
|
|
// Protect the access to the position.
|
|
|
|
const bool was_enabled = STEPPER_ISR_ENABLED(); |
|
|
|
if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); |
|
|
|