Klipper is a 3d-printer firmware
Find a file
Kevin O'Connor a6a6b21e4d armcm_timer: Use a static instruction count for TIMER_MIN_TRY_TICKS
Change TIMER_MIN_TRY_TICKS from 2us to 90 instructions.

On newer chips 2us is a large amount of time - for example on the
520Mhz stm32h723 it would be 1040 instructions.  Using a large time
can result in "busy waiting" in the irq handler when the cpu may be
better spent running tasks.

The armcm_timer.c code is used on most ARM cortex-M chips and on all
of these chips the SysTick timer should be tied directly to the
instruction counter.  This change should be safe because it should not
take more than 90 instructions to reschedule the timer on any of these
chips.  Also, all of these chips should be able to exit the irq
handler and reenter it in less than 90 instructions allowing more time
for tasks to run if the next timer is more than 90 timer ticks in the
future.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-12-03 17:47:50 -05:00
.github workflows: Update github build-test.yaml to ubuntu-22.04 2025-04-16 13:19:54 -04:00
config generic_cartesian: Added option 'axis' for primary carriages 2025-11-25 18:12:43 -05:00
docs docs: Update AHT family sensors documentation 2025-11-30 16:50:11 -05:00
klippy ads1x1x: Interface for "QUERY_ADC" (#7132) 2025-11-30 16:52:22 -05:00
lib spi_flash: FATFS fix missing long filenames support needed by flash-sdcard.sh (#6981) 2025-07-27 12:09:11 -04:00
scripts shaper_calibrate: Reworked multi-file shaper autocalibration 2025-11-21 17:48:56 -05:00
src armcm_timer: Use a static instruction count for TIMER_MIN_TRY_TICKS 2025-12-03 17:47:50 -05:00
test generic_cartesian: Added option 'axis' for primary carriages 2025-11-25 18:12:43 -05:00
.gitignore util: Fix versioning when gitdir is absent (#809) 2018-10-27 10:44:38 -04:00
COPYING COPYING: Update GPLv3 license to latest text (uses https instead of http) 2022-06-03 11:28:44 -04:00
Makefile Revert "Makefile: Don't disable gcc's use-linker-plugin option" 2025-04-16 15:24:05 -04:00
README.md docs: Improve wording of main Klipper page 2025-01-21 18:54:00 -05:00

Welcome to the Klipper project!

Klipper

https://www.klipper3d.org/

The Klipper firmware controls 3d-Printers. It combines the power of a general purpose computer with one or more micro-controllers. See the features document for more information on why you should use the Klipper software.

Start by installing Klipper software.

Klipper software is Free Software. See the license or read the documentation. We depend on the generous support from our sponsors.