{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":123181379,"defaultBranch":"master","name":"phosphor-pid-control","ownerLogin":"openbmc","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-02-27T20:03:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13670043?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714425498.0","currentOid":""},"activityList":{"items":[{"before":"a7bbd4583ea488d721ed0e185ed8119cd171fc15","after":"8dc277cc790efa2a25a4778693cba1bfa24ab741","ref":"refs/heads/master","pushedAt":"2024-04-30T09:31:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"meson: Enable link time optimization\n\nCurrently local boost subproject compilation fails with a message:\n\"\"\"\n../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:\n1085:41: error: iteration 2305843009213693951 invokes undefined\nbehavior [-Werror=aggressive-loop-optimizations]\n 1085 | size = request2size(sizes[i]*element_size);\n\n...\n\ncc1: all warnings being treated as errors\n\"\"\"\nTo solve the issue enable link time optimization.\n\nTested:\n\"meson setup build && cd build && meson compile\" finishes successfully.\n\nChange-Id: I6a146c5067d4d9eda163b18f9307b8b36eaedac5\nSigned-off-by: Konstantin Aladyshev ","shortMessageHtmlLink":"meson: Enable link time optimization"}},{"before":"9f1532dd04caabd87a9e70e3dbdea2f3a4ba09b8","after":"a7bbd4583ea488d721ed0e185ed8119cd171fc15","ref":"refs/heads/master","pushedAt":"2024-03-04T22:00:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"remove duplicated header include\n\nThis change fixes ci build error.\n\nChange-Id: I613e90f107146bf35d34d72d4a8e78054176a582\nSigned-off-by: Zhikui Ren ","shortMessageHtmlLink":"remove duplicated header include"}},{"before":"7e63502a80121ed014fb94e56e26d244852e0bdc","after":"9f1532dd04caabd87a9e70e3dbdea2f3a4ba09b8","ref":"refs/heads/master","pushedAt":"2024-02-13T00:08:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Include config.h for strict-failsafe-pwm option\n\nThe strict-failsafe-pwm meson option definition was not be seeing by\nthe #ifdefs since the config.h that meson creates that defines the\noption is not included. The strict-failsafe-pwm option can now be\nenabled by adding EXTRA_OEMESON:append = \" -Dstrict-failsafe-pwm=true\"\nto the bbappend.\n\nChange-Id: Ic4047bcd0e4599d14ab84744ffe22d23faa994dd\nSigned-off-by: Jonico Eustaquio ","shortMessageHtmlLink":"Include config.h for strict-failsafe-pwm option"}},{"before":"9788963c948448271f5d76e633ff9b17014d5a83","after":"7e63502a80121ed014fb94e56e26d244852e0bdc","ref":"refs/heads/master","pushedAt":"2024-02-13T00:06:32.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"pid/fancontroller: Set failsafe PWM in destructor\n\nIntroduce a new feature that's guarded by a new meson option\n'offline-failsafe-pwm':\n\nAfter the FanController object was destroyed it can no longer regulate\nthe fans. To prevent system failure set all fans to the FailSafePercent\ndefined in the configuration.\n\nIn addition to rebuilding configuration it also allows to keep the fans\nin FailSafe mode as long as the phosphor-pid-control.service is stopped\nor the system reboots. However this change doesn't cover the case of\na program crash where the destructor won't be executed. Abnormal program\ntermination must be handled by systemd and it out of scope of this\nchange.\n\nTested: 'systemctl stop phosphor-pid-control.service' and see the fans\n ramp up to FailSafePercent.\n\nChange-Id: I81262b07fd4c1212efc1a4ba4635bde8bc7b5215\nSigned-off-by: Patrick Rudolph ","shortMessageHtmlLink":"pid/fancontroller: Set failsafe PWM in destructor"}},{"before":"df597657fd0d1c248d1685e3b69478c80fc33461","after":"9788963c948448271f5d76e633ff9b17014d5a83","ref":"refs/heads/master","pushedAt":"2024-02-05T01:38:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Support to accumulate PWM of different controllers for same sensor\n\nDescription:\n1. Add one property: accumulateSetPoint in zone of fan table that could\n be used to enable accumulation of output PWM of different controllers\n with same sensor.\n\n2. Add one property: checkHysterWithSetpt in pid info of fan table to\n select to compare current input and setpoint to check hysteresis.\n\n3. The purpose of accumulate the stepwise output and PID output for\n one sensor is that the setting of stepwise could use to prevent\n the fan speed from suddenly increasing from a very low speed to a\n very high speed due to reaching the setpoint.\n\n Use stepwise before setpoint could also keep the PWM steady at\n low ambient temperature.\n\nDesign:\n1. Search \"accumulateSetPoint\" field in fan table.\n If the value was true, accumulate the output PWM of different\n controllers with same profile name.\n\n2. Support two method to calculate PID output that could be chosen by\n setting the \"checkHysterWithSetpt\" to true in pid info of fan table.\n\n If the flag was set to true, it won't calculate PWM output if the\n input lower than setpoint.\n\nTest Case:\n1. Check the output PWM of different controllers with same profile\n name could be accumulated - pass.\n\n2. Set \"checkHysterWithSetpt\" to true and check PID output would not be\n calculated if the input temperature was lower than setpoint - pass.\n\nPlease see more details in gist:\nhttps://gist.github.com/DelphineCCChiu/a6170d3e1a12fc4ee76fad324382fba3\n\nChange-Id: I9f38f250d72545784c6c11be2fde7d45f0b385c4\nSigned-off-by: Delphine CC Chiu ","shortMessageHtmlLink":"Support to accumulate PWM of different controllers for same sensor"}},{"before":"efda1ceda3ebe0cdcab2b5ea8248a387c8e556f5","after":"df597657fd0d1c248d1685e3b69478c80fc33461","ref":"refs/heads/master","pushedAt":"2023-12-28T02:32:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Changing wording of failsafe transition messages\n\nCleaning up and unifying the logic around displaying diagnostic\nmessages when failsafe transitions happen, so that the true case and\nthe false case run the same code path. This makes the messaging more\nstandard and coherent from the user point of view.\n\nThis will cause one additional logging message to appear during\nstartup. This is intentional: when the process is started up, this\ncounts as a state transition that is worth logging about, as it goes\nfrom uncontrolled state (essentially manual mode) to either failsafe\nmode or normal mode.\n\nTested: Installed and observed messages logged during startup\n\nChange-Id: Ib80cc342611a78199410564f76a2c65b590ef511\nSigned-off-by: Josh Lehan ","shortMessageHtmlLink":"Changing wording of failsafe transition messages"}},{"before":"397e6bcb5e30fb2e0fb46b75138d3883558888b3","after":"efda1ceda3ebe0cdcab2b5ea8248a387c8e556f5","ref":"refs/heads/master","pushedAt":"2023-12-09T12:43:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"meson: adjust nlohmann-json dependency\n\nSimplify dependency detection logic and align wrap file name with other\nrepositories.\n\nSigned-off-by: Patrick Williams \nChange-Id: Iab3ae4b39677f40e88801865b6c3ddfe77d43d40","shortMessageHtmlLink":"meson: adjust nlohmann-json dependency"}},{"before":"3f0f7bc35831d467d912698dc5dbd9dcf9ad10f3","after":"397e6bcb5e30fb2e0fb46b75138d3883558888b3","ref":"refs/heads/master","pushedAt":"2023-12-01T15:18:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"build: use allowed over enabled\n\nMeson feature options are typically in a tri-state of enabled, disabled,\nor auto. The enabled and disabled functions on an option (from\n`get_option`) no longer return true for auto features. Instead, the\nexpectation is to use `allowed()` which is true for both enabled and auto.\n\nSwitch all uses of `enabled` to `allowed`.\n\nChange-Id: I816b3334e4bb65384a49bc34af6ae5fe092c923e\nSigned-off-by: Patrick Williams ","shortMessageHtmlLink":"build: use allowed over enabled"}},{"before":"e1dbb59a08819d3e0cf8aa1e4718a37feb817902","after":"3f0f7bc35831d467d912698dc5dbd9dcf9ad10f3","ref":"refs/heads/master","pushedAt":"2023-10-25T20:26:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Add MissingIsAcceptable feature to avoid failsafe\n\nThis is a partial implementation of the ideas here:\nhttps://github.com/openbmc/phosphor-pid-control/issues/31\n\nA new configuration item is supported in the PID object, named\n\"MissingIsAcceptable\" (for D-Bus) or \"missingIsAcceptable\" (for the old\nconfig.json). The value is an array of strings. If these strings match\nsensor names, those sensors will be flagged as \"missing is acceptable\",\nthat is, they can go missing and the zone will not be thrown into\nfailsafe mode as a result.\n\nThis can be handy for sensors that are not always available on your\nparticular machine. It is independent of the existing Availability\ninterface, because the decision to go into failsafe mode or not is a\nproperty of the PID loop, not of the sensor itself.\n\nIf a PID loop consists of all sensors that are missing, the output\nwill be deemed to be the setpoint, thus essentially making the PID\nloop a no-op. Now initializing sensor values to NaN, not zero, as zero\nis not a good default if PID loop is margin, undoing a bug I made:\nhttps://gerrit.openbmc.org/c/openbmc/phosphor-pid-control/+/38228\n\nTested: It worked for me. Also, added a unit test case.\n\nChange-Id: Idc7978ab06fcc9ed8c6c9df9483101376e5df4d1\nSigned-off-by: Josh Lehan ","shortMessageHtmlLink":"Add MissingIsAcceptable feature to avoid failsafe"}},{"before":"37180062d950d6414d257effdb4082c3b541a964","after":"e1dbb59a08819d3e0cf8aa1e4718a37feb817902","ref":"refs/heads/master","pushedAt":"2023-10-21T01:58:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"clang-format: copy latest and re-format\n\nclang-format-17 has some backwards incompatible changes that require\nadditional settings for best compatibility and re-running the formatter.\nCopy the latest .clang-format from the docs repository and reformat the\nrepository.\n\nChange-Id: Ic0bb299201cf8abb024b7d4aca465d50cbc8b585\nSigned-off-by: Patrick Williams ","shortMessageHtmlLink":"clang-format: copy latest and re-format"}},{"before":"cc0232af9487f1096413daa22efd27c5641e44fc","after":"37180062d950d6414d257effdb4082c3b541a964","ref":"refs/heads/master","pushedAt":"2023-10-05T00:49:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"zone: Add debug thermal/power interface\n\n- Add xyz.openbmc_project.Debug.Pid.ThermalPower interface to\n fanctrl/zoneX/pid dbus to record some datas in thermal/power\n PID loop.\n\nTested:\n```\nbusctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/CPU0_PID xyz.openbmc_project.Debug.Pid.ThermalPower\nNAME TYPE SIGNATURE RESULT/VALUE FLAGS\n.ClassType property s \"Temperature\" emits-change\n.Input property d 36.594 emits-change\n.Leader property s \"Die_CPU0\" emits-change\n.Output property d 4200 emits-change\n.Setpoint property d 70 emits-change\n```\n\nSigned-off-by: Harvey Wu \nChange-Id: I6846c3878c2ca5eaeeb6eaf48aaf0f604a2beccf","shortMessageHtmlLink":"zone: Add debug thermal/power interface"}},{"before":"f7c07c9553c5088b9a346e838183836212df2b6c","after":"cc0232af9487f1096413daa22efd27c5641e44fc","ref":"refs/heads/master","pushedAt":"2023-10-02T00:49:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"zone: Add debug interface to zone dbus path\n\n- Add xyz.openbmc_project.Debug.Pid.Zone interface to fanctrl/zoneX dbus\n to record the PID config name which is driving this zone.\n\nTEST:\n```\nbusctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0 xyz.openbmc_project.Debug.Pid.Zone\nNAME TYPE SIGNATURE RESULT/VALUE FLAGS\n.Leader property s \"CPU0_PID\" emits-change\n```\n\nSigned-off-by: Harvey Wu \nChange-Id: I6fcfa596eec6b51a7727c2a01e7d36e3698eebcf","shortMessageHtmlLink":"zone: Add debug interface to zone dbus path"}},{"before":"796f06dc6f0e8161ee9ecf085443c1ae0dc45216","after":"f7c07c9553c5088b9a346e838183836212df2b6c","ref":"refs/heads/master","pushedAt":"2023-08-22T08:42:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"meson_options.txt: Support for reading options from meson.options\n\nSupport has been added for reading options from meson.options instead\nof meson_options.txt[1]. These are equivalent, but not using the .txt\nextension for a build file has a few advantages, chief among them\nmany tools and text editors expect a file with the .txt extension to\nbe plain text files, not build scripts.\n\n[1] https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions\n\nSigned-off-by: George Liu \nChange-Id: I4f13d242e2f20afc0a303b4b7c3b18369ddd78ec","shortMessageHtmlLink":"meson_options.txt: Support for reading options from meson.options"}},{"before":"90b0a66d9d95247ef269b3657a5b09c6ec8b3658","after":"796f06dc6f0e8161ee9ecf085443c1ae0dc45216","ref":"refs/heads/master","pushedAt":"2023-07-14T15:57:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"sysfs: Unconditionally replace '**' in FixupPath()\n\nPreviously this function had been constrained to only substitute '**' in\nthe provided path if it contained \"/sys/devices/platform/\". Some\ndevices that want to use the path-substitution feature may be more\nreadily accessed via other sysfs paths, e.g. under /sys/bus/i2c/devices,\nso let's allow it to be applied more widely.\n\nSigned-off-by: Zev Weiss \nChange-Id: I9f622a911e8af43bf1a9416f0b86738bfde2e0df","shortMessageHtmlLink":"sysfs: Unconditionally replace '**' in FixupPath()"}},{"before":"2aaf936fbdda9b2a9dcba315746f43ddbca115d5","after":"90b0a66d9d95247ef269b3657a5b09c6ec8b3658","ref":"refs/heads/master","pushedAt":"2023-07-14T02:05:36.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"dbusutil: use sdbusplus match rules\n\nRather than hand-rolling the match string, use the utilities supplied\nby sdbupslus.\n\nSigned-off-by: Patrick Williams \nChange-Id: Ic4f0de7c9dbd36d3f854dd1027f2826860814615","shortMessageHtmlLink":"dbusutil: use sdbusplus match rules"}},{"before":"57a7af6a4f7ca9ce0be7e5d4a4f9b561d9c4fd57","after":"2aaf936fbdda9b2a9dcba315746f43ddbca115d5","ref":"refs/heads/master","pushedAt":"2023-07-12T20:03:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"build: upgrade to C++23\n\nMeson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of\nthe standard has been implemented. Upgrade the build to leverage it.\n\nChange-Id: Idf4240e5b3f67681568e489eebbe9db71f7a44f4\nSigned-off-by: Patrick Williams ","shortMessageHtmlLink":"build: upgrade to C++23"}},{"before":"9fe3a3c767cc7932f526edb2fded7962d848b8a4","after":"57a7af6a4f7ca9ce0be7e5d4a4f9b561d9c4fd57","ref":"refs/heads/master","pushedAt":"2023-06-16T00:44:23.422Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"fix compile error when enable meson test option\n\n- Fix compile error:\n [-Werror=sign-compare]\n\nSigned-off-by: Harvey Wu \nChange-Id: Iaedcf75b14b7b5526ff6728a33305735470967ca","shortMessageHtmlLink":"fix compile error when enable meson test option"}},{"before":"7c6d35d5c439196254a7ca600b2d6bc0650adf4a","after":"9fe3a3c767cc7932f526edb2fded7962d848b8a4","ref":"refs/heads/master","pushedAt":"2023-06-08T04:18:23.017Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Set failsafePwm by pid configuration\n\n\nCurrent phosphor-pid-control service supports one zone with\none failsafepwm. However, for some platforms there are\ndifferent pluggable cards in a zone. Different combinations\nmay require different failsafe pwm settings. Why not just\nuse one zone failsafepwm for all the combinations? because if\nwe take power consumption or acoustic into consideration,\nwe will find that not all the cases need the same high\nfailsafepwm. Each case just need high enough failsafepwm\nto cool down the system in that condition.\n\nFor example\ncase1: zone0 : gpuA card + motherboard in zone0\n=>requires failsafepwm = 80\n\ncase2: zone1 : gpuB card + motherboard in zone0\n=>requires failsafepwm = 60\n\nIn order to solve the problem described above , we propose\nthe design that. Each pidloop has its own failsafepwm.\nThe final failsafepwm will be calculated during building\nzone process. The detailed design concept is described in\ndesign concept section.\n\n\na zone has several pid loops, each one has its own pid\nfailsafe pwm defined in its configuration.\n\nThe calculation flow goes as below:\n1.Take failsafepwm of the pidloops and the zone from the configuration\n files, if any is missing , set it to zero.\n2.Take max value of (zone failsafepwm and pid loops failsafepwm).\n3.If the max value from 'step 2' is zero indicates none of failsafepwm\n is configured, set it to default setting 100%.\n\n\n1.this is intended for dbus configuration method, since one zone\n may have different pidloops from different pluggable boards\n entity json, but this design also works for static configuration\n method, therefore, the zone with different boards will need\n different failsafepwm.\n2.keep it back compatible with original design , also take zone\n failsafepwm into calculation.\n\nWorking example as below\n\nCase1\nZone0:\nzone0 pidloop failsafepwm = 60\ngpuA pidloop failsafepwm = 70\nMotherboard failsafepwm = 40\n\n=>final failsafepwm = 70\n\nCase2\nZone0:\nzone0 pidloop failsafepwm = 60\ngpuB pidloop failsafepwm = 80\nMotherboard failsafepwm = 40\n\n=>final failsafepwm = 80\n\nChange-Id: I5aa1c6a7108f4520f41de5d8eba3075d021bbe79\nSigned-off-by: ykchiu ","shortMessageHtmlLink":"Set failsafePwm by pid configuration"}},{"before":"02839e372a32d3a346c956d545b7fe97a91bd755","after":"7c6d35d5c439196254a7ca600b2d6bc0650adf4a","ref":"refs/heads/master","pushedAt":"2023-06-04T08:25:42.238Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Allow disabling PID loops at runtime\n\n\nAdd the map of object enable interface to pid loops\nin the zone then we can disable/enable each pid loop\nprocess in a zone by dbus command.\n\n[note]\nEnable = true : enable process (default)\nEnable = false : disable process\n\nTested:\nIn this case: we set Enable = false to disable\npidloop:Zone_Temp_0, and see how it affects\nthe zone final pwm, when pidloop: Zone_Temp_0\nin zone 0 is disabled.\n\nthen even we are trying to heat up the temperature\nof a sensor: Temp_0 in pidloop: Zone_Temp_0, this\nset point of the pidloop will not be taken into the\ncalculation for the final set point of the whole zone.\n\n```\n\nroot@openbmc:/tmp# busctl tree xyz.openbmc_project.State.FanCtrl\n`-/xyz\n `-/xyz/openbmc_project\n `-/xyz/openbmc_project/settings\n `-/xyz/openbmc_project/settings/fanctrl\n |-/xyz/openbmc_project/settings/fanctrl/zone0\n | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp\n | |-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0\n | `-/xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_1\n\n====Enable process for pidloop:Zone_Temp_0 with p-switch temperature sensor:Temp_0 at runtime====\nroot@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0\nNAME TYPE SIGNATURE RESULT/VALUE FLAGS\nxyz.openbmc_project.Object.Enable interface - - -\n.Enabled property b true emits-change writable\n\n====Disable process for pidloop:Zone_Temp_0 with p-switch temperature sensor: Temp_0====\nroot@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\nroot@openbmc:~# busctl introspect xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone0/Zone_Temp_0\nNAME TYPE SIGNATURE RESULT/VALUE FLAGS\nxyz.openbmc_project.Object.Enable interface - - -\n.Enabled property b false emits-change writable\n```\n\nwhen Disable the process of the pidloop: Zone_Temp_0,\nthe requester switches from Zone_Temp_0 to the others,\nwhen you enable the pidloop: Zone_Temp_0, the setpoint\nof Zone_Temp_0 will be take into consideration again\n\nChange-Id: I95ae700144f0d16049fff8b309f05ae690a7ef72\nSigned-off-by: ykchiu ","shortMessageHtmlLink":"Allow disabling PID loops at runtime"}},{"before":"7e6130aab02545f19597c1776d8915ab4c450d11","after":"02839e372a32d3a346c956d545b7fe97a91bd755","ref":"refs/heads/master","pushedAt":"2023-05-25T04:40:54.954Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Fix wrong link in README\n\n`OEM-IPMI Definitions` should link to `ipmi.md` instead of `ipmid.md`\n\nChange-Id: I7b628812fffb4b06d0856ecc96207c59ed4818eb\nSigned-off-by: Michael Shen ","shortMessageHtmlLink":"Fix wrong link in README"}},{"before":"8c051121ade815a46e39d5c669fee77302df2b6d","after":"7e6130aab02545f19597c1776d8915ab4c450d11","ref":"refs/heads/master","pushedAt":"2023-05-17T00:46:46.184Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"meson: remove deprecated get_pkgconfig_variable\n\nSince meson 0.56, the `get_pkgconfig_variable` has been deprecated. In\nmeson 0.58 the `get_variable` was enhanced to no longer require the\n`pkgconfig` keyword argument. Ensure meson 0.58 is required and update\nthe usage of all `get_pkgconfig_variable` and `get_variable` to be the\nmodern variant.\n\nChange-Id: I1ec9e9a8efcfe37f0439a15e986bf6e7a754dc00\nSigned-off-by: Patrick Williams ","shortMessageHtmlLink":"meson: remove deprecated get_pkgconfig_variable"}},{"before":"c2a311b0055b5af0d93bf5db0e9834271d93d458","after":"8c051121ade815a46e39d5c669fee77302df2b6d","ref":"refs/heads/master","pushedAt":"2023-05-10T19:21:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"clang-format: copy latest and re-format\n\nclang-format-16 has some backwards incompatible changes that require\nadditional settings for best compatibility and re-running the formatter.\nCopy the latest .clang-format from the docs repository and reformat the\nrepository.\n\nChange-Id: Icbc50d46e84ee7ef756705e2b19741439a325074\nSigned-off-by: Patrick Williams ","shortMessageHtmlLink":"clang-format: copy latest and re-format"}},{"before":"cdc8dca44b5a60af4bb86598043b54f955b81bcd","after":"c2a311b0055b5af0d93bf5db0e9834271d93d458","ref":"refs/heads/master","pushedAt":"2023-04-27T15:47:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Handle InterfacesRemoved signal under /xyz/openbmc_project/sensor path\n\nListen for InterfacesRemoved signal and restart control loops. Without\nthis, the pid loop may run with staled sensor value if the corresponding\nobject or interface is removed.\n\nTested:\n ...\n PID Zone 0 max SetPoint 16800 requested by ...\n PID Zone 0 max SetPoint 16800 requested by ...\n<- systemctl stop xyz.openbmc_project.nvmesensor here ->\n New configuration detected, reloading\n .1 Failed during restartControlLoops, try again: wait for count back to 1\n Zone Zone 1 is at ZoneIndex 1\n Zone Zone 0 is at ZoneIndex 0\n Zone Zone 2 is at ZoneIndex 2\n ...\n\nChange-Id: I900edda48b71dc7b6ae79a4b51f4088aea69183a\nSigned-off-by: Jinliang Wang ","shortMessageHtmlLink":"Handle InterfacesRemoved signal under /xyz/openbmc_project/sensor path"}},{"before":"5293ec2e5750456f705b6c06dcb7a4a106e4b296","after":"cdc8dca44b5a60af4bb86598043b54f955b81bcd","ref":"refs/heads/master","pushedAt":"2023-04-21T02:29:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"fix default root directory logging path\n\nCurrently, log files will be written into root directory if we only\ntouch /etc/thermal.d/logging.\n\nBefore fix:\n$ mkdir -p /etc/thermal.d && touch /etc/thermal.d/logging && systemctl restart phosphor-pid-control.service\n$ systemctl status -n 10000 phosphor-pid-control.service | grep enabled\nswampd[10391]: Logging enabled:\n$ ls /zone*\nzone_0.log zone_1.log zone_2.log\n\nAfter fix:\nLogging enabled: /tmp\n$ ls /tmp/zone*\n/tmp/zone_0.log /tmp/zone_1.log /tmp/zone_2.log\n\nChange-Id: I9f3e93b2d9c469b122f106fab54f3686524ec209\nSigned-off-by: Jinliang Wang ","shortMessageHtmlLink":"fix default root directory logging path"}},{"before":"79cde00af75a15e60fa91a367b49421baf8530cf","after":"5293ec2e5750456f705b6c06dcb7a4a106e4b296","ref":"refs/heads/master","pushedAt":"2023-04-15T07:33:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bradbishop","name":"Brad Bishop","path":"/bradbishop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8423748?s=80&v=4"},"commit":{"message":"Allow indefinite retries in tryRestartControlLoops()\n\nOn some platforms, when the BMC first starts up the sensors used in\nswampd's PID loops may not yet exist, and may not start existing until\nthe host is first powered on. Since that may not happen for an\narbitrarily long time, swampd can end up crashing after exhausting its\nartificially-limited retry budget in tryRestartControlLoops(), at which\npoint it gets restarted by systemd and the loop continues. Each time it\ncrashes we generate a warning in the Redfish event log though, which\nisn't ideal since nothing truly erroneous has actually happened (aside\nfrom the daemon somewhat spuriously dying).\n\nWith this change we instead allow tryRestartControlLoops() to retry\nindefinitely without crashing the process, so that it can simply wait\nuntil the sensors it's configured to use eventually appear.\n\nSigned-off-by: Zev Weiss \nChange-Id: I13f591fded2563731cb5a8c3a67283b57f99f6bf","shortMessageHtmlLink":"Allow indefinite retries in tryRestartControlLoops()"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPdNFpwA","startCursor":null,"endCursor":null}},"title":"Activity ยท openbmc/phosphor-pid-control"}