1# phosphor-fan-presence 2Phosphor fan provides a set of fan monitoring and control applications: 3 4## Fan Control 5 6Sets fan speeds based on configuration data. 7 8## Fan Presence Detection 9 10Monitors for fan presence using either GPIOs or nonzero tach readings or both. 11 12## Fan Monitor 13 14Compares actual fan speeds against expected ones and takes actions. 15Additional documentation is [here](monitor/README.md). 16 17## Cooling Type 18 19Sets the cooling type property in the inventory based on a GPIO. 20 21This is not built by default, use --enable-cooling type to enable. 22 23## Sensor Monitor 24 25Takes actions based on sensor thresholds and the like. 26Additional documentation is [here](sensor-monitor/README.md). 27 28This is not built by default, use --enable-sensor-monitor to enable. 29 30## To Build 31By default, YAML configuration file(s) are used at build time for each fan 32application. The location of the YAML configuration file(s) are provided at 33configure time to each application. 34 35To build this package using YAML, do the following steps: 36``` 37 1. ./bootstrap.sh 38 2. ./configure ${CONFIGURE_FLAGS} 39 3. make 40``` 41 42To enable the use of JSON configuration file(s) at runtime, provide the 43`--enable-json` flag at configure time. 44``` 45 1. ./bootstrap.sh 46 2. ./configure ${CONFIGURE_FLAGS} --enable-json 47 3. make 48``` 49*Note: The following fan applications support the use of a JSON configuration 50file.* 51* Fan presence detection(presence) 52 * The error logging feature is only available via the JSON configuration. 53* [Fan monitoring(monitor)](monitor/README.md) 54 * [JSON Documentation](monitor/json) 55* Fan control(control) - limited functionality 56 * Currently only supports setting fans to the configured `full_speed` 57 (If you require more than just setting fans to the configured 58 `full_speed`, it is recommended to continue using YAML based 59 configurations until the final work can be completed to enable 60 full fan control JSON support.) 61 62To clean the repository run `./bootstrap.sh clean`. 63