summaryrefslogtreecommitdiffstats
path: root/control
Commit message (Collapse)AuthorAgeFilesLines
* Add default floor speed supportMatthew Barth2017-06-264-4/+25
| | | | | Change-Id: Id2d3b362e79e7a8c2330181f68ae11e43f84e2fd Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Properties stored of different typesMatthew Barth2017-06-264-16/+20
| | | | | | | | Allow properties stored for processing events to be of types other than bool Change-Id: Ie1dde5aca562c9958bdff6fa3d1b19d3154b2c6d Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Add interface to uniquely identify propertiesMatthew Barth2017-06-265-5/+16
| | | | | | | | The interface is needed on the properties stored to uniquely identify each property used in events. Change-Id: Ia062f25514d7ed04ef1023a02eecad4738711ffb Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Check for zone number and conditionGunnar Mills2017-06-261-6/+17
| | | | | | | | | Only add events to the zone if the conditions and zone number are correct. Resolves openbmc/openbmc#1500 Change-Id: Ia040fcbdd9093d25d4ed1773d5fea0ed8a95ba2b Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Example zone conditions yamlGunnar Mills2017-06-261-0/+32
| | | | | | | | An example yaml file for zone conditions to be used to create the correct fan zones. Change-Id: I6ca339a3a9f37bc70424cde57f2229a5dcb70cbb Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Remove TBD on zone conditions in zones.yamlGunnar Mills2017-06-261-1/+1
| | | | | Change-Id: I8eb215aaf90ef9553a52e8eaa54d3fd1a1a00ca5 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Evaluate conditions to determine zoneGunnar Mills2017-06-262-15/+108
| | | | | Change-Id: Idb825b27ecf98503ddc2405a0cafc30c644efc71 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* pep8 style changesGunnar Mills2017-06-261-5/+5
| | | | | | | Fixed pep8 warnings in gen-fan-zone-defs.py Change-Id: I78472a1e9ce1bd6eb14e0352398c6470fa144604 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Parse zone conditionsGunnar Mills2017-06-261-6/+69
| | | | | | | Zone conditions are used to determine which zone to use. Change-Id: I11f0ffa4da12532aeedf88941fb8a2d7fca5d352 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Use updated match methods for signal callbacksMatthew Barth2017-06-054-46/+23
| | | | | | | | Attach the event handler callback function to the match along with generating the match string using the new match methods Change-Id: I7595d65cbc615f29db60e2a65534ee5b635d6f96 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Check initial event's group members' propertiesMatthew Barth2017-05-312-0/+68
| | | | | | | | On start of fan control, check the current event's group members' property states and envoke the defined action function on the results. Change-Id: I12509403328d90f85d67b393dbdd97d8710c83ef Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Add an active state for automatic fan controlMatthew Barth2017-05-313-1/+38
| | | | | | | | | | | | Each zone contains an active state that determines whether the automatic fan control algorithm is active and controlling the fan speeds dynamically or not. This will be used to determine if the fan speeds within the zone are set dynamically or rather held at another speed for a determined reason. Change-Id: I2f81de168c5f7d859b3ec917022c4749e1a28d4e Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Only setup set speed events when not init modeMatthew Barth2017-05-315-33/+42
| | | | | Change-Id: Ia6987295a3eb4e23b9d6ae13a383e440386572de Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Fixed alignment issuesMatthew Barth2017-05-311-61/+65
| | | | | | | Fixed resulting pep8 alignment issues in the generated template Change-Id: I26d316a86c40896cda729683b26ccf06a3f89d5f Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Generate list of property change signalsMatthew Barth2017-05-311-0/+31
| | | | | | | | Add the list of property(s) associated to a set speed event where the handler updates the property cached on the zone for the action Change-Id: Ifac61dda6eb200ca28735ddfaab3d34c9a9df758 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Generate set speed event actionsMatthew Barth2017-05-311-0/+38
| | | | | | | | Adds the set speed event action functions with the associated parameters in the order required for the function Change-Id: Ib08f2442d8ff1fb3d49ab5234eacc2db8304a20d Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Parse set speed event groupsMatthew Barth2017-05-311-2/+56
| | | | | | | | Adds the groups for a set speed event for each zone listed within the event. The groups are for maintaining a cached property value. Change-Id: I2de9cf62215f9861e8ea2e6807df11e6a04638fb Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Example set speed event yamlMatthew Barth2017-05-311-0/+67
| | | | | | | | | An example yaml file to define set speed events based on groups of dbus object properties and a set of actions that can be performed based on those property values Change-Id: I2f713920f9ce25859855cfec783df0adb505f31d Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Add setting zone speed actionMatthew Barth2017-05-315-21/+118
| | | | | | | | Enable an action to be defined that sets the zone to a given speed when a number of properties are set to a given value Change-Id: I5252a20a24bdb14dee63080f2c08b080c82ad7e8 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Add property changed signal handlerMatthew Barth2017-05-315-1/+247
| | | | | | | | Enable the control application to handle property changed signals to set or update a cached set of these properties Change-Id: Ib84ffe1e801ee7dd85d17fdbb122d124d307dbd3 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
* Have cooling-type use the common argument.hppMatt Spinler2017-05-241-0/+1
| | | | | | | | | | | | The cooling-type application should use the common header file for the ArgumentParser class now that one is available. Also fixed where a static ArgumentParser constant was being initialized. Change-Id: I1fb0dfe3bd0c6e0200ad7c718ef2a3def5476f3f Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Change example/zones.yaml to full_speedGunnar Mills2017-05-241-3/+3
| | | | | | | initial_speed should be full_speed in example/zones.yaml Change-Id: I64b4803a26006cf78f6d29859bb8dd43a5cf63b3 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Add modes to phosphor-fan-controlMatt Spinler2017-05-166-30/+157
| | | | | | | | | | | | | | | phosphor-fan-control can behave differently based on its command line arguments --init: Set fans to full speed, delay for a configurable amount of time to allow fans to ramp up, start the fan control ready target, and then exit. --control: Start the control algorithm. Never exits. Will be started as part of the fan control ready target. Change-Id: I453daf8cc05a5c85a19c098e1cca64cac2ad9520 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* ArgumentParser for fan controlMatt Spinler2017-05-161-0/+90
| | | | | | | | | | | | Parses arguments for phosphor-fan-control. The header file is in the base directory of the repository and can be common to all fan applications. The cpp file needs to be in the subdirectory of the application that uses it, in this case control. Change-Id: I93dba60daf8f78667df970ab47ec018d90a8c14f Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Enable data generationMatt Spinler2017-05-044-26/+85
| | | | | | | | | | | | Start running the python script that generates the fan zone data structures during the build. If the paths to the 2 yaml files aren't provided during configure, then the yaml in the example directory will be used instead. Change-Id: I9f67c1b94b5302c30ac87b0f80746854c42776b2 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Generate structures from YAMLMatt Spinler2017-04-271-23/+103
| | | | | | | | | Using data from the zone and fan definition yaml files, generate a .cpp file with data structures that define the fan zones and the fans in those zones for a system. Change-Id: I5679ee692856e01138750f41bc23eb0cbb7f9464 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Python script frameworkMatt Spinler2017-04-271-0/+78
| | | | | | | | | The basics of a python script that will generate the fan zone data structures for the fan control code from zone and fan yaml files using a mako template. Change-Id: I1d92dc55c2b6dd986e5aaae0d3440ef85cbe79c0 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Fill in Manager classMatt Spinler2017-04-272-1/+44
| | | | | | | | Create Zone objects for the fan zones defined in the definition data that meet all conditions. Change-Id: I9c29be93716cd137f1c714355a0bd2a1c93271cd Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Create Zone classMatt Spinler2017-04-273-1/+137
| | | | | | | | This class represents a fan zone, which is a collection of fans that are always set to a speed together. Change-Id: I5646f07b7b136aad216dabded3b5da3e9da0a531 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Create Fan classMatt Spinler2017-04-273-0/+171
| | | | | | | | | | | This class contains the inventory name of the fan, and the sensor names representing the rotors. Calling setSpeed on this object will set the speed on all contained sensors. Change-Id: I850e2d69067813005270105618fcf69b04382b03 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Add Manager class and fan dataMatt Spinler2017-04-265-1/+120
| | | | | | | | | | | Create the fan manager class. Check in the fan zone data as a normal file. In a future commit this will be generated during the compile. It is required now for review and so everything compiles. Change-Id: I5733b81db80c5e072abdbffd42e335fa46c61ef8 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Fan control: Add types for use with generated dataMatt Spinler2017-04-261-0/+34
| | | | | Change-Id: I9cb2037dc459516f577fc2bff91cccafea539eff Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* control: build: Use LDADD instead of LDFLAGSBrad Bishop2017-04-251-2/+7
| | | | | | | | LDFLAGS is for linker flags other than -lfoo: https://www.gnu.org/software/automake/manual/html_node/Linking.html Change-Id: I813e093ff8c7b824178d7170ca7c71982e49a53b Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* build: Move presence to a subdirectoryBrad Bishop2017-04-241-1/+1
| | | | | Change-Id: I33b28922107b9b041de3699e4a6eebd3d05ebdef Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* Fan control: Add phosphor-fan-control frameworkMatt Spinler2017-04-122-0/+40
Change-Id: Ie1dc082490997712b4fe3f42d0ddb5049ae5ca06 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
OpenPOWER on IntegriCloud