16861797 | 27-Sep-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Support `member` signal triggers
`member` signals are signals that a dbus object could send out on dbus that acts as a notification that does not contain any other data. This adds support t
control: Support `member` signal triggers
`member` signals are signals that a dbus object could send out on dbus that acts as a notification that does not contain any other data. This adds support to fan control events that can be triggered by this type of signal on dbus to essentially run a set of actions. The configuration of this trigger is contained within the JSON configuration of the trigger on the event and not against the event's group(s).
i.e.) "triggers": [ { "class": "signal", "signal": "member", "member": { "name": "Pressed", "path": "/xyz/openbmc_project/Chassis/Buttons/Power0", "interface": "xyz.openbmc_project.Chassis.Buttons.Power" } } ]
Change-Id: Ie7924174333c604fb54c8f18560a890bf6a7c489 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
737f11cd | 27-Sep-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Provide trigger JSON to signal trigger subscribing
An upcoming signal class trigger will have additional JSON configuration details for subscribing to it. This removes the generally unused
control: Provide trigger JSON to signal trigger subscribing
An upcoming signal class trigger will have additional JSON configuration details for subscribing to it. This removes the generally unused event name passed to each type of signal and replaces it with the trigger's JSON configuration where used, which will not be used until the upcoming `member` type of signal.
Change-Id: I7f9be935ba32ea71d0529f27e8e1c9016f7cec1f Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
/openbmc/phosphor-fan-presence/configure.ac/openbmc/phosphor-fan-presence/control/Makefile.am/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,everest/fans.json/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,everest/zones.json/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,rainier-1s4u/fans.json/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,rainier-1s4u/zones.json/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,rainier-2u/zones.json/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,rainier-4u/zones.json/openbmc/phosphor-fan-presence/control/config_files/p10bmc/ibm,rainier/fans.json/openbmc/phosphor-fan-presence/control/fan.cpp/openbmc/phosphor-fan-presence/control/fanctl.cpp/openbmc/phosphor-fan-presence/control/functor.hpp/openbmc/phosphor-fan-presence/control/json/actions/action.hpp/openbmc/phosphor-fan-presence/control/json/actions/count_state_target.cpp/openbmc/phosphor-fan-presence/control/json/actions/count_state_target.hpp/openbmc/phosphor-fan-presence/control/json/actions/mapped_floor.cpp/openbmc/phosphor-fan-presence/control/json/actions/mapped_floor.hpp/openbmc/phosphor-fan-presence/control/json/actions/missing_owner_target.cpp/openbmc/phosphor-fan-presence/control/json/actions/net_target_decrease.hpp/openbmc/phosphor-fan-presence/control/json/actions/net_target_increase.cpp/openbmc/phosphor-fan-presence/control/json/actions/net_target_increase.hpp/openbmc/phosphor-fan-presence/control/json/actions/set_parameter_from_group_max.cpp/openbmc/phosphor-fan-presence/control/json/actions/set_parameter_from_group_max.hpp/openbmc/phosphor-fan-presence/control/json/actions/timer_based_actions.cpp/openbmc/phosphor-fan-presence/control/json/actions/timer_based_actions.hpp/openbmc/phosphor-fan-presence/control/json/dbus_zone.cpp/openbmc/phosphor-fan-presence/control/json/event.cpp/openbmc/phosphor-fan-presence/control/json/event.hpp/openbmc/phosphor-fan-presence/control/json/fan.cpp/openbmc/phosphor-fan-presence/control/json/manager.cpp/openbmc/phosphor-fan-presence/control/json/manager.hppsignal.cppsignal.hpp/openbmc/phosphor-fan-presence/control/json/utils/modifier.cpp/openbmc/phosphor-fan-presence/control/json/utils/modifier.hpp/openbmc/phosphor-fan-presence/control/json/zone.cpp/openbmc/phosphor-fan-presence/control/json/zone.hpp/openbmc/phosphor-fan-presence/control/main.cpp/openbmc/phosphor-fan-presence/control/service_files/json/phosphor-fan-control@.service.in/openbmc/phosphor-fan-presence/control/service_files/yaml/phosphor-fan-control-init@.service.in/openbmc/phosphor-fan-presence/control/service_files/yaml/phosphor-fan-control@.service.in/openbmc/phosphor-fan-presence/hwmon_ffdc.cpp/openbmc/phosphor-fan-presence/hwmon_ffdc.hpp/openbmc/phosphor-fan-presence/json_config.hpp/openbmc/phosphor-fan-presence/monitor/Makefile.am/openbmc/phosphor-fan-presence/monitor/config_files/p10bmc/ibm,everest/config.json/openbmc/phosphor-fan-presence/monitor/config_files/p10bmc/ibm,rainier-1s4u/config.json/openbmc/phosphor-fan-presence/monitor/config_files/p10bmc/ibm,rainier-2u/config.json/openbmc/phosphor-fan-presence/monitor/config_files/p10bmc/ibm,rainier-4u/config.json/openbmc/phosphor-fan-presence/monitor/config_files/witherspoon/config.json/openbmc/phosphor-fan-presence/monitor/fan.cpp/openbmc/phosphor-fan-presence/monitor/fan.hpp/openbmc/phosphor-fan-presence/monitor/fan_error.cpp/openbmc/phosphor-fan-presence/monitor/fan_error.hpp/openbmc/phosphor-fan-presence/monitor/main.cpp/openbmc/phosphor-fan-presence/monitor/power_interface.cpp/openbmc/phosphor-fan-presence/monitor/power_interface.hpp/openbmc/phosphor-fan-presence/monitor/system.cpp/openbmc/phosphor-fan-presence/monitor/system.hpp/openbmc/phosphor-fan-presence/monitor/tach_sensor.cpp/openbmc/phosphor-fan-presence/monitor/tach_sensor.hpp/openbmc/phosphor-fan-presence/power_state.hpp/openbmc/phosphor-fan-presence/presence/Makefile.am/openbmc/phosphor-fan-presence/presence/config_files/p10bmc/ibm,everest/config.json/openbmc/phosphor-fan-presence/presence/config_files/p10bmc/ibm,rainier-1s4u/config.json/openbmc/phosphor-fan-presence/presence/config_files/p10bmc/ibm,rainier-2u/config.json/openbmc/phosphor-fan-presence/presence/config_files/p10bmc/ibm,rainier-4u/config.json/openbmc/phosphor-fan-presence/presence/config_files/witherspoon/config.json/openbmc/phosphor-fan-presence/presence/gpio.hpp/openbmc/phosphor-fan-presence/presence/json_parser.cpp/openbmc/phosphor-fan-presence/presence/json_parser.hpp/openbmc/phosphor-fan-presence/presence/tach_detect.cpp/openbmc/phosphor-fan-presence/sdbusplus.hpp/openbmc/phosphor-fan-presence/sdeventplus.hpp/openbmc/phosphor-fan-presence/utility.hpp |
fac8a2fe | 10-Jun-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Store signal packages as a reference
Switch from storing signal package data from a pointer to a reference.
Change-Id: I2d9051273e54709c0c8abd0c72f513bac36a2c89 Signed-off-by: Matthew Bart
control: Store signal packages as a reference
Switch from storing signal package data from a pointer to a reference.
Change-Id: I2d9051273e54709c0c8abd0c72f513bac36a2c89 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
b6ebac86 | 21-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Remove manager parameter from create trigger function
The pointer to the manager object is no longer needed when creating a trigger since its provided when the trigger is enabled.
Change-I
control: Remove manager parameter from create trigger function
The pointer to the manager object is no longer needed when creating a trigger since its provided when the trigger is enabled.
Change-Id: Ib5b3923bf87c405243630e622f383b27f50453a5 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
54b5a24f | 21-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Store/use trigger enable functions on events
Create and store trigger enablement functions on the events based on the trigger's configuration so that they can be enabled separately from whe
control: Store/use trigger enable functions on events
Create and store trigger enablement functions on the events based on the trigger's configuration so that they can be enabled separately from when the event is created. This will allow actions that load events to be able to be parsed and then enabled when the action determines that the events should be enabled. It also supports the use of SIGHUP to reload the event configuration since the events JSON configuration must successfully be loaded before the newly created events can be enabled in place of the currently enabled events.
Change-Id: I31871ee1691d5e6b26fe16cde2a829c426ad6504 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
50219f50 | 18-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Handle `Current` property changing
It appears there's no longer a need to handle objects owned by fan control that it may also be subscribed to for propertiesChanged signals. This may be du
control: Handle `Current` property changing
It appears there's no longer a need to handle objects owned by fan control that it may also be subscribed to for propertiesChanged signals. This may be due to updates in sdbusplus's async capabilities, but in case these signals begin to get dropped to the fan control service, an issue was created to re-test the handling of the `Current` thermal mode property changing (https://github.com/ibm-openbmc/dev/issues/3195)
This commit adds a `TODO` note along with some minor changes to updating the value of the `Current` property.
Change-Id: Id26d80566318327982ac8c72406803e55059d9b8 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
2a9e7b2e | 17-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Set owner state for all service entries
When the owner state of a service for an object is set, set the specific object's service owner state and then update all other objects' owner state
control: Set owner state for all service entries
When the owner state of a service for an object is set, set the specific object's service owner state and then update all other objects' owner state that share the same service name and interface.
Also fixed nameOwnerChanged signal handler setOwner() parameter order.
Change-Id: I1e23193770d9880101b540f1c3abe7f517797b85 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
e8441c69 | 13-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add init trigger support
Add init trigger support to the available triggers where init triggered event actions are run immediately when fan control starts. Initially the `getProperties` and
control: Add init trigger support
Add init trigger support to the available triggers where init triggered event actions are run immediately when fan control starts. Initially the `getProperties` and `nameHasOwner` methods are supported to be triggered when fan control starts. The `getProperties` method populates the dbus object cache for each group member's property configured. The `nameHasOwner` method populates the service owned state from dbus for each group member. Each of these attempts to do bulk reads(getManagedObjects for `getProperties` and getSubTree for `nameHasOwner`) from dbus when populating the caches to minimize dbus calls.
Change-Id: Ib5d89eceadd26db1bf7610113ea30fc8ba69ab12 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
b03f6bb0 | 13-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add nameOwnerChanged signal support
Subscribe to and handle nameOwnerChanged signals to trigger event actions.
Change-Id: I7d5a472d31a2af5297581c18d84ef4ac897ff3ea Signed-off-by: Matthew B
control: Add nameOwnerChanged signal support
Subscribe to and handle nameOwnerChanged signals to trigger event actions.
Change-Id: I7d5a472d31a2af5297581c18d84ef4ac897ff3ea Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
c2691407 | 13-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add interfacesRemoved signal support
Subscribe to and handle interfacesRemoved signals to trigger event actions.
Change-Id: I270dc02bfa78c1801c545712710b27a3d2ba2180 Signed-off-by: Matthew
control: Add interfacesRemoved signal support
Subscribe to and handle interfacesRemoved signals to trigger event actions.
Change-Id: I270dc02bfa78c1801c545712710b27a3d2ba2180 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
599afcef | 13-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add interfacesAdded signal support
Subscribe to and handle interfacesAdded signals to trigger event actions.
Change-Id: I9d42a4341cb2880cf839b626786c569bdbf19a7c Signed-off-by: Matthew Bar
control: Add interfacesAdded signal support
Subscribe to and handle interfacesAdded signals to trigger event actions.
Change-Id: I9d42a4341cb2880cf839b626786c569bdbf19a7c Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
baeeb8f1 | 13-May-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add signal triggers with propertiesChanged signals
Add signal trigger support to the available triggers and include the ability to subscribe and handle propertiesChanged signals.
Subscribi
control: Add signal triggers with propertiesChanged signals
Add signal trigger support to the available triggers and include the ability to subscribe and handle propertiesChanged signals.
Subscribing to a signal involves creating the signal's match string and packaging the signal data for when the signal is received. Since a single signal could be configured to be used across multiple dbus objects and/or actions, the signal package is added in a way that each event configured for the signal is processed from the signal received.
Handling the propertiesChanged signal involves filtering for the configured dbus property, updating the cached value of the property, and then allowing the actions for that signal to be run.
Change-Id: I04bc163b65115d9bac30315f690db5fefca5bde4 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
93341e00 | 14-Apr-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add timer trigger support
When an event is configured with a "timer" trigger, the event's actions are run after the configured type of timer expires.
Change-Id: I4a400cdae0df560ba58383916c
control: Add timer trigger support
When an event is configured with a "timer" trigger, the event's actions are run after the configured type of timer expires.
Change-Id: I4a400cdae0df560ba58383916c246c10d27d3516 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
0620be79 | 14-Apr-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Add event trigger creation
Event triggers are created by the events JSON configuration given a trigger class name. That class name is used to lookup the associated function in order to crea
control: Add event trigger creation
Event triggers are created by the events JSON configuration given a trigger class name. That class name is used to lookup the associated function in order to create the trigger by that class name. Triggers are not required to be kept around/stored on the event, so that ability was removed.
Change-Id: I3333b312a063e952d858f78fe80df85820eb5bba Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|