about phosphor pid control package

Patrick Venture venture at google.com
Thu May 9 02:36:24 AEST 2019


On Wed, May 8, 2019 at 6:46 AM Will Liang (梁永鉉) <Will.Liang at quantatw.com> wrote:
>
> Hi,
>
> I have a question about getFailSafeMode().
>
> Currently, only sensors that are defined as "temp" types can be checked for failure.
> I did not find any "fan" type sensors to check if the fan has failed.
> Our project need to check the fan fail so  I want to add another "fan" sensor type to check.



>
> Can I add one more "for loop" to check the fan sensor in updateSensors() function in zone.cpp??
>
> for (const auto& t : _thermalInputs)
> {
>     ........
> }
> for (const auto& t : _fanInputs)
> {
>     ........
> }

updateSensors is deliberately not talking to the fans because they're
not considered inputs into the thermal config, they're controlled
outputs -- the question I have is, what would you like to do if a fan
isn't responding?  failsafemode drives the fans to a specific
pre-defined speed to keep it from thermal issues.  If a fan is failing
to respond, one can't drive it -- perhaps one can drive the others to
some failsafe?

If so, one needs to update the failsafe for a zone outside of the
thermal sensors, but rather where the fans are checked (void
PIDZone::updateFanTelemetry(void))

>
> BRs,
> Will


More information about the openbmc mailing list