home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cscope.zip
/
CSDEMO.HLP
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1995-06-19
|
91KB
|
2,866 lines
ΓòÉΓòÉΓòÉ 1. Help for Serial Stream Lexical Options ΓòÉΓòÉΓòÉ
When COMscope is in the lexical display mode each stream direction (column) can
be configured to filter and/or process the data as follows:
1. Data display flow can be caused to break a display "line" and begin to
display characters on the next "line" (start a "new-line").
2. The character that is to cause a "new-line" can be defined.
3. Lines" that do not contain displayable data can skipped.
4. One direction stream (column) can be synchronized to the other stream.
5. Lines that are too long to fit within the display colunm width can be made
to wrap to the next line.
6. Filters can be applied to each character displayed. The Filters that are
avialable are:
a. Alphabetical character exclusion (e.g., A,B, or A,b).
b. Number character exclusion (e.g., 1,2).
c. Punctuation character exclusion(e.g., $, %).
d. Non-printable character exclusion (e.g., <CR>, <LF>).
Any filter can be enabled in any combination. In addition, a character
mask can be defined. When filtering is enabled the defined mask character
will be ANDed with the stream character before it is displayed.
ΓòÉΓòÉΓòÉ 2. Help for Serial Stream Display Format ΓòÉΓòÉΓòÉ
There are two serial stream display formats available:
1. Time-relational
In this mode the serial stream is displayed with the receive and transmit
streams on alternating horizontal lines. This type of display shows timing
relationships between the transmit and receive serial streams.
2. Lexical
In this mode the serial stream is displayed in two columns, the transmitted
character in one column (left) and the received characters in the other
(right).
You can press the F8 key to toggle between these two display formats, or you
can select the Options | Stream Display Format menu item and select either
Lexical or Time-relational.
Note: When displaying a captured data stream and any synchronization is
selected in the lexical display format, toggling between display formats
will cause the new display format to be synchronized with the previous
display. For example, a character that is displayed as the first
character in the time-relational format display will become the first
character displayed in the lexical format.
Related Information:
o Time-relational Display Modes
o Lexical Display Modes
ΓòÉΓòÉΓòÉ 2.1. Help for Time-relational Display Format ΓòÉΓòÉΓòÉ
The time-relational display format has two user selectable modes:
1. Xon or Xoff characters detected in the stream can be high-lighted.
Whenever Transmit Xon/Xoff handshaking is enabled, and either of the
defined Xon or Xoff characters are read from the device, they are marked by
the device driver with special tracking information.
When Receive Xon/Xoff handshaking is enabled the device driver uses the
Transmit Byte Immediate function to transmit the currently defined Xon or
Xoff character whenever the number of characters in the input buffer
crosses a monitored threshold. The device driver adds special tracking
information to any character that is transmitted through the Transmit Byte
Immediate function.
Device driver supplied tracking information allows COMscope to take special
action on any character, when required. Enabling this feature causes these
specially marked characters to be displayed in "reverse" video.
2. The display can be compressed.
Normally each character to be displayed will be placed on the screen at the
next consecutive character position. In the compressed mode any character
that is read from the device (received) immediately following a character
that was written to the device (transmitted), will be placed (displayed) at
the same horizontal character position as the transmitted character.
Example:
The stream
A T & F & D 2 S 0 = 1OK OK
A T & F & D 2 S 0 = 1 +++A/
would be compressed to:
AT&F&D2S0=1OK OK
AT&F&D2S0=1 +++A/
ΓòÉΓòÉΓòÉ 2.2. Help for Lexical Display Format ΓòÉΓòÉΓòÉ
The lexical display mode is primarily intended to display ASCII data, and there
are a number of user selectable options to support this intention.
The following modes are available:
1. A "new-line character can be defined.
Enabling this feature causes the display to be "line" oriented. When the
display is "line" oriented the following features are available:
a. Lines that contain no displayable characters can be skipped.
b. Lines from one stream direction can be synchronized to lines in the
other direction.
c. Lines that are too long to fit in the current column width can be made
to "wrap" to the next line(s).
2. The following character sets can be filtered from the display:
a. Alphabetical
b. Numerical
c. Punctuation
d. Non-printable characters
3. A bit mask to be ANDed with all stream characters can be defined.
ΓòÉΓòÉΓòÉ 3. Help for Display Color Selection ΓòÉΓòÉΓòÉ
Background and foreground colors for the Status bar at the bottom of the window
and for all stream displays are user selectable. To set the color options for
any screen area place the pointer in the area you want to change and press
mouse button two. Select the required color menu item from the pop-up menu.
ΓòÉΓòÉΓòÉ <hidden> Help for Display Color Dialog ΓòÉΓòÉΓòÉ
Click on a radio button in the a Foreground group to select a color for the
text of the display element described in the top line of the dialog box.
Click on a radio button for a contrasting color from the a Background group to
select a background (blank screen color) for the display element described in
the top line of the dialog box.
Each color group has an Auto push button. If you click on one of these buttons
a color contrasting with the color selected in the opposite group will be
selected for you.
ΓòÉΓòÉΓòÉ 4. Help for Keys ΓòÉΓòÉΓòÉ
There are five function keys used by COMscope. Use:
F3: to close COMscope.
F4: to "toggle" viewing and scrolling of the I/O data stream capture
buffer.
F5: to "toggle" capturing of the I/O data stream.
F6: to "toggle" "real-time" display of the I/O data stream.
F7: to "toggle" the status bar message beep.
F8: to "toggle" the display mode between time-relational and lexical
display formats.
F9: to "toggle" the I/O data stream display font style between ASCII and
Hexadecimal.
When the display is in the column mode pressing the F9 key will cause
both the transmit and the receive columns to switch fonts. If they
are different, they will remain different, but be reversed.
F10: to "toggle" the font size displayed.
F11: to cause all active status displays for "this" COMscope session to be
surfaced (placed in front of all other windows on the desktop).
F12: to cause all active status displays and all COMscope sessions to be
surfaced.
Note: Surfacing multiple COMscope sessions is only possible when the
/T switch was on the COMscope command line or in the Parameters:
field of a COMscope object (icon). If you have started COMscope
sessions with different IPC server names, only those COMscope
sessions with the same server name will be surfaced.
There is one other "key" function used by COMscope.
When a device is active the user can select Transmit Next Keystroke from the
Device | Control menu. When this item is selected, the next keystroke or the
next "ALT-NUMKEYPAD" key combination will be transmitted.
Any key except the "ENTER" and "BACKSPACE" keys on the alphanumeric portion of
the keyboard, including shifted characters, can be transmitted (one character
at a time) by pressing the appropriate key (plus shift key, if required) after
selecting Transmit Next Keystroke.
Any character value can be transmitted after selecting Transmit Next Keystroke
by pressing, and holding down, the "ALT" key, pressing and releasing up to
three numeric keys on the numeric portion of the keyboard (ten-key pad), then
releasing the "ALT" key.
Examples:
Pressing ALT(3,2)
will cause the value 32 (space or 0x20) to be transmitted.
Pressing ALT(2,5,5)
will cause the value of 255 (0xFF) to be transmitted.
Pressing ALT(0)
will cause the value of zero (NUL or 0x00) to be transmitted.
Pressing ALT(1,3)
will cause the value 13 (carriage return or 0x0D) to be transmitted.
Note: If any hardware output handshaking is enabled and transmitting is
stopped because of any inactive handshake signal the keystroke, or
combination of keystrokes, will not be transmitted until the appropriate
signal, or signals, become active.
ΓòÉΓòÉΓòÉ <hidden> Help for Modem Control Signals ΓòÉΓòÉΓòÉ
Select the On button for a modem output signal to activate that signal.
Select the Off button for a modem output signal to deactivate that signal.
If a signal group is disabled you will be unable to change the state of that
signal.
The RTS group will be disabled if RTS Input Handshaking or RTS Toggling on
Transmit is enabled.
The DTR group will be disabled if DTR Input Handshaking is enabled.
The OUT1 group will be enabled only if the COMi extension Accept Extended Modem
Controls is enabled.
ΓòÉΓòÉΓòÉ 5. Help for COMscope ΓòÉΓòÉΓòÉ
COMscope is closely integrated with the COMi Asynchronous Serial Device Driver
and can be used to access, configure, monitor, and control any COM port to be
controlled by the COMi device driver.
Use COMscope to monitor communications activity and status of COMi serial
devices, including all states of the device and device driver, and the device
I/O stream.
Related Information:
o Selecting Serial Device to Monitor
o Controlling Monitored Device
o Configuring Monitored Device
o Capturing I/O Stream
o Monitoring Device Status
o Monitoring I/O Stream
o Viewing Captured I/O Stream
o Saving Captured I/O Stream Data
o Loading Saved Captured I/O Stream Data
o COMscope Command Line Options
You can also use COMscope to install and/or edit COMi controlled serial device
initialization parameters.
COMi Device Driver Installation Information:
o Installing a Serial Device
o Editing a Serial Devices Start-up Configuration
ΓòÉΓòÉΓòÉ 5.1. Loading Saved Captured I/O Stream ΓòÉΓòÉΓòÉ
Load a previously saved capture buffer by:
1. Select File
2. Select either Load Data
You cannot load a data file when capturing is in progress. You must first stop
serial stream capturing.
ΓòÉΓòÉΓòÉ 5.2. Saving Captured I/O Stream ΓòÉΓòÉΓòÉ
There are two ways to save data captured by COMscope. You can save existing
data in the capture buffer, or you can cause captured data to be written to
disk each time the capture buffer becomes full.
To save data in the capture buffer:
1. Select File
2. Select either Save Data or Save Data As
Serial stream data cannot be saved using this method while capturing is in
progress. You must first stop serial stream capturing, then selecting File |
Save Data
To save data as it is captured:
1. Select Options
2. Select Capture Buffer Processing...
One of the options in the Capture Buffer Processing dialog will enable
capturing of the serial stream to a series of files. If this option is
selected when you select the OK button, you will be prompted for a file "root"
name to save to. The file dialog will "suggest" the last root file name and
path supplied by the user, if any.
If the file name includes an extension of less than four characters, that
extension will be replaced with "001". If the file name has an extension of
more than three characters, or no extension, the extension "001' will be
appended to the file name. If the file name has an extension that represents a
hexadecimal number, that number will be used as the three character extension
for the first file written. In all cases, each subsequent file written will
have a three character extension that represents a hexadecimal number one
higher than the previously written file.
Examples:
1. The file name CAPTURE will cause the series CAPTURE.001, CAPTURE.002,
CAPTURE.003, etc. to be written each time the capture buffer fills up.
2. The file name CAPTURE.079 will cause the series CAPTURE.079, CAPTURE.07A,
CAPTURE.07B, etc. to be written each time the capture buffer fills up.
3. The file name CAPTURE.DATA.001 will cause the series CAPTURE.DATA.001,
CAPTURE.DATA.002, CAPTURE.DATA.003, etc. to be written each time the
capture buffer fills up.
This option can be enabled and/or disabled while serial stream capturing is
enabled. Once this options is enabled, the next time the capture buffer fills,
a new file will be written to disk. If the number of files written exceeds
0xFFF the sequence numbering will be started over at "000". If the disk the
files are being written to fills up, capturing will be aborted.
ΓòÉΓòÉΓòÉ 5.3. Configuring Monitored Device ΓòÉΓòÉΓòÉ
COMscope can be used to configure a COM port, even if that port has been opened
by another application. All parameters changed by COMscope will have the same
effect on a port as if any other application set those parameters. The user
can use COMscope to set all parameters that an application can set.
To configure an active COM port:
1. Select Device
2. Select Protocol
3. Select one of the following:
o Baud Rate...
o Line Protocol...
o Time-outs...
o Handshaking...
o Stream Filters...
o FIFO Control...
Related Information:
o Baud Rate
o FIFO Processing
o I/O Stream Filters
o Handshaking
o Line Characteristics
o Time-out
ΓòÉΓòÉΓòÉ 5.4. Controlling Monitored Device ΓòÉΓòÉΓòÉ
COMscope can be used to control a COM port, even if that port is in use by
another application. Any actions taken via COMscope will have the same effect
on a device as if another accessing application applied that action.
To control an active COM port:
1. Select Device
2. Select Control
3. Select one of the following:
o Select Transmit Next Keystroke to cause the next keystroke, or
ALT-NUMKEYPAD combination of keystrokes, to be transmitted via the
"Transmit Byte Immediate" DosDevIOCtl function.
o Select Force Xon/Xoff to force the device driver behave as if one of those
characters was received. Transmit Xon/Xoff handshaking must be enabled
for these commands to have an effect on the device driver.
o Select Transmit Xon/Xoff Now! to cause either the Xon or the Xoff
character to be transmitted via the "Transmit Byte Immediate" DosDevIOCtl
function.
o Select Transmit Break to cause a break to be transmitted. A break will
continue to be transmitted until you select Transmit Break again. A check
mark will be indicate that a break is currently being transmitted.
o Select Flush Buffer to cause either the input (receive) buffer, or the
output (transmit) buffer, or both, to be flushed.
o Select Activate OUT1 to toggle the state of the OUT1 signal. The presence
of a check mark will indicate that the OUT1 signal is active.
Note: The Accept Extended Modem Controls extension must have been enabled
previous to the current OS/2 session. See the COMi device driver
manual for more information on device driver extensions and how to
enable them, or look under Device Driver Extensions in the help
index.
ΓòÉΓòÉΓòÉ 5.5. Selecting Device to Monitor ΓòÉΓòÉΓòÉ
COMscope can be used to monitor and/or control a serial device even if that
device is currently open for exclusive access by an OS/2 application.
To Monitor a Serial Device:
1. Select Device
2. Select Select Device...
3. Select a device to monitor.
Either the currently monitored, or the next COMscope available, serial device
will be selected upon entry to the dialog box.
Only available COMscope accessible device names will be displayed in the list
box.
If there are no COMscope accessible serial devices available you will be
notified upon start-up and the Select Device... menu item will be disabled, as
will all device monitoring related menu items.
ΓòÉΓòÉΓòÉ 5.6. Monitoring Serial Device Status ΓòÉΓòÉΓòÉ
COMscope can be used to monitor the various states of a device and the device
driver. Monitoring capabilities include the ability to display all of the
states of the device driver and device hardware in "real-time". One or more of
the available port status displays can be open on the desktop at any time.
To Monitor device or device driver states:
1. Select Device.
2. Select Status
3. Select one of the following:
o Select Device Driver Status to see the states of the device driver.
Selecting any one of the byte or word fields displayed in this status
window will cause a dialog to pop-up that describes the current state and
meaning of each bit in that field.
o Select Input MODEM Signals to see the states of all MODEM input signals.
o Select Output MODEM Signals to see the states of all MODEM output signals.
o Select Receive Buffer Status to see input buffer status.
o Select Transmit Buffer Status to see output buffer status.
o Select Show Captured Counts to display the running character counts for
the transmit and receive data streams.
o Select Set Update Frequency... to set the refresh rate for status
displays.
o Select Show All... to show all status displays.
ΓòÉΓòÉΓòÉ 5.7. Capturing I/O stream ΓòÉΓòÉΓòÉ
COMscope can be used to capture a serial device's I/O data stream. All
characters transmitted and received by the monitored serial device can be
stored in a buffer for later processing.
To capture an I/O stream:
1. Select Action
2. Select Capture Data Stream to toggle capturing of the I/O stream.
Related Information:
o Processing Captured I/O Stream
ΓòÉΓòÉΓòÉ 5.8. Processing Captured I/O stream ΓòÉΓòÉΓòÉ
COMscope provides two different ways to process, or study, a captured I/O
stream. You may want to process the data in other ways.
For instance, you may want to search through the captured data to find a
specific pattern. Though we have no immediate plans to include such a feature
in COMscope, we may include it in a later version. We did not originally plan
to include the lexical display mode, but decided to do it after getting many
requests for such a display mode.
Until we do include some processing feature you may need, the least we can do
is supply you with the format of the captured data so that you may create any
tool you may need. So here it is:
Each character received or transmitted by the COMi device driver is placed in a
special device driver buffer along with a byte of tracking information.
Currently there are four different tracking values used by COMscope. They are:
0xA0 Indicates that the character was read from the UART.
0x90 Indicates that the character was written to the UART.
0xB0 Indicates that the character was read as an Xon or Xoff character
during Transmit Xon/Xoff Handshake processing.
0xC0 Indicates that the character was written to the UART by way of the
device drivers Transmit Byte Immediate function.
Each word (16 bit value) is formated with the tracking information in the upper
byte and the actual character read or written in the lower byte.
Examples:
0xA020 translates to a space character that was read from the UART
0x9041 translates to an ASCII "A" that was written to the UART
0xB011 translates to a standard Xon character written to the UART as part of
Receive Xon/Xoff Handshake processing
0xC013 translates to a standard Xoff character that was read from the UART
as part of Transmit Xon/Xoff Handshake processing
FYI: Any character value transmitted by any application using the Transmit
Byte Immediate DosDevIOCtl function will be stored in the COMi COMscope
buffer with the tracking value of 0xA5. Receive Xon/Xoff handshake
processing by the COMi device driver uses this mechanism to inject a
required handshake signal at the front of the transmit queue, to be
written the very next time it is possible to write to the UART transmit
hold register.
There is one other way we can help. On the COMscope distribution diskette
there is a program called "SPLIT.EXE". This Program will split a COMScope
captured data file into two new files. One of the new files will contain all
of the received characters from the file that was "split" and the other file
will contain all of the transmitted characters. The new files will be named
with the same root file name as the file that was split with the extention
".RD" for the receive character file and the extention ".WRT" for the transmit
character file. The name of the file to be split is to be the first parameter
on the command line. The output files will contain only the character values
transmitted or received, with no tracking information.
And another way. Also included on the distribution diskette is the source code
(in the "C" language) for SPLIT.EXE. Not very sopisticated, but it works.
ΓòÉΓòÉΓòÉ 5.9. Monitoring/Displaying I/O stream ΓòÉΓòÉΓòÉ
COMscope can be used to display serial device's I/O data stream, in
"real-time". When I/O stream capturing is enabled the characters stored in the
capture buffer can be displayed as the are "captured".
To display a serial device's I/O stream:
1. Select Action
2. Select Display Data Stream to toggle "real-time" display of a COM port's
I/O stream.
Note: There are two way to display serial data, lexically or
time-relationally. See Configuring Display Options for more details.
Related Information:
o Viewing Captured I/O Stream
o I/O Stream Display Format
ΓòÉΓòÉΓòÉ 5.10. Viewing Captured I/O stream ΓòÉΓòÉΓòÉ
COMscope can be used to examine, or "scroll through", a serial device's
captured I/O stream.
To Examine a captured I/O stream:
1. Select Action
2. Select Examine Data
Use scroll bar(s) to scroll through captured data.
Note: In order to examine data there must be data available to display, either
from data that you have just captured from the serial device, or by
loading data previously captured and saved.
o Monitoring I/O Stream
o I/O Stream Display Format
ΓòÉΓòÉΓòÉ 5.11. I/O Stream Display Format ΓòÉΓòÉΓòÉ
Any time COMscope is displaying captured data you can change the attributes of
that display. Each display window has a Pop-up menu associated with it. You
can "pop-up" a display's configuration menu by pressing mouse button two while
the pointer is over the display window you want configure.
There are two ways to display I/O stream data, either lexically (in columns) or
time-relationally (in rows). In the lexical format the transmit stream is
displayed in the left column and the receive stream is displayed in the right
column. The time-relational format displays the received stream in the odd
rows and the transmit stream in the even rows.
In the lexical mode you can use the Pop-up menu to do the following:
1. Synchronize the displays
2. Call the display processing setup dialog
3. Call the display color setup dialog
4. Lock the window width
5. Set the font to either ASCII or Hexadecimal
In the time-relational mode you can use the Pop-up menu to do the following:
1. Call the display color setup dialog for the transmit and receive rows
2. Cause the stream display to be compressed
3. Cause any Xon or Xoff character received or transmitted to be highlighted
4. Set the font to either ASCII or Hexadecimal
You can "toggle" between the lexical mode and the time-relational mode either
by pressing the F8 key or selecting the Stream Display Format menu item under
the Options menu. Switching between the two display formats is possible at any
time.
Related Information:
o Setting Display Colors
o Setting Lexical Display Processing
o Display Compression
o Xon/Xoff Highlighting
o Display Fonts
o Column Width Adjusting and Locking
ΓòÉΓòÉΓòÉ 5.12. Selecting Display Colors ΓòÉΓòÉΓòÉ
There are five different display areas in COMscope:
1. Lexical transmit column
2. Lexical receive column
3. Time-relational transmit row
4. Time-relational receive row
5. Status and information
The foreground and background colors for each of these COMscope display areas
can be set by the user.
You can set a display area's color combination by opening that area's pop-up
menu, by placing the pointer over the area, pressing mouse button two, then
selecting a color option menu item.
ΓòÉΓòÉΓòÉ 5.13. Time-relational Display Compression ΓòÉΓòÉΓòÉ
When COMscope is in the time-relational display mode, I/O stream characters can
be displayed either compressed or not compressed.
Normally each character to be displayed will be placed on the screen at the
next consecutive character position. In the compressed mode any character that
is read from the device (received) immediately following a character that was
written to the device (transmitted), will be placed (displayed) at the same
horizontal character position as the transmitted character.
Example:
The stream
A T & F & D 2 S 0 = 1OK OK
A T & F & D 2 S 0 = 1 +++A/
would be compressed to:
AT&F&D2S0=1OK OK
AT&F&D2S0=1 +++A/
You can turn compression on or off by opening the time-relational pop-up menu
by placing the pointer over the time-relational display window, pressing mouse
button two, then selecting the Compress Display menu item.
This menu item is a "toggle". Each time you select this item you will "toggle"
this display mode to the opposite state. A check mark will indicate that the
display is to compress the display.
ΓòÉΓòÉΓòÉ 5.14. Selecting Xon/Xoff Highlighting ΓòÉΓòÉΓòÉ
When COMscope is in the time-relational display mode, any Xon or Xoff character
that is received and/or transmited, when the appropriate handshaking is
enabled, will be displayed with the foreground and background colors reversed.
You can turn Xon/Xoff highlighting on or off by opening the time-relational
pop-up menu, by placing the pointer over the time-relational display window,
pressing mouse button two, then selecting the Highlight Xon/Xoff menu item.
This menu item is a "toggle". Each time you select this item you will "toggle"
this display mode to the opposite state. A check mark will indicate that the
display is to highlight Xon and Xoff characters.
ΓòÉΓòÉΓòÉ 5.15. Selecting Display Fonts ΓòÉΓòÉΓòÉ
Each display area can display I/O stream data in either of two fonts.
If the ASCII font is selected the values read from and written to the hardware
will be displayed as ASCII characters. All normally printable characters will
show as they would be printed. All non-printable characters will be displayed
as their ASCII designated symbol. All non-ASCII defined values will be
displayed as hexadecimal values.
If the HEX font is selected all values will be displayed as hexadecimal values.
You can select the font for a stream display area by opening that area's pop-up
menu, by placing the pointer over the area you want to adjust, pressing mouse
button two, then selecting the Display Font menu item.
ΓòÉΓòÉΓòÉ 5.16. Configuring Lexical Display ΓòÉΓòÉΓòÉ
Selecting the Display Process... menu item from a lexical display area (column)
pop-up menu will cause a display process dialog box to appear. This dialog box
will allow you to select and/or set the following features:
1. Enable a display line to "break" when a user specified character is
detected in the stream.
2. Specify a "new-line" character value
3. Cause "blank lines" to be skipped
4. Cause a column's display to be synchronized to the other column.
5. Cause lines that would be longer than the display column to wrap to the
next line
6. Select character display filters
7. Specify a character mask to be "ANDed" to each character before it is
displayed.
Disabling "new-line" translation will also disable "blank line" skipping, and
column synchronization. Since disabling this feature will effectively cause a
stream to look like one long line, it wouldn't make sense to not wrap that line
at the end of a column, therefore that feature will also disabled when
"new-line" translation is disabled.
ΓòÉΓòÉΓòÉ 5.17. Setting Lexical Display Column Width ΓòÉΓòÉΓòÉ
The width of the columns for the lexical display mode can be adjusted by
pressing mouse button one when the pointer is over either column display area.
When the mouse button is pressed the pointer will go to the window edge that
can be adjusted. As long as you hold the mouse button down the tracking
rectangle will remain in view.
You can expand a column's width to the point that the other column is seven
characters wide. You can decrease a column's width to zero. Once you have
caused a display area to have a width of zero you only need to press mouse
button one when the pointer is in the remaining column to cause the "zeroed"
window to expand to the width of seven characters.
Normally, each time you re-size COMscope, the width of each column will be set
to cover one half of the display area. However, you can lock the width of any
one column by opening that column's configuration menu and selecting the Lock
Window Width menu item.
ΓòÉΓòÉΓòÉ 5.18. COMscope Command Line Options ΓòÉΓòÉΓòÉ
COMscope command switches begin with either a minus sign (dash) "-" or a
forward slash "/". The switch, itself, is not case sensitive, though any
string following a switch may be case sensitive..
The following COMscope features can be controlled and/or configured with
command line switches:
o Profile Name
o Profile Sequencing
o Multiple Session Shutdown
o Capture File Name
ΓòÉΓòÉΓòÉ 5.18.1. Setting Startup Profile Name ΓòÉΓòÉΓòÉ
If you place /P"My COMscope Profile" after COMscope, on the command line, or in
the Parameters entry field in the settings notebook, the Profile My COMscope
Profile will be accessed by that session of COMscope. If a profile by that
name does not exist it will be created, and all configuration information for
that session will be stored there.
This switch will allow you to specify a different profile for different
COMscope objects or sessions.
If you place a "-" after the "P" (e.g., /P-) COMscope will not access any
profile and all profile management features will be disabled.
Note: Profile names supplied on the command line with the /P switch are case
sensitive and if there are any spaces or tabs in the name it MUST be
quoted (see example, above). The last /P or /S switch found on the
command line will take precedence.
FYI: COMscope accesses or creates an OS/2 Profile file named COMscope.ini in
the directory in which COMscope is located. Each COMscope profile name
created becomes an entry in that file. COMscope.ini is normally a
"hidden" file since OS/2 Profiles are marked as hidden by the Profile
API.
ΓòÉΓòÉΓòÉ 5.18.2. Enabling Profile Sequencing ΓòÉΓòÉΓòÉ
If you place /S"Profile Name" after COMscope, on the command line, or in the
Parameters entry field in the settings notebook, each new COMscope session
started from that object will load, or create, the next profile in the series
Profile Name x. Where "x" is the number of the COMscope session started.
The first COMscope loaded with the /S switch will have the profile name Profile
Name 1. The second will have the name Profile Name 2, and so on. If no "name"
follows the /S switch, the default profile name, COMscope, will be used.
This feature will best be used by creating (modifying) a COMscope object with
the following settings notebook entries:
1. Place the /S in the Parameters entry field.
2. Under the Window tab in the Oblect open behavior group select the Create
new window radio button.
Each time you open a COMscope session from that object a different profile of
the series will be loaded and acted upon. In this manner you may open multiple
sessions, configure each session, and place each required COMscope status
window. When you exit each COMscope session the configuration for that session
can be saved. Open multiple sessions again and each session can be opened
again just as it was when you exited.
If you place a "-" after the "S" (e.g., /S-) COMscope will not access any
profile and all profile management features will be disabled.
Note: Profile names supplied on the command line with the /S switch are case
sensitive and if there are any spaces or tabs in the name it MUST be
quoted (see example, above). The last /P or /S switch found on the
command line will take precident.
FYI: COMscope accesses or creates an OS/2 Profile file named COMscope.ini in
the directory in which COMscope is located. Each COMscope profile name
created becomes an entry in that file. COMscope.ini is normally a
"hidden" file since OS/2 Profiles are marked as hidden by the Profile
API.
ΓòÉΓòÉΓòÉ 5.18.3. Enabling Multi-Session Shutdowns ΓòÉΓòÉΓòÉ
If you need to cleanly shut down multiple COMscope sessions you can enable the
COMscope multiple session shutdown feature by using the "/T" command line
switch.
When COMscope is started with the "/T" switch on the command line it will
"logon" to a shutdown server. Running the program "CONTROL.EXE" with the "/K"
switch will cause all COMscope sessions "logged on" to be closed.
Closing COMscope in this manner will insure that any capture buffers that are
supposed to be written to disk WILL be written and that all current
configuration parameters will be saved. If a COMscope session is running when
the system is shutdown there is no gaurentee that all buffers will be written
to disk as may be desired, or that all COMscope configuration parameters will
be saved.
If COMscope profiles are enabled, the Automatically Save on Exit option under
the Options | Manage Profile.. menu item must be selected if you want a
COMscope session to be closed without prompting you to save the current profile
(unattended).
The default shutdown server name is "COMscope". You can specify a different
server name by placing the name on the command line following the /T switch.
EXAMPLE: [C:\]COMscope /TShutDownOne
If you specify a different server name on the COMscope command line you will
have to specify that same name on the CONTROL.EXE command line with the same /T
switch followed by the same server name.
EXAMPLE:[C:\]CONTROL /K /TShutDownOne
In both cases no white space is allowed in the switch.
Related information:
o Managing COMscope Profiles
ΓòÉΓòÉΓòÉ 5.18.4. Specifying Capture File Name ΓòÉΓòÉΓòÉ
If you are using COMscope to capture serial stream data you can place the name
of a capture file to save to on the command line.
Use the "/D" switch to specifiy a capture file name from the COMscope command
line. Specifing a Capture file name on the command line will override any
capture file name saved in a COMscope profile. In addition, you will not be
prompted to overwrite any existing file by the same name, in the same location,
as the file named on the command line.
EXAMPLE: [C:\]COMscope /Dd:\testdat\CAP_1
The file name must be a fully qualified file specification and must include a
path if the file is not to be located in the COMscope directory.
This feature is useful if you want to start up a COMscope session unattended
and begin to capture I/O stream data to a file.
Related information:
o Managing COMscope Profiles
ΓòÉΓòÉΓòÉ 6. Capture Buffer Processing ΓòÉΓòÉΓòÉ
There are three Capture buffer processing options:
1. Write Captured Data to File
This option will enable capturing of the serial stream to a series of
files. If this option is selected when you select the OK button, you will
be prompted for a file "root" name to save to. The file dialog will
"suggest" the last root file name and path supplied by the user, if any.
If the file name selected/entered includes an extension of less than four
characters, that extension will be replaced with "001". If the
selected/entered file name has an extension of more than three characters,
or no extension, the extension "001' will be appended to the file name. If
the selected/entered file name has an extension that represents a number,
that number will be used as the three character extension for the first
file written. In all cases, each subsequent file written will have a three
character extension that represents a number one higher than the previously
written file.
Examples:
a. The file name CAP_1 will cause the series CAP_1.001, CAP_1.002,
CAP_1.003, etc. to be written each time the capture buffer fills up.
b. The file name CAPTURE.071 will cause the series CAPTURE.071,
CAPTURE.072, CAPTURE.073, etc. to be written each time the capture
buffer fills up.
c. The file name CAPTURE.DATA.001 will cause the series CAPTURE.DATA.001,
CAPTURE.DATA.002, CAPTURE.DATA.003, etc. to be written each time the
capture buffer fills up. This name is only possible if you are writing
the file to an HPFS disk partition. COMscope will not allow a file name
to be used that is not supported by the file system of the target disk
partition.
Once this option is enabled, the next time the capture buffer fills, a new
file will be written to disk. If the number of files written exceeds 999
the sequence numbering will be started over at "000". If the disk the
files are being written to fills up, capturing will be aborted.
2. Stop Capture at End of Buffer
This option will cause capturing to be aborted when the capture buffer is
full.
3. Wrap Around at End of Buffer
This option will treat the capture buffer as a circular buffer and
continously store the I/O stream. This process is used mostly when you
only need to display the I/O stream in "real-time".
These three options can be selected while serial stream capturing is enabled.
In addition to selecting capture buffer processing you may also set the size of
the capture buffer. The capture buffer size may be set only when the Action |
Capture Data Stream menu item is NOT enabled. You must stop I/O stream
capturing to change the capture buffer size.
You can either select one of the buffer sizes presented in the list box or
enter any buffer size within the limits specified.
FYI The data stored in the capture buffer consists of a byte of data read from
or written to the device and a byte of tracking information for each I/O
stream data byte stored. Each byte of I/O stream data requires two bytes
of buffer. Specifying a capture buffer of 1MB will cause 2MB of memory to
be allocated for the buffer.
ΓòÉΓòÉΓòÉ <hidden> Help for Trace Update Frequency ΓòÉΓòÉΓòÉ
When you enable Capture Data Stream from the Action menu COMscope begins to
periodically read the device driver's COMscope Trace Buffer. Capture Update
Frequency is the period (in milliseconds) the monitor thread sleeps between
each time it reads the device driver's trace buffer.
Because it may be essential that all characters received and transmitted by an
application be captured by COMscope, the monitor thread is designated as a
"time critical task" with the highest priority. It is important, therefore,
that the sleep time be as long as allows capturing all of the characters
received and transmitted. The value calculated by COMscope is fairly
conservative in that is assumes there will always be two characters, one
transmitted and one received, during each character time.
The Capture Update Frequency is calculated by COMscope, using the following
formula:
T = ((C * 1000) / ((R * 2) / 10)
Where "T" is the time (in milliseconds) the monitor thread sleeps between each
trace buffer read, "C" is the maximun number of characters the device driver
trace buffer can hold without overflowing, and "R" is the current baud rate
(bits per second).
The baud rate is multiplied by two to accomodate full duplex transfers and
divided by ten because eight data bits, one start bit, one stop bit, and no
parity bit (a total of 10 bits) is assumed.
You may override the COMscope selected frequency to adjust for any differences
between the assumptions COMscope must make, and your application's
requirements.
If a periodic rate of less than 100 milliseconds is either calculated by
COMscope or specified by the user a warning will be displayed in the trace
update frequency dialog box. The size of the COMscope trace buffer for each
device is configurable from the "Device | Install Device..." menu. Any changes
made while "installing" a device will require a system re-boot to become
effective.
Note: When "Action | Display Trace" is selected COMscope will adjust the
Capture Update Frequency to 200 milliseconds, unless the user has
explicitly entered an update frequency.
ΓòÉΓòÉΓòÉ <hidden> No COMscope Devices Remain ΓòÉΓòÉΓòÉ
All serial devices controlled by the COMi device driver have been opened for
monitoring by other COMscope sessions.
Until one of those other sessions has been closed you will be unable to open a
COM port for access by this COMscope session.
ΓòÉΓòÉΓòÉ <hidden> COMscope Device not Available ΓòÉΓòÉΓòÉ
The COMscope port does not exist or is selected by another COMscope session.
Select another port for this COMscope session.
ΓòÉΓòÉΓòÉ <hidden> No COMscope Device Available ΓòÉΓòÉΓòÉ
There are no COMscope accessable ports available for access by this COMscope
session. You will only be able to load and examine previously saved capture
data in this COMscope session.
This session of COMscope can also be used to install and/or configure
additional serial device for a later OS/2 session.
ΓòÉΓòÉΓòÉ <hidden> No COMscope Devices defined ΓòÉΓòÉΓòÉ
There are no COMscope accessable serial devices defined for the current OS/2
session. You must use the Device | Device Install... menu item to install and
configure serial devices for the COMi device driver before you can use COMscope
to monitor or control a serial device.
ΓòÉΓòÉΓòÉ <hidden> Overwrite File? ΓòÉΓòÉΓòÉ
If you select the Yes push button, the file name in the message box will be
overwritten. Any data currently in that file will be destroyed.
If you select the No push button, the file select dialog will be displayed to
allow you to select another file to write.
If you select the Cancel push button, the file will not be written and the
dialog will be closed.
ΓòÉΓòÉΓòÉ <hidden> Overwrite Capture File? ΓòÉΓòÉΓòÉ
If you select the Yes push button, the file name in the message box will be
overwritten the first time the monitor thread needs to write the Capture Buffer
to disk.
If you select the No push button, the file select dialog will be displayed to
allow you to select another file for writing captured data.
If you select the Cancel push button, capture to file will be disabled.
ΓòÉΓòÉΓòÉ <hidden> Help for COMscope Profile Manage Dialog ΓòÉΓòÉΓòÉ
Select a profile name to operate on from the Available Configuration Sets list
box.
Note: The currently loaded profile will be automatically selected upon entry
to this dialog box.
o Click on the Automatically Save on Exit check box to toggle automatic saving
of the currently loaded profile upon exit from a COMscope session.
Unless you select Automatically Save on Exit you will be asked if you want to
save the current configuration upon exit from this COMscope session. You
will only be asked if some parameter stored in the profile has changed since
the last save or since this COMscope session began.
If you are using the "shutdown server" feature of COMscope you will want to
enable this option. Otherwise each COMscope session will prompt for save
instructions when the "kill" command is sent to the server.
o Click on the Load Monitor Configurtion check box to toggle loading, on
startup, of the monitor configuration in effect the when you exit this
COMscope session.
o Click on the Load Last Window Positions check box to toggle using the last
display and status window positions for the monitor configuration in effect
when you exit this COMscope session.
Note: The states of these three check boxes will be stored for any profile
selected when the Save push button is selected.
Any changes to these check boxes will be applied to the currently loaded
profile only if you select the Save push button while that profile is
selected in the list box.
o Select the Save push button to save the currently selected profile.
o Select the Load push Button to load the selected profile.
o Select the Delete push Button to delete the selected profile.
o Select the New push Button to add a new profile.
The new profile will duplicate the currently loaded profile and become the
"currently loaded" profile for this session of COMscope.
o Select the Done push button to exit this dialog box.
Note: Deleted profiles will will be marked as "deleted" in the list box.
If you select a "deleted" profile the Delete push button will become an
Undelete push button. You will be able to restore any "deleted" profile by
selecting that profile and selecting the Undelete push button.
All "deleted" profiles will be available for recovery until any currently
active COMscope session is exited. At that time those profiles marked as
"deleted" will be removed from the COMscope.INI file, forever.
Related Information:
o Multiple Session Shutdown Server
ΓòÉΓòÉΓòÉ <hidden> Help for Profile Delete ΓòÉΓòÉΓòÉ
Profile management will not let you delete a profile that is in use by this, or
any other COMscope session.
If you want to delete the currently loaded profile for this COMscope session
you must either load a different existing profile or create a new profile
first.
If you want to delete a profile that is being used another COMscope session you
will either have to close that COMscope session or cause that COMscope session
to load a different profile.
Caution: COMscope will allow you to load a profile that is being used by
another COMscope session. Deleteing a profile that is being used by
another COMscope session can have unpredictable results; not
catastrophic, just unpredictable.
ΓòÉΓòÉΓòÉ <hidden> Help for New Profile Name ΓòÉΓòÉΓòÉ
Hey, we had to use some character to mark deleted profiles. You can use the
character, just not for the first character.
ΓòÉΓòÉΓòÉ <hidden> Help for Profile Save ΓòÉΓòÉΓòÉ
You have selected a profile name to be saved a profile other than the profile
currently loaded.
If you select Yes you will cause the current configuration to overwrite the
selected profile.
If you select No nothing will be saved or overwritten.
ΓòÉΓòÉΓòÉ 7. COMscope Profiles ΓòÉΓòÉΓòÉ
COMscope includes the ability to save not only your current COMscope session
configuration (profile), but any number of session profiles.
COMscope session profile access can be managed in three ways:
1. By selection from the Manage Profile... menu item under the Options
heading. The Manage Profile dialog box will allow you to:
a. Save the existing configuration.
b. Create a new name for the existing configuration.
c. Load an existing configuration.
d. Delete a listed configuration.
e. Turn automatic profile save on or off.
f. Cause the loaded profile to start the process that was in effect the
last time COMscope was exited.
g. Cause the last window positions to be used for all COMscope status and
display windows that were open the last time COMscope was exited.
2. By placing the name of a profile on the COMscope command line.
If you place /P"My COMscope Profile" after COMscope, on the command line, or
in the Parameters entry field in the settings notebook, the Profile My
COMscope Profile will be accessed by that session of COMscope. If a profile
by that name does not exist it will be created, and all configuration
information for that session will be stored there.
3. By placing the /S switch on the COMscope command line.
If you place /S"Profile Name" after COMscope, on the command line, or in the
Parameters entry field in the settings notebook, each new COMscope session
will load, or create, the next profile in the series Profile Name x. Where
"x" is the number of the COMscope session started.
The first COMscope loaded with the /S switch will have the profile name
Profile Name 1. The second will have the name Profile Name 2, and so on.
If no "name" follows the /S switch, the default profile name, COMscope, will
be used. This feature will best be used by creating (modifying) a COMscope
object with the following settings notebook entries:
a. Place the /S in the Parameters entry field.
b. Under the Window tab in the Oblect open behavior group select the
Create new window radio button.
Each time you open a COMscope session from that object a different profile
of the series will be loaded and acted upon.
In this manner you may open multiple sessions, configure each session, and
place each required COMscope status window.
When you exit each COMscope session the configuration for that session will
be saved.
Open multiple sessions again and each session will be opened again just as
it was when you exited.
Note: If you place a "-" after the "S" (e.g., /S-) COMscope will not access
any profile and all profile management features will be disabled.
Note: Profile names supplied on the command line with the /P or /S switches
are case sensitive and if there are any spaces or tabs in the name it
MUST be quoted (see example, above). The last /P or /S switch found on
the command line will take precident.
FYI: COMscope accesses or creates an OS/2 Profile file named COMscope.ini in
the directory in which COMscope is located. Each COMscope profile name
created becomes an entry in that file. COMscope.ini is normally a
"hidden" file since OS/2 Profiles are marked as hidden by the Profile
API.
ΓòÉΓòÉΓòÉ <hidden> Unknown Initialization File Name ΓòÉΓòÉΓòÉ
The COMi device driver needs to read an initialization file during system
startup to determine the location and configuration of any serial devices it is
to control.
The name of the file is the name of the device driver file (driver.SYS) with
the extention .INI (e.g., driver.INI). When the device driver is loaded this
configuration program can get the name of the initialization file by querying
the device driver.
If you are reading this message, and you are, then the device driver is not
loaded, and you will have to supply a path and file name for the initialization
file when the file info dialog is presented (next).
You MUST name the file as described above, and supply a complete path to where
the device driver file is located in order to complete COMi configuration
and/or installation.
ΓòÉΓòÉΓòÉ <hidden> TESTCFG device driver not loaded ΓòÉΓòÉΓòÉ
The configuration program cannot determine the architecture of this machine
because the TESTCFG.SYS device driver is not loaded. The line
DEVICE=d:\OS2\BOOT\TESTCFG.SYS is placed in your CONFIG.SYS file during the
OS/2 installation process and should not be removed. It is recommended that
you replace the missing line before you shutdown this OS/2 session.
For this OS/2 session, you will need to indicate if this machine is an MCA
machine. If you replace the missing TESTCFG line in your CONFIG.SYS, this
configuration program will not need to bother you with this question again.
ΓòÉΓòÉΓòÉ <hidden> Cannot Open CONFIG.SYS ΓòÉΓòÉΓòÉ
Your system configuration file (CONFIG.SYS) may have been opened by another
process.
You may either make the changes to your system configuration file maually or
you can close any process that may have the file open and try again.
Note: After you have re-enabled access to your CONFIG.SYS file you can
complete this installation/configuration by selecting the Device |
Install Device... menu again and just clicking on the OK push button
after the dialog box re-appears.
All of the configuration paramaters you have just entered will be remembered.
You need only to give this process another chance to access your CONFIG.SYS
file.
ΓòÉΓòÉΓòÉ <hidden> CONFIG.SYS Modification ΓòÉΓòÉΓòÉ
Each load defined during COMi configuration will require a DEVICE=comdd.SYS
statement in your system configuration file (CONFIG.SYS).
Selecting the Yes button will cause the required load statements to be added or
removed automatically.
Selecting the No button will cause this configuration process to leave your
CONFIG.SYS file unchanged and you will have to add or remove the required load
statements manually.
Note: If you inadvertantly select No you need only enter the
installation/configuration process again and select the OK button to be
asked to make this chioce again.
ΓòÉΓòÉΓòÉ <hidden> Help for OEM Interrupt Processing ΓòÉΓòÉΓòÉ
The adapter you have selected has an interrupt ID register that allows COMi to
share one interrupt request (IRQ) line with all of the UARTs on that adapter.
For the adapter you selected, the interrupt ID register can be used in two
different ways:
o To indicate that at least one device on the adapter has an interrupt to be
serviced.
o To indicate which device, or devices, are in the interrupt state.
You can set the manner in which the ID register is used by selecting the
Interrupt Processing Algorithim to be used for this COMi load.
There are three choices:
1. Poll active devices.
This method causes each active port to be polled upon entry to the
interrupt routine. After all devices that have interrupts pending have
been serviced, COMi tests the ID register to see if any new interrupts have
occurred on any device on that adapter.
If the ID register indicates that new interrupts are pending then each
active port is polled again. This cycle is repeated until the ID register
indicates that no device is in the interrupt state.
2. Select Interrupting Device.
This method causes the interrut ID register to be read upon entry to the
interrupt routine. The value in the ID register is used to determine which
device to service. After each interrupting device has been serviced the ID
register is read again to determine if there is another device that needs
service.
If another device needs service, the value in the ID regieter is again used
to determine which device to service. This process continues until no
device has an interrupt to service.
3. Select upon entry, then poll active devices.
This method starts out like the second method by servicing the highest
priority device as indicated by the ID register upon entry to the interrupt
routine, then polls all active devices until no pending interrupts are
indicated by the ID register.
COMi supports two different types of interrupt ID registers:
o The most common type is found on Comtrol Hostess adapters, Sealevel Systems
COMM+8 and Turbo COMM+4 adapters, and Quatech QS-XXX and ES-XXX adapters.
The ID register on these adapters use each bit in the ID register to indicate
which device has an interrupt pending. The first device (lowest I/O base
address) on the adapter will activate bit zero of the ID register when that
device has an interrupt to be serviced. The second device (second lowest I/O
base address) will cause bit one to activate when that device has an
interrupt pending, and so on.
Priority is determined only by bit position; the first device will have the
highest priority and the last device will have the lowest priority. When the
algorithim choice includes "Selecting" an interrupting device (items two and
three, above), the highest priority device that has an interrupt pending will
be selected and serviced each time the ID register is used to "select" an
interrupting device and indicates there is an interrupt pending.
o The second type is used by DigiBoard for their PC/x serial adapters.
The ID register is assisted by a hardware state machine that polls each of
the devices on an adapter. When a device enters the interrupt state and is
polled by the state machine, an interrupt is raised to the system interrupt
controller. The ID register value indicates which device is in the interrupt
state. When that interrupting device has been serviced the state machine
will continue its polling cycle.
When ANY device has an interrupt pending the ID register will contain a value
the indicates the next device in the polling cycle that has an interrupt
pending. This method prevents any one device from "hogging" the interrupt by
always polling the other devices (in order) on an adapter before comming back
the just serviced device. The hardware state machine is transparent to the
device driver and is fast enough to insure that no interrupt will be lost.
When a "Polling" algorithim is selected (items one and three, above) the ID
register will be used only to determine that there are NO interrupts pending
before the interrupt routine returns to the operating system, for that cycle
that uses "Polling" of the ID register.
Note: For algorithims that include "Polling", a device is considered active
only if it is currenty "open".
ΓòÉΓòÉΓòÉ <hidden> Help for Non-Exclusive Access ΓòÉΓòÉΓòÉ
Accessing more than one device connected to the same Interrupt Request (IRQ)
circuit can cause unpredictable results.
If you need simutaneous run-time access to serial devices connected to the same
IRQ is recommended that you aquire a serial adapter that supports shared
interrupts on ISA machines.
Related Information:
See Installing ISA Serial Devices for information on installing serial adapters
that specifically support shared interrupts on ISA machines.
ΓòÉΓòÉΓòÉ <hidden> Help for Shared Access ΓòÉΓòÉΓòÉ
Connecting two or more devices to the same hardware Interrupt Request circuit
(IRQ) can cause unpredictable results.
If your hardware supports the electrical characteristics required to allow more
than one device to connect to an IRQ it will be safe to use such devices
one-at-a-time.
If your hardware does not support these electrical characteristics, you could
cause your machine to lock-up anytime you access any device connected in this
manner.
Required Electrical Characteristics:
In order to support interrupt connection sharing, a device must not place a
load on the IRQ unless interrupts are explicitly enabled for that device.
Related Information:
See Installing ISA Serial Devices for information on installing serial adapters
that specifically support shared interrupts on ISA
ΓòÉΓòÉΓòÉ <hidden> Help for Device Hardware Setup Dialog ΓòÉΓòÉΓòÉ
Use I/O Base Adderess to define a base adderess for the device.
Use Entry Base to select a numerical base to display and read the I/O base
address.
o Select Hexadecimal to to display/read the I/O base as a base 16 number.
o Select Decimal to to display/read the I/O base as a base 10 number.
Use Interrupt level to select the hardware interrupt level to which the device
is connected.
Select FIFO Setup to open the hardware FIFO setup dialog box.
Note: If you have selected a specific adpater in the Adpter Set-up dialog box,
you will not be able to select a hardware interrupt level here.
ΓòÉΓòÉΓòÉ <hidden> Help for Default Baud Rate Dialog ΓòÉΓòÉΓòÉ
Select a standard baud rate from the drop down list box.
You may enter an unlisted baud rate in the entry field. If the value you enter
is not within 1% of a baud rate the device is capable of, the nearest valid
baud rate will be used at system start-up.
The current default baud rate will be displayed in the entry box upon entry to
the dialog.
If you have the device driver extension Explicit Baud Divisor selected for this
port, the value you enter will be used as the baud rate divisor for this device
and be written directly to the baud rate select registers on the UART.
Note: In order to use the Explicit Baud Divisor feature, the device you are
controlling must be capable of non-standard UART clock rate selection in
hardware. See your serial adapter documentation for further
information.
ΓòÉΓòÉΓòÉ <hidden> Help for Default Protocol Dialog ΓòÉΓòÉΓòÉ
Select a standard baud rate from the drop down list box.
You may enter an unlisted baud rate in the entry field. If the value you enter
is not within 1% of a baud rate the device is capable of, the nearest valid
baud rate will be used at system start-up.
The current default baud rate will be displayed in the entry box upon entry to
the dialog.
If you have the device driver extension Explicit Baud Divisor selected for this
port, the value you enter will be used as the baud rate divisor for this device
and be written directly to the baud rate select registers on the UART.
Note: In order to use the Explicit Baud Divisor feature, the device you are
controlling must be capable of non-standard UART clock rate selection in
hardware. See your serial adapter documentation for further
information.
Select the default line protocol for this device by checking the required
buttons.
Selecting parity to be Zero will cause the parity bit to be transmitted as a
zero, and cause the receiver to expect a zero in the parity bit for any
character it receives.
Selecting parity to be One will cause the parity bit to be transmitted as a
one, and cause the receiver to expect a one in the parity bit for any character
it receives.
ΓòÉΓòÉΓòÉ <hidden> Help for Device Driver Buffer Setup Dialog ΓòÉΓòÉΓòÉ
Use the sliders or scroll buttons to select the various COMi device driver
buffer sizes. Deselecting Enable COMscope Access will disable COMscope access
to this device for the next OS/2 session.
Note: COMscope access will not be available unless you are configuring or
installing the COMi device driver from within COMscope or from a
COMscope distribution diskette.
ΓòÉΓòÉΓòÉ <hidden> Help for Device Configuration Dialog ΓòÉΓòÉΓòÉ
Use Device Configuration dialog box to set the following device parameters for
the device being configured:
Use the Device Name field:
To select the DOS name for the device being configured. This list
box will only display device names that are not already selected for
use by the COMi device driver and are available for installation.
Note: If you select a device name used by the COM.SYS device driver,
the COMi device driver will take presedence.
Select Hardware...:
To enter a device's I/O base address, select an interrupt level, and
set the start-up defaults for FIFO control (for those devices that
support FIFOs).
Note: If you have selected a hardware interrupt level for this load
from the Adpter Set-up dialog box, the hardware interrupt
level selection field will be disabled.
Select Buffers...:
To set the size of transmit, receive, and COMscope buffers the device
driver allocates at initialization and enable or disable COMscope
run-time access. See COMi Buffer Limits for buffer size limits.
Select Handshaking...:
To set startup defaults for the various handshaking protocols
supported by the device driver.
Select Timeouts...:
To set default time-out counts and processing for a device.
Select Protocols...:
To set the start-up defaults for line characteristics and baud rate.
Select Extensions...:
To set select various device driver extensions.
Note: Next to the Device Name field, in red, is a suggested (guessed) I/O base
address and interrupt level. If you select the OK push button the
values shown there will be used for the device being configured.
ΓòÉΓòÉΓòÉ 8. Device Driver Extensions ΓòÉΓòÉΓòÉ
COMi has evolved over the years while attempting to solve specific problems for
our customers. COMi "extends" the functionality of the serial device driver
supplied with OS/2* in the following ways:
Allows extended modem controls
Allows an application to have runtime control of the OUT1 and LOOP
signals of the UART.
Lets you disable modem interrupts
Modem input signals can be processed with or without interrupts. The
purpose of this extention is to make it possible to use this device
driver on some adapter boards that do not properly terminate all of
the modem signal input pins of a UART. Modem signals are still
monitored when this item is selected, just not as efficiently.
Lets an application supply an explicit baud divisor
This extension takes advantage of those adapter boards that allow a
user to select non-standard clocks for the UART baud rate generator.
Allows an application to disable startup UART tests
This feature can disable extensive testing of the UART and its
connections at initialization, including hardware interrupt
connection, and interrupt ID register functionality.
Allows enabling of application specific extensions
An application can use COMi extensions designed for that application.
These extensions are specific to some specialized applications. If
you are using an application supported by one or more of these
extensions, that application's documentation will explain its usage
of these extensions.
Allows activation of the OUT1 signal on startup
This feature forces the OUT1 output signal to the active state during
initialization at system startup.
Note: Unless you turn off OUT1 via a DosDevIOCtl call when the COMi
extention Enable Modem Extensions is enabled, OUT1 will remain
active throughout the life of that OS/2 session.
Supports special processing for the Texas Instruments 16C550A/B UART:
This feature allows you to specify that the device you are
configuring COMi for is a Texas Instruments 16C550A or 16C550B UART.
These UARTs require some special processing when the receive FIFO is
enabled. If the item is not checked when the device is a TI 16C550A
or 16C550B your system WILL lock-up if this device is used with
receive FIFOs enabled.
Allows multiple devices to be connected to a single interrupt:
This feature will allow more than one device to share an Interrupt
Request (IRQ) connection.
Note: When this item has been selected you can also select to allow
more than one device connected to an interrupt level to be
open at the same time by disabling exclusive access tests at
run-time.
Disabling exclusive access tests and opening two ports connected to
the same interrupt level is not recommended, as it is possible for
your system to stop responding to an interrupt level shared in this
manner under certain conditions that may, or may not, be under your
control.
Note: When you are using an adapter that supports shared interrupts you MUST
use the Adpter Set-up button in the Device Install... dialog box to
configure this COMi load for that specific interrupt adapter.
ΓòÉΓòÉΓòÉ <hidden> Help for Device Driver Extensions Dialog ΓòÉΓòÉΓòÉ
Use the Extensions dialog box to select the following extensions for the device
being configured:
Select Accept Extended Modem Controls:
To allow an application to have runtime control of the OUT1 and LOOP
signals of the UART.
Select Disable Modem Interrupts:
To process modem input signals without interrupts. The purpose of
this extention is to make it possible to use this device driver on
some adapter boards that do not properly terminate all of the modem
signal input pins of a UART. Modem signals are still monitored when
this item is selected, just not as efficiently.
Select Use Explicit Baud Divisor:
To take advantage of those adapter boards that allow a user to select
non-standard clocks for the UART baud rate generator.
Select Disable Startup UART tests:
To disable extensive testing of the UART and its connections at
initialization, including hardware interrupt connection, and
interrupt ID register functionality.
Select Enable Device Driver Extensions:
To enable application specific COMi extensions. These extensions are
specific to some specialized applications. If you are using an
application supported by one or more of these extensions, that
application's documentation will explain its usage of these
extensions.
Select Activate OUT1 on Startup:
To force the OUT1 output pin active at initialization.
Note: Unless you turn off OUT1 via a DosDevIOCtl call when the COMi
extention Enable Modem Extensions is enabled, OUT1 will remain
active throughout the life of that OS/2 session.
Select Texas Instruments 16C550A/B:
If the device you are configuring is a Texas Instruments 16C550A or
16C550B UART. These UARTs require some special processing when the
FIFOs are enabled.
Select Shared Interrupt Connection:
To allow more than one device to share an Interrupt Request (IRQ)
connection.
Note: When this item has been selected you can also select to allow
more than one device connected to an interrupt level to be
open at the same time by deselecting the Exclusive Access
check box.
Deselecting Exclusive Access and opening two ports connected to the
same interrupt level is not recommended, as it is possible for your
system to stop responding to an interrupt level shared in this manner
under certain conditions that may, or may not, be under your control.
Warning: Unless a serial adapter has specialized hardware it will not be
possible to share interrupts in any way. For this feature to be useful your
hardware MUST not load its interrupt request (IRQ) line unless, and until, it
has an interupput to be processed. If the device loads the IRQ when not in the
interrupt state then any other device connected to that IRQ will not be able to
signal an interrupt to the system interrupt controller.
Note: When you are using an adapter that specifically supports shared
interrupts you MUST use the Adpter Set-up button in the Device
Install... dialog box to configure this COMi load for that specific
interrupt adapter.
ΓòÉΓòÉΓòÉ <hidden> Help for Adapter Configuration Dialog ΓòÉΓòÉΓòÉ
The Adapter Type group is used to select the type (or manufacturer) of the
serial adapter for which you are configuring the device driver.
Select Comtrol Hostess:
If your are using Comtrol Corporation's four or eight port Hostess
serial adapter, or any adapter that uses the same ISA bus shared
interrupt scheme.
Select Sealevel Systems:
If your are using Sealevel Systems' four port Turbo COMM+4, the eight
port COMM+8 serial adapters, or any adapter that uses the same ISA
bus shared interrupt scheme. Sealevel supplies its adapters to
various distributers under different names. You would use this
selection for any of those serial adapters.
Select Quatech:
If your are using Quatech Incorporated's four port QS-XXX series, or
the eight port ES-XXX series serial adapters, or any adapter that
uses the same ISA bus shared interrupt scheme.
Select DigiBoard (PC/4 & 8):
If your are using DigiBoard's four port PC/4, or the eight port PC/8
serial adapters.
Select DigiBoard (PC/16):
If your are using DigiBoard's sixteen port PC/16 serial adapter.
Select Other:
If your are configuring any serial adapter that does not support
interrupt sharing in hardware. Selecting this item disables hardware
supported interrupt sharing for this COMi load, and will allow you to
select an interrupt level for each device you define for this load.
Use the Interrupt Status/ID Address field to define an interrpt ID register
address for the device driver load being configured.
Use Entry Base to select a numerical base to display and read the interrupt ID
register address.
o Select Hexadecimal to to display/read the interrupt ID register address as a
base 16 number.
o Select Decimal to to display/read the interrupt ID register address as a base
10 number.
Use Interrupt Level to select the hardware Interrupt level to which the adapter
is connected.
Select the Interrupt Processing Algorithim button to select the manner in which
the interrupt Status/ID register will be used to process adapter interrupts.
ΓòÉΓòÉΓòÉ <hidden> Help for Device Driver Configuration ΓòÉΓòÉΓòÉ
The COMi Load group is used to select the following parameters:
This button will open the adapter set-up dialog box. Use this button
to configure the COMi device driver for your serial adapter. This
button appears only for ISA serial adapters and is not required for
MCA adapter configuration.
Device Driver Load Number
This field is used to select the device driver load number to
configure.
Add Load
This button will cause another device driver load to be opened for
device installation.
Remove Load
This button will cause the currently selected device driver load to
be deleted.
Note: You will not be allowed to delete load number one. If you
want to remove all COMi loads and remove all DEVICE=comdd.SYS
statements from your CONFIG.SYS file you will have to delete
each device from the Device Definitions list box for load
number one.
The Initialization Report group allows the user to select for additional
information to be displayed at initialization:
Verbose Sign-on
This parameter, when selected, causes the device driver to display
extended information during initialization.
Wait for Keystroke or Timeout...
This parameter, when selected, causes the device driver to wait until
either the user presses the ENTER key or the timeout defined in the
next parameter occurs. This is to allow a user time to read the
extended information displayed when Verbose Sign-on is selected.
The list box in the Device Definitions group shows a list of any installed
devices for the currently selected device driver load. Each device driver load
can have up to eight serial devices under its control.
Each installed device will have the following information:
o Device's logical name (COM1 through COM99)
o Device's hardware base I/O address
o Device's hardware interrupt level
o Indicators for any device driver extensions selected for that device
You can edit a defined device's configuration either by double clicking the
mouse button one on that list item or selecting that device in the list and
selecting the Edit Device button.
If there are less than eight devices defined you can install a new device by
selecting the Add Device button. If you are installing a sixteen port adapter
(i.e., DigiBoards PC/16) the Add Device button will remain enabled until you
have installed all sixteen serial devices.
You can delete any defined device by selecting that device from the list and
selecting the Remove Device button.
Click on the OK button to close the dialog box and save the changes just made.
Click on the CANCEL button to close the dialog box without saving any changes.
ΓòÉΓòÉΓòÉ 9. COMi Buffer Size Limits ΓòÉΓòÉΓòÉ
COMi buffer sizes can be set to the following:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéBuffer ΓöéminimunΓöédefaultΓöémaximumΓöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéReceive Γöé1024 Γöé4096 Γöé64k Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéCOMscopeΓöé1024* Γöé4096 Γöé32k Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéTransmitΓöé128 Γöé256 Γöé8k** Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
* If COMscope access is disabled no COMscope buffer will be allocated.
** A total of about 63k is available for all transmit buffers for each COMi
load.
ΓòÉΓòÉΓòÉ 10. Installing ISA Serial Devices ΓòÉΓòÉΓòÉ
If you are installing a serial support in an ISA machine and you intend to
connect multiple devices to a single hardware interrupt level you need to be
aware of the following:
1. Your adapter must have special features to support interrupt sharing.
2. The adapter's special features that allow interrupt sharing must be enabled
and configured correctly.
3. You must know the hardware address of your adapter's interrupt status or ID
register.
4. You must open the adapter set-up dialog by clicking on the Adpter Set-up
button from the Device Install dialog to specify the adapter type, hardware
interrupt level, and address of the interrupt status/ID register in order
to define more than one device to a hardware interrupt level.
Note: Sharing interrupts on an MCA machine requires no special configuation.
Please note, though, that it is not recommended that you connect more
than eight devices to any one hardware interrupt level.
ΓòÉΓòÉΓòÉ 11. Installing COMi Print Spooler Support ΓòÉΓòÉΓòÉ
To install and configure COMi Print Spooler support you must have selected to
transfer the spooler support files while installing COMi by selecting the
"Print Spooler Utilities" check box in the "Install Options" dialog, and you
must have re-booted your machine since that install session.
Once you have completed installing the files you will need to do the following:
1. Click mouse button two (usually the right button) on a local printer
object. If you have not created a local printer object yet then you will
need to drag a non-network printer object from the "Templates" folder onto
your desktop.
Note: If you will be creating a printer object as part of this
installation then skip to item three, as the printer object's
settings notebook will have been presented immediately after you
dragged the object from the "Templates" folder. You will also have
to select a printer driver and possibly need to set other parameters
in the printer's settings notebook.
2. Select the "Settings" menu item.
3. Click on the "Output" tab.
4. Click mouse button two on any port icon in the container window.
5. Select the "Install" menu item.
6. In the "Directory" entry field enter the following (without the quotes):
"\OS2\DLL", then press the <ENTER> key or select the "Refresh" button.
7. The Spooler software will read each spooler support library in that
directory, including the COMi spooler support library, show an icon in the
container area for each device the spooler support libraries support.
8. Select one, or more, of the COMi Spooler ports and select the "Install"
button.
9. When the Spooler software is finished installing the ports you have
selected it will present a message box indicating thet the ports you
selected have been installed. Click on the "OK" button.
10. When you are through installing Spooler Ports, click on the "Cancel"
button.
11. You can set the port parameters to match the requirements of a printer by
clicking mouse button two on an icon in the container area and selecting
the "Settings" menu item. Help for setting port parameters will be
available once you have entered the setup dialog.
Once you have installed at least one COMi spooler port in this manner, you will
be able to install and delete spooler ports from the COMi Configuration program
(either Install or COMscope).
Configuration of these ports for printer initialization will always have to be
done from the printer object's settings notebook.
ΓòÉΓòÉΓòÉ <hidden> Help for Timeout Processing ΓòÉΓòÉΓòÉ
Use the Read Timeout Processing group to select the type of read time-out
processing you need, and to set the read time-out count.
Select :
Normal read time-out processing:
Causes the device driver to wait up to the designated read time-out
count after each character received before returning to the calling
application.
Upon reception of a read request packet the device driver will first
try to fill the request from the receive buffer. If all of the bytes
requested are available in the buffer, the device driver will return
immediately. If all of the requested bytes are not in the buffer,
the device driver will wait for incomming bytes until either the
request is filled (all requested bytes have been placed into the
receive buffer by the hardware) or until more than the time
represented by the read time-out count passes between bytes received
by the hardware.
Wait for Something read time-out processing:
Causes the device driver to act like No Wait read time-out processing
only if there are characters available in the buffer when the read
request packet arrives. In this case the device driver will return
to the calling process, immedialely, with any characters that are
available, up to the number of characters requested. If there is
nothing in the receive queue when the request packet arrives the
device driver enters Normal read time-out processing and returns only
after either the request is filled (all requested bytes have been
placed into the receive buffer by the hardware) or until more than
the time represented by the read time-out count passes between bytes
received by the hardware.
No Wait read time-out processing:
Causes the device driver to transfer up to the requested number of
bytes from the receive buffer and return immediately. The read
time-out count is ignored.
Upon reception of a read request packet, if no bytes are available
the device driver still returns immediately.
Use the Write Timeout Processing group to select the type of write time-out
processing you need, and to set the write time-out count.
Normal write time-out processing:
Causes the device driver to wait up to the designated write time-out
count for any output handshaking request that caused the device
driver to stop transmitting .
Upon reception of a write request packet the device driver will try
to begin transmitting. If some output handshaking signal (CTS, DSR,
DCD, or reception of an Xoff character) indicates that the device
driver should not be transmitting the device driver will wait up to
the write time-out count for all signals to indicate it is OK to
start transmitting again and all bytes remaining to be transmitted
are transmitted, before returning to the calling application.
Infinite write time-out processing:
Causes the device driver to wait forever for a handshaking signal to
indicate that it is OK to transmit. "Forever" can be limited by
sending a "flush output buffer" command.
Upon reception of a write request packet the device driver will try
to begin transmitting. If some output handshaking signal (CTS, DSR,
DCD, or reception of an Xoff character) indicates that the device
driver should not transmit, the device driver will wait until it has
been signaled to start transmitting again and all bytes remaining to
be transmitted are transmitted, before returning to the calling
application.
Timeout Counts
Both time-out counts represent the number of ten millisecond intervals to wait,
zero based. For example: a count of 99 will cause the device driver to wait up
to one second before returning.
ΓòÉΓòÉΓòÉ <hidden> Help for Handshaking ΓòÉΓòÉΓòÉ
Selecting Transmit Xon/Xoff handshaking will cause the device driver to stop
transmitting characters when an Xoff character is received and to start
transmitting again when an Xon character is received.
Selecting Receive Xon/Xoff handshaking will cause the device driver to transmit
an Xoff character when the receive buffer is close to full (off threshold) and
to transmit an Xon character when the receive buffer is less than half full (on
threshold).
Selecting Full Duplex will allow the device driver to continue transmitting
after transmitting an Xoff character. Otherwise the device driver will stop
transmitting after transmitting an Xoff character and will begin transmitting
againg after it sends an Xon character.
When either of the ASCII Handshaking protocols are selected you will be able to
enter values for the Xon Character and the Xoff Character. These characters
have standard values and should only be changed if you have special
requirements. These values are displayed, and can only be entered, in
Hexadecimal (base 16) format.
Selecting any of the Output Handshaking signals will cause the device driver to
stop transmitting when that signal is detected to be in the inactive, or off,
state.
Selecting DSR Input Sensitivity will cause the device driver to ignore any
bytes received while the DSR signal is detected to be inactive.
Selecting RTS or DTR Input Handshaking will cause the device driver to make
those respective signals inactive when the receive buffer is close to full (off
threshold) and to make them active when the receive buffer is less than half
full (on threshold).
Selecting RTS Toggling on Transmit will cause the device driver to make RTS
active whenever it begins transmitting. When transmitting has been stopped for
approximately 30 milliseconds the device driver will make RTS inactive.
Selecting Enable or Disable RTS or DTR will cause those respective signals to
be enabled or disabled.
Make the required selection by checking the required buttons.
ΓòÉΓòÉΓòÉ 12. Help for Menus ΓòÉΓòÉΓòÉ
Various COMscope modes and functions are selected by using the menu bar.
The Following headings are available:
o File
o Action
o Options
o Device
o Help
ΓòÉΓòÉΓòÉ 12.1. Help for File ΓòÉΓòÉΓòÉ
Use File to load or save a previously captured I/O data stream or to exit
COMscope.
The possible selections are:
Load Data
Load a previously saved I/O data stream capture buffer.
Save Data
Save the current contents of an I/O data stream capture buffer.
Save Data As
Save the current contents of an I/O data stream capture buffer under
a new file name.
Exit
Close this instance of COMscope and return to the OS/2 Desktop.
ΓòÉΓòÉΓòÉ 12.2. Help for Action ΓòÉΓòÉΓòÉ
Use Action to select various I/O data stream processing options for the current
active device.
The possible selections are:
Capture Data Stream
Enables I/O data stream. capturing for the currently active device.
Display Data Stream
Enables "real-time" display of the currently active device's data
stream.
Examine Data
Enables display and scrolling of the current contents of the I/O data
stream capture buffer.
Surface Sessions
Enables user to cause all child windows, either of this COMscope
session, or all COMscope sessions, to be brought to the top on the
desktop.
A check mark appears next to an item that is "toggled" to the active state.
ΓòÉΓòÉΓòÉ 12.3. Help for Device ΓòÉΓòÉΓòÉ
Use Device to select, configure, and control a COM port.
The possible selections are:
Select Device
Select COM port to "activate" for monitoring and control.
Install Device
Install or edit COM port initialization parameters.
Status
Monitor various "active" device and device driver states.
Control
Control various "active" device and device driver functions and
affect various states of the device and device driver.
Protocol
Set "active" COM port online parameters (i.e., line characteristics,
baud rate, etc).
ΓòÉΓòÉΓòÉ 12.4. Help for Options ΓòÉΓòÉΓòÉ
Use Options to select or toggle various device monitoring options.
The Options are:
Capture Buffer Setup...
Allows you to define I/O data stream capture buffer size and processing.
Capture Update Frequency...
Allows the user to specify how often COMscope reads the device driver's
COMscope trace buffer.
Normally the amount of time between COMscope reads of the trace buffer is
calculated by COMscope and is based on the baud rate and the size of the
COMscope buffer defined within the device driver. The value calculated is
conservative, in that it is assumed that data will be streamed continously
in both the transmit and receive directions.
The user may be better able to judge the maximun throughput required and,
therefore, be able to select a more efficient time-out value. In any case,
if the user enables the Display Data Stream mode, the time-out will be
adjusted to a maximum of 200 milliseconds.
Stream Display Format
Allows the user to switch the display between the lexical and
time-relational formats. The user can also press the F8 function key to
"toggle" display formats.
Sticky Pop-up Menus
Allows the user to set the response attributes of all pop-up menus to:
1. Cause the pop-up menu to stay where it appeared when first invoked,
until the user has either:
a. Selected an item
b. Clicked mouse button one somewhere other than on the menu
c. Pressed the ESCAPE key
2. Cause the pop-up menu to stay up only as long as the user holds down the
mouse button that was used to invoke the menu (mouse button two).
Note: If this attribute is selected the user can cancel without
selecting an item in the menu by moving the pointer off the menu
and releasing the mouse button.
Manage Profile...
Opens COMscope profile management dialog.
A check mark appears next to those items that are "toggled" to the active
state.
ΓòÉΓòÉΓòÉ 12.4.1. Help for Select Device ΓòÉΓòÉΓòÉ
Use the Select Device menu item to bring up the COMscope device selection
dialog.
The COMscope device selection dialog presents a drop down list of currently
available COMscope devices. Only one COMscope session may access any single
serial device.
ΓòÉΓòÉΓòÉ 13. Editing Serial Device Startup Parameters ΓòÉΓòÉΓòÉ
To edit serial device's configuration:
1. Select Device
2. Select Install Device
3. Select a device to edit.
Various COMi device driver startup parameters can be changed from the defaults
selected by OS/tools.
The parameters that can be changed are:
1. Initial baud rate
2. Initial line characteristics
3. Initial time-out processing
4. Initial handshake processing
5. Initial FIFO setup
6. Transmit, receive, and COMscope buffer sizes
7. Various extensions
The parameters noted as "initial" settings can be changed at runtime by any
application. Some of these parameters will be returned the inital value
whenever a first level DosOpen is processed for a device.
ΓòÉΓòÉΓòÉ 14. Installing Serial Devices ΓòÉΓòÉΓòÉ
To install or configure a serial device:
1. Select Device
2. Select Install Device
To install a device you must select at least an I/O base address, an interrupt
level, and a DOS (COMx) device name.
Related Information:
Installing ISA Serial Devices
ΓòÉΓòÉΓòÉ <hidden> Help for File Select ΓòÉΓòÉΓòÉ
Use Select File... to select a filename to process:
1. Select the down arrow to the right of the Drive list to display all the
drives on your system.
2. Select a drive from the Drive list.
3. Select a directory from the Directory list.
4. Select a file name from the File list or type in a file name.
5. Select the OK pushbutton to except the file selected.
For a detailed explanation of each field, select from the list below:
o Select file name
o Type of file
o Drive
o File
o Directory
o OK
o Cancel
ΓòÉΓòÉΓòÉ <hidden> Help for Open Filename ΓòÉΓòÉΓòÉ
Type the name of the file you want to select in the Open filename field and
select the OK pushbutton.
ΓòÉΓòÉΓòÉ <hidden> Help for Type of File ΓòÉΓòÉΓòÉ
Select the down arrow to the right of the Type of file field to display the
available file types.
ΓòÉΓòÉΓòÉ <hidden> Help for Drive ΓòÉΓòÉΓòÉ
The Drive list displays the drives on your system. Select the drive that
contains the files you want to view.
ΓòÉΓòÉΓòÉ <hidden> Help for File ΓòÉΓòÉΓòÉ
The File list displays all the files in the directory you selected from the
Directory list. Select the file you want to process.
ΓòÉΓòÉΓòÉ <hidden> Help for Directory ΓòÉΓòÉΓòÉ
The Directory list displays the directories on the selected drive. Select a
directory to display the list of files from that directory in the File list
box.
ΓòÉΓòÉΓòÉ <hidden> Help for OK ΓòÉΓòÉΓòÉ
Select OK to accept all information in the window and remove the window from
the screen.
ΓòÉΓòÉΓòÉ <hidden> Help for Cancel ΓòÉΓòÉΓòÉ
Select Cancel to remove the window from the screen without completing any
action or saving any changes.
ΓòÉΓòÉΓòÉ <hidden> Help for Input Stream Filtering ΓòÉΓòÉΓòÉ
Select Enable Error Replacement Character to cause the device driver to replace
any character received with a parity or overrun error with the currently
defined Error Replacement Character.
When Enable Error Replacement Character is enabled you can enter an Error
Replacement Character value. This value can only be entered in Hexadecimal
(base 16) format.
Select Enable Break Replacement Character to cause the device driver to replace
any character received during a transition to the break condition with the
currently defined Break Replacement Character.
When Enable Break Replacement Character is enabled you can enter a Break
Replacement Character value. This value can only be entered in Hexadecimal
(base 16) format.
Select Enable NULL Striping to cause device driver to NOT place received NULL
characters (zeros) into the receive buffer.
ΓòÉΓòÉΓòÉ <hidden> Help for Line Protocol ΓòÉΓòÉΓòÉ
Select the line protocol for this device by checking the required buttons.
Selecting parity to be Zero will cause the parity bit to be transmitted as a
zero, and cause the receiver to expect a zero in the parity bit for any
character it receives.
Selecting parity to be One will cause the parity bit to be transmitted as a
one, and cause the receiver to expect a one in the parity bit for any character
it receives.
ΓòÉΓòÉΓòÉ <hidden> Help for Hardware Buffer Control ΓòÉΓòÉΓòÉ
Select the required FIFO Control parameters by checking the required button.
When Automatic Protocol Override is selected the device driver will
automatically disable the receive FIFO whenever Receive Xon/Xoff handshaking,
RTS or DTR Input Handshaking, or DTR Input Sensitivity are enabled, and disable
the transmit FIFO whenever any Output Handshaking is enabled.
Select the required FIFO depth by checking the required buttons.
Note: The COMi device driver has sufficient handshanking threshold padding to
accomodate bytes received in the FIFO after a handshake signal occurs.
Unless your application MUST stop receiving and/or transmitting on
exactly the byte received and/or transmitted when a handshake signal is
detected it is recommended that Enable FIFO be selected.
ΓòÉΓòÉΓòÉ <hidden> Help for Baud Rate Selection ΓòÉΓòÉΓòÉ
Select a standard baud rate from the drop down list box.
You may enter a non-standard baud rate in the entry field. If the value you
enter is not within 1% of a baud rate the device is capable of, it will be
rejected.
If you have Explicit Baud Divisor selected for this port, the value you enter
will be used as the baud rate divisor for this device.
In order to use the Explicit Baud Divisor feature, the device you are
controlling must be capable of non-standard UART clock rate selection in
hardware. See your serial adapter documentation for further information.
ΓòÉΓòÉΓòÉ 15. Communications Concepts ΓòÉΓòÉΓòÉ
This section is a "catch-all" for any information we thought may be helpful.
Concepts:
o Automatic Protocol Override
o Baud Rate
o I/O Stream Filtering
o Communications Handshaking
o Line Characteristics
o Device Driver Wait States
ΓòÉΓòÉΓòÉ 15.1. Device Driver Wait States ΓòÉΓòÉΓòÉ
Whenever an application reads from or writes to a COM port the device driver
may block the thread that calls the DosRead or DosWrite function.
Threads can be blocked on DosRead calls whenever the number of characters
requested are not available.
Threads can be blocked on DosWrite calls whenever some handshaking processing
requires that a serial device not transmit.
Because of this, it is recommended that the main thread (in which the message
queue is executing) not be used to read from and write to a COM port.
If the thread in which a message queue is executing is blocked it can cause the
entire system to be blocked because that thread cannot return to the queue
until the event that caused the device driver to block has occurred.
The amount of time the device driver will block for any event is configurable
by any application.
ΓòÉΓòÉΓòÉ 15.2. Line Characteristics ΓòÉΓòÉΓòÉ
The format of the data that is to be transmitted and received is configurable
by any application.
The parameters that are available are:
1. The number of data bits
2. The number of stop bits
3. The type of parity processing, if any
From five to eight data bits can be selected.
One, one and a half, or two stop bits can be selected.
Note: 1.5 data bits is only valid when five data bits is defined and 2 stop
bits is not valid when five data bits is selected.
There are five parity processing options:
1. No parity
2. Even parity
3. Odd parity
4. Zero parity
5. One parity
Even parity causes the parity bit to be on (one) whenever the bits of a data
word add up to an even value. For example: the data value 0x55 would cause the
parity bit to be on and the data value 0x45 would cause the parity bit to be
off (zero).
Odd parity causes the parity bit to be on (one) whenever the bits of a data
word add up to an odd value. For example: the data value 0x55 would cause the
parity bit to be off (zero) and the data value 0x45 would cause the parity bit
to be on.
Zero parity causes the parity bit of a data word to be off (zero) at all
times.
One parity causes the parity bit to be on (one) at all times.
FYI Zero and One parity are sometime referred to as "stick" parity because
they cause the parity bit to "stick" at some value.
When no parity is selected no parity bit is transmitted. This causes the data
word to be one bit shorter than a data word that requires some type of parity
information.
Line characteristic settings cause the data word to have different bit lengths.
As all data words have a start bit, line characteristics of eight data bits,
one stop bit, and no parity bit will cause a data word of ten bits to be
transmitted.
Only the first stop bit is tested when a data word is received.
ΓòÉΓòÉΓòÉ 15.3. Receive Stream Filters ΓòÉΓòÉΓòÉ
There are three types of stream filters available:
1. Error character replacement
2. Break character replacement
3. NULL character stripping
If Error Character Replacement is enabled a user specified character will be
placed in the receive buffer whenever a receive error is detected, instead of a
possibly bad received character. The default error replacement character is
the NULL character (zero).
Errors that can cause the replacment character to be inserted are:
1. Receive hardware overrun
This will happen when a new character is received at the hardware before a
previously recieved character has been removed by the device driver.
This is usually a result of too high a baud rate. Using a serial adapter
with 16550 UARTs will usually prevent this error.
2. Parity errors
This error can be caused by mismatched line characteristics or noisy data
lines.
3. Framing errors
This error is usually caused when baud rates are not the same between this
hardware (near-end) and the hardware you are attempting to communicate with
(far-end).
4. Receive buffer overrun
This error is caused when an application does not "read" from the device
driver as fast as the data is received.
This error can be prevented by using some form of "handshaking".
If Break Character Replacement is enabled a user specified character is placed
into the receive buffer when a "break" condition is first detected at the UART.
Once the break character has been inserted in the buffer no new characters will
be placed in the buffer until the "break" condition is no longer being
received.
If NULL Stripping is enabled characters received that have a value of zero will
not be placed in the receive buffer.
ΓòÉΓòÉΓòÉ 15.4. Automatic Protocol Override ΓòÉΓòÉΓòÉ
Normally you would want to enable hardware buffers to reduce system overhead.
When handshaking is required between this hardware (near-end) and some external
hardware (far-end), it may be required that a far-end's request to stop
transmitting be acted upon immediately.
If hardware buffers are enabled it would be possible for that hardware to
transmit up to 20 characters after the device driver receives a "stop
transmitting" signal. This is because once the device driver has filled the
hardware buffer, transmission will continue until the buffer is empty. This
may cause a problem for some far-end equipment.
This problem can occur when any output handshaking is enabled. This includes
CTS, DSR, and/or DCD output handshaking and transmit Xon/Xoff handshaking. The
CTS, DSR, and DCD signals are "hardware" flow control signals and transmit
Xon/Xoff handshaking is "software" flow control signaling.
There are two output handshaking scenarios to consider. The first is the
hardware signaling case. When the far-end's receive buffer is full (or nearly
full) it may signal to the near-end by making one or more of the hardware
signals inactive. When the near-end detects an inactive signal it should stop
transmitting. If the transmit buffer is enabled at the near-end it could
transmit up to 16 characters before it becomes aware of the signal to stop.
The second case is software signaling. When the far-end's receive buffer is
full (or nearly full) it may signal the near-end by transmitting an Xoff
character. When the near-end receives the Xoff character it should stop
transmitting. If, at the near-end, the receive buffer is enabled, it will not
detect the request to stop transmitting until it has read the Xoff character
from the receive buffer, and if the transmit buffer is enabled it may transmit
up to 16 bytes before it stops transmitting.
When hardware buffers are enabled receive interrupts can be caused by two
events. The first is when the number of characters in the FIFO reaches the
programmed threshold, either one, four, eight, or fourteen characters. The
second is when at least one character has been received and placed in the FIFO
and then no new characters are received for four character times. This second
type of receive interrupt would make it possible for an Xoff character to be
received by the hardware and not be read by the device driver for up to four
character-times after the character was received.
The worst case would be for the Xoff character to arrive at the near-end
hardware just as there are four characters left in the transmit buffer to be
transmitted.
The device would cause a transmit interrupt just as the last of the four
characters is transmitted and the device driver would refill the transmit
buffer, then the device would cause a receive FIFO time-out interrupt and the
device driver would read, and detect, the Xoff character, preventing further
transmissions. This case could allowup to 20 characters to be transmitted
after the far-end transmitted the Xoff character.
All of these potential problems go away if the transmit buffer is disabled when
any output handshaking is enabled and/or the receive buffer is disabled when
transmit Xon/Xoff handshaking is enabled.
When Automatic Protocol Override (APO) is enabled the device driver adjusts
hardware buffer functionality according to handshaking requirements. When APO
is enabled and an application requests CTS, DSR, or DCD output handshaking, the
device driver will disable the transmit buffer. When APO is enabled and an
application requests transmitXon/Xoff handshaking the device driver will
disable both the transmit and receive buffers.
There is one other adjustment APO can cause the device driver to make to the
hardwarebuffer functionality of a device. When DSR input sensitivity is
enabled, and APOis enabled, the receive buffer will be disabled by the device
driver.
DSR input sensitivity is designed to handle devices that may transmit garbage
whenever DSR is in the inactive state. In this case it would be necessary to
ignore any characters received while DSR is inactive. It may be possible for
the far-end to transmit a character at the same time it activates DSR. This
could cause the near-end to miss a valid character if its receive buffer is
enabled.
What does all this mean to you? Probably nothing. There are not many far-end
devices around these days that do not have some level of buffering
capabilities. We recommend that you leave APO off unless, and until, you
determine that you are communicating with some archaic equipment that requires
it.
Related Information:
o Communications Handshaking
ΓòÉΓòÉΓòÉ 15.5. Communications Handshaking ΓòÉΓòÉΓòÉ
In any system it is important that all real-time activities, like serial
communications, be truly asynchronous. Basically this means that no
information should be lost because the operating system was busy doing
something else. In operating systems like DOS, or DOS and Windows**, there is
never any guarantee the operating system will be able to get to a real-time
process in a timely manner. Each process in these systems owns the machine
until it relinquishes control. If a real-time process needs service it has to
wait until any current processes are finished.
In OS/2* this is not normally a problem. Its structure is such that hardware
interrupts have the highest priority and are serviced "almost immediately", and
other processes are given a time-slice in which to execute.
Problems can occur in two ways. The first is when hardware interrupts come in
faster than the operating system can respond. For asynchronous serial
communications this problem is addressed mostly by serial devices with hardware
buffers (FIFOs).
The second problem is that a process may not be able to read and process
incoming information as fast as the hardware and device driver can receive and
store information. This problem is addressed by the handshaking features of
the serial device driver.
When handshaking is enabled the receiving system (device driver) will signal
the transmitting system to stop transmitting when its receive buffer nears full
capacity. The transmitting system should stop transmitting when it receives a
signal to stop.
In OS/2 a serial device driver must be capable of handshaking without
intervention or control by the controlling higher level process. All a
controlling process needs to do is command the device driver into a handshaking
mode and the device driver must do all of the processing to be sure that the
controlling process does not lose any information.
This includes detecting when its own receive buffer is nearly full so it can
send a stop transmitting signal and then detecting when its receive buffer has
been emptied enough so that is can send a start transmitting signal. It also
includes detecting when the device it is transmitting to has sent a stop
transmitting or start transmitting signal and act accordingly.
ΓòÉΓòÉΓòÉ 15.6. Serial Device Baud Rate ΓòÉΓòÉΓòÉ
Baud rate for a serial device is defined as the number of bits per second that
are transmitted and/or received over a transmission line. A baud rate of 9600
means that 9,600 bits are communicated each second. Another common way to
express baud rate is with the units "BPS" for Bits Per Second (i.e., 9600 BPS).
The actual number of characters communicated can be calculated by adding the
number of bits in a character to the number of stop bits specified, adding one
for the start bit, and adding one if a parity bit is required.
For example an eight bit character using no parity and one stop bit would
require ten bit times to transmit one character of information. In this case a
baud rate of 9600 would communicate about 960 characters a second. A seven bit
character with even parity and one stop bit would also require ten bit times to
transmit a single character.
Using COMscope you can set the baud rate for a monitored device. Setting the
baud rate for a device will force a change to the new baud rate, preempting any
baud rate set by any application accessing that device. Any application can
reset another baud rate at any time.
To set the baud rate for a monitored device:
1. Select Device
2. Select Protocol
3. Select Baud Rate
If you enter an invalid baud rate the baud rate will not be changed.
ΓòÉΓòÉΓòÉ 15.7. Serial Device FIFO Processing: ΓòÉΓòÉΓòÉ
When the device being controlled by the COMi device driver is a 16550 UART, or
equivalent, COMscope can be used to set the various FIFO processing modes of
that device. If the device does not have FIFOs the FIFO Control... menu item
will be disabled.
COMi has three major FIFO modes:
1. FIFOs disabled
2. FIFOs enabled
3. Automatic Protocol Override (APO)
When FIFOs are enabled, this includes APO, the depth of the buffers is
selectable.
For the receive FIFO the following thresholds can be selected:
1. One character
2. Four characters
3. Eight characters
4. Fourteen characters
Either one character or sixteen characters can be buffered for transmission.
Related Information:
o Automatic Protocol Override
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Each device to be controlled by the COMi device driver owns a set of eight
contiguous I/O space addresses. The I/O base address is the first address in
that device's address space. See your adapter board documentation to determine
what I/O base address to use.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Each device to be controlled by the COMi device driver must be connected to
one, and only one, hardware interrupt level. See your adapter board
documentation to determine what interrupt level to select.
Note: An exception to this rule is when you use a serial adapter that supports
shared interrupts in an ISA machine. If you are using such an adapter
you must take care not to use more than one interrupt level for each
COMi load.
You may use any combination of interrupt levels MCA machines.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
A first level DosOpen is the first time a device is opened by any application.
Any other DosOpen calls, without first calling DosClose, are considered second
level opens. When all applications have closed a device then the next DosOpen
for that device will, again, be considered a first level DosOpen. The device
driver returns some device operating parameters back to device driver defaults
whenever a first level DosOpen occurs.
Device driver operating parameters that are set back to device driver defaults
are:
o Handshaking Parameters
o Time-out Values
o Time-out Processing
o Stream Filters
Note: COMi start-up defaults are configurable by the user. The parameters in
the above list are returned to defaults defined explicitly by the user
or implicitly by OS/tools. If the user has not defined a given
parameter default during configuration that parameter will be returned
to the default defined by OS/tools.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Industry Standard Architecture
Machines that are compatible with the IBM AT personal computer are of this
type.
IBM and AT are registerd trademarks of International Business Machines.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Micro Channel Architecture.
Machines that are compatible with the IBM PS/2 are of this type.
IBM, Micro Channel, and PS/2 are registerd tradmarks of International Business
Machines.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
The active device is the device selected from the "Device | Select Device..."
menu dialog box. The name of the currently active device is displayed in the
title bar of the COMscope main window, in the title bar of all COMscope monitor
and control dialog boxes, and is shown as the title of any visible icon when a
COMscope instance has been minimized.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
A COM device's main purpose in life is to send/receive data to/from some
external device. All data written to a device, and/or read from a device, is
considered to be that device's I/O Data Stream. Once a valid device has been
selected COMscope can be made to capture, and save, any data that is part of
that I/O Data Stream. The bytes of an I/O Data Stream are stored in the order
in which they are transmitted and/or received.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Ordinarily each byte received or transmitted is displayed in order of transfer
to/from the hardware, with each new byte is placed for viewing into the next
character position on the screen. When display compression is selected the
character position is not incremented when a received byte follows a
transmitted byte.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Each DEVICE=comdd.SYS statement in your CONFIG.SYS file is considered a load
of the COMi Asynchronous Device Driver.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
You can check (select) a button either by clicking mouse button one on the
item or by using the TAB and/or cursor keys to move so the required item has
the focus then pressing the space bar.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
A symbol that shows that a menu choice is currently active.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
In the lexical display format only characters that are not excluded by the
user with display filters are displayed.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
When the lexical display format is in the "line" oriented mode the transmit
and receive streams can be synchronized. This means that a stream direction
being synchronized "to" is displayed starting at the first character of that
"line" and the stream direction that is to be in synchronization is displayed
starting at the first character of the first "line" the begins immediately
after the first character of the sync to stream direction.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Stream direction is either into the device (receive), or out of the device
(transmit).
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Different adapter manufacturers use different schemes to allow shared
interrupts in ISA machines. Currently the COMi device driver supports the
following schemes:
o Interrupt ID register is at the adapter base I/O address +7
Sealevel Systems COMM+8 and Turbo COMM+4, Comtrol Hostess, and Quatech ES-XXX
and QS-XXX
Note: The Quatech adapters mirror the ID register at all device base I/O
addresses +7
o Interrupt ID register is at a user defined location and varies with the
interrupt level used
DigiBoard PC/4, PC/8, and PC/16
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
IBM, OS/2, PS/2, and Micro Channel are trademarks of International Business
Machines.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Windows is a trademark of Microsoft, Incorporated.