/openbmc/phosphor-pid-control/test/ |
H A D | helpers.hpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
H A D | pid_zone_unittest.cpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
/openbmc/phosphor-pid-control/ |
H A D | interfaces.hpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
/openbmc/phosphor-pid-control/pid/ |
H A D | buildjson.cpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
H A D | builder.cpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
H A D | zone.hpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
H A D | zone.cpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|
/openbmc/phosphor-pid-control/dbus/ |
H A D | dbusconfiguration.cpp | 7c6d35d5 Wed May 10 04:01:46 CDT 2023 ykchiu <Chiu.YK@inventec.com> Allow disabling PID loops at runtime
<design concept> Add the map of object enable interface to pid loops in the zone then we can disable/enable each pid loop process in a zone by dbus command.
[note] Enable = true : enable process (default) Enable = false : disable process
Tested: In this case: we set Enable = false to disable pidloop:Zone_Temp_0, and see how it affects the zone final pwm, when pidloop: Zone_Temp_0 in zone 0 is disabled.
then even we are trying to heat up the temperature of a sensor: Temp_0 in pidloop: Zone_Temp_0, this set point of the pidloop will not be taken into the calculation for the final set point of the whole zone.
``` <service object> root@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/settings `-/xyz/openbmc_project/settings/fanctrl |-/xyz/openbmc_project/settings/fanctrl/zone0 | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1
====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime==== root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b true emits-change writable
====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0==== root@openbmc:~# busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 xyz.openbmc_project.Object.Enable Enabled b false root@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Object.Enable interface - - - .Enabled property b false emits-change writable ```
when Disable the process of the pidloop: Zone_Temp_0, the requester switches from Zone_Temp_0 to the others, when you enable the pidloop: Zone_Temp_0, the setpoint of Zone_Temp_0 will be take into consideration again
Change-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72 Signed-off-by: ykchiu <Chiu.YK@inventec.com>
|