572c43da | 31-Jan-2019 |
James Feist <james.feist@linux.intel.com> |
Add Hysteresis to pid controllers
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
Add Hysteresis to pid controllers
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>
show more ...
|
c8bd1d1e | 04-Feb-2019 |
James Feist <james.feist@linux.intel.com> |
[dbus-configuration] Back out divide by 100
In the entity-manager configuration files having a outlimitmax of 10000 is confusing as this looks like a tach reading, but is actually 100 percent * 100.
[dbus-configuration] Back out divide by 100
In the entity-manager configuration files having a outlimitmax of 10000 is confusing as this looks like a tach reading, but is actually 100 percent * 100. Back this out when dealing with dbusconfiguration.
Change-Id: I13609573fcf1c9da50afd270ea9aad0411b5768b Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
e94bdc41 | 15-Nov-2018 |
Patrick Venture <venture@google.com> |
pid: add helper methods for thermal controller types
Add helper methods for thermal controller types, such as checking if a string is a supported thermal type and which type that string corresponds
pid: add helper methods for thermal controller types
Add helper methods for thermal controller types, such as checking if a string is a supported thermal type and which type that string corresponds to.
Change-Id: I3c782f5825e7726f264dd186df583bde0a0dc861 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
734f9535 | 15-Nov-2018 |
James Feist <james.feist@linux.intel.com> |
Allow multiple inputs to thermal and stepwise controllers
Use std::max to determine which input value to apply. Also start throwing when inputs are empty as otherwise there will be a nullptr derefer
Allow multiple inputs to thermal and stepwise controllers
Use std::max to determine which input value to apply. Also start throwing when inputs are empty as otherwise there will be a nullptr dereference.
Tested-by: Added multiple inputs and application no longer segfaults and verifed max was being used. Also added unit tests.
Change-Id: I7c8eda45b99247b8e92e629f036c9a46c98d9fe2 Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
5f59c0fd | 11-Nov-2018 |
Patrick Venture <venture@google.com> |
Move all floats to doubles
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
Move all floats to doubles
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>
show more ...
|
e6a7a2eb | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
style: s/getMinThermalRpmSetPt/getMinThermalRPMSetpoint/g
Rename method per openbmc style guide.
Change-Id: Ia861028452020ccefd463415093b5fb11f929ea4 Signed-off-by: Patrick Venture <venture@google.
style: s/getMinThermalRpmSetPt/getMinThermalRPMSetpoint/g
Rename method per openbmc style guide.
Change-Id: Ia861028452020ccefd463415093b5fb11f929ea4 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
c399f6fb | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
zone: use const reference consistently
In this case, the string is copied and placed into the vector's pointer list, so it's not necessary to be passed by const reference. However, for consistency
zone: use const reference consistently
In this case, the string is copied and placed into the vector's pointer list, so it's not necessary to be passed by const reference. However, for consistency it's a harmless change.
Change-Id: I5c02e98b4789e18bc9a6756bdd8c5184ad12a232 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
2d8e7851 | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
performance: fixup missing const reference in zone
Zone::getSensor is passed directly to the Sensor Manager getSensor which takes the parameter by reference. Make it use an explicit const reference
performance: fixup missing const reference in zone
Zone::getSensor is passed directly to the Sensor Manager getSensor which takes the parameter by reference. Make it use an explicit const reference at both layers.
Change-Id: I4895ea2935d20b73b88d33972e44b9ac557cd988 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
1248b153 | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
style: use system path for dbus headers
Use system path for dbus headers.
Change-Id: I08088eb0932de738fc410104c28847aaf78d95bd Signed-off-by: Patrick Venture <venture@google.com> |
0bbeaf84 | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
style: s/getZoneId/getZoneID/g
Acronyms are meant to be in the same case within their part of the camel case name.
Change-Id: I9e55d4419617a35b0f3a85f3d55543c8fc9bd76f Signed-off-by: Patrick Ventur
style: s/getZoneId/getZoneID/g
Acronyms are meant to be in the same case within their part of the camel case name.
Change-Id: I9e55d4419617a35b0f3a85f3d55543c8fc9bd76f Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
ee30648e | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
pid: add missing override specifiers
[pid/controller.hpp:18] -> [pid/pidcontroller.hpp:28]: (style) The function 'inputProc' overrides a function in a base class but is not marked with a 'override'
pid: add missing override specifiers
[pid/controller.hpp:18] -> [pid/pidcontroller.hpp:28]: (style) The function 'inputProc' overrides a function in a base class but is not marked with a 'override' specifier. [pid/controller.hpp:20] -> [pid/pidcontroller.hpp:30]: (style) The function 'outputProc' overrides a function in a base class but is not marked with a 'override' specifier. [pid/controller.hpp:22] -> [pid/pidcontroller.hpp:32]: (style) The function 'process' overrides a function in a base class but is not marked with a 'override' specifier. [pid/controller.hpp:24] -> [pid/pidcontroller.hpp:34]: (style) The function 'getID' overrides a function in a base class but is not marked with a 'override' specifier.
Change-Id: I29a6bbe644a5f7aad933eb49e7b6f7fdc6e33f19 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
a57477f1 | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
pid: stepwisecontroller: add missing override
[pid/controller.hpp:24] -> [pid/stepwisecontroller.hpp:35]: (style) The function 'getID' overrides a function in a base class but is not marked with a '
pid: stepwisecontroller: add missing override
[pid/controller.hpp:24] -> [pid/stepwisecontroller.hpp:35]: (style) The function 'getID' overrides a function in a base class but is not marked with a 'override' specifier.
Change-Id: I27f0853e24f6b25aa50f701ce5fad1ea989b618c Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
7af157b1 | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
style: function names should be lower camel
Fix function names to be lower camel.
Change-Id: I145e1f4c03d7740bc1525dcffbdce2f78fd61075 Signed-off-by: Patrick Venture <venture@google.com> |
563a356f | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
style: member functions should be lower camel
Rename member functions to be lower camel instead of snake case.
Change-Id: Ib227fd3dadb6d9607290277205223a4324cd4ce5 Signed-off-by: Patrick Venture <v
style: member functions should be lower camel
Rename member functions to be lower camel instead of snake case.
Change-Id: Ib227fd3dadb6d9607290277205223a4324cd4ce5 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
f3252315 | 30-Oct-2018 |
Patrick Venture <venture@google.com> |
style: fixup naming of structures
Fixup naming of structures to UpperCamel.
Change-Id: I6a9bf0b954298089c85d3362e86cd95b3fc5b944 Signed-off-by: Patrick Venture <venture@google.com> |
f77d5a57 | 23-Oct-2018 |
Patrick Venture <venture@google.com> |
cleanup: move from copy and pointer to just const reference
Originally code passed the object by value, and then later by pointer to that copy. Convert the code to be more performant by using a con
cleanup: move from copy and pointer to just const reference
Originally code passed the object by value, and then later by pointer to that copy. Convert the code to be more performant by using a const reference at all layers of access for this object.
Change-Id: Icdf0dfdb54d8adc29af4d05d841533626a484921 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
adc9e863 | 23-Oct-2018 |
Patrick Venture <venture@google.com> |
cleanup: rename variable per openbmc style
Rename PIDConfig to pidConfig per OpenBMC style guide.
Change-Id: I41c431b7162af6c49f4a43adb548f0b6ed04e3dc Signed-off-by: Patrick Venture <venture@google
cleanup: rename variable per openbmc style
Rename PIDConfig to pidConfig per OpenBMC style guide.
Change-Id: I41c431b7162af6c49f4a43adb548f0b6ed04e3dc Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
4a2dc4d8 | 23-Oct-2018 |
Patrick Venture <venture@google.com> |
cleanup: apply constness to read-only iterators
Apply const to read-only iterators to indicate intent more clearly.
Change-Id: Ic14304c69361da203d3d3a900180bd54346acc87 Signed-off-by: Patrick Ventu
cleanup: apply constness to read-only iterators
Apply const to read-only iterators to indicate intent more clearly.
Change-Id: Ic14304c69361da203d3d3a900180bd54346acc87 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
36b7d8eb | 05-Oct-2018 |
James Feist <james.feist@linux.intel.com> |
[dbus-passive] Add threshold fan failure
When a threshold is crossed for a monitored sensor, assert fan failure.
Tested-by: Changed a sensor threshold so that its current reading made the threshold
[dbus-passive] Add threshold fan failure
When a threshold is crossed for a monitored sensor, assert fan failure.
Tested-by: Changed a sensor threshold so that its current reading made the threshold asserted and noticed via print messages that the sensor went into failure state. Also noticed fans ramp. Wrote unit test to verify sensor can move in and out of error state correctly.
Change-Id: I83182536e4874eaba97f3f1d48d53ac110fba833 Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
df766f25 | 13-Oct-2018 |
Patrick Venture <venture@google.com> |
cleanup: reduce scope of variables
Various things caught by cppcheck that are non-critical.
Change-Id: I495453c84bc15788b85036a163ee36b0ac601fa1 Signed-off-by: Patrick Venture <venture@google.com> |
3dfaafda | 20-Sep-2018 |
James Feist <james.feist@linux.intel.com> |
Add hysteresis to stepwise controller
Tested-by: Ran on platform monitoring output and wrote unit test
Change-Id: I74a1d21544c1a9cb4c1cb26dd4a353cbff0442d0 Signed-off-by: James Feist <james.feist@l
Add hysteresis to stepwise controller
Tested-by: Ran on platform monitoring output and wrote unit test
Change-Id: I74a1d21544c1a9cb4c1cb26dd4a353cbff0442d0 Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
22c257ab | 31-Aug-2018 |
James Feist <james.feist@linux.intel.com> |
Add stepwise controller
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: Hyste
Add stepwise controller
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>
show more ...
|
da4a5dd1 | 31-Aug-2018 |
Patrick Venture <venture@google.com> |
add .clang-format
Change-Id: I6627b5569c2e0f730be7331403218b823a2c622f Signed-off-by: Patrick Venture <venture@google.com> |
566a1518 | 12-Jun-2018 |
Patrick Venture <venture@google.com> |
test: pid: fancontroller
Adds unit-tests for the fancontroller. Bugfix: set point not initialized to 0, although bug has no impact. Tested: Ran on quanta-q71l board and it behaved as expected.
Chan
test: pid: fancontroller
Adds unit-tests for the fancontroller. Bugfix: set point not initialized to 0, although bug has no impact. Tested: Ran on quanta-q71l board and it behaved as expected.
Change-Id: I516833d8c9ed806b765ff9333801f3d57932a17b Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
3349ef20 | 12-Jun-2018 |
Patrick Venture <venture@google.com> |
test: pid: thermalcontroller
Tests for the pid/thermalcontroller module. Fixes a bug where one could pass an incorrect number of inputs to the thermalcontroller. This can still be side-stepped by c
test: pid: thermalcontroller
Tests for the pid/thermalcontroller module. Fixes a bug where one could pass an incorrect number of inputs to the thermalcontroller. This can still be side-stepped by calling the constructor directly.
Tested: Ran on quanta-q71l board and it behaved as expected.
Change-Id: I3153ae4d907d9f90787b03e9d013d4349d911948 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|