
 TTTTTTTTT                       TTTTTTTTT
     T                               T                   t
     T   eeee    mmmm mmm    ppp     T   eeee    ssss    t
     T  e    e  m    m   m  p   p    T  e    e  s      ttttt
     T  eeeee   m    m   m  pppp     T  eeeee    ssss    t
     T   e      m    m   m  p        T   e           s   t
     T    eee   m    m   m  p        T    eee    ssss     tttt

                            Version 0.2
                    Erscheinungsdatum: 2.8.95




Autor:      Alto Speckhardt
            Hagentalerstr. 79
            89264 Weienhorn
            Fido-Netz: 2:2487/9521(.1603)
            Mailbox & Fax: (0 73 09) 72 70



1.1. Einfhrung:

     Schon lange interessierte ich mich fr die Erfassung und statistische
     Auswertung von klima- und umweltbezogenen Daten. So hatte ich mir einige
     Thermometer angeschafft, deren Werte ich tglich in Listen eintrug. Bald
     jedoch merkte ich, da dies auf Dauer undurchfhrbar war: Erstens verga
     ich laufend das Eintragen, und zweitens war mir das Abtippen der
     Erfassungsbgen bald zu dumm. Die Lsung: Eine Computeranpassung.

     Die erforderliche Hardware war berraschend schnell gefunden: Ein
     einfacher Sensor, der direkt an eine Schnittstelle des Rechners
     angeschlossen werden kann. Dazu kann auch die Joystick-Schnittstelle
     verwendet werden, die bei den meisten Rechnern sowiso unbenutzt bleiben
     drfte. Eine einzige Schnittstelle kann bis zu vier Sensoren auswerten.
     Und die besonders gute Nachricht: Dieser Sensor ist verhltnismig
     billig.

     Diese Sensoren wertet TempTest aus. Die Daten knnen laufend angezeigt
     oder in in einer Protokolldatei oder auf einem Drucker ausgegeben werden.
     Diese Ergebnisse knnen dann statistisch ausgewertet werden.



1.2. Erforderliche Hardware:

     Die Messung erfolgt ber einen Sensor mit der Kennung SMT 160-30. Dieser
     hat die Besonderheit, da er entgegen einem normalen NTC den Messwert
     nicht in analoger, sondern in digitaler Form liefert. Seine Genauigkeit
     ist <0.5C im Bereich zwischen -30 bis 100C, er bentigt eine
     Betriebsspannung zwischen 4,75 und 7 V Gleichstrom - Ideal fr den
     Anschlu am Gameport, der eine Spannung von 5 Volt bereitstellt.

     Der SMT 160-30 liefert sein Ergebnis in Form von High-/Low-Intervallen.
     Aus dem Verhltnis zwischen der Lnge der beiden Phasen lt sich, hufige
     Messung vorausgesetzt, der Temperaturwert sehr genau berechnen.

     Der Sensor besitzt drei Anschlsse: (Ansicht von unten)
                             ___
                           /     \/  <-------- Markierung
                          l 1   3 l
                           \ _2_ /

     Die Belegung ist folgende: 1 ...... Masse
                                2 ...... +5 Volt
                                3 ...... Ausgang



     Ein Stecker fr den Gameport: (Von der Anschluseite aus betrachtet)

                      _
                     l   \
                     l 1   \
                     l    9 l
                     l 2    l    Die Belegung:  1 ....... +5 Volt
                     l   10 l                   2 ....... Eingang Bit 4
                     l 3    l                   4 ....... Masse
                     l   11 l                   7 ....... Eingang Bit 5
                     l 4    l                  10 ....... Eingang Bit 6
                     l   12 l                  14 ....... Eingang Bit 7
                     l 5    l
                     l   13 l
                     l 6    l
                     l   14 l
                     l 7    l
                     l   15 l
                     l 8   /
                     l _ /

     Parallel zum Sensor wird zwischen Pin 1 und 4 (+5 V und Masse) ein
     Kondensator mit 10 nF geschaltet. Der Ausgang des Sensors kann an einen
     der vier Eingnge geschaltet werden; die weitere Auswertung erfolgt auf
     Softwareebene.



1.3. Werdegang:
    (Kleinere Bugfixes sind nicht extra aufgelistet)

    0.1                        - Interne Version
    0.2        21.07.95        - ffentliche Beta
    0.2        02.08.95        - Log-Compiler beigefgt



2.0. Konfiguration:

2.1. Die Umgebungsvariable TTPFAD:

     Eine Umgebungsvariable mu gesetzt sein, die auf das Verzeichnis der
     Konfigurationsdatei zeigt. Damit knnen zum Beispiel in einem Netzwerk
     verschiedene Konfigurationen benutzt werden.

     Syntax: SET TTPFAD=C:\TEMPTEST\
     (Hier wird angenommen, da die Konfigurationsdatei im Verzeichnis
     C:\TEMPTEST existiert.)



2.2. Die Konfigurationsdatei TEMPTEST.CFG:

     Folgende Einstellungen knnen definiert werden: (Gro- oder
     Kleinschreibung mglich, beidseitig neben dem Gleichheitszeichen "=" darf
     kein Leerzeichen stehen, die Anweisung mu in Spalte 1 beginnen und mit
     einem Semikolon ";" abgeschlossen werden.)

     - PAUSE=[000-999]; Zeiteinheit Millisekunden (ms), Standard: 500.
       Mit diesem Parameter kann eine Art "Finetuning" zwischen Bildschirm-
       flackern und Wiederholungsrate der Zeitanzeigen durchgefhrt werden. Ist
       der Wert zu klein, flackert der Cursor ber den Bildschirm. Ist er zu
       gro, so ergeben sich Unregelmigkeiten bei den Anzeigen.

       * Hinweis: Dieser Parameter ist nur bei manchen Monocrom-Systemen von
                  Bedeutung, siehe auch Parameter MONO_ANZ

     - F_VORDERGRUND=[0-16];
       Einstellung der Vordergrundfarbe

     - F_HINTERGRUND=[0-16];
       Einstellung der Hintergrundfarbe

     - F_RAHMEN=[0-16];
       Einstellung der Rahmenfarbe

     - MONO_ANZ=[EIN/AUS]; Standard: Aus.
       Eine Assembler-Routine schaltet den Cursor whrend der Programm-
       ausfhrung komplett ab. Damit sollten sowohl das Flackern des Cursors
       als auch die Unregelmigkeiten bei der Anzeige behoben sein. Leider
       funktioniert diese Routine nicht auf allen Monitoren bzw. Grafikkarten -
       Besonders Monocrom-Karten wie Herkules bereiten gelegentlich Probleme.
       In diesen Fllen kann der Parameter PAUSE (siehe auch dort) durch diesen
       Parameter aktiviert werden. Erfahrungsgem kann somit hufig auch auf
       solchen Systemen eine befriedigende Darstellung erreicht werden.

     - WARNUNG=[EIN/AUS]; Standard: Ein.
       Bekanntermaen schafft es eine gewisse Mchtegern-Benutzeroberflche,
       auch das stabilste und schnellste Programm auszubremsen und gelegentlich
       sogar zum Absturz zu bringen. Die Rede ist selbstverstndlich von
       Microsoft Windows (R). Aus diesem Grund bernehme ich keinerlei
       Verantwortung fr irgendwie geartetes Verhalten meines Programms, sobald
       es unter Windows gestartet wird. Obwohl ich keine auerplanmige
       Reaktionen beobachten konnte, traue ich Windows prinzipiell alles zu.

       Deshalb erscheint beim Start unter Windows eine Warnung, die auf diese
       Tatsache nochmals hinweist und einen Tip zur Beseitigung des Problems
       angibt. Falls TempTest trotzdem unter Windows betrieben werden soll (ich
       wiederhole: Es sind mir keinerlei evtl. schdlichen Nebenwirkungen
       bekannt), dann kann mit diesem Parameter die Warnung ausgeschaltet
       werden, TempTest verhlt sich dann genauso, als ob es unter DOS
       gestartet worden wre.

     - SENSOR_1=[Ein/Aus]; Standard: Aus.
       Aktiviert Sensor 1 (Bit 4)

     - SENSOR_2=[Ein/Aus]; Standard: Aus.
       Aktiviert Sensor 2 (Bit 5)

     - SENSOR_3=[Ein/Aus]; Standard: Aus.
       Aktiviert Sensor 3 (Bit 6)

     - SENSOR_4=[Ein/Aus]; Standard: Aus.
       Aktiviert Sensor 4 (Bit 7)

     - TEXT_1=[Text]; Standard: 'Sensor 1'.
       Dieser Text dient als Beschreibung des ersten Sensors

     - TEXT_2=[Text]; Standard: 'Sensor 2'.
       Dieser Text dient als Beschreibung des zweiten Sensors

     - TEXT_3=[Text]; Standard: 'Sensor 3'.
       Dieser Text dient als Beschreibung des dritten Sensors

     - TEXT_4=[Text]; Standard: 'Sensor 4'.
       Dieser Text dient als beschreibung des vierten Sensors

     - MESSZYKLEN=X; Standard: 100.
       Mit diesem Parameter lt sich die Abfragehufigkeit des Sensors
       festlegen. Die Einheit betrgt 1000, das heit, bei der Einstellung 100
       wird der Sensor 100 000 mal abgefragt, bevor ein Ergebnis berechnet
       wird. Je hher dieser Wert, desto genauer ist die Messung, desto lnger
       dauert sie aber auch.

     - TON=[Ein/Aus]; Standard: Ein.
       Wenn dieser Parameter aktiviert ist, wird nach jedem Messdurchgang ein
       "Ticken" ausgelst.



3. Tastenfunktionen:

   Wenige. Nur die folgenden:

        ESC..........Beenden des Programmes
        F1...........Anzeige von konfigurierten Optionen, Registrierungs-
                     angaben und dergleichen



4. Vollbild-/Kommandozeilenversion

   TEMPTEST.EXE beinhaltet das eigentliche Programm TempTest in der
   Vollbildversion. Leider hat diese Version einen Haken: Die eingesetzte
   Messroutine beeintrchtigt erheblich die Genauigkeit der Echtzeituhr des
   Rechners, diese geht bereits nach wenigen Minuten der Programmausfhrung um
   einiges nach. Da ich diesen Fehler bislang nicht lokalisieren konnte, sind
   mit der Vollbildversion keinerlei statistische Erfassungen mglich. Die
   Werte wren ohne Datum und Zeit sowiso wertlos, und genau diese steht
   TEMPTEST.EXE nicht zur Verfgung.

   Zur Abhilfe habe ich eine spezielle Kommandozeilenversion beigefgt.
   TT-KZ.EXE nimmt lediglich fnf Messungen vor und berechnet daraus den
   Mittelwert. Der hierdurch ausgelste Zeitfehler drfte verschmerzbar sein.

   TT-KZ.EXE speichert die Messdaten auf folgende Weise:

   - TT-KZ.LOG ........ Normale Logdatei in ASCII-Klartext
   - TT-DATM.DAT ...... Nur das Datum in der Form TT.MM.YYYY (ohne CR/LF)
   - TT-ZEIT.DAT ...... Nur die Zeit in der Form HH:MM:SS (ohne CR/LF)
   - TT-WERT.DAT ...... Nur den gemessenen Wert in der Form XXX.XX (ohne CR/LF)

   (Die Dateien werden in dem Verzeichnis angelegt, auf das die Variable
    TTPFAD zeigt..)

   Der Sinn der ersten Datei drfte klar sein. Die restlichen drei Dateien
   enthalten nur den jeweiligen Wert der letzten Messung und knnen zum
   Beispiel dazu verwendet werden, in einem Mailbox-Bildschirm die aktuellen
   Werte anzuzeigen. Ein Beispiel mit Maximus ist in meiner Box zu besichtigen.

   Die Datei TT-KZ.LOG ist "lesbar" aufgebaut. Das heit aber auch, da eine
   statistische Auswertung zum Beispiel als Grafik ohne Umwandlung nicht
   unbedingt mglich ist. Diese Umwandlung erledigt der Konverter TT-KZ-LK.

   Es stehen zwei Ausgangsformate zur Verfgung, die ber einen Parameter
   whlbar sind:

        - /N ... Normalmodus: Alle Werte eines Tages werden bernommen.
                 Format: [Datum];[Zeit];[Wert]
        - /M ... Maximalwerte: Nur die beiden Extremwerte eines Tages werden
                 bernommen.
                 Format: [Datum];[Minimalwert];[Maximalwert]

   Diese Formate sollte von den meisten Datenbanken etc. importiert werden
   knnen. Als Parameter mssen fr TT-KZ-LK.EXE auerdem die Protokolldatei
   von TT-KZ sowie die zu erzeugende Datenbankdatei angegeben werden.

   Beispiel: TT-KZ-LK TT-KZ.LOG TT-0795.DAT /M
             Die Logdatei TT-KZ.LOG wird nach TT-0795.DAT konvertiert, wobei
             nur die Extremwerte bernommen werden.



5. Registrierung:

   Theoretisch gebe ich dieses Programm als Shareware heraus. "Theoretisch"
   deshalb, weil ich

   1.) nicht unbedingt Geld damit verdienen mu und
   2.) sowiso  nicht glaube, da jemand sein sauer verdientes Geld fr
       mein Programm opfern wrde.

   Deshalb habe ich beschlossen, das Program zu einer Art "Nominal-Shareware"
   zu machen. Das heit, eine Registrierung ist von mir aus nicht unbedingt
   ntig. Andererseits interessiert es mich mchtig, ob jemand dieses Programm
   benutzt. Deshalb habe ich trotzdem eine Mglichkeit zur Registrierung
   eingebaut, die unregistrierte Version allerdings mit keinerlei
   Einschrnkungen versehen. (Mit welchen auch - soviel bietet das Dings ja
   auch wieder nicht... :-) )

   Diese Registrierung ist kostenlos. Man schreibe mir bitte lediglich eine
   Netmail (so man denn ebenfalls Mitglied im Fido-Netz ist) oder auch eine
   Postkarte oder hnliches, dann werde ich denjenigem einige Zeilen fr die
   Konfigurationsdatei mitteilen, die dann bewirken, da bei jedem Start des
   Programmes ein stolzes "Registriert fr [blabla]" angezeigt wird.

   Ich wrde die Nachricht mit den Kodezeilen aus Sicherheitsgrnden auch
   PGP-verschlsselt schicken. Falls Dieses Verfahren gewnscht wird, dann
   schicke man mir doch bitte den betreffenden Public Key gleich mit der
   Anfrage zu.



6. Farbtabelle

     Folgende Werte knnen fr die Parameter F_VORDERGRUND, F_HINTERGRUND und
     F_RAHMEN angegeben werden:

     Wert:         Hintergrund:           Vordergrund:
       0            Schwarz                 Schwarz
       1            Blau                    Blau
       2            Grn                    Grn
       3            Cyan                    Cyan
       4            Rot                     Rot
       5            Magenta                 Magenta
       6            Braun                   Braun
       7            Wei                    Wei
       8            Schwarz (blinkend)      Dunkelgrau
       9            Blau (Blinkend)         Hellblau
      10            Grn (Blinkend)         Hellgrn
      11            Cyan (Blinkend)         Hell-Cyan
      12            Rot (Blinkend)          Hellrot
      13            Magenta (Blinkend)      Hell-Magenta
      14            Braun (Blinkend)        Gelb
      15            Wei (Blinkend)         Ariel-Wei



7. Rechtliches:

   Ich bernehme prinzipiell keinerlei Verantwortung fr eventuelle Schden,
   die durch mein Programm TempTest entstanden sind. Ich werde baldmglichst,
   nachdem ich auf die Mglichkeit solcher Schden hingewiesen wurde, eine
   verbesserte Version des Programms herausbringen und ggf. einen Hinweis
   darauf in die Anleitung einbinden. Sollte ein solcher Fall eintreten, werde
   ich nach Mglichkeit sofort alle registrierten Anwender darber informieren.

   Ich lehne darberhinaus jegliche Ansprche auf neue Programmversionen mit
   eventuellen neuen Option kathegorisch ab. Ebenso kathegorisch verspreche ich
   aber, da jeglicher Vorschlag, der mir irgendwie realistisch oder sonstwie
   sinnvoll erscheint, nach Mglichkeit in einer der nchsten Versionen
   implementiert sein wird.

   Kurz: Nagelt mich auf nix fest - Dann mach' ich's freiwillig! :-)



                                                     Weienhorn, den 2.8.95


{Ende dieses Dokuments}
