Timpart,
The formula that I used, was found on the Analog Devices WIKI (
http://wiki.analog.com), which I stumbled upon, once I discovered that the temperature sensor was using IIO to output the readings to sysfs.
This is where I discovered the following information:
--------------------------------------------------------------------------
in_temp0_offset = offset for temperature sensor channel
in_temp0_raw = raw temperature channel value
in_temp0_scale = scale for the temperature sensor channel
A channel value can be read from its _raw attribute. The value returned by the _raw attribute is the raw value as reported by the device. To get the processed value of the channel in a standardized unit add the channels _offset attribute to the _raw value and multiply the result by _scale attribute. If no _offset attribute is present assume 0 for the offset.
processed value = (raw + offset) * scale
The units by the IIO framework are:
Acceleration: Meter per Second squared
Angular velocity: Rad per second
Pressure: kilo Pascal
Voltage: milli Volts
Temperature: milli-degree Celsius
--------------------------------------------------------------------------
So, using this formula (divided by 1000 to get Celsius), it appears that it is less than 0.2 C off from the formula that you provided in the document, listed below.
http://www.xilinx.com/support/documenta ... s_XADC.pdfRegardless of which formula is used, it appears that the default SD image does provide the ability to monitor the temperature of the Zynq chip, from within Linux.