@DATABASE MoMo.Guide
@$VER: MoMo.Guide 1.00 (15.2.98) by Lars Maschmann (LMaschmann@ebase.capella.de)
@WIDTH 72

@NODE "Main" "MoMo"
@{jcenter}
MoMo - der Modem-Monitor
@{jleft}

                  @{"Was ist 'MoMo'?" link "Einführung"}
                  @{"Was wird benötigt?" link "Anforderungen"}
                  @{"Das Interface" link "Interface"}
                  @{"Programmaufruf" link "Programmaufruf"}
                  @{"Autoren" link "Autoren"}
                  @{"Copyright und Haftung" link "Copyright"}


@ENDNODE

@NODE "Einführung"

 MoMo ist eine Hard-/Softwarekombination, die es ermöglicht, bei einem
 eingehenden Anruf über ein Modem eine selbst definierbare Software
 zu starten. Außerdem wird nach dem Klingelsignal das 'DCD'-Signal (Data
 Carrier Detected - Datenträger vorhanden) einer Verbindung überprüft.
 Ist kein Datenträger vorhanden, wird nach einer bestimmten Zeit ein
 weiteres, selbst definierbares Programm gestartet. 
 
 Die Funktion 'Auto Reset' überprüft die Anzahl der Klingelsignale,
 liegt diese über einem fest definierten Wert, so wird ein weiteres,
 selbst definierbares Programm von MoMo gestartet.
 
 Ursprünglicher Einsatz für dieses Programm war das vollautomatische
 Ein- und Ausschalten einer Mailbox-Festplatte. Da der benutzte Controller
 nicht von allein in der Lage war, diese Aufgaben zu erledigen, mußte
 dies über ein externes Programm erledigt werden. Wurde diese Mailbox
 angerufen, dann wurde das Programm zum Starten des Plattenmotors
 ausgeführt. Solange eine Verbindung bestand (DCD aktiv), wartete
 das Programm. Sobald der Datenträger nicht mehr vorhanden ist, wartet
 MoMo noch ein gewisse Zeit, läßt dann einen System-Requester er-
 scheinen, der wiederum nach einer bestimmten Zeit von selbst ver-
 schwindet und das Programm zum Ausschalten des Plattenmotors startet.
 
 Wenn innerhalb dieser Wartezeit ein erneutes Klingelzeichen erkannt
 wird, dann wird der "Countdown" abgebrochen.
 
 Bei einem Absturz der Mailbox würde das Modem nicht mehr abnehmen.
 Wird eine definierbare Anzahl von Klingelsignalen innerhalb einer von
 fünf Sekunden überschritten, dann wird ein anderes Programm, z.B.
 ein simples Reset-Programm, gestartet. Damit dies nicht ohne 
 Vorwarnung passiert, erscheint auch hier wieder ein Requester, der 
 selbsttätig nach einer gewissen Zeit verschwindet.
 
 Sicherlich lassen sich mit MoMo auch andere Aufgaben erledigen...
 

@ENDNODE

@NODE "Anforderungen"

 - AmigaOS 3.0 oder höher

 - Joystickport

 - @{"Interface" link "Interface"}
 
 - commodities.library, gadtools.library, gameport.device

@ENDNODE

@NODE "Interface"

 Das Interface stellt die Verbindung zwischen Modem und Software über den
 Joystickport her. Es besteht aus einer handvoll von Standard-Elektronik-
 Teilen, die in jedem halbwegs gut sortierten Fachgeschäft für wenig
 Geld erstanden werden können. Es wurde bewußt darauf geachtet, daß nur
 Standardbauteile benötigt werden.
 
 Das Interface arbeitet wie folgt:
 
 Abgriff einer RS232-Steuerleitung (hochohmig) über einen Optokoppler,
 am Transistor des Optokopplers ist ein Transistor als Verstärker
 geschaltet, dieser wiederum schaltet dann einen Pin des Joystickports.
 
 Es ist - mehr aus optischen Gründen - noch jeweils eine LED als
 Statusanzeige eingebaut. Theoretisch können diese LEDs auch weggelassen
 werden, praktisch wurde es noch nicht ohne LEDs ausprobiert.
 
 Soll mehr als ein Modem überwacht werden, dann ist das gesamte Inter-
 face erneut zu bauen, dabei werden dann einfach die Leitungen vom 
 Joystickport an das zweite (und dritte...) Interface angeschlossen.
 Es ist dabei zu beachten, daß bei einer solchen Kaskadierung die
 Gesamtstromaufnahme nicht die Maximalbelastung des Joystickports über-
 schreiten darf. Daher sind evtl. die LEDs von vornherein nicht zu
 integrieren. Laut A2000-Handbuch ist der 5Volt-Ausgang mit maximal
 125mA belastbar.

 
 @{"Schaltbild Interface" system "SYS:Utilities/MultiView MoMo.IFF SCREEN"}

 Die benötigten Bauteile für ein Interface:
 
 2x Standard-Silizium-Diode (100mA), z.B. 1N4148
 2x Standard-npn-Transistor, z.B. BC548B
 4x Widerstand, 1/4 Watt, 1kOhm
 2x Widerstand, 1/4 Watt, 15kOhm
 2x Widerstand, 1/4 Watt, 100kOhm
 2x LED, z.B. 5mm rot
 1x ILD74 (Doppeloptokoppler, es können auch 2x CNY17 benutzt werden)
 
 Als Kabel und Stecker werden benötigt:
 
 4poliges Rundkabel, geschirmt, Länge nach Bedarf (für Joystickanschluß)
 9polige SubD-Buchse mit Kappe
 2poliges Kabel mit Abschirmung (für RS232-Anschluß)
 evtl. Zugentlastung und Gehäuse
 
 Verdrahtung:
 
 
 RS-232 (Modem)                                 Joystickanschluß
                  +----------------+
 RI  -------------|                |------------ Back (2)
 GND -------------| MoMo-Interface |------------ Fire (6)
 DCD -------------|                |------------ +5V  (7)
                  |                |------------ GND  (8)
                  +----------------+
 
 Am einfachsten ist es, beim seriellen Verbindungskabel modemseitig die
 SubD-Kappe zu öffnen und dann dort an den SubD-Verbinder direkt die
 drei Kabel anzulöten. Benutzt man für das Anschlußkabel relativ dünnes
 Kabel (z.B. Stereo-Mikrofonkabel), dann paßt dieses auch noch durch die
 Kabelöffnung der SubD-Haube. 
 
 Der mit 'RI' bezeichnete Anschluß des Interfaces muß mit dem 'Ring
 Indicator'-Pin des RS-233-Anschlusses verbunden werden. 'DCD' wird
 dementsprechend an den 'Data Carrier Detect'-Pin angeschlossen. 
 Besonders beachtenswert ist der 'GND'-Anschluß, er ist ausschließlich
 mit dem Pin für die 'Signalmasse' zu verbinden.
 
 Hier die Pin-Belegungen der einzelnen Anschlüsse:
 
         25pol.   9pol
 ------+-------+----------
 GND   |   7   |   5
 DCD   |   8   |   1
 RI    |  22   |   9

@ENDNODE

@NODE "Programmaufruf"

 MoMo kann sowohl von der Workbench über Icon oder über die Shell
 aufgerufen werden.
 
 MoMo verfügt über folgende Parameter:
 
 STARTPGM
 
 Angabe des Programms, welches bei Erkennung eines Klingelsignals
 gestartet werden soll. 
 
 Bsp. ToolType: STARTPGM=RAM:StartHD
      Shell   : STARTPGM="RAM:StartHD"
      
 Wird kein Parameter angeeben, dann wird der Wert "RAM:MoMo-HDStart"
 benutzt.
 

 STOPPGM
 
 Angabe des Programms, welches nach Verlust des DCD-Signal gestartet
 werden soll.
 
 Bsp. ToolType: STOPPGM=RAM:StopHD
      Shell   : STOPPGM="RAM:StopHD"
      
 Wird kein Parameter angeeben, dann wird der Wert "RAM:MoMo-HDStop"
 benutzt.
 
 
 RESETPGM
 
 Angabe des Programms, welches nach Überschreitung der maximalen
 Anzahl von registrierten Klingelsignalen innerhalb von 10 Sekunden
 ausgeführt werden soll.
 
 Bsp. ToolType: RESETPGM=RAM:Reboot
      Shell   : RESETPGM="RAM:Reboot"
      
 Wird kein Parameter angeeben, dann wird der Wert "RAM:MoMo-Reset"
 benutzt.


 HDSTATUS
 
 Legt fest, in welchem internen Zustand sich die "Festplatte" für
 MoMo befindet. Hiermit kann definiert werden, ob die Radiobuttons
 "HD Off" oder "HD On" nach Programmstart eingeschaltet sind. 
 
 Bsp. ToolType: HDSTATUS=O   (HD On)
                HDSTATUS=F   (HD Off)
      Shell   : HDSTATUS O   (HD On)
                HDSTATUS=F   (HD Off)
                
 Wird dieser Parameter nicht angegeben, so wird der Wert "O" gesetzt.
                

 AUTORESET
 
 Legt fest, ob die Funktion "Auto Reset" aktiv ist oder nicht. Hiermit
 kann definiert werden, ob die Checkbox "auto reset" nach Programmstart
 eingeschaltet ist oder nicht.
 
 Bsp. ToolTypes: AUTORESET=YES
                 AUTORESET=NO
      Shell    : AUTORESET YES
                 AUTORESET NO
                 
 Wird dieser Parameter nicht angegeben, so wird der Wert "NO" gesetzt.
 
 
 RESETRINGS
 
 Anzahl der Klingelsignale innerhalb von 10 Sekunden, dessen 
 Überschreitung ggf. das mit RESETPGM angegebene Programm startet.
 
 Bsp. ToolTypes: RESETRINGS=5
      Shell    : RESETRINGS 5
      
 Wird dieser Parameter nicht angegeben, so wird der Wert "8" gesetzt.

      
 CX_POPUP
 
 Legt fest, ob nach dem Programmstart die Oberfläche angezeigt werden
 soll oder nicht.
 
 Bsp. ToolTypes: CX_POPUP=YES
                 CX_POPUP=NO
      Shell    : CX_POPUP YES
                 CX_POPUP NO      
                 
 Wird dieser Parameter nicht angegeben, so wird der Wert "YES" gesetzt.
 

 CX_POPKEY
 
 Legt die HotKey-Kombination für dieses Commodity fest.
 
 Bsp. ToolTypes: CX_POPKEY=ctrl alt r
      Shell    : CX_POPKEY="ctrl alt r"
      
 Wird dieser Parameter nicht angegeben, so wird der Wert 
 "ctrl alt m" gesetzt.

@ENDNODE

@NODE "Autoren"

 Software:      Torsten Kramer
                eMail: scotty@ebase.capella.de
 

 Hardware/
 Dokumentation: Lars Maschmann
                eMail: lmaschmann@ebase.capella.de
                Mailbox: 0421-242966

@ENDNODE
                
@NODE "Copyright" "Copyright und Haftung"

 Das Programm 'MoMo' ist frei kopierbar, jedoch
 
       Copyright © by Torsten Kramer
       
 Diese Anleitung und der Schaltplan sind frei kopierbar, jedoch
 
       Copyright © by Lars Maschmann
       
 Kein Teil dieses Archives darf ohne schriftliche Genehmigung der
 Autoren manipuliert oder zu kommerziellen/profitbringenden Zwecken
 benutzt werden.
 
 Die Autoren lehnen jegliche Haftung für Schäden - gleich welcher Art -
 die durch die Benutzung des Programms oder durch den Nachbau der
 Schaltung entstehen könnten, ausdrücklich ab. Die Benutzung des
 Programms geschieht auf eigene Gefahr. 
 

@ENDNODE
