Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

TLC16C550
[Serial]

Collaboration diagram for TLC16C550:


Detailed Description

TLC16C550 UART driver.

These commands are used to control and retrieve hardware specific configurations. The definitions are kept independent from the underlying hardware, but not all commands may be fully implemented in each ACE driver.

The _ioctl() function expects three parameters:


Modules

 XgACEStatus
 ACE device status flags,.
 XgACEHS
 ACE handshake modes.

Data Structures

struct  _ACEDCB
 ACE device control block structure. More...
struct  _ACEDCB
 ACE device control block structure. More...

Defines

#define ACE_SETSPEED   0x0101
 ACE _ioctl() command code to set the line speed.
#define ACE_GETSPEED   0x0102
 ACE _ioctl() command code to query the line speed.
#define ACE_SETDATABITS   0x0103
 ACE _ioctl() command code to set the number of data bits.
#define ACE_GETDATABITS   0x0104
 ACE _ioctl() command code to query the number of data bits.
#define ACE_SETPARITY   0x0105
 ACE _ioctl() command code to set the parity mode.
#define ACE_GETPARITY   0x0106
 ACE _ioctl() command code to query the parity mode.
#define ACE_SETSTOPBITS   0x0107
 ACE _ioctl() command code to set the number of stop bits.
#define ACE_GETSTOPBITS   0x0108
 ACE _ioctl() command code to query the number of stop bits.
#define ACE_SETSTATUS   0x0109
 ACE _ioctl() command code to set the status.
#define ACE_GETSTATUS   0x010a
 ACE _ioctl() command code to query the status.
#define ACE_SETREADTIMEOUT   0x010b
 ACE _ioctl() command code to set the read timeout.
#define ACE_GETREADTIMEOUT   0x010c
 ACE _ioctl() command code to query the read timeout.
#define ACE_SETWRITETIMEOUT   0x010d
 ACE _ioctl() command code to set the write timeout.
#define ACE_GETWRITETIMEOUT   0x010e
 ACE _ioctl() command code to query the write timeout.
#define ACE_SETLOCALECHO   0x010f
 ACE _ioctl() command code to set the local echo mode.
#define ACE_GETLOCALECHO   0x0110
 ACE _ioctl() command code to query the local echo mode.
#define ACE_SETFLOWCONTROL   0x0111
 ACE _ioctl() command code to set the flow control mode.
#define ACE_GETFLOWCONTROL   0x0112
 ACE _ioctl() command code to query the flow control mode.
#define ACE_SETCOOKEDMODE   0x0113
 ACE _ioctl() command code to set the cooking mode.
#define ACE_GETCOOKEDMODE   0x0114
 ACE _ioctl() command code to query the cooking mode.
#define ACE_SETBUFFERMODE   0x0115
 ACE _ioctl() command code to set the buffering mode.
#define ACE_GETBUFFERMODE   0x0116
 ACE _ioctl() command code to query the buffering mode.
#define ACE_SETTXBUFSIZ   0x011b
 ACE _ioctl() command code to set the transmit buffer size.
#define ACE_GETTXBUFSIZ   0x011c
 ACE _ioctl() command code to query the transmit buffer size.
#define ACE_SETRXBUFSIZ   0x011d
 ACE _ioctl() command code to set the receive buffer size.
#define ACE_GETRXBUFSIZ   0x011e
 ACE _ioctl() command code to query the receive buffer size.
#define ACE_SETTXBUFLWMARK   0x0120
 ACE _ioctl() command code to set the transmit buffer low watermark.
#define ACE_GETTXBUFLWMARK   0x0121
 ACE _ioctl() command code to query the transmit buffer low watermark.
#define ACE_SETTXBUFHWMARK   0x0122
 ACE _ioctl() command code to set the transmit buffer high watermark.
#define ACE_GETTXBUFHWMARK   0x0123
 ACE _ioctl() command code to query the transmit buffer high watermark.
#define ACE_SETRXBUFLWMARK   0x0124
 ACE _ioctl() command code to set the receive buffer low watermark.
#define ACE_GETRXBUFLWMARK   0x0125
 ACE _ioctl() command code to query the receive buffer low watermark.
#define ACE_SETRXBUFHWMARK   0x0126
 ACE _ioctl() command code to set the receive buffer high watermark.
#define ACE_GETRXBUFHWMARK   0x0127
 ACE _ioctl() command code to query the receive buffer high watermark.
#define ACE_SETBLOCKREAD   0x0128
 ACE _ioctl() command code to set the block read mode.
#define ACE_GETBLOCKREAD   0x0129
 ACE _ioctl() command code to query the receive buffer high watermark.
#define ACE_SETFIFO   0x012a
 ACE _ioctl() command code to set the fifo mode and receive fifo trigger level.
#define ACE_GETFIFO   0x012b
 ACE _ioctl() command code to query the fifo mode and receive fifo trigger level.
#define ACE_MF_RTSSENSE   0x00000001UL
#define ACE_MF_CTSCONTROL   0x00000002UL
#define ACE_MF_DTRSENSE   0x00000004UL
#define ACE_MF_DSRCONTROL   0x00000008UL
#define ACE_MF_DCDCONTROL   0x00000010UL
#define ACE_MF_RTSCONTROL   0x00000020UL
#define ACE_MF_CTSSENSE   0x00000040UL
#define ACE_MF_DTRCONTROL   0x00000080UL
#define ACE_MF_DSRSENSE   0x00000100UL
#define ACE_MF_DCDSENSE   0x00000200UL
#define ACE_MF_SENSEMASK   0x0345
#define ACE_MF_CONTROLMASK   0x00BC
#define ACE_MF_XONXOFF   0x00000400UL
#define ACE_MF_LOCALECHO   0x00010000UL
#define ACE_MF_COOKEDMODE   0x00020000UL
#define ACE_MF_NOBUFFER   0x00100000UL
#define ACE_MF_LINEBUFFER   0x00200000UL
#define ACE_MF_BUFFERMASK   0x00300000UL
#define ACE_SF_RTSOFF   0x00000001UL
#define ACE_SF_CTSOFF   0x00000002UL
#define ACE_SF_DTROFF   0x00000004UL
#define ACE_SF_DSROFF   0x00000008UL
#define ACE_SF_DCDOFF   0x00000010UL
#define ACE_SF_TXDISABLED   0x00000040UL
#define ACE_SF_RXDISABLED   0x00000080UL
#define ACE_HS_DCERTSCTS   0x00000003UL
#define ACE_HS_DCEFULL   0x0000001FUL
#define ACE_HS_DTERTSCTS   0x00000060UL
#define ACE_HS_DTEFULL   0x000003E0UL
#define ACE_HS_XONXOFF   0x00000400UL
#define ACE_CLOCK   1843200

Typedefs

typedef _ACEDCB ACEDCB

Functions

int AceInit (NUTDEVICE *dev)
 Initialize on chip ACE device.
int AceIOCtl (NUTDEVICE *dev, int req, void *conf)
 Perform ACE control functions.
int AceInput (NUTDEVICE *dev)
 Wait for input.
int AceOutput (NUTDEVICE *dev)
 Initiate output.
int AceFlush (NUTDEVICE *dev)
 Wait for output buffer empty.
int AceGetRaw (u_char *cp)
int AcePutRaw (u_char ch)
int AceRead (NUTFILE *fp, void *buffer, int size)
 Read from device.
int AceWrite (NUTFILE *fp, CONST void *buffer, int len)
int AceWrite_P (NUTFILE *fp, PGM_P buffer, int len)
NUTFILEAceOpen (NUTDEVICE *dev, CONST char *name, int mode, int acc)
 Open a device or file.
long AceSize (NUTFILE *fp)
 Request file size.
int AceClose (NUTFILE *fp)
 Close a device or file.


Define Documentation

#define ACE_SETSPEED   0x0101
 

ACE _ioctl() command code to set the line speed.

The configuration parameter specifies the input and output bit rate per second.

#define ACE_GETSPEED   0x0102
 

ACE _ioctl() command code to query the line speed.

The configuration parameter is set to the input and output bit rate per second.

#define ACE_SETDATABITS   0x0103
 

ACE _ioctl() command code to set the number of data bits.

The configuration parameter specifies the number of data bits, 5, 6, 7, 8 or 9.

#define ACE_GETDATABITS   0x0104
 

ACE _ioctl() command code to query the number of data bits.

The configuration parameter is set to the number of data bits, 5, 6, 7, 8 or 9.

#define ACE_SETPARITY   0x0105
 

ACE _ioctl() command code to set the parity mode.

The configuration parameter specifies the type of the parity bit, 0 (none), 1 (odd), 2 (even), 3 (mark) or 4 (space).

#define ACE_GETPARITY   0x0106
 

ACE _ioctl() command code to query the parity mode.

The configuration parameter is set to the type of the parity bit, 0 (none), 1 (odd), 2 (even), 3 (mark) or 4 (space).

#define ACE_SETSTOPBITS   0x0107
 

ACE _ioctl() command code to set the number of stop bits.

The configuration parameter specifies the number of stop bits, 1 or 2.

#define ACE_GETSTOPBITS   0x0108
 

ACE _ioctl() command code to query the number of stop bits.

The configuration parameter is set to the number of stop bits, 1 or 2.

#define ACE_SETSTATUS   0x0109
 

ACE _ioctl() command code to set the status.

The configuration parameter specifies the status to set.

#define ACE_GETSTATUS   0x010a
 

ACE _ioctl() command code to query the status.

The configuration parameter is set to the current status.

#define ACE_SETREADTIMEOUT   0x010b
 

ACE _ioctl() command code to set the read timeout.

The configuration parameter specifies the read timeout in milliseconds.

#define ACE_GETREADTIMEOUT   0x010c
 

ACE _ioctl() command code to query the read timeout.

The configuration parameter is set to the read timeout in milliseconds.

#define ACE_SETWRITETIMEOUT   0x010d
 

ACE _ioctl() command code to set the write timeout.

The configuration parameter specifies the write timeout in milliseconds.

#define ACE_GETWRITETIMEOUT   0x010e
 

ACE _ioctl() command code to query the write timeout.

The configuration parameter is set to the write timeout in milliseconds.

#define ACE_SETLOCALECHO   0x010f
 

ACE _ioctl() command code to set the local echo mode.

The configuration parameter specifies the local echo mode, 0 (off) or 1 (on).

#define ACE_GETLOCALECHO   0x0110
 

ACE _ioctl() command code to query the local echo mode.

The configuration parameter is set to the local echo mode, 0 (off) or 1 (on).

#define ACE_SETFLOWCONTROL   0x0111
 

ACE _ioctl() command code to set the flow control mode.

The configuration parameter specifies the flow control mode.

#define ACE_GETFLOWCONTROL   0x0112
 

ACE _ioctl() command code to query the flow control mode.

The configuration parameter is set to the flow control mode.

#define ACE_SETCOOKEDMODE   0x0113
 

ACE _ioctl() command code to set the cooking mode.

The configuration parameter specifies the character cooking mode, 0 (raw) or 1 (EOL translation).

#define ACE_GETCOOKEDMODE   0x0114
 

ACE _ioctl() command code to query the cooking mode.

The configuration parameter is set to the character cooking mode, 0 (raw) or 1 (EOL translation).

#define ACE_SETBUFFERMODE   0x0115
 

ACE _ioctl() command code to set the buffering mode.

The configuration parameter specifies the buffering mode.

#define ACE_GETBUFFERMODE   0x0116
 

ACE _ioctl() command code to query the buffering mode.

The configuration parameter is set to the buffering mode.

#define ACE_SETTXBUFSIZ   0x011b
 

ACE _ioctl() command code to set the transmit buffer size.

The configuration parameter specifies the number of bytes.

#define ACE_GETTXBUFSIZ   0x011c
 

ACE _ioctl() command code to query the transmit buffer size.

The configuration parameter specifies the number of bytes.

#define ACE_SETRXBUFSIZ   0x011d
 

ACE _ioctl() command code to set the receive buffer size.

The configuration parameter specifies the number of bytes.

#define ACE_GETRXBUFSIZ   0x011e
 

ACE _ioctl() command code to query the receive buffer size.

The configuration parameter specifies the number of bytes.

#define ACE_SETTXBUFLWMARK   0x0120
 

ACE _ioctl() command code to set the transmit buffer low watermark.

The configuration parameter specifies the number of bytes.

#define ACE_GETTXBUFLWMARK   0x0121
 

ACE _ioctl() command code to query the transmit buffer low watermark.

The configuration parameter specifies the number of bytes.

#define ACE_SETTXBUFHWMARK   0x0122
 

ACE _ioctl() command code to set the transmit buffer high watermark.

The configuration parameter specifies the number of bytes.

#define ACE_GETTXBUFHWMARK   0x0123
 

ACE _ioctl() command code to query the transmit buffer high watermark.

The configuration parameter specifies the number of bytes.

#define ACE_SETRXBUFLWMARK   0x0124
 

ACE _ioctl() command code to set the receive buffer low watermark.

The configuration parameter specifies the number of bytes.

#define ACE_GETRXBUFLWMARK   0x0125
 

ACE _ioctl() command code to query the receive buffer low watermark.

The configuration parameter specifies the number of bytes.

#define ACE_SETRXBUFHWMARK   0x0126
 

ACE _ioctl() command code to set the receive buffer high watermark.

The configuration parameter specifies the number of bytes.

#define ACE_GETRXBUFHWMARK   0x0127
 

ACE _ioctl() command code to query the receive buffer high watermark.

The configuration parameter specifies the number of bytes.

#define ACE_SETBLOCKREAD   0x0128
 

ACE _ioctl() command code to set the block read mode.

The configuration parameter specifies the block read mode

#define ACE_GETBLOCKREAD   0x0129
 

ACE _ioctl() command code to query the receive buffer high watermark.

The configuration parameter specifies the block read mode

#define ACE_SETFIFO   0x012a
 

ACE _ioctl() command code to set the fifo mode and receive fifo trigger level.

The configuration parameter specifies the receive fifo trigger level (x,1,4,8,14), x - disables fifo

#define ACE_GETFIFO   0x012b
 

ACE _ioctl() command code to query the fifo mode and receive fifo trigger level.

The configuration parameter specifies the receive fifo trigger level (x,1,4,8,14), x - fifo is disabled

#define ACE_MF_RTSSENSE   0x00000001UL
 

DCE input, low on port bit is +12V, which means ON.

#define ACE_MF_CTSCONTROL   0x00000002UL
 

DCE output.

#define ACE_MF_DTRSENSE   0x00000004UL
 

DCE input.

#define ACE_MF_DSRCONTROL   0x00000008UL
 

DCE output.

#define ACE_MF_DCDCONTROL   0x00000010UL
 

DCE output.

#define ACE_MF_RTSCONTROL   0x00000020UL
 

DTE output.

#define ACE_MF_CTSSENSE   0x00000040UL
 

DTE input.

#define ACE_MF_DTRCONTROL   0x00000080UL
 

DTE output.

#define ACE_MF_DSRSENSE   0x00000100UL
 

DTE input.

#define ACE_MF_DCDSENSE   0x00000200UL
 

DTE input.

#define ACE_MF_SENSEMASK   0x0345
 

Handshake sense mask.

#define ACE_MF_CONTROLMASK   0x00BC
 

Handshake control mask.

#define ACE_MF_XONXOFF   0x00000400UL
 

Software handshake.

#define ACE_MF_LOCALECHO   0x00010000UL
 

Should be used in stream, not device.

#define ACE_MF_COOKEDMODE   0x00020000UL
 

Should be used in stream, not device.

#define ACE_MF_NOBUFFER   0x00100000UL
 

No buffering.

#define ACE_MF_LINEBUFFER   0x00200000UL
 

Line buffered.

#define ACE_MF_BUFFERMASK   0x00300000UL
 

Masks buffering mode flags.

#define ACE_SF_RTSOFF   0x00000001UL
 

Set RTS line is off.

#define ACE_SF_CTSOFF   0x00000002UL
 

Set CTS line is off.

#define ACE_SF_DTROFF   0x00000004UL
 

Set DTR line is off.

#define ACE_SF_DSROFF   0x00000008UL
 

Set DSR line is off.

#define ACE_SF_DCDOFF   0x00000010UL
 

Set DCD line is off.

#define ACE_SF_TXDISABLED   0x00000040UL
 

Transmitter disabled.

#define ACE_SF_RXDISABLED   0x00000080UL
 

Receiver disabled.

#define ACE_HS_DCERTSCTS   0x00000003UL
 

RTS/CTS DCE handshake.

#define ACE_HS_DCEFULL   0x0000001FUL
 

Full DCE handshake.

#define ACE_HS_DTERTSCTS   0x00000060UL
 

RTS/CTS DTE handshake.

#define ACE_HS_DTEFULL   0x000003E0UL
 

Full DTE handshake.

#define ACE_HS_XONXOFF   0x00000400UL
 

Software handshake.


Typedef Documentation

typedef struct _ACEDCB ACEDCB
 

ACE device control block type.


Function Documentation

int AceInit NUTDEVICE dev  ) 
 

Initialize on chip ACE device.

Prepares the device for subsequent reading or writing. Enables ACE transmitter and receiver interrupts.

Parameters:
dev Identifies the device to initialize.
Returns:
0 on success, -1 otherwise.

int AceIOCtl NUTDEVICE dev,
int  req,
void *  conf
 

Perform ACE control functions.

Parameters:
dev Identifies the device that receives the device-control function.
req Requested control function. May be set to one of the following constants:
  • ACE_SETSPEED, conf points to an u_long value containing the baudrate.
  • ACE_GETSPEED, conf points to an u_long value receiving the current baudrate.
  • ACE_SETDATABITS, conf points to an u_long value containing the number of data bits, 5, 6, 7 or 8.
  • ACE_GETDATABITS, conf points to an u_long value receiving the number of data bits, 5, 6, 7 or 8.
  • ACE_SETPARITY, conf points to an u_long value containing the parity, 0 (no), 1 (odd) or 2 (even).
  • ACE_GETPARITY, conf points to an u_long value receiving the parity, 0 (no), 1 (odd) or 2 (even).
  • ACE_SETSTOPBITS, conf points to an u_long value containing the number of stop bits 1 or 2.
  • ACE_GETSTOPBITS, conf points to an u_long value receiving the number of stop bits 1 or 2.
  • ACE_SETSTATUS
  • ACE_GETSTATUS
  • ACE_SETREADTIMEOUT, conf points to an u_long value containing the read timeout.
  • ACE_GETREADTIMEOUT, conf points to an u_long value receiving the read timeout.
  • ACE_SETWRITETIMEOUT, conf points to an u_long value containing the write timeout.
  • ACE_GETWRITETIMEOUT, conf points to an u_long value receiving the write timeout.
  • ACE_SETLOCALECHO, conf points to an u_long value containing 0 (off) or 1 (on).
  • ACE_GETLOCALECHO, conf points to an u_long value receiving 0 (off) or 1 (on).
  • ACE_SETFLOWCONTROL, conf points to an u_long value containing combined ACE_FCTL_ values.
  • ACE_GETFLOWCONTROL, conf points to an u_long value containing receiving ACE_FCTL_ values.
  • ACE_SETCOOKEDMODE, conf points to an u_long value containing 0 (off) or 1 (on).
  • ACE_GETCOOKEDMODE, conf points to an u_long value receiving 0 (off) or 1 (on).
conf Points to a buffer that contains any data required for the given control function or receives data from that function.
Returns:
0 on success, -1 otherwise.
Warning:
Timeout values are given in milliseconds and are limited to the granularity of the system timer. To disable timeout, set the parameter to NUT_WAIT_INFINITE.

int AceInput NUTDEVICE dev  ) 
 

Wait for input.

This function checks the input buffer for any data. If the buffer is empty, the calling thread will be blocked until at least one new character is received or a timeout occurs.

Parameters:
dev Indicates the ACE device.
Returns:
0 on success, -1 on timeout.

int AceOutput NUTDEVICE dev  ) 
 

Initiate output.

This function checks the output buffer for any data. If the buffer contains at least one character, the transmitter is started, if not already running. The function returns immediately, without waiting for the character being completely transmitted. Any remaining characters in the output buffer are transmitted in the background.

Parameters:
dev Indicates the ACE device.
Returns:
0 on success, -1 otherwise.

int AceFlush NUTDEVICE dev  ) 
 

Wait for output buffer empty.

If the output buffer contains any data, the calling thread is suspended until all data has been transmitted.

Parameters:
dev Indicates the ACE device.
Returns:
0 on success, -1 otherwise.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/