home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
TELECOM
/
KWIN_LaTerm_1_1.lzh
/
LaTerm.doc
< prev
next >
Wrap
Text File
|
1994-08-15
|
14KB
|
428 lines
LaTerm
Version 1.1
******* MM/1 KWindows Application *******
(c) 1994 Alan Weston
Quick Help File
---------------
LaTerm emerged out of a desire to have a terminal program which made use
of as many external routines as possible. Thus allowing the potential
user to tailor most of the options. Furthermore, key strokes have been
minimized and a point and click KWindows interface has been used.
KWindows is required to run this application. As of this writing, windio
v.52 & 48 were used for all the testing.
Users will be required to designate and make use of individual external
routines to handle such things as up/download protocols, editor, list,
shell, etc.
1. Getting Started
------------------
Quick startup:
-------------
Set up environment variables:
setenv TERM vsc
setenv PORT /t3 (or /whatever)
The following files must be in appropriate locations:
file location
----------------------------------
LaTerm execution path
LaDial exec path
confer exec path
send_break exec path
la.sys /dd/sys
dial.sys /dd/sys
external routines exec path (or as defined by setenv PATH)
Type: laterm
Note: merge LaTerm and LaDial together for quicker response of autodialer
Usage/Options/Parameters:
------------------------
Usage: LaTerm [-s <script> -p <port>]
Options:
s: execute a script file on startup
p: serial port -- defaults to MODEM environment variable
Usage: LaDial [-p<port>]
LaDial [-s<n>]
Options:
port: optional port assignment, e.g. /t3
s: run script where n: entry number of site to autodial
-if port is not specified then use environment variable MODEM.
-s option requires env. var. MODEM
-optional environment variable LAPLAY can be used to call an
external alarm to notify of connect.
Usage: confer [pipe] (hsize) (vsize)
Open one way conference line to pipe.
** Requires LaTerm **
Usage: send_break [port], e.g. send_break /t3
2. Main Menu Functions:
----------------------
Files
------
Chd change directory on current device
ChDrive change drive
List File call external file list program
Open Log open log/capture file default:"la.log"
Pause Log pause log file - reopen with Open Log option
Rename Log change default log name
Close Log close log file
Editor invoke user specified editor
Print print file (forks "print")
Shell fork shell in window
Quit quit LaTerm
Setup
-----
8-N-1 8 bit word length, no parity, 1 stop bit
8-E-1 8 bit word length, even parity, 1 stop bit
8-O-1 8 bit word length, odd parity, 1 stop bit
7-N-1 7 bit word length, no parity, 1 stop bit
7-E-1 7 bit word length, even parity, 1 stop bit
7-O-1 7 bit word length, odd parity, 1 stop bit
Local Echo echo stdin on/off for half/full duplex
Handshake switch between XON/XOFF (software) and
RTS/CTS (hardware) handshaking
Termcap not implemented in this version
Baud change serial bps rate
User Defines dial.sys settings (excluding macro keys)
Port Options view &/or edit port path descriptor
Term Options view &/or edit window path descriptor
The Port and Term Options provide direct editing of the various options
that make up the path descriptors for the screen and serial port. The
list box display allows for selection with a simple click of the mouse.
A prompt then appears at the appropriate location to take decimal input
(up to 3 characters). The output is displayed in hexadecimal. The path
descriptor is updated upon exit using the close box. Users should refer to
sgbuf.h or the Microware manuals for details. Do not edit unless you know
what will ensue -- this is an easy way to crash your MM/1.
Access
------
Transmit send an ASCII file with optional line delay (line
delay is disabled in script mode)
Blind Mode disables screen output -- handy for capturing
messages at high baud rates when the screen cannot
keep up. Always provides faster throughput.
SendBreak send a true break
Conference toggle conference mode
Dialer call external dialer LaDial
Run Script execute user defined script file
Hangup send hangup string to modem
Reinit Modem send modem initialization string (INI in dial.sys)
Host Mode not implemented in this version
Receive/Send
------------
KermitBin kermit binary transfers
KermitASC kermit ASCII transfers
Xmodem xmodem
Xmodem 1K xmodem 1K
Ymodem ymodem
Zmodem zmodem
Cis-B+ Compuserve CIS B+
LaTerm
------
Help Short cut key help file
About...
3. Format of "la.sys" file:
--------------------------
RKB=kermit -ril /t3^M kermit binary receive
RKA=kermit -rl /t3^M kermit ascii receive
RXM=xydown^M xmodem receive
RXK=xydown^M xmodem 1K receive
RYM=xydown^M ymodem receive
RZM=rz^M zmodem receive
RCB=bplus CIS-B+ receive
SKB=kermit -sil /t3 kermit binary send
SKA=kermit -sl /t3 kermit ascii send
SXM=sz -X xmodem send
SXK=sx -k xmodem 1k send
SYM=sb ymodem send
SZM=sz zmodem send
SCB=bplus CIS-B+ send
EDT=umacs user specified editor
CAP=la_log default log capture filename
SHL=sh -nlh=20 shell
LST=less user specified list program
MAC=/dd/sys/scripts script file location
DIR=/dd/temp working directory
INI=ATZ0^M modem initialization string
HNG=+++~ATH^M hang-up string
AL0=whatever you want^M user definable macros
AL1= " " "
AL2=
AL3=
AL4=
AL5=
AL6=
AL7=
AL8=
AL9=
Parsing requires that no spaces be present around = sign. All the file
transfer protocols have a 30 character limit. EDT and LST are limited
to 10 characters. SHL, CAP, MAC, DIR have a 20 character limit. User
definable macros Al0-9 and INI have a 40 character limit. These sizes
are also detailed in la.sys. The use of ^M forces carriage return append.
Trailing spaces should be added where appropriate (e.g. after send
transfer protocols). A tilde ~ can be used to insert 1 second pauses in
the hang-up string.
5. Script Files
---------------
The script files are designed to link with the supplied autodialer (LaDial).
The linkage requires knowledge of the entry number as provided in the
dial.sys file.
Format of script files:
#n <- entry number n from dial.sys
%n <- wait n seconds (range 1-9)
^C <- Send control character e.g. ctrl-C
~<CR> <- Wait for string after tilde ~
logon^M <- carriage return must be forced
;OPEN logfile <- capture file "logfile" (or default) open
;STOP <- capture file closed
;WAIT <- capture file paused
;CONT <- continue capture
;TRAN filename <- ascii transmit file
;BLON <- turn on blind mode
;BLOF <- turn off blind mode
;HANG <- hangup
;SEND:n file1 file2... <- send using menu option n (e.g. n=3:xmodem)
;RECE:n <- receive (e.g. n=6:zmodem)
;IDLE:n <- suspend script execution until modem input
has stopped for at least n seconds (n=1-9)
First column identifiers:
(~) The tilde precedes a string to be searched.
(%) The percent sign precedes a time delay in seconds.
(#) The pound sign precedes the entry number to dial.
(^) The carot represent CTRL, 1 control character per line.
(;) The semicolon provides miscellaneous features.
Multiple log files are implemented.
If no identifier is present in the first column, the string is sent.
Remarks:
-------
o Mouseclick aborts dial.
o Keyboard input aborts macro execution.
o Searching should be used when a substantial delay in reception is
likely to occur. For cases where the wait is no longer than a couple
seconds, a pause will work best. This is due to immediate buffered input
data which doesn't get searched for the matching pattern. Search patterns
are best kept short.
o identifier lines must have carriage returns right after the last letter,
spaces may cause errors.
6. Implicit Functions:
---------------------
o box in upper left hand corner: same as Quit
o click on blank portion of menu bar: clears/resets screen
o rts/cts is used by default to control flow
o default setup: 8-N-1 2400 bps, hardware handshake set to current driver
setting, echo off, log file off, default terminal environment.
o capture file has ~4K buffer
o subsequent uses of "la.log" file will cause overwrite, so user will
need to rename it before or after use.
o if serial read errors occur, a beep is sounded.
o short key options are available as depicted with underlined menu characters
as well as in help display.
o carrier detect starts the on-line clock in hours:minutes, loss of carrier
turns the clock off.
7. Conference Mode:
------------------
The conference mode option starts up a separate process in a separate
window. Therefore, changing window will cause the conference window to
disappear. It will reappear by reselecting it. The conference mode
opens a separate path to the modem port and will stay active even after
exiting from LaTerm. Conference mode is toggled via the access menu or
the short cut key press. The short cut key is only active when the main
screen is selected. Then reset the screen work area by clicking on the
menu bar.
Attention:
---------
Since conference mode changes the working area, if the cursor is at the
screen bottom, screen output will get trapped outside of the working
area. This can be avoided by simply clearing the screen prior to
conference mode. It was not desired to force a screen clear and cursor
return to home (i.e. top of screen), in order to provide more flexibility.
8. Automation
-------------
Since script files can be assigned on startup from the command line, automated
operation is implementable. Cron provides the ability to start operation
at any time and date according to definitions in the crontab file.
The following is an example crontab file (/dd/sys):
30 23 * * * setenv MODEM /t3;setenv LAPLAY bell;cx /h1/c/cmds;LaTerm -s cis
This entry autostarts LaTerm any day at 11:30 pm and LaTerm executes
script file 'cis'. Note that since cron start a new shell, you may have
to pass environment settings for both LaTerm and LaDial.
9. Status Bar
-------------
The status bar provides current configuration and status information.
From left to right the display information includes:
/t3 2400 8N1 | Echo | RTS/CTS | Log:la_log Off | (Blind) (Confer) 00:00:00
^ ^ ^
blind, conference modes &
^ ^ ^ ^ ^ ^ ^ time online
| | | | | | \_ log file status
| | | | | \_ log file name (1st 10 characters)
| | | | \_ handshake status (RTS/CTS or XON/XOFF)
| | | \_ terminal echo status
| | \_ word length/parity/stop bits
| \_ bps
port
When switching to another screen, upon return the status bar will not
reappear. In such instances, if needed, simply sweep the mouse pointer
across the top line.
10. Tips:
--------
o LaTerm bumps its priority up to 140 on startup, this appears to be
sufficient in most cases.
o Use moded to increase the input and output buffer sizes for the serial ports
that you plan on using. A 1024 byte size seems to work well on both input
and output buffers. Some users have better throughput with input set at
2048.
o Communication speeds at 9600 baud and above are difficult for the screen to
keep up with. So for capturing message bases and text on the fly, use
the "Blind" mode. This way incoming data is dumped straight to a file
minimizing loss of data. Simply monitor RD modem status and turn the
blind mode off when no more data is coming in.
o For high speed communication, if possible use a port that supports RTS/CTS
hardware flow control. Furthermore, most high speed modems will buffer
incoming data if configured accordingly - look for DCE flow control
options (on my modem this is \G1).
11. Registration:
----------------
To register your copy and receive the next update, send $35 (payable to author)
to:
Tantricom
c/o Alan Weston
RR2 Box 322-W
Carbondale, IL 62901
For support:
Internet: weston@sysa.c-engr1.siu.edu
Delphi: ALWESTON
Compuserve: 76234,3500
12. Technical Detail
--------------------
On startup LaTerm boosts the process priority to 140, this helps to
reduce lost characters. Configuration information is gathered from
/dd/sys/la.sys and DIR is adopted as current directory.
The signal handler deals with mouse signals as well as others. The
signals encountered are: carrier signals, alarm signals, as well as some
feedback from LaDial.
Port settings that are conserved on startup include: parity, whereas
baud is reset to 2400. Term settings that are conserved on startup
include: parity and baud. Xon and Xoff signals are reset. The RTS line
is enabled by default. If hardware handshaking is enabled and the port
is iniz'ed, errors will occur during RTS/CTS enable/disable operations
within LaTerm -- this shouldn't be a problem. LaTerm is designed to
operate with a port that hasn't been initialized.
The conference mode is handled by an external routine which makes use of
a named pipe for communication with LaTerm. The program confer simply
takes user input and then dumps it in /pipe/confer. LaTerm then monitors
the pipe to see if data is available, etc.
In this incarnation LaTerm forks confer/list/edit and creates an orphan.
These processes remain on the LaTerm's linked list of process
descriptors thus filling up the process table. For right now this is
considered better than waiting until the child terminates.
Furthermore, during LaDial access if LaTerm receives a signal (e.g. a
mouse click) LaDial will become an orphan and I/O during dialing will be
disrupted.