NetBurner 3.1
serial.h
Go to the documentation of this file.
1 /*NB_REVISION*/
2 
3 /*NB_COPYRIGHT*/
4 
14 #ifndef _NB_SERIAL_H
15 #define _NB_SERIAL_H
16 
17 #include <basictypes.h>
18 
22 #define SERIAL_ERR_NOSUCH_PORT (-1)
23 #define SERIAL_ERR_PORT_NOTOPEN (-2)
24 #define SERIAL_ERR_PORT_ALREADYOPEN (-3)
25 #define SERIAL_ERR_PARAM_ERROR (-4)
26 
28 // Special UART characters
29 #define ADDR_ESCAPE_CHAR (0xFF)
30 
31 
36 #define UART_ERR_BREAK (0x08)
37 #define UART_ERR_FRAME (0x04)
38 #define UART_ERR_PARITY (0x02)
39 #define UART_ERR_OVERRUN (0x01)
40 
45 typedef enum
46 {
47  eParityNone,
48  eParityOdd,
49  eParityEven,
50  eParityMulti
51 } parity_mode;
53 
77 int OpenSerial(int portnum, unsigned int baudrate, int stop_bits, int data_bits, parity_mode parity);
78 
90 #define SimpleOpenSerial(p, b) OpenSerial(p, b, 1, 8, eParityNone)
91 
102 int SerialClose(int portnum);
103 
115 void SerialEnableTxFlow(int port, int enab);
116 
128 void SerialEnableRxFlow(int port, int enab);
129 
149 void SerialEnableHwTxFlow(int port, int enab);
150 
166 void SerialEnableHwRxFlow(int port, int enab);
167 
183 void Serial485HalfDupMode(int port, int enab);
184 
198 void SendBreak(int port, uint32_t time);
199 
215 int serwriteaddress(int fd, const char c);
216 
239 int GetUartErrorReg(int fd);
240 
241 #if (defined CB34EX || defined SB700EX || defined SB72EX)
242 
251 BOOL GetCD(int port);
252 
262 BOOL GetRI(int port);
263 
273 BOOL GetDSR(int port);
274 
284 void SetDTR(int port, BOOL val);
285 #endif /* CB34EX/SB700EX/SB72EX */
286 
293 BOOL SerialSendComplete(int fd);
294 
295 #if defined SAME70
296 
297 typedef void (*serTxCompCallback_t)(int portnum, uint32_t bytesSinceLast);
304 serTxCompCallback_t RegisterTxEmptyCallback(int fd, serTxCompCallback_t pFunc);
305 
306 #endif
307 
308 #endif /* _NB_SERIAL_H */
int serwriteaddress(int fd, const char c)
void SerialEnableHwTxFlow(int port, int enab)
int SerialClose(int portnum)
Close a serial port.
void SendBreak(int port, uint32_t time)
int GetUartErrorReg(int fd)
int OpenSerial(int portnum, unsigned int baudrate, int stop_bits, int data_bits, parity_mode parity)
Open a serial port.
void SerialEnableTxFlow(int port, int enab)
Enable transmit software flow control on the specified UART.
BOOL SerialSendComplete(int fd)
void SerialEnableRxFlow(int port, int enab)
void Serial485HalfDupMode(int port, int enab)
void SerialEnableHwRxFlow(int port, int enab)