<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<style>
    font{
        line-height: 1.6;
    }
    ul,ol{
        padding-left: 20px;
        list-style-position: inside;
    }
</style>
<div style="font-family:微软雅黑,Verdana,"Microsoft Yahei",SimSun,sans-serif;font-size:14px; line-height:1.6;">
    <div><div>
    <div>
        <span>Thanks ! </span></div><div>
    </div>
    <div id="ntes-pcmac-signature" style="font-family:'微软雅黑'">
        
        <div style="font-size:14px; padding: 0;  margin:0;">

        </div>
    </div>
</div></div><div class="J-reply" style="background-color:#f2f2f2;color:black;padding-top:6px;padding-bottom:6px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;margin-top:45px;margin-bottom:20px;font-family:'微软雅黑';">
    <div style="font-size:12px;line-height:1.5;word-break:break-all;margin-left:10px;margin-right:10px">On <span class="mail-date">12/7/2021 16:05</span>,<a class="mail-to" style="text-decoration:none;color:#2a83f2;" href="mailto:a.kartashev@yadro.com">Andrei Kartashev<a.kartashev@yadro.com></a> wrote: </div>
</div>
<blockquote id="ntes-pcmail-quote" style="margin: 0; padding: 0; font-size: 14px; font-family: '微软雅黑';">
Sorry, I probably miss your question.<br><br>I still don't understand, what kind of help do you need, but I will try<br>to explain the idea:<br>PID-control daemon use concept of the PID systems, where you have<br>inputs (sensors) and outputs (FANs). To configure PIDs in pid-control<br>the zone concept is used: thermal zone can have several fans and<br>several sensors. <br>Then you should select PID-loop type and set parameters for each sensor<br>and FAN. For normal temperature sensor you generally will use normal<br>PID-loop, were you setup PID coefficients and setpoint (target<br>temperature). When the value of one (or more) sensor exceed setpoint<br>PID-control will increase the speed of the fans in the zone trying to<br>keep temperatures below the setpoints.<br>For current sensors you probably should use stepwise mode, but I'm not<br>familiar here.<br><br>On Tue, 2021-12-07 at 15:37 +0800, Landon wrote:<br> <blockquote class="mmbqc1">  <br>   <br> On 12/7/2021 09:45,Landon<cld795@163.com> wrote: <br> <blockquote class="mmbqc2"><br>  Hello,<br> Can you take a look at it, please?<br>  <br> Thanks!<br> On 12/2/2021 17:11,Landon<cld795@163.com> wrote: <br> <blockquote class="mmbqc3">Hello,<br> <br> I read the<br>  "https://github.com/openbmc/phosphor-pid-control/blob/master/configure.md":<br> <br> How to Configure Phosphor-pid-control<br> <br> type == "temp"<br> <br> Exactly the same as margin but all the inputs are supposed to be<br> absolute temperatures and so the maximal value is used to feed<br> the PID loop.<br> type == "stepwise"<br> <br> "name": "temp1",<br> "type": "stepwise",<br> "inputs": ["temp1"],<br> "setpoint": 30.0,<br> "pid": {<br>   "samplePeriod": 0.1,<br>   "positiveHysteresis": 1.0,<br>   "negativeHysteresis": 1.0,<br>   "isCeiling": false,<br>   "reading": {<br>     "0": 45,<br>     "1": 46,<br>     "2": 47,<br>   },<br>   "output": {<br>     "0": 5000,<br>     "1": 2400,<br>     "2": 2600,<br>   }<br> }<br> and<br>  in  "https://github.com/openbmc/entity-manager/blob/master/configurations/R1000%20Chassis.json<br> "<br> {<br>             "Class": "temp",            "FFGainCoefficient": 0.0,<br> "FFOffCoefficient": 0.0,            "ICoefficient": -4.64,      <br> "ILimitMax": 100,            "ILimitMin": 30,           <br> "Inputs": [                "Exit Air Temp"            ],        <br> "Name": "Exit Air Temp",            "NegativeHysteresis": 5.0,  <br> "OutLimitMax": 100,            "OutLimitMin": 30,           <br> "Outputs": [],            "PCoefficient": -0.15,           <br> "PositiveHysteresis": 0.0,            "SetPoint": 75.0,         <br> "SlewNeg": -1,            "SlewPos": 0.0,            "Type":<br> "Pid",            "Zones": [                "Zone 1",           <br> "Zone 2",                "Zone 3",                "Zone 4",     <br> "Zone 5",                "Zone 6"            ]        },<br>  but  I don't understand how to control the fan by temperature ?<br> I was wondering if you could help me explain ?<br> Thank you very much !<br> On 11/29/2021 18:22,Andrei Kartashev<a.kartashev@yadro.com><br> wrote: <br> <blockquote class="mmbqc3">Hello,<br> <br> Please read phosphor-pid-control documentation:<br> https://github.com/openbmc/phosphor-pid-control<br> https://github.com/openbmc/phosphor-pid-<br> control/blob/master/configure.md<br> https://github.com/openbmc/phosphor-pid-<br> control/blob/master/tuning.md<br> https://github.com/openbmc/phosphor-pid-<br> control/tree/master/examples<br> <br> Keep in mind that there are two different ways to configure<br> phosphor-<br> pid-control: statically with JSON config files and dynamically<br> with<br> DBUS (generally, using EntityManager JSON configuration) and<br> same<br> parameters with this two ways mostly have different names.<br> The way you want to use is generally depend on either you use<br> EM<br> for<br> your platform or not.<br> <br> On Mon, 2021-11-29 at 17:43 +0800, Landon wrote:<br>  <br> <blockquote class="mmbqc3"> Thank you!  <br>  I have read it<br>  :  https://github.com/openbmc/entity-<br> manager/blob/master/configurations/R1000%20Chassis.json<br>  But I don't understand,<br>  Is there an explanation for this part?<br>  Are there general instructions on how to control fan output<br> by<br>  temperature?<br>  <br>  and how to use phosphor-pid-control  to set this ?<br>   <br>  Is there“ phosphor-pid-control ”the instructions for this<br> part?<br>  Thank you very much !<br>  On 11/27/2021 05:57,Paul Fertser<fercerpav@gmail.com> wrote:<br>  <br> <blockquote class="mmbqc3">On Fri, Nov 26, 2021 at 01:55:31PM +0800, Landon wrote:<br>   <br>  <br> <blockquote class="mmbqc3">add: I just want to know in  OpenBMC by reading different<br>  temperature values  or<br>   current values to  control the fan  output, so as  to<br> cool down,<br>   how does  this<br>   strategy work? An example of this.<br> </blockquote><br>  This is using temperature values to control the fans so as<br> to cool<br>  down, it works by configuring phosphor-pid-control<br> appropriately, I<br>  hope it's enough of an example:<br>  <br>  https://github.com/openbmc/entity-<br>  manager/blob/master/configurations/R1000%20Chassis.json<br>  <br>  If you think phosphor-pid-control is missing some<br> documentation<br>  please<br>  read its source code and send documentation patches for<br> review.<br>  <br> </blockquote></blockquote><br></blockquote></blockquote></blockquote></blockquote><br>-- <br>Best regards,<br>Andrei Kartashev<br><br></blockquote><!--😀-->
</div>
</body>
</html>