From 45387d650cd3ffa3ff8cd75e8478d1936fcd9ca4 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Thu, 10 Nov 2016 21:58:58 -0600 Subject: Add initial sensor interfaces xyz.openbmc_project.Sensor.Value xyz.openbmc_project.Sensor.Threshold.Warning xyz.openbmc_project.Sensor.Threshold.Critical Change-Id: Ib3e993d0b2e87387993d7b6c1c8b1a47e71b5af1 Signed-off-by: Brad Bishop --- .../Sensor/Threshold/Critical.interface.yaml | 31 +++++++++++++ .../Sensor/Threshold/Warning.interface.yaml | 31 +++++++++++++ xyz/openbmc_project/Sensor/Value.interface.yaml | 53 ++++++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml create mode 100644 xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml create mode 100644 xyz/openbmc_project/Sensor/Value.interface.yaml diff --git a/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml b/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml new file mode 100644 index 0000000..ad90e6f --- /dev/null +++ b/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml @@ -0,0 +1,31 @@ +description: > + Implement to provide critical class sensor thresholds. Objects implementing + Sensor.Threshold.Critical must be instantiated in the correct hierarchy within + the sensors namespace. The following sensor hierarchies are recognized: + temperature + fan_tach + voltage + altitude + + Additionally, any object implementing Sensor.Threshold.Critical must also + implement Sensor.Value. + +properties: + - name: CriticalHigh + type: int64 + description: > + The upper bound of the critical threshold. + - name: CriticalLow + type: int64 + description: > + The lower bound of the critical threshold. + - name: CriticalAlarm + type: boolean + description: > + True if the sensor value has exceeded the defined bounds. + False if the sensor value has not exceeded the defined bounds. + + CriticalAlarm may be set to False to clear an alarm condition. + The behavior of setting CriticalAlarm to True is undefined. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml b/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml new file mode 100644 index 0000000..84bf8fa --- /dev/null +++ b/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml @@ -0,0 +1,31 @@ +description: > + Implement to provide warning class sensor thresholds. Objects implementing + Sensor.Threshold.Warning must be instantiated in the correct hierarchy within + the sensors namespace. The following sensor hierarchies are recognized: + temperature + fan_tach + voltage + altitude + + Additionally, any object implementing Sensor.Threshold.Warning must also + implement Sensor.Value. + +properties: + - name: WarningHigh + type: int64 + description: > + The upper bound of the warning threshold. + - name: WarningLow + type: int64 + description: > + The lower bound of the warning threshold. + - name: WarningAlarm + type: boolean + description: > + True if the sensor value has exceeded the defined bounds. + False if the sensor value has not exceeded the defined bounds. + + WarningAlarm may be set to False to clear an alarm condition. + The behavior of setting WarningAlarm to True is undefined. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Sensor/Value.interface.yaml b/xyz/openbmc_project/Sensor/Value.interface.yaml new file mode 100644 index 0000000..f8c1585 --- /dev/null +++ b/xyz/openbmc_project/Sensor/Value.interface.yaml @@ -0,0 +1,53 @@ +description: > + Implement to provide sensor readings. Objects implementing + Sensor.Value must be instantiated in the correct + hierarchy within the sensors namespace. The following sensor + hierarchies are recognized: + temperature + fan_tach + voltage + altitude + + Any service implementing Sensor.Value on one or more objects must + implement org.freedesktop.DBus.ObjectManager on the sensors namespace root. + + All Sensor.Value properties are read-only. + +properties: + - name: Value + type: int64 + description: > + The sensor reading. + - name: Unit + type: enum[self.Unit] + description: > + The unit of the reading. + For objects in the temperature namespace, Unit must be "DegreesC". + For objects in the fan_tach namespace, Unit must be "RPMS". + For objects in the voltage namespace, Unit must be "Volts". + For objects in the altitude namespace, Unit must be "Meters". + - name: Scale + type: int64 + description: > + The reading scaling factor N, where the actual reading is Value * 10^N. + +enumerations: + - name: Unit + description: > + A sensor reading unit. + values: + - name: DegreesC + description: > + Temperature as degrees Celsius. + - name: RPMS + description: > + Frequency of rotation as revolutions per minute. + - name: Volts + description: > + Electomotive force as volts. + - name: Meters + description: > + Length as meters. + + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 -- cgit v1.2.1