swap libconfig++ for json in configuration parsing
Parse the configuration file as json and not libconfig++.
Change-Id: Ic3e71cc810195387617b545566cf757c61c71942
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/examples/fan-info.json b/examples/fan-info.json
new file mode 100644
index 0000000..45afe3f
--- /dev/null
+++ b/examples/fan-info.json
@@ -0,0 +1,166 @@
+{
+ "sensors" : [
+ {
+ "name": "fan1",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm1",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "fan2",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan2",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm2",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "fan3",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan3",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm3",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "fan4",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan4",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm4",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "fan5",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan5"
+ },
+ {
+ "name": "fan6",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan6"
+ },
+ {
+ "name": "fan7",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan7"
+ },
+ {
+ "name": "fan8",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan8"
+ },
+ {
+ "name": "fleeting0",
+ "type": "margin",
+ "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting0",
+ "timeout": 4
+ }
+ ],
+ "zones" : [
+ {
+ "id": 1,
+ "minThermalRpm": 3000.0,
+ "failsafePercent": 75.0,
+ "pids": [
+ {
+ "name": "fan1-5",
+ "type": "fan",
+ "inputs": ["fan1", "fan5"],
+ "setpoint": 90.0,
+ "pid": {
+ "sampleperiod": 0.1,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.010,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 30.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "fan2-6",
+ "type": "fan",
+ "inputs": ["fan2", "fan6"],
+ "setpoint": 90.0,
+ "pid": {
+ "sampleperiod": 0.1,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.010,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 30.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "fan3-7",
+ "type": "fan",
+ "inputs": ["fan3", "fan7"],
+ "setpoint": 90.0,
+ "pid": {
+ "sampleperiod": 0.1,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.010,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 30.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "fan4-8",
+ "type": "fan",
+ "inputs": ["fan4", "fan8"],
+ "setpoint": 90.0,
+ "pid": {
+ "sampleperiod": 0.1,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.010,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 30.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "fleetingpid0",
+ "type": "margin",
+ "inputs": ["fleeting0"],
+ "setpoint": 10,
+ "pid": {
+ "sampleperiod": 1,
+ "proportionalCoeff": 750.0,
+ "integralCoeff": 16.0,
+ "feedFwdOffOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 3000,
+ "integralLimit_max": 10000,
+ "outLim_min": 3000,
+ "outLim_max": 10000,
+ "slewNeg": -100.0,
+ "slewPos": 0.0
+ }
+ }
+ ]
+ }
+ ]
+}