| '\" |
| '\" Copyright (c) 1995-1996 Sun Microsystems, Inc. |
| '\" |
| '\" See the file "license.terms" for information on usage and redistribution |
| '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
| '\" |
| '\" RCS: @(#) $Id: fconfigure.n,v 1.7 2002/07/01 18:24:39 jenglish Exp $ |
| '\" |
| '\" The definitions below are for supplemental macros used in Tcl/Tk |
| '\" manual entries. |
| '\" |
| '\" .AP type name in/out ?indent? |
| '\" Start paragraph describing an argument to a library procedure. |
| '\" type is type of argument (int, etc.), in/out is either "in", "out", |
| '\" or "in/out" to describe whether procedure reads or modifies arg, |
| '\" and indent is equivalent to second arg of .IP (shouldn't ever be |
| '\" needed; use .AS below instead) |
| '\" |
| '\" .AS ?type? ?name? |
| '\" Give maximum sizes of arguments for setting tab stops. Type and |
| '\" name are examples of largest possible arguments that will be passed |
| '\" to .AP later. If args are omitted, default tab stops are used. |
| '\" |
| '\" .BS |
| '\" Start box enclosure. From here until next .BE, everything will be |
| '\" enclosed in one large box. |
| '\" |
| '\" .BE |
| '\" End of box enclosure. |
| '\" |
| '\" .CS |
| '\" Begin code excerpt. |
| '\" |
| '\" .CE |
| '\" End code excerpt. |
| '\" |
| '\" .VS ?version? ?br? |
| '\" Begin vertical sidebar, for use in marking newly-changed parts |
| '\" of man pages. The first argument is ignored and used for recording |
| '\" the version when the .VS was added, so that the sidebars can be |
| '\" found and removed when they reach a certain age. If another argument |
| '\" is present, then a line break is forced before starting the sidebar. |
| '\" |
| '\" .VE |
| '\" End of vertical sidebar. |
| '\" |
| '\" .DS |
| '\" Begin an indented unfilled display. |
| '\" |
| '\" .DE |
| '\" End of indented unfilled display. |
| '\" |
| '\" .SO |
| '\" Start of list of standard options for a Tk widget. The |
| '\" options follow on successive lines, in four columns separated |
| '\" by tabs. |
| '\" |
| '\" .SE |
| '\" End of list of standard options for a Tk widget. |
| '\" |
| '\" .OP cmdName dbName dbClass |
| '\" Start of description of a specific option. cmdName gives the |
| '\" option's name as specified in the class command, dbName gives |
| '\" the option's name in the option database, and dbClass gives |
| '\" the option's class in the option database. |
| '\" |
| '\" .UL arg1 arg2 |
| '\" Print arg1 underlined, then print arg2 normally. |
| '\" |
| '\" RCS: @(#) $Id: man.macros,v 1.4 2000/08/25 06:18:32 ericm Exp $ |
| '\" |
| '\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages. |
| .if t .wh -1.3i ^B |
| .nr ^l \n(.l |
| .ad b |
| '\" # Start an argument description |
| .de AP |
| .ie !"\\$4"" .TP \\$4 |
| .el \{\ |
| . ie !"\\$2"" .TP \\n()Cu |
| . el .TP 15 |
| .\} |
| .ta \\n()Au \\n()Bu |
| .ie !"\\$3"" \{\ |
| \&\\$1 \\fI\\$2\\fP (\\$3) |
| .\".b |
| .\} |
| .el \{\ |
| .br |
| .ie !"\\$2"" \{\ |
| \&\\$1 \\fI\\$2\\fP |
| .\} |
| .el \{\ |
| \&\\fI\\$1\\fP |
| .\} |
| .\} |
| .. |
| '\" # define tabbing values for .AP |
| .de AS |
| .nr )A 10n |
| .if !"\\$1"" .nr )A \\w'\\$1'u+3n |
| .nr )B \\n()Au+15n |
| .\" |
| .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n |
| .nr )C \\n()Bu+\\w'(in/out)'u+2n |
| .. |
| .AS Tcl_Interp Tcl_CreateInterp in/out |
| '\" # BS - start boxed text |
| '\" # ^y = starting y location |
| '\" # ^b = 1 |
| .de BS |
| .br |
| .mk ^y |
| .nr ^b 1u |
| .if n .nf |
| .if n .ti 0 |
| .if n \l'\\n(.lu\(ul' |
| .if n .fi |
| .. |
| '\" # BE - end boxed text (draw box now) |
| .de BE |
| .nf |
| .ti 0 |
| .mk ^t |
| .ie n \l'\\n(^lu\(ul' |
| .el \{\ |
| .\" Draw four-sided box normally, but don't draw top of |
| .\" box if the box started on an earlier page. |
| .ie !\\n(^b-1 \{\ |
| \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' |
| .\} |
| .el \}\ |
| \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' |
| .\} |
| .\} |
| .fi |
| .br |
| .nr ^b 0 |
| .. |
| '\" # VS - start vertical sidebar |
| '\" # ^Y = starting y location |
| '\" # ^v = 1 (for troff; for nroff this doesn't matter) |
| .de VS |
| .if !"\\$2"" .br |
| .mk ^Y |
| .ie n 'mc \s12\(br\s0 |
| .el .nr ^v 1u |
| .. |
| '\" # VE - end of vertical sidebar |
| .de VE |
| .ie n 'mc |
| .el \{\ |
| .ev 2 |
| .nf |
| .ti 0 |
| .mk ^t |
| \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n' |
| .sp -1 |
| .fi |
| .ev |
| .\} |
| .nr ^v 0 |
| .. |
| '\" # Special macro to handle page bottom: finish off current |
| '\" # box/sidebar if in box/sidebar mode, then invoked standard |
| '\" # page bottom macro. |
| .de ^B |
| .ev 2 |
| 'ti 0 |
| 'nf |
| .mk ^t |
| .if \\n(^b \{\ |
| .\" Draw three-sided box if this is the box's first page, |
| .\" draw two sides but no top otherwise. |
| .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c |
| .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c |
| .\} |
| .if \\n(^v \{\ |
| .nr ^x \\n(^tu+1v-\\n(^Yu |
| \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c |
| .\} |
| .bp |
| 'fi |
| .ev |
| .if \\n(^b \{\ |
| .mk ^y |
| .nr ^b 2 |
| .\} |
| .if \\n(^v \{\ |
| .mk ^Y |
| .\} |
| .. |
| '\" # DS - begin display |
| .de DS |
| .RS |
| .nf |
| .sp |
| .. |
| '\" # DE - end display |
| .de DE |
| .fi |
| .RE |
| .sp |
| .. |
| '\" # SO - start of list of standard options |
| .de SO |
| .SH "STANDARD OPTIONS" |
| .LP |
| .nf |
| .ta 5.5c 11c |
| .ft B |
| .. |
| '\" # SE - end of list of standard options |
| .de SE |
| .fi |
| .ft R |
| .LP |
| See the \\fBoptions\\fR manual entry for details on the standard options. |
| .. |
| '\" # OP - start of full description for a single option |
| .de OP |
| .LP |
| .nf |
| .ta 4c |
| Command-Line Name: \\fB\\$1\\fR |
| Database Name: \\fB\\$2\\fR |
| Database Class: \\fB\\$3\\fR |
| .fi |
| .IP |
| .. |
| '\" # CS - begin code excerpt |
| .de CS |
| .RS |
| .nf |
| .ta .25i .5i .75i 1i |
| .. |
| '\" # CE - end code excerpt |
| .de CE |
| .fi |
| .RE |
| .. |
| .de UL |
| \\$1\l'|0\(ul'\\$2 |
| .. |
| .TH fconfigure n 8.3 Tcl "Tcl Built-In Commands" |
| .BS |
| '\" Note: do not modify the .SH NAME line immediately below! |
| .SH NAME |
| fconfigure \- Set and get options on a channel |
| .SH SYNOPSIS |
| .nf |
| \fBfconfigure \fIchannelId\fR |
| \fBfconfigure \fIchannelId\fR \fIname\fR |
| \fBfconfigure \fIchannelId\fR \fIname value \fR?\fIname value ...\fR? |
| .fi |
| .BE |
| .SH DESCRIPTION |
| .PP |
| The \fBfconfigure\fR command sets and retrieves options for channels. |
| .PP |
| \fIChannelId\fR identifies the channel for which to set or query an |
| option and must refer to an open channel such as a Tcl standard |
| channel (\fBstdin\fR, \fBstdout\fR, or \fBstderr\fR), the return |
| value from an invocation of \fBopen\fR or \fBsocket\fR, or the result |
| of a channel creation command provided by a Tcl extension. |
| .PP |
| If no \fIname\fR or \fIvalue\fR arguments are supplied, the command |
| returns a list containing alternating option names and values for the channel. |
| If \fIname\fR is supplied but no \fIvalue\fR then the command returns |
| the current value of the given option. |
| If one or more pairs of \fIname\fR and \fIvalue\fR are supplied, the |
| command sets each of the named options to the corresponding \fIvalue\fR; |
| in this case the return value is an empty string. |
| .PP |
| The options described below are supported for all channels. In addition, |
| each channel type may add options that only it supports. See the manual |
| entry for the command that creates each type of channels for the options |
| that that specific type of channel supports. For example, see the manual |
| entry for the \fBsocket\fR command for its additional options. |
| .TP |
| \fB\-blocking\fR \fIboolean\fR |
| The \fB\-blocking\fR option determines whether I/O operations on the |
| channel can cause the process to block indefinitely. |
| The value of the option must be a proper boolean value. |
| Channels are normally in blocking mode; if a channel is placed into |
| nonblocking mode it will affect the operation of the \fBgets\fR, |
| \fBread\fR, \fBputs\fR, \fBflush\fR, and \fBclose\fR commands; |
| see the documentation for those commands for details. |
| For nonblocking mode to work correctly, the application must be |
| using the Tcl event loop (e.g. by calling \fBTcl_DoOneEvent\fR or |
| invoking the \fBvwait\fR command). |
| .TP |
| \fB\-buffering\fR \fInewValue\fR |
| . |
| If \fInewValue\fR is \fBfull\fR then the I/O system will buffer output |
| until its internal buffer is full or until the \fBflush\fR command is |
| invoked. If \fInewValue\fR is \fBline\fR, then the I/O system will |
| automatically flush output for the channel whenever a newline character |
| is output. If \fInewValue\fR is \fBnone\fR, the I/O system will flush |
| automatically after every output operation. The default is for |
| \fB\-buffering\fR to be set to \fBfull\fR except for channels that |
| connect to terminal-like devices; for these channels the initial setting |
| is \fBline\fR. Additionally, \fBstdin\fR and \fBstdout\fR are |
| initially set to \fBline\fR, and \fBstderr\fR is set to \fBnone\fR. |
| .TP |
| \fB\-buffersize\fR \fInewSize\fR |
| . |
| \fINewvalue\fR must be an integer; its value is used to set the size of |
| buffers, in bytes, subsequently allocated for this channel to store input |
| or output. \fINewvalue\fR must be between ten and one million, allowing |
| buffers of ten to one million bytes in size. |
| .TP |
| \fB\-encoding\fR \fIname\fR |
| . |
| This option is used to specify the encoding of the channel, so that the data |
| can be converted to and from Unicode for use in Tcl. For instance, in |
| order for Tcl to read characters from a Japanese file in \fBshiftjis\fR |
| and properly process and display the contents, the encoding would be set |
| to \fBshiftjis\fR. Thereafter, when reading from the channel, the bytes in |
| the Japanese file would be converted to Unicode as they are read. |
| Writing is also supported \- as Tcl strings are written to the channel they |
| will automatically be converted to the specified encoding on output. |
| .RS |
| .PP |
| If a file contains pure binary data (for instance, a JPEG image), the |
| encoding for the channel should be configured to be \fBbinary\fR. Tcl |
| will then assign no interpretation to the data in the file and simply read or |
| write raw bytes. The Tcl \fBbinary\fR command can be used to manipulate this |
| byte-oriented data. |
| .PP |
| The default encoding for newly opened channels is the same platform- and |
| locale-dependent system encoding used for interfacing with the operating |
| system. |
| .RE |
| .TP |
| \fB\-eofchar\fR \fIchar\fR |
| .TP |
| \fB\-eofchar\fR \fB{\fIinChar outChar\fB}\fR |
| . |
| This option supports DOS file systems that use Control-z (\ex1a) as an |
| end of file marker. If \fIchar\fR is not an empty string, then this |
| character signals end-of-file when it is encountered during input. For |
| output, the end-of-file character is output when the channel is closed. |
| If \fIchar\fR is the empty string, then there is no special end of file |
| character marker. For read-write channels, a two-element list specifies |
| the end of file marker for input and output, respectively. As a |
| convenience, when setting the end-of-file character for a read-write |
| channel you can specify a single value that will apply to both reading |
| and writing. When querying the end-of-file character of a read-write |
| channel, a two-element list will always be returned. The default value |
| for \fB\-eofchar\fR is the empty string in all cases except for files |
| under Windows. In that case the \fB\-eofchar\fR is Control-z (\ex1a) for |
| reading and the empty string for writing. |
| .TP |
| \fB\-translation\fR \fImode\fR |
| .TP |
| \fB\-translation\fR \fB{\fIinMode outMode\fB}\fR |
| . |
| In Tcl scripts the end of a line is always represented using a single |
| newline character (\en). However, in actual files and devices the end of |
| a line may be represented differently on different platforms, or even for |
| different devices on the same platform. For example, under UNIX newlines |
| are used in files, whereas carriage-return-linefeed sequences are |
| normally used in network connections. On input (i.e., with \fBgets\fP |
| and \fBread\fP) the Tcl I/O system automatically translates the external |
| end-of-line representation into newline characters. Upon output (i.e., |
| with \fBputs\fP), the I/O system translates newlines to the external |
| end-of-line representation. The default translation mode, \fBauto\fP, |
| handles all the common cases automatically, but the \fB\-translation\fR |
| option provides explicit control over the end of line translations. |
| .RS |
| .PP |
| The value associated with \fB\-translation\fR is a single item for |
| read-only and write-only channels. The value is a two-element list for |
| read-write channels; the read translation mode is the first element of |
| the list, and the write translation mode is the second element. As a |
| convenience, when setting the translation mode for a read-write channel |
| you can specify a single value that will apply to both reading and |
| writing. When querying the translation mode of a read-write channel, a |
| two-element list will always be returned. The following values are |
| currently supported: |
| .TP |
| \fBauto\fR |
| . |
| As the input translation mode, \fBauto\fR treats any of newline |
| (\fBlf\fP), carriage return (\fBcr\fP), or carriage return followed by a |
| newline (\fBcrlf\fP) as the end of line representation. The end of line |
| representation can even change from line-to-line, and all cases are |
| translated to a newline. As the output translation mode, \fBauto\fR |
| chooses a platform specific representation; for sockets on all platforms |
| Tcl chooses \fBcrlf\fR, for all Unix flavors, it chooses \fBlf\fR, for the |
| Macintosh platform it chooses \fBcr\fR and for the various flavors of |
| Windows it chooses \fBcrlf\fR. The default setting for |
| \fB\-translation\fR is \fBauto\fR for both input and output. |
| .TP |
| \fBbinary\fR |
| . |
| No end-of-line translations are performed. This is nearly identical to |
| \fBlf\fP mode, except that in addition \fBbinary\fP mode also sets the |
| end-of-file character to the empty string (which disables it) and sets the |
| encoding to \fBbinary\fR (which disables encoding filtering). See the |
| description of \fB\-eofchar\fR and \fB\-encoding\fR for more information. |
| .TP |
| \fBcr\fR |
| . |
| The end of a line in the underlying file or device is represented by a |
| single carriage return character. As the input translation mode, |
| \fBcr\fP mode converts carriage returns to newline characters. As the |
| output translation mode, \fBcr\fP mode translates newline characters to |
| carriage returns. This mode is typically used on Macintosh platforms. |
| .TP |
| \fBcrlf\fR |
| . |
| The end of a line in the underlying file or device is represented by a |
| carriage return character followed by a linefeed character. As the input |
| translation mode, \fBcrlf\fP mode converts carriage-return-linefeed |
| sequences to newline characters. As the output translation mode, |
| \fBcrlf\fP mode translates newline characters to carriage-return-linefeed |
| sequences. This mode is typically used on Windows platforms and for |
| network connections. |
| .TP |
| \fBlf\fR |
| . |
| The end of a line in the underlying file or device is represented by a |
| single newline (linefeed) character. In this mode no translations occur |
| during either input or output. This mode is typically used on UNIX |
| platforms. |
| .RE |
| .PP |
| |
| .SH "STANDARD CHANNELS" |
| .PP |
| The Tcl standard channels (\fBstdin\fR, \fBstdout\fR, and \fBstderr\fR) |
| can be configured through this command like every other channel opened |
| by the Tcl library. Beyond the standard options described above they |
| will also support any special option according to their current type. |
| If, for example, a Tcl application is started by the \fBinet\fR |
| super-server common on Unix system its Tcl standard channels will be |
| sockets and thus support the socket options. |
| |
| .VS 8.4 |
| .SH "SERIAL PORT CONFIGURATION OPTIONS" |
| .PP |
| If \fIchannelId\fR refers to a serial port, then the following |
| additional configuration options are available on Windows and |
| Unix systems with a POSIX serial interface: |
| |
| .TP |
| \fB\-mode\fR \fIbaud\fB,\fIparity\fB,\fIdata\fB,\fIstop\fR |
| . |
| This option is a set of 4 comma-separated values: the baud rate, parity, |
| number of data bits, and number of stop bits for this serial port. The |
| \fIbaud\fR rate is a simple integer that specifies the connection speed. |
| \fIParity\fR is one of the following letters: \fBn\fR, \fBo\fR, \fBe\fR, |
| \fBm\fR, \fBs\fR; respectively signifying the parity options of ``none'', |
| ``odd'', ``even'', ``mark'', or ``space''. \fIData\fR is the number of |
| data bits and should be an integer from 5 to 8, while \fIstop\fR is the |
| number of stop bits and should be the integer 1 or 2. |
| |
| .TP |
| \fB\-handshake\fR \fItype\fR |
| . |
| (Windows and Unix). This option is used to setup automatic handshake |
| control. Note that not all handshake types maybe supported by your operating |
| system. The \fItype\fR parameter is case-independent. |
| |
| If \fItype\fR is \fBnone\fR then any handshake is switched off. |
| \fBrtscts\fR activates hardware handshake. Hardware handshake signals |
| are described below. |
| For software handshake \fBxonxoff\fR the handshake characters can be redefined |
| with \fB-xchar\fR. |
| An additional hardware handshake \fBdtrdsr\fR is available only under Windows. |
| There is no default handshake configuration, the initial value depends |
| on your operating system settings. |
| The \fB-handshake\fR option cannot be queried. |
| |
| .TP |
| \fB\-queue\fR |
| . |
| (Windows and Unix). The \fB-queue\fR option can only be queried. |
| It returns a list of two integers representing the current number |
| of bytes in the input and output queue respectively. |
| |
| .TP |
| \fB\-timeout\fR \fImsec\fR |
| . |
| (Windows and Unix). This option is used to set the timeout for blocking |
| read operations. It specifies the maximum interval between the |
| reception of two bytes in milliseconds. |
| For Unix systems the granularity is 100 milliseconds. |
| The \fB-timeout\fR option does not affect write operations or |
| nonblocking reads. |
| This option cannot be queried. |
| |
| .TP |
| \fB\-ttycontrol\fR \fI{signal boolean signal boolean ...}\fR |
| . |
| (Windows and Unix). This option is used to setup the handshake |
| output lines (see below) permanently or to send a BREAK over the serial line. |
| The \fIsignal\fR names are case-independent. |
| \fB{RTS 1 DTR 0}\fR sets the RTS output to high and the DTR output to low. |
| The BREAK condition (see below) is enabled and disabled with \fB{BREAK 1}\fR and |
| \fB{BREAK 0}\fR respectively. |
| It's not a good idea to change the \fBRTS\fR (or \fBDTR\fR) signal |
| with active hardware handshake \fBrtscts\fR (or \fBdtrdsr\fR). |
| The result is unpredictable. |
| The \fB-ttycontrol\fR option cannot be queried. |
| |
| .TP |
| \fB\-ttystatus\fR |
| . |
| (Windows and Unix). The \fB-ttystatus\fR option can only be |
| queried. It returns the current modem status and handshake input signals |
| (see below). |
| The result is a list of signal,value pairs with a fixed order, |
| e.g. \fB{CTS 1 DSR 0 RING 1 DCD 0}\fR. |
| The \fIsignal\fR names are returned upper case. |
| |
| .TP |
| \fB\-xchar\fR \fI{xonChar xoffChar}\fR |
| . |
| (Windows and Unix). This option is used to query or change the software |
| handshake characters. Normally the operating system default should be |
| DC1 (0x11) and DC3 (0x13) representing the ASCII standard |
| XON and XOFF characters. |
| |
| .TP |
| \fB\-pollinterval\fR \fImsec\fR |
| . |
| (Windows only). This option is used to set the maximum time between |
| polling for fileevents. |
| This affects the time interval between checking for events throughout the Tcl |
| interpreter (the smallest value always wins). Use this option only if |
| you want to poll the serial port more or less often than 10 msec |
| (the default). |
| |
| .TP |
| \fB\-sysbuffer\fR \fIinSize\fR |
| .TP |
| \fB\-sysbuffer\fR \fI{inSize outSize}\fR |
| . |
| (Windows only). This option is used to change the size of Windows |
| system buffers for a serial channel. Especially at higher communication |
| rates the default input buffer size of 4096 bytes can overrun |
| for latent systems. The first form specifies the input buffer size, |
| in the second form both input and output buffers are defined. |
| |
| .TP |
| \fB\-lasterror\fR |
| . |
| (Windows only). This option is query only. |
| In case of a serial communication error, \fBread\fR or \fBputs\fR |
| returns a general Tcl file I/O error. |
| \fBfconfigure -lasterror\fR can be called to get a list of error details. |
| See below for an explanation of the various error codes. |
| |
| .SH "SERIAL PORT SIGNALS" |
| .PP |
| RS-232 is the most commonly used standard electrical interface for serial |
| communications. A negative voltage (-3V..-12V) define a mark (on=1) bit and |
| a positive voltage (+3..+12V) define a space (off=0) bit (RS-232C). The |
| following signals are specified for incoming and outgoing data, status |
| lines and handshaking. Here we are using the terms \fIworkstation\fR for |
| your computer and \fImodem\fR for the external device, because some signal |
| names (DCD, RI) come from modems. Of course your external device may use |
| these signal lines for other purposes. |
| .RS |
| .IP \fBTXD(output)\fR |
| \fBTransmitted Data:\fR Outgoing serial data. |
| .IP \fBRXD(input)\fR |
| \fBReceived Data:\fRIncoming serial data. |
| .IP \fBRTS(output)\fR |
| \fBRequest To Send:\fR This hardware handshake line informs the modem that |
| your workstation is ready to receive data. Your workstation may |
| automatically reset this signal to indicate that the input buffer is full. |
| .IP \fBCTS(input)\fR |
| \fBClear To Send:\fR The complement to RTS. Indicates that the modem is |
| ready to receive data. |
| .IP \fBDTR(output)\fR |
| \fBData Terminal Ready:\fR This signal tells the modem that the workstation |
| is ready to establish a link. DTR is often enabled automatically whenever a |
| serial port is opened. |
| .IP \fBDSR(input)\fR |
| \fBData Set Ready:\fR The complement to DTR. Tells the workstation that the |
| modem is ready to establish a link. |
| .IP \fBDCD(input)\fR |
| \fBData Carrier Detect:\fR This line becomes active when a modem detects |
| a "Carrier" signal. |
| .IP \fBRI(input)\fR |
| \fBRing Indicator:\fR Goes active when the modem detects an incoming call. |
| .IP \fBBREAK\fR |
| A BREAK condition is not a hardware signal line, but a logical zero on the |
| TXD or RXD lines for a long period of time, usually 250 to 500 |
| milliseconds. Normally a receive or transmit data signal stays at the mark |
| (on=1) voltage until the next character is transferred. A BREAK is sometimes |
| used to reset the communications line or change the operating mode of |
| communications hardware. |
| .RE |
| |
| .SH "ERROR CODES (Windows only)" |
| .PP |
| A lot of different errors may occur during serial read operations or during |
| event polling in background. The external device may have been switched |
| off, the data lines may be noisy, system buffers may overrun or your mode |
| settings may be wrong. That's why a reliable software should always |
| \fBcatch\fR serial read operations. In cases of an error Tcl returns a |
| general file I/O error. Then \fBfconfigure -lasterror\fR may help to |
| locate the problem. The following error codes may be returned. |
| .RS |
| .IP \fBRXOVER:\fR |
| Windows input buffer overrun. The data comes faster than your scripts reads |
| it or your system is overloaded. Use \fBfconfigure -sysbuffer\fR to avoid a |
| temporary bottleneck and/or make your script faster. |
| .IP \fBTXFULL\fR |
| Windows output buffer overrun. Complement to RXOVER. This error should |
| practically not happen, because Tcl cares about the output buffer status. |
| .IP \fBOVERRUN\fR |
| UART buffer overrun (hardware) with data lost. |
| The data comes faster than the system driver receives it. |
| Check your advanced serial port settings to enable the FIFO (16550) buffer |
| and/or setup a lower(1) interrupt threshold value. |
| .IP \fBRXPARITY\fR |
| A parity error has been detected by your UART. |
| Wrong parity settings with \fBfconfigure -mode\fR or a noisy data line (RXD) |
| may cause this error. |
| .IP \fBFRAME\fR |
| A stop-bit error has been detected by your UART. |
| Wrong mode settings with \fBfconfigure -mode\fR or a noisy data line (RXD) |
| may cause this error. |
| .IP \fBBREAK\fR |
| A BREAK condition has been detected by your UART (see above). |
| .RE |
| .VE |
| |
| .SH "SEE ALSO" |
| close(n), flush(n), gets(n), puts(n), read(n), socket(n), |
| Tcl_StandardChannels(3) |
| |
| .SH KEYWORDS |
| blocking, buffering, carriage return, end of line, flushing, linemode, |
| newline, nonblocking, platform, translation, encoding, filter, byte array, |
| binary |