Zilog SCC serial communications manager (QNX Neutrino)
Note:
You must be root to start this driver.
Syntax:
devc-serzscc [[options]
[port[^shift][+offset][,intr]]]... &
Options:
The options are position-dependent and affect the subsequent ports.
- -1
- Enable only channel A for this device.
- -2
- Enable both channel A and B for this device.
- -b number
- The initial baud rate (default 57600).
- -C size
- The size of the canonical buffer in bytes (default 256).
- -c clock[/divisor]
- Define a custom clock rate, in hertz,
and divisor for the serial port. The
default is suitable for compatible serial ports.
- -D delay
- Inter-register access delay of delay.
- -E
- Start in raw mode (the default).
Software flow control is disabled by default.
- -e
- Start in edited mode (default raw).
Software flow control is enabled by default.
- -F
- Disable hardware flow control (default to hardware flow control enabled).
Hardware flow control is not supported in edited mode.
- -f
- Enable hardware flow control (default).
Hardware flow control is not supported in edited mode.
- -I number
- The size of the interrupt input buffer in bytes (default 2048).
- -O number
- The size of the interrupt output buffer in bytes (default 2048).
- -o opt[,opt...]
- Additional options, separated by commas.
The options include:
- nodaemon — don't call
procmgr_daemon()
to make the driver run in the background.
Use this option if you need to know when the device terminates.
- priority=prio — set the working priority
of the internal pulse.
- -S|s
- Disable / enable software flow control. The default depends on the
mode: in raw mode (-E, the default), it's disabled;
in edited mode (-e), it's enabled.
The order in which you specify the -E or -e, and
-S or -s options matters:
Options
|
Mode
|
Software flow control
|
-e
|
Edited
|
Enabled
|
-S -e
|
Edited
|
Enabled
|
-e -S
|
Edited
|
Disabled
|
-E
|
Raw
|
Disabled
|
-s -E
|
Raw
|
Disabled
|
-E -s
|
Raw
|
Enabled
|
- -u number
- Append number to the device name prefix
(/dev/ser). The default is 1; additional
devices are given increasing numbers.
- -v[v]...
- Be verbose; additional v characters cause more verbosity.
- port
- Hex physical memory address of a serial port.
- shift
- The spacing of the registers as a power of 2. For example:
- 0
- Registers are 1 byte apart.
- 1
- Registers are 2 bytes apart.
- 2
- Registers are 4 bytes apart.
…
- n
- Registers are 2n bytes apart.
The default shift is 0.
- offset
- Offset to add to the port value.
- intr
- Decimal interrupt used by this port.
Description:
The devc-serzscc manager is a small serial device manager
for QNX Neutrino. It supports the Zilog SCC chip.
All devices are fully interrupt driven and by default support
standard hardware flow control on input and output (RTS/CTS). This can
be disabled by the -F option.
Note:
Hardware flow control is not supported in edited mode.
Note:
If your application uses
/dev/console,
you should create a link from it to one of
/dev/ser1,
/dev/ser2, … by adding
a line like this to the buildfile used by
mkifs:
[type=link] /dev/console = /dev/ser1
A read request by default returns when at least 1 character is
available. To increase efficiency, you can control three parameters to
control when a read is satisfied:
- Time
- Return after a specified amount of time has elapsed.
- Min
- Return when this number of characters are in the input buffer.
- Char
- Return if this forwarding character is in the input buffer.
Note:
If the Min value is greater than the size of the input buffer, the
Min value is clipped to the size of the buffer. To avoid this, the size of
the input buffer can be changed with the -I option.
These parameters are set using library routines (see
tcgetattr(),
tcsetattr(),
readcond() and
TimerTimeout()
in the C Library Reference).
The devc-serzscc manager supports both raw and edited modes,
making it
a real tty device.
The following fields and flags are supported in the termios
structure:
Field |
Supported flags |
c_cc
|
All characters |
c_iflag
|
BRKINT ICRNL IGNBRK IXON |
c_oflag
|
OPOST |
c_cflag
|
CLOCAL CSIZE CSTOPB PARENB PARODD |
c_lflag
|
ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH |
Examples:
Start devc-serzscc in edited mode, specifying the clock rate,
baud rate, and inter-register access delay:
devc-serzscc -e -c4915200/16 -b9600 -D4000 0x81000000^3+4,0x8002 &