Sensor readings as 1-byte
guhan balasubramanian
guhan.sac at gmail.com
Sat Mar 10 13:31:06 AEDT 2018
Hi,
According to the IPMI spec, we represent all sensor readings (Volt, Temp,
Amp, etc.) as 1-byte.
Since we represent them as 1-byte, we use a linearization formula to
convert to actual value as follows:
y = (M*x + B*10^(k1))*10^(k2)
where x is the 1-byte value that is filled in the get sensor reading
command.
We see in the ipmitool example on how an example of 3.36 V is represented
as 1-byte.
https://computercheese.blogspot.com/2013/10/ipmi-sensor-reading-conversion-formula.html?q=sensor
Can any one please help on how the values for M, B, k1 and k2 are populated
for each sensor?
In the openbmc repo, I believe these values are present in the config.yaml
of phosphor-ipmi-sensor-inventory (based on the following sample).
0xF1:
sensorType: 0x01
path: /xyz/openbmc_project/sensors/temperature/temp1
sensorReadingType: 0x01
*multiplierM*: 511
*offsetB*: 0
*bExp*: 0
mutability: Mutability::Write|Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: int64_t
Thanks,
Guhan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20180309/139299dd/attachment.html>
More information about the openbmc
mailing list