Nut/OS  5.0.5
API Reference
uart.h
Go to the documentation of this file.
00001 #ifndef _DEV_UART_H
00002 #define _DEV_UART_H
00003 
00004 /*
00005  * Copyright (C) 2001-2004 by egnite Software GmbH
00006  *
00007  * All rights reserved.
00008  *
00009  * Redistribution and use in source and binary forms, with or without
00010  * modification, are permitted provided that the following conditions
00011  * are met:
00012  *
00013  * 1. Redistributions of source code must retain the above copyright
00014  *    notice, this list of conditions and the following disclaimer.
00015  * 2. Redistributions in binary form must reproduce the above copyright
00016  *    notice, this list of conditions and the following disclaimer in the
00017  *    documentation and/or other materials provided with the distribution.
00018  * 3. Neither the name of the copyright holders nor the names of
00019  *    contributors may be used to endorse or promote products derived
00020  *    from this software without specific prior written permission.
00021  *
00022  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00025  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00026  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00027  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00028  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
00029  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
00030  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00031  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
00032  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00033  * SUCH DAMAGE.
00034  *
00035  * For additional information see http://www.ethernut.de/
00036  */
00037 
00038 /*
00039  * $Id: uart.h 4439 2012-08-17 16:01:19Z haraldkipp $
00040  */
00041 
00042 #include <sys/device.h>
00043 
00068 
00081 #define UART_SETSPEED           0x0101
00082 
00090 #define UART_GETSPEED           0x0102
00091 
00103 #define UART_SETDATABITS        0x0103
00104 
00112 #define UART_GETDATABITS        0x0104
00113 
00124 #define UART_SETPARITY          0x0105
00125 
00133 #define UART_GETPARITY          0x0106
00134 
00144 #define UART_SETSTOPBITS        0x0107
00145 
00153 #define UART_GETSTOPBITS        0x0108
00154 
00162 #define UART_SETSTATUS          0x0109
00163 
00171 #define UART_GETSTATUS          0x010a
00172 
00180 #define UART_SETREADTIMEOUT     0x010b
00181 
00189 #define UART_GETREADTIMEOUT     0x010c
00190 
00198 #define UART_SETWRITETIMEOUT    0x010d
00199 
00207 #define UART_GETWRITETIMEOUT    0x010e
00208 
00216 #define UART_SETLOCALECHO       0x010f
00217 
00225 #define UART_GETLOCALECHO       0x0110
00226 
00234 #define UART_SETFLOWCONTROL     0x0111
00235 
00243 #define UART_GETFLOWCONTROL     0x0112
00244 
00253 #define UART_SETCOOKEDMODE      0x0113
00254 
00263 #define UART_GETCOOKEDMODE      0x0114
00264 
00272 #define UART_SETBUFFERMODE      0x0115
00273 
00281 #define UART_GETBUFFERMODE      0x0116
00282 
00291 #define HDLC_SETIFNET           0x0117
00292 
00301 #define HDLC_GETIFNET           0x0118
00302 
00310 #define UART_SETCLOCKMODE       0x0119
00311 
00319 #define UART_GETCLOCKMODE       0x011a
00320 
00328 #define UART_SETTXBUFSIZ        0x011b
00329 
00337 #define UART_GETTXBUFSIZ        0x011c
00338 
00346 #define UART_SETRXBUFSIZ        0x011d
00347 
00355 #define UART_GETRXBUFSIZ        0x011e
00356 
00364 #define UART_SETTXBUFLWMARK     0x0120
00365 
00373 #define UART_GETTXBUFLWMARK     0x0121
00374 
00382 #define UART_SETTXBUFHWMARK     0x0122
00383 
00391 #define UART_GETTXBUFHWMARK     0x0123
00392 
00400 #define UART_SETRXBUFLWMARK     0x0124
00401 
00409 #define UART_GETRXBUFLWMARK     0x0125
00410 
00418 #define UART_SETRXBUFHWMARK     0x0126
00419 
00427 #define UART_GETRXBUFHWMARK     0x0127
00428 
00437 #define UART_SETBLOCKREAD       0x0128
00438 
00447 #define UART_GETBLOCKREAD       0x0129
00448 
00457 #define UART_SETBLOCKWRITE      0x012a
00458 
00467 #define UART_GETBLOCKWRITE      0x012b
00468 
00480 #define UART_SETRAWMODE         0x012c
00481 
00489 #define UART_GETRAWMODE         0x012d
00490 
00503 #define HDLC_SETTXACCM          0x012e
00504 
00512 #define HDLC_GETTXACCM          0x012f
00513 
00522 #define UART_SETHDPXMODE        0x0130
00523 
00532 #define UART_GETHDPXMODE        0x0131
00533 
00543 
00548 #define UART_FRAMINGERROR   0x00000001UL
00549 
00554 #define UART_OVERRUNERROR   0x00000002UL
00555 
00560 #define UART_PARITYERROR    0x00000004UL
00561 
00566 #define UART_ERRORS         (UART_FRAMINGERROR | UART_OVERRUNERROR | UART_PARITYERROR)
00567 
00570 #define UART_RXBUFFEREMPTY  0x00000040UL
00571 
00577 #define UART_TXBUFFEREMPTY  0x00000080UL
00578 
00581 #define UART_RTSENABLED     0x00000100UL
00582 
00585 #define UART_RTSDISABLED    0x00000200UL
00586 
00589 #define UART_CTSENABLED     0x00000400UL
00590 
00593 #define UART_CTSDISABLED    0x00000800UL
00594 
00597 #define UART_DTRENABLED     0x00001000UL
00598 
00601 #define UART_DTRDISABLED    0x00002000UL
00602 
00605 #define UART_RXENABLED      0x00010000UL
00606 
00609 #define UART_RXDISABLED     0x00020000UL
00610 
00613 #define UART_TXENABLED      0x00040000UL
00614 
00617 #define UART_TXDISABLED     0x00080000UL
00618 
00624 #define UART_RXADDRFRAME    0x00100000UL
00625 
00630 #define UART_RXNORMFRAME    0x00200000UL
00631 
00637 #define UART_TXADDRFRAME    0x00400000UL
00638 
00643 #define UART_TXNORMFRAME    0x00800000UL
00644 
00645 
00657 
00662 #define UART_HS_RTSCTS      0x0003
00663 
00668 #define UART_HS_MODEM       0x001F
00669 
00677 #define UART_HS_SOFT        0x0020
00678 
00681 #define UART_HS_HALFDUPLEX  0x0400
00682 
00700 
00701 #define UART_SYNC           0x01
00702 #define UART_MASTER         0x02
00703 #define UART_NCLOCK         0x04
00704 #define UART_HIGHSPEED      0x20
00705 
00708 #define UART_ASYNC          0x00
00709 
00715 #define UART_SYNCSLAVE     UART_SYNC
00716 
00722 #define UART_SYNCMASTER    (UART_SYNC | UART_MASTER)
00723 
00729 #define UART_NSYNCSLAVE    (UART_SYNC | UART_NCLOCK)
00730 
00736 #define UART_NSYNCMASTER   (UART_SYNC | UART_NCLOCK | UART_MASTER)
00737 
00742 #define UART_ASYNC_HS      UART_HIGHSPEED
00743 
00747 
00748 #endif