summaryrefslogtreecommitdiffstats
path: root/pid/ec
Commit message (Collapse)AuthorAgeFilesLines
* stepwise: Add ceiling typeJames Feist2019-02-261-0/+1
| | | | | | | | | | | Add a stepwise ceiling type, this is used as a upper clipping curve to limit the max output based on a temperature sensor. This is commonly used for quiet fan mode where CPU throttling is allowed to preserve a max fan noise. Change-Id: I181d5913c92e5498a34e6d3f67cf99b67471479c Signed-off-by: James Feist <james.feist@linux.intel.com>
* conf change: pid: all pid details are now camelCasePatrick Venture2019-02-112-10/+10
| | | | | | | | Convert all PID configuration details are now camelCase instead of snake case. Change-Id: Id132053f122dfcd8abaace17df91c99758eb2b0c Signed-off-by: Patrick Venture <venture@google.com>
* pid: rename variables with full namesPatrick Venture2019-02-111-20/+21
| | | | | | | | Use full names and camelcase for the variables in the pid loop to improve readability and consistency. Change-Id: I86be69d94d3008faa497eace050d1f3b9b6a9ff4 Signed-off-by: Patrick Venture <venture@google.com>
* pid: rename structure components for stylePatrick Venture2019-02-112-26/+28
| | | | | | | Rename the struct components to camelCase. Change-Id: I0e76c4bd5aed0ec2d78edd31ddef66f852ddc71e Signed-off-by: Patrick Venture <venture@google.com>
* Add Hysteresis to pid controllersJames Feist2019-02-051-0/+4
| | | | | | | | | | | | Add hysteresis to pid controllers to lower pwm changes. It is defaulted to 0 so it should be transparent to any controller that choses not to implement it. This is the same pattern used by the stepwise controller. Tested-by: Unit tests passed Change-Id: Ib47114285b0017258b7f77eaf067d310f95a0c60 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Move all floats to doublesPatrick Venture2018-11-114-37/+37
| | | | | | | | | The code was developed initially around a pid loop implemented using floats. Therefore, the code was converting back and forth between double for sensor values as inputs and outputs from this PID loop. Change-Id: I2d2919e1165103040729c9f16bb84fde3dd6b81b Signed-off-by: Patrick Venture <venture@google.com>
* cleanup: reduce scope of variablesPatrick Venture2018-10-131-1/+1
| | | | | | | Various things caught by cppcheck that are non-critical. Change-Id: I495453c84bc15788b85036a163ee36b0ac601fa1 Signed-off-by: Patrick Venture <venture@google.com>
* Add hysteresis to stepwise controllerJames Feist2018-09-212-1/+4
| | | | | | | | Tested-by: Ran on platform monitoring output and wrote unit test Change-Id: I74a1d21544c1a9cb4c1cb26dd4a353cbff0442d0 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Add stepwise controllerJames Feist2018-09-122-0/+81
| | | | | | | | | | | | | | | This adds the ability to use stepwise curves alongside pid control. This creates a base controller class that pidcontroller and stepwise controller inherit from. Note: Hysteresis to come in follow-on patch Tested-by: Created a stepwise controller and noticed that when it crossed a threshold that it contributed to the pwm setting. Change-Id: I6cf842f80eaccafc905d620970afe91e2092d568 Signed-off-by: James Feist <james.feist@linux.intel.com>
* add .clang-formatPatrick Venture2018-08-312-38/+37
| | | | | Change-Id: I6627b5569c2e0f730be7331403218b823a2c622f Signed-off-by: Patrick Venture <venture@google.com>
* PID Objects & AlgoPatrick Venture2018-03-082-0/+171
These are the PID controller implementations for fans, and thermals. This also includes the PID algorithm used. Change-Id: I30471fbf7a8a7ed65f78bf105970d62815fedc56 Signed-off-by: Patrick Venture <venture@google.com>
OpenPOWER on IntegriCloud