ser_simple_avr.h
Go to the documentation of this file.00001
00039 #ifndef DRV_SER_SIMPLE_AVR_H
00040 #define DRV_SER_SIMPLE_AVR_H
00041
00042 #warning FIXME:This module is obsolete, yuo must refactor it.
00043
00044 #if 0
00045
00046 #define SER_SIMPLE
00047
00048 #include <appconfig.h>
00049 #include <cfg/compiler.h>
00050
00051
00052 #if 0
00053 #if CPU_AVR
00054 typedef uint8_t serstatus_t;
00055
00056
00057 #define SERRF_RXFIFOOVERRUN BV(0)
00058 #define SERRF_RXTIMEOUT BV(5)
00059 #define SERRF_TXTIMEOUT BV(6)
00061
00062 #define SERRF_RXSROVERRUN BV(3)
00063 #define SERRF_FRAMEERROR BV(4)
00064 #define SERRF_PARITYERROR BV(7)
00065 #else
00066 #error unknown architecture
00067 #endif
00068
00069
00075 enum
00076 {
00077 #if CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128
00078 SER_UART0,
00079 SER_UART1,
00080 SER_SPI,
00081 #elif CPU_AVR_ATMEGA103 || CPU_AVR_ATMEGA8
00082 SER_UART0,
00083 SER_SPI,
00084 #else
00085 #error unknown architecture
00086 #endif
00087 SER_CNT
00088 };
00089
00090 #endif
00091
00093
00094 #define SER_PARITY_NONE 0
00095 #define SER_PARITY_EVEN 2
00096 #define SER_PARITY_ODD 3
00097
00098
00099
00101 struct Serial;
00102
00103
00104 extern int _ser_putchar(int c);
00105 extern int _ser_getchar(void);
00106 extern int _ser_getchar_nowait(void);
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116 extern int _ser_print(const char *s);
00117
00118 extern void _ser_setbaudrate(unsigned long rate);
00119 extern void _ser_setparity(int parity);
00120 extern void _ser_settimeouts(void);
00121 extern void _ser_setstatus(void);
00122
00123
00124
00125
00126 extern void _ser_purge(void);
00127 extern struct Serial *_ser_open(void);
00128 extern void _ser_close(void);
00129
00135 #define ser_putchar(c, port) _ser_putchar(c)
00136 #define ser_getchar(port) _ser_getchar()
00137 #define ser_getchar_nowait(port) _ser_getchar_nowait()
00138 #define ser_print(port, s) _ser_print(s)
00139 #define ser_setbaudrate(port, y) _ser_setbaudrate(y)
00140 #define ser_setparity(port, par) _ser_setparity(par)
00141 #define ser_settimeouts(port, y, z) _ser_settimeouts()
00142 #define ser_purge(port) _ser_purge()
00143 #define ser_open(port) _ser_open()
00144 #define ser_getstatus(h) 0
00145 #define ser_setstatus(h, x) do {(void)(x);} while(0)
00146
00147
00148 #endif
00149
00150 #endif