===============================================================================================
                                            !CPUTmpMon
                                           Version 3.00
===============================================================================================


WARNING: THIS PROGRAM IS DESIGNED TO RUN ON RISC OS SYSTEMS THAT USE RO V5.23 (OR NEWER) WITH
INTEGRATED TEMPERATUR SENSING.


DISCLAIMER: THIS PROGRAM PERFORMS DIRECT HARDWARE ACCESS AND COULD POTENTIALLY CAUSE ERRATIC
BEHAVIOUR IN YOUR MACHINE. EVERY EFFORT HAS BEEN MADE TO ENSURE THERE ARE NO BUGS, BUT PLEASE
DO NOT USE THIS PROGRAM AT THE SAME TIME AS MANIPULATING SENSITIVE OR VALUABLE DATA. THE AUTHOR
CAN TAKE NO RESPONSIBILITY FOR DAMAGE TO HARDWARE OR DATA THROUGH THE USE OF THIS SOFTWARE.


===== Description =====

!CPUTmpMon ("CPU Temperature Monitor") is a small utility program that sits on the iconbar and
gives a "continuous" display of the CPU's silicon temperature, as reported by the device. In fact,
the display isn't truly continuous; it's updated at regular intervals that can be set to any
desired value with a one second granularity.

The measured temperature can also be logged to a file (at an optionally different rate) using
the !SysLog application (http://compton.nu/riscos/syslog/).


===== Usage =====

Double-click on the !CPUTmpMon icon in a filer window to run it. The CPU temperature should then
appear in a box on the right-hand side of the iconbar. It will stay there and update itself as
long as the program is running.

There is no iconbar menu yet! The program has to be quit via the Task Manager.

The update frequency of the display can be altered by changing the value of _Display_Interval%
in the !RunImage file.

==== Logging ====

Logging is off by default. It can be turned on by setting _Logging% to TRUE in the !RunImage
file. Please ensure !SysLog is running _before_ running !CPUTmpMon, otherwise logging will
be silently disabled.

The update frequency of the display can be altered by changing the value of _Log_Interval%
in the !RunImage file.


===== Caveats =====

The temperature reported by the device is only accurate to within a range. The displayed
temperature is actually the mid-point between the lower and upper bounds of that range.
Because the temperature is quantised by the A-to-D converter on the chip, the temperature
will appear to jump from one value to the next.
It depends on the base hardware: OMAP353x, AM/DM37x and OMAP4430 use very coarse granularity
for representing temperature values out of 7 bit A-to-D converter values. AM/DM37x and OMAP4430
are using an 8 bit converter, but values 128 up to 255 are currently not used.
OMAP4460 and OMAP543x are using 10 bit ADC resolution with much finer granularity regarding
the temperature intervals (0.4 or 0.6 degree per ADC value).


===== Future Improvements =====

A user interface! A basic iconbar menu allowing logging to be turned on and off, and the update
intervals for display and logging to be set.


===== Bugs =====

Please report any bugs to cputmpmon@willowroom.co.uk


===== Acknowledgements =====

Thanks go to WPB who designed this application for OMAP3 devices.


===== Change Log =====

Version 3.00 (03.01.2016)   Use integrated temperature sensor through Portable module

Version 2.00 (02.10.2010)   Added support for AM/DM37xx SoCs, and potential to support other
hardware in the future. Fixed bug where app. didn't quit on CTRL-SHIFT-F12.

Version 1.00 (20.04.2010)   Initial release.
