Repository navigation
🩹 Fix RP2040 sensorless homing, servos, and M997 - #28566
Open
thisiskeithb wants to merge 3 commits into
Open
thisiskeithb wants to merge 3 commits into
thisiskeithb wants to merge 3 commits into
Conversation
thisiskeithb
force-pushed
the
pr/rp2040-fixes
branch
from
October 20, 2026 00:29
6f295df to
50fab88
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Three RP2040 fixes:
LOWandHIGHarePinStatusenumerators on this core rather than macros, so the preprocessor evaluates both to 0 and every*_ENDSTOP_HIT_STATEcheck inSanityCheck.hfails regardless of the config. That breaks sensorless homing, BLTouch, and probe builds. The defines have to sit inConditionals_type.hbecause it's included afterHAL.h, once the enum exists.HAL.hforward-declareslibServowithout includingServo.h, soPAUSE_SERVO_OUTPUT()andRESUME_SERVO_OUTPUT()hit an incomplete type fromneopixel.handeeprom_flash.cpp. A servo on its own builds fine, which is whyconfig-01never caught it.flashFirmware()rebooted through the watchdog, so M997 restarted Marlin instead of entering the bootloader.config-02.inicovers the first two.Requirements
An RP2040 board.
M997needs one that exposes USB, like the SKR Pico.Benefits
Configurations
Default configuration with
MOTHERBOARD BOARD_BTT_SKR_PICO.buildroot/tests/SKR_Pico/config-02.inihas the exact options.Related Issues
None.