[Darwin_netos] Update fan_service to control fan leds#1287
Open
aalamsi22 wants to merge 1 commit into
Open
Conversation
Contributor
|
@joancaneus has imported this pull request. If you are a Meta employee, you can view this in D108456393. |
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.
Pre-submission checklist
pip install -r requirements-dev.txt && pre-commit installpre-commit runSummary
Updates the fan_service to control leds. Add rpmMin to fan configs for immediate fan failure detection.
Without rpmMin, fan_service relies solely on the 300s kFanFailThresholdInSec timeout to detect fan failure. When a fan is removed, fanRpm defaults to 0 but fanFailed stays false until 5minutes of continuous access failures elapse — leaving the LED green the entire time.
Adding rpmMin=2400 enables the immediate rpmMin check in ControlLogic.cpp: fanRpm (0) < rpmMin (2400) triggers fanFailed=true on the very next control loop cycle, bypassing the 300s delay.
The value 2400 is ~10% below the hardware minimum RPM floor of 2739, measured on rkd340 at PWM=0. This also catches degraded fans that can't maintain the CPLD's minimum speed.
Test Plan
fan_service_hw_test PASSES
fan leds update correctly on fan insertion/removal