History log of /openbmc/phosphor-pid-control/pid/thermalcontroller.hpp (Results 1 – 17 of 17)
Revision Date Author Comments
# bd63bcac 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: I0f105c3310e87172c65a09a8787a2db5a4041cc0
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 31058fd3 13-Jan-2023 Josh Lehan <krellan@google.com>

Implementing the TempToMargin feature

Wrapping the input name std::string in a new structure SensorInput, so
that the TempToMargin information can be cleanly carried along with
it, all the way down

Implementing the TempToMargin feature

Wrapping the input name std::string in a new structure SensorInput, so
that the TempToMargin information can be cleanly carried along with
it, all the way down to the PID input processing layer where it is
needed. This allows the conversion to be done just-in-time before the
temperature reading is interpreted, minimizing the blast radius of
this change. Nonetheless, because of the type change, there was a
somewhat large blast radius to implement this feature.

The design, and the documentation, is already here:
https://github.com/openbmc/phosphor-pid-control/issues/23

Tested: Added unit tests for JSON parsing and for proper execution
of the TempToMargin feature. They pass. Ran it locally, on our
appropriately-configured system, and it seems to work for me.

Change-Id: I598ba485195aaa70c26e91a1da3ab88fff8c3a4c
Signed-off-by: Josh Lehan <krellan@google.com>

show more ...


# 23e22b90 13-Nov-2022 Josh Lehan <krellan@google.com>

Add new PID Class types "power" and "powersum"

Implements this feature:
https://github.com/openbmc/phosphor-pid-control/issues/24

In addition to the existing "temp" and "margin" classes, adding
new

Add new PID Class types "power" and "powersum"

Implements this feature:
https://github.com/openbmc/phosphor-pid-control/issues/24

In addition to the existing "temp" and "margin" classes, adding
new "power" and "powersum" Class types.

The "power" class is the same as "temp", but expects D-Bus power
sensors, instead of D-Bus temperature sensors.

The "powersum" class is the same as "power", but sums together all of
the given inputs, instead of finding the maximum.

Signed-off-by: Josh Lehan <krellan@google.com>
Change-Id: I11d8ad8385632658ed061671134be87a560cd02a

show more ...


# a076487a 08-Aug-2020 Patrick Venture <venture@google.com>

sensors/zones: place in namespace and cleanup

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I527dbc8477a232945f696227a7b0b2adbee45175


# a83a3ecc 04-Aug-2020 Patrick Venture <venture@google.com>

update clang-format from Latest in docs

Updates the clang-format file and then applies it.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ia9faf13ce171f90bf07547efd781139bee23e8c7


# 7280e27e 11-Feb-2019 Patrick Venture <venture@google.com>

conf change: s/set-point/setpoint/

Remove the dash from set-point, such that it's one word: setpoint.

Change-Id: I4c3033f3c2432a53d850e8f5defbe2ac1510daf8
Signed-off-by: Patrick Venture <venture@go

conf change: s/set-point/setpoint/

Remove the dash from set-point, such that it's one word: setpoint.

Change-Id: I4c3033f3c2432a53d850e8f5defbe2ac1510daf8
Signed-off-by: Patrick Venture <venture@google.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 ...


# 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 ...


# 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 ...


# 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 ...


# 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>


# a58197cf 11-Jun-2018 Patrick Venture <venture@google.com>

test: pid: zone

Add unit-tests for the PID zone module.
Add zone_mock.

Tested: Ran on quanta-q71l board and it behaved as expected.

Change-Id: I51185b2d2daacea6ffb687e8f38c4fe2b2a1bed3
Signed-off-

test: pid: zone

Add unit-tests for the PID zone module.
Add zone_mock.

Tested: Ran on quanta-q71l board and it behaved as expected.

Change-Id: I51185b2d2daacea6ffb687e8f38c4fe2b2a1bed3
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# 5c7cc545 11-Jun-2018 Patrick Venture <venture@google.com>

pid: zone split out builders

To enable unit-testing, split the builders into their own
object files.

Tested: Ran on quanta-q71l board and it behaved as expected.

Change-Id: I92168ec9ae4946d12328e9

pid: zone split out builders

To enable unit-testing, split the builders into their own
object files.

Tested: Ran on quanta-q71l board and it behaved as expected.

Change-Id: I92168ec9ae4946d12328e9c0b94a36bb89d0f718
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# d8012181 08-Mar-2018 Patrick Venture <venture@google.com>

PID Objects & Algo

These are the PID controller implementations for fans,
and thermals. This also includes the PID algorithm used.

Change-Id: I30471fbf7a8a7ed65f78bf105970d62815fedc56
Signed-off-b

PID Objects & Algo

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>

show more ...