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