@database "AmigaTemp.guide"
@$VER:AmigaTemp V1.42 970222
@(C) "Copyright ⌐1997 Hans Forssell"
@AUTHOR "Hans Forssell"
@database AmigaTemp V1.42 Hans Forssell 1997
@node Main "AmigaTemp V1.42"
_____
/\ __ | __ _ \ / /| | |
/ \ /\/\ | / _ /\ | |__ /\/\ |_| \ / | |__|
/----\ / \ | \__/ /--\ | |__ / \ | \/ | . |2
@{" What is AmigaTemp? " link What}
@{" News " link News}
@{" Copyright " link Copyright}
@{" Installation " link Install}
@{" MUI " link MUI}
@{" AmigaTemp " link AmigaTemp}
@{" AmigaTemp Control " link AmigaTempControl}
@{" AmigaTemp Applications " link AmigaTempApplications}
@{" AmigaTemp ARexx " link AmigaTempARexx}
@{" Localisation " link Locale}
@{" Sensors " link Sensors}
@{" Bugs and Problems " link Bugs}
Written by Hans Forssell Email: tl94hfl@student.hgs.se
Stigsrundan 13
806 42 Gefle
Sweden
@endnode
@node What "What is AmigaTemp"
AmigaTemp is a program that makes it possible to connect all types
of sensors and display the result i an easy and good looking way
on your WB screen.
AmigaTemp1.4 is split in separate files. AmigaTemp is the main program which
handles the hardware and the applications, AT_Control_MUI handles the
calibration and the application programs displays the result.
Some futures:
MUI
Localisation
Temperature, Pressure, Humidity, Wind speed and direction messurement
Support for resistance (Current), duty-cycle and frequency sensors
Easy to use calibration program
Easy to write own display windows
ARexx interface
This documentation will not describe all futures of AmigaTemp, because
I hate to write docs and my english are not good. But don't be afraid
to send questions, suggestions and bug-reports to me! I will try to
answer all your mail (tl94hfl@student.hgs.se).
You can always download the latest version of AmigaTemp from my
HomePage: www.hgs.se/~tl94hfl/
@endnode
@node News "News"
Message to all V1.3 users:
The 'Tau' and 'Time' values in the Control program had
illegal default values. In version 1.4 the file format has changed
so your old settings will be lost, but not the calibration data.
The only thing you have to do is to 'Connect' the sensors, and
everyting will work as in V1.3.
The config files has moved from AmigaTemp: to AmigaTemp:Config/
Before you delete the V1.3 files, copy all #?.config files to
AmigaTemp:Config/
News in AmigaTemp V1.42:
Bug fix only.
Bugs removed in AmigaTemp V1.42:
AmigaTemp sometimes calculated illegal values when the
system had a FPU.
News in AmigaTemp V1.41:
Bug fix only.
Bugs removed in AmigaTemp V1.41:
NTC-resistors didn't work on all configurations.
News in AmigaTemp V1.4:
Config files moved to AmigaTemp:Config/
AmigaTemp:
Tendency algoritm rewritten
Filters for sensors improved
A bit faster than before
Control
'Settings MUI...' added in menu
'+' added to the name of the sensor if it is connected
Mini
Smallest possible window with current MUI (For people without Gfx-card)
Compact/Gross/Analog/Mini
Space removed between temperature and unit
'Settings MUI...' added in menu
Analog
Horizontal and vertical 'thermometers'
Bugs removed in AmigaTemp V1.4:
AmigaTemp:
AmigaTemp sometimes crached when quit
Joystickport allocation problems removed
Error message when no sensors connected removed
Control
Memory leak removed
When 'Task Pri' value was changed,the 'Save config' value was also changed
Compact/Gross/Analog/Mini
Memory leak removed
Analog
Context menus stopped working with MUI 3.6
@endnode
@node Copyright "Copyright"
AmigaTemp1.4 is written by Hans Forssell 1996
I take no responsibility if you damage your computer hard and/or
software when you use this program.
AmigaTemp 1.4 is FreeWare.
@endnode
@node Install "Installation"
Unpack AmigaTemp.lha somewhere on your HD. Add an Assign AmigaTemp:
<path to your AmigaTemp Drawer> in your User-Startup.
AmigaTemp1.4 requires WB2.0 and MUI 3.1.
AmigaTemp1.4 supports localisation. If you don't want to use English
you should copy AmigaTemp: Catalogs/<Your languge>/#?.catalog to
Locale:Catalogs/<Your language>/
If you want AmigaTemp to start automaticaly you should copy AmigaTemp
and the applications (AT_Compact_MUI, AT_Gross_MUI, AT_Analog_MUI and AT_ARexx)
you need to the WBStartup drawer. The STARTPRI for AmigaTemp should be higher
than the STARTPRI for the applications to speedup the start.
If you copy the icons the executible will be left in the AmigaTemp drawer.
Restart your computer!
@endnode
@node MUI "MUI"
AmigaTemp require MUI 3.1 or better.
This application uses
MUI - MagicUserInterface
(c) Copyright 1993-96 by Stefan Stuntz
MUI is a system to generate and maintain graphical user interfaces. With
the aid of a preferences program, the user of an application has the
ability to customize the outfit according to his personal taste.
MUI is distributed as shareware. To obtain a complete package containing
lots of examples and more information about registration please look for
a file called "muiXXusr.lha" (XX means the latest version number) on
your local bulletin boards or on public domain disks.
If you want to register directly, feel free to send
DM 30.- or US$ 20.-
to
Stefan Stuntz
Eduard-Spranger-Stra▀e 7
80935 Mⁿnchen
GERMANY
Support and online registration is available at
http://www.sasg.com/
If you for some reason not have installed MUI yet - do it now!!!
Thanks to Stefan Stuntz for a Magical User Interface.
@endnode
@node AmigaTemp "AmigaTemp"
AmigaTemp is the main program and must be started first. Set the STARTPRI
to 1 if you start AmigaTemp from the WBStartup drawer.
You can quit AmigaTemp and all applications with the Quit program or
with the ARexx command 'TotalQuit'.
@endnode
@node AmigaTempControl "AmigaTempControl"
AT_Control_MUI is used to calibrate the sensors and to change the
behaviour of AmigaTemp. AT_Control_MUI has a lot of options, but
many of them are rarely used.
The word temperature can be exchanged for pressure, humidity, ...
in the following text.
With the upper left cycle gadget you select which sensor to calibrate.
Each name (which can be changed) is followed by a port name and a
pin number.
Joy = Joystick port Par = Parallel port
A = Analog input (NTC) D = Digital input (SMT)
0-9 = Port pin number
With the upper right cycle gadget you select the sensor type and base.
Name: Name of the sensor.
Connected: Set to 'Yes' only if a sensor is connected and used, or
you will loose CPU time.
Samples: A high value gives high accuracy, but uses more CPU time.
If the value is set to 1000 it will take 0.1sec to read
the result on a 68030 28MHz Amiga. If you have a slower
processor you may need to decrease this value. For time
information use 'Open/Close sensor info' in the Project
menu.
Tau: This value controls the 'slownes' of the sensor. A low
value gives a fast sensor, while a high value gives a slow
sensor but with better accuracy.
Type: The type of the output from the connected sensor.
The two analog inputs only supports 'Resistance', and the
digital inputs supports 'Duty-Cycle' and 'Frequency'.
Min frek: For 'Resistance' sensors this value should be set to
150Hz for 50Hz Amigas and 180Hz for 60Hz Amigas.
For 'Frequency' sensors this value determines the lowest
frequency that can be detected. Low frequencys uses a
lot of CPU time.
Time: The average value used to set the tendency is calculated
during 'Time' seconds. If this value is set to
60*60*24 = 86400sec the tendency will be set to '+' if
the temperature is 'Threshold' degrees higher than the average
temperature for the last 24 hours.
Threshold: The actual temperature must exceed/fall below the average
temperature more than 'Threshold' degrees to set the
tendency to +/-.
Calibration:
To calibrate a sensor the computer must know the true temperature
and the sensor output value at two or more different temperatures.
To do this press the Add gadget and enter the true temperature and
press return. The computer will automatically add the sensor input
value. You can edit the values later.
Syntax: <Base> <True Temperature> <Sensor Input>
Example: ░C 23.18 0.043221
░C The temperature is in Celsius. (░ = Alt + W)
23.18 Actual temperature
0.043221 Sensor output
Separate the values with spaces.
The Equ cycle gadget selects the type and degree of the
<Input Value> -> <Temperature> transform.
1-Deg Exp: NTC-sensors >= 2 values
2-Deg Exp: NTC-sensors >= 3 values
3-Deg Exp: NTC-sensors >= 4 values
1-Deg Lin: Linear (SMT) sensors >= 2 values
2-Deg Lin: Linear (SMT) sensors >= 3 values
3-Deg Lin: Linear (SMT) sensors >= 4 values
4-Deg Lin: Linear (SMT) sensors >= 5 values
5-Deg Lin: Linear (SMT) sensors >= 6 values
6-Deg Lin: All sensors >= 7 values
7-Deg Lin: All sensors >= 8 values
Press Calc to calculate the Max error and Avg error.
A simple rule is to use the lowest degree which gives acceptable
Max error/Avg error values.
Read @{" Sensors " link Sensors} for more info!
Save and Quit: Saves the config and quits AT_Control_MUI.
Save and Restart: Saves the config and restarts AT_Control_MUI.
Quit: Quit AT_Control_MUI.
Project menu:
Open/Close sensor info:
Open/close an information window for sensors.
The output is only useful for finding errors
in connected senors and to set the 'Samples' value.
AmigaTemp settings:
Alloc Joy: If Yes the joystickport will be allocated until AmigaTemp
quits. If No the joystick port will only be allocated
when AmigaTemp is reading a sensor.
Alloc Par: Same as Alloc Joy, but for the parallel port.
AmigaTemp1.4 only supports the internal parallelport
for the moment.
Min update: The maximum time in seconds between updates of
the sensors. If no application requests the temperature
of a sensor within 'Min update' seconds the sensor will
be updated automatically.
Max update: The minimum time in seconds between updates of the sensors.
You may need to change this value to ~2 seconds to make
the calibration faster.
Save config: Number of seconds between autosave. 0 disables autosave.
Stabilisation value:
Number of times a sensor must be read before you can
trust the result (The tendency will be set to '?').
Task priority: Task Priority for the task that reads the sensors.
Forbid/Permit: If On the multitasking will be disabled for a short time
when the frequency is messured. This option does not affect
resistance or duty-cycle messurements.
Debug Mode: If On AmigaTemp will report all errors. Defalut is On.
Import AmigaTemp1.2 settings:
Tries to open 'S:AmigaTemp.config' and import
calibration data for the current sensor.
@endnode
@node AmigaTempApplications "AmigaTempApplications"
There are currently four types of applications for AmigaTemp. Hopefully
there will be more in the future.
What does the ? and ! mean?
? You can't trust the temperature, because the filters in
AmigaTemp has not stablized.
! AmigaTemp can't read the sensor. The reason is that AmigaTemp
couldn't allocate the port, or due to heave CPU-load.
To start the application simply double click on it's icon. You can run
the same program more than once to get many windows at the same time.
@{" AT_Compact_MUI " link AT_Compact_MUI}
@{" AT_Gross_MUI " link AT_Gross_MUI}
@{" AT_Analog_MUI " link AT_Analog_MUI}
@{" AT_Mini_MUI " link AT_Mini_MUI}
@endnode
@node AT_Compact_MUI "AT_Compact_MUI"
Displays the temperature, name of the sensor and the tendency.
The Project menu:
Sensors: Select which sensors to display.
Update: Delay time between updates of the display.
Num decimals: Number of decimals.
Columns: If you have more than one sensor you can decide
if you want to view them horizontal or vertical.
Kill: Quit AT_Compact_MUI and delete the config file.
@endnode
@node AT_Gross_MUI "AT_Gross_MUI"
Displays the temperature, name of the sensor and the tendency.
It also displays the max/min temperature and date. 'Reset' resets the
max/min temperatures and dates.
The Project menu:
Sensors: Select which sensors to display.
Update: Delay time between updates of the display.
Num decimals: Number of decimals.
Columns: If you have more than one sensor you can decide
if you want to view them horizontal or vertical.
Kill: Quit AT_Gross_MUI and delete the config file.
@endnode
@node AT_Analog_MUI "AT_Analog_MUI"
Displays the temperature and the name of the sensor.
The Project menu:
Sensors: Select which sensors to display.
Direction: Select vertical or horizontal sensors.
You may need to change the number of columns
to get a nice display.
Update: Delay time between updates of the display.
Columns: If you have more than one sensor you can decide
if you want to view them horizontal or vertical.
Kill: Quit AT_Gross_MUI and delete the config file.
Context menu:
If the right mousebutton is pressed over one of the 'thermometers', a
new menu appears. Select 'Settings...'.
Min value: The lowest temperature that the thermometer can show.
Max value: The highest temperature that the thermometer can show.
@endnode
@node AT_Mini_MUI "AT_Mini_MUI"
Displays the temperature and the name of the sensor.
The Project menu:
Sensors: Select which sensors to display.
Update: Delay time between updates of the display.
Num decimals: Number of decimals.
Columns: If you have more than one sensor you can decide
if you want to view them horizontal or vertical.
Kill: Quit AT_Compact_MUI and delete the config file.
@endnode
@node AmigaTempARexx "AmigaTempArexx"
AT_ARexx adds ARexx support to AmigaTemp. For information about
avalible ARexx commands use the ARexx_Scr/Help.rexx script and
read the @{"ram:AmigaTempARexx.help" link AmigaTempARexxHelp} file. See also the other scripts
in the AmigaTemp:ARexx_Scr drawer.
Thanks to Radical Eye for MinRexx.
@endnode
@node AmigaTempARexxHelp "AmigaTempARexx.help"
AmigaTemp Arexx commands:
Return: rc != 0 if error, result = result of last command if rc == 0
Name
Returns the name for requested sensor.
Args:
<sensor number>
<sensor name>
Value
Temp
Returns the temperature/pressure/... for requested sensor.
Args:
<sensor number>
<sensor name>
<number/name> <num decimals>
Max
Min
Returns the max/min temperature/pressure/... for requested sensor.
Args:
<sensor number>
<sensor name>
<number/name> <num decimals>
DateMax
DateMin
Returns the date for the max/min temperature/pressure/... for requested sensor.
Args:
<sensor number>
<sensor name>
Type
Returns the type for requested sensor (░C/░F/...)
Args:
<sensor number>
<sensor name>
Tendency
Returns the tendency for requested sensor (+/-/?/!/ )
Args:
<sensor number>
<sensor name>
Reset
Resets the max/min values for requested sensor
Args:
<sensor number>
<sensor name>
NumSensor
Returns the number of sensors
Args:
<none> Total number of sensors
CONNECTED Number of connected sensors
NumDecimal
Returns/sets the number of decimals
Args:
<none> Returns the number of decimals
<num decimals> Sets the number of decimals
Lock
Make sure that the Arexx port doesn't disapear and that the config doesn't change
Args:
<none>
UnLock
Release the lock. You must do one UnLock for every Lock
Args:
<none>
TotUnLock
Release all locks.
Args:
<none>
Cache
Set/get the maximum number of seconds between cache flushes
Args:
<none> Returns current setting of cache in seconds
<delay> Set the cache delay in seconds
Translate
Translates a returncode (rc) to text error message (in result)
Args:
<error number>
Quit
Quit AmigaTemp Arexx and release all Locks
Args:
<none>
TotalQuit
Quit AmigaTemp Arexx and AmigaTemp
Args:
<none>
Help
Send this help text to a file
Args:
<filename>
Version
Returns the version of AmigaTemp Arexx
Args:
<none>
Return codes:
0 Ok
1 Requested sensor is not connected
2 Unknown command
3 Out of memory
4 AmigaTemp message port not found
5 Syntax error
6 Requested sensor is not known
7 To many UnLock
8 File error
End of file
@endnode
@node Locale "Localisation"
AmigaTemp1.4 supports localisation. If you want to translate AmigaTemp
to a new language, please write a mail to me and I will send you
the required files.
@endnode
@node Sensors "Sensors"
Temperature
@{" NTC " link NTC}
@{" SMT " link SMT}
@endnode
@node NTC "NTC"
@{" Info " link NTC_Info}
@{" Calibrate " link NTC_Calibrate}
@{" Connection " link NTC_Connection}
@endnode
@node NTC_Info "NTC Info"
NTC-resistors are cheep and can be found in every electronic store.
NTC-resistors have a very temperature dependent resistance.
NTC = Negative Temperature Coefficient = lower resistance at higher
temperatures.
NTC-resistors consists of chrome, manganese, iron, cobalt and nickel.
R = A * e^(B / T) there
R = Resistance in ohm
T = Temperature in Kelvin = Degree Celsius + 273.15
A = Material constant
B = Material constant
R25 = Resistance at 25 degree Centigrade.
@{" Data for R25 = 10k " link Data10000}
@{" Data for R25 = 100k " link Data100000}
@{" Data for R25 = 220k " link Data220000}
@{" Data for R25 = 330k " link Data330000}
@endnode
@node NTC_Calibrate "NTC Calibrate"
There are no default calibration data for NTC-resistors.
The 'Equ' should be set to '1-deg Exp' or '2-deg Exp'.
@endnode
@node NTC_Connection "NTC Connection
Joystick port:
Connect the NTC-resistors between +5V (Pin 7) and PotX (Pin 5) or
PotY (Pin 9).
Ex:
PotX (5)--------- wire ------
|
| | NTC #1
Joystick |
port #2 ---- wire ------
+5V (7)-----I
---- wire ------
|
| | NTC #2
|
PotY (9)--------- wire ------
@endnode
@node Data10000 "Data for NTC R25 = 10k"
Resistance : 10000ohm
A : 0.016105
B : 3977.000000
Min : -87.86
Max error (ADC):
Temp : -50 +/- 0.0222
Temp : -40 +/- 0.0520
Temp : -30 +/- 0.1134
Temp : -20 +/- 0.2332
Temp : -10 +/- 0.4717
Temp : 0 +/- 0.8976
Temp : 10 +/- 1.5530
Temp : 20 +/- 3.1753
Temp : 30 +/- 4.7163
Temp : 40 +/- 8.7898
Temp : 50 +/- 8.7898
@endnode
@node Data100000 "Data for NTC R25 = 100k"
Resistance : 100000ohm
A : 0.078834
B : 4190.000000
Min : -62.33
Max error (ADC):
Temp : -50 +/- 0.0017
Temp : -40 +/- 0.0041
Temp : -30 +/- 0.0092
Temp : -20 +/- 0.0197
Temp : -10 +/- 0.0400
Temp : 0 +/- 0.0771
Temp : 10 +/- 0.1416
Temp : 20 +/- 0.2532
Temp : 30 +/- 0.4295
Temp : 40 +/- 0.7078
Temp : 50 +/- 1.1920
@endnode
@node Data220000 "Data for NTC R25 = 220k"
Resistance : 220000ohm
A : 0.094830
B : 4370.000000
Min : -51.22
Max error (ADC):
Temp : -50 +/- 0.0006
Temp : -40 +/- 0.0015
Temp : -30 +/- 0.0035
Temp : -20 +/- 0.0077
Temp : -10 +/- 0.0161
Temp : 0 +/- 0.0319
Temp : 10 +/- 0.0601
Temp : 20 +/- 0.1099
Temp : 30 +/- 0.1892
Temp : 40 +/- 0.3255
Temp : 50 +/- 0.5313
@endnode
@node Data330000 "Data for NTC R25 = 330k"
Resistance : 330000ohm
A : 0.072729
B : 4570.000000
Min : -44.14
Max error (ADC):
Temp : -50 Not available ( Resistance too high )
Temp : -40 +/- 0.0008
Temp : -30 +/- 0.0019
Temp : -20 +/- 0.0044
Temp : -10 +/- 0.0094
Temp : 0 +/- 0.0191
Temp : 10 +/- 0.0371
Temp : 20 +/- 0.0689
Temp : 30 +/- 0.1234
Temp : 40 +/- 0.2124
Temp : 50 +/- 0.3510
@endnode
@node SMT "SMT"
@{" Info " link SMT_Info}
@{" Calibrate " link SMT_Calibrate}
@{" Connection " link SMT_Connection}
@endnode
@node SMT_Info "SMT Info"
SMT-sensors are hard to find outside Sweden and are much more
expensive than the NTC-resistors.
SMT160-30
The SMT-sensor sends the temperature in digital form to the computer
(Duty-cycle modulated). This eliminates the problems with calibration.
There are three different versions of the SMT-sensor. TO92 is the cheapest.
Data for SMT160-30 (TO92):
Total accuracy : +/- 1.2 degree Celsius (-30 - +100 degree Celsius)
Non-linearity : 0.2 degree Celsius
Temperature range : -45 - +130 degree Celsius
Supply voltage : 5V
Supply current : <200uA
Frequency : 1-4kHz
Impedance : 200Ohm
For more info contact:
SMARTEC B.V.
Delpratsingel 24
4811 AP BREDA
P.O. Box 7108
4800 GC BREDA
THE NETHERLANDS
Tel: **3176 205353
Fax: **3176 205354
@endnode
@node SMT_Calibrate "SMT Calibrate"
Default data for the SMT-sensor (1-deg Lin):
Base Output Input
░C 0.000 0.3199994
░C 100.000 0.7899993
The 'Equ' should be set to '1-deg Lin' or '2-deg Lin'.
@endnode
@node SMT_Connection "SMT Connection"
The 120Ohm resistor and the 10nF capacitor are not neccesary.
Joystick port:
Connect the SMT-sensors to +5V (Pin 7), Gnd (Pin 8) and
pin 1, 2, 3, 4 or 6.
Ex:
___________
| |
Gnd (8)--------- wire -------I----| Gnd |
120 Ohm 20nF --- | |
Joystick __ --- | SMT |
port #2 +5V (7)--|__|--- wire -------I----| +5V 160 |
| |
| |
Ex Forward (1)--------- wire ------------| Output |
|___________|
Parallel port:
Connect the SMT-sensors to +5V (Pin 14), Gnd (Pin 17) and
pin 2, 3, 4, 5, 6, 7, 8 or 9.
___________
| |
Gnd (17)--------- wire -------I----| Gnd |
120 Ohm 20nF --- | |
Joystick __ --- | SMT |
port #2 +5V (14)--|__|--- wire -------I----| +5V 160 |
| |
| |
D0 (2)--------- wire ------------| Output |
|___________|
TO-92 TO-220
(Front view) (Front view)
_________
| o |
_________ |_________|
/_________\ | |
| | | |
| SMT 160 | | SMT 160 | 1 Output
| | | | 2 +5V
|_________| |_________| 3 Gnd
| | | | | |
| | | | | |
| | | | | |
1 2 3 1 3 2
@endnode
@node Bugs "Bugs"
I can't find any!? Can you???
@endnode