NetBurner 3.5.6
PDF Version
serial.h
1/*NB_REVISION*/
2
3/*NB_COPYRIGHT*/
4
15#ifndef _NB_SERIAL_H
16#define _NB_SERIAL_H
17
18#include <basictypes.h>
19
24#define SERIAL_ERR_NOSUCH_PORT (-1)
25#define SERIAL_ERR_PORT_NOTOPEN (-2)
26#define SERIAL_ERR_PORT_ALREADYOPEN (-3)
27#define SERIAL_ERR_PARAM_ERROR (-4)
30// Special UART characters
31#define ADDR_ESCAPE_CHAR (0xFF)
32
33/*
34 * Definitions used to represent bits of the UART error register. These are
35 * associated with the GetUartErrorReg() function, which is only applicable to
36 * the MOD5270, SB70 and SB72.
37 */
38#define UART_ERR_BREAK (0x08)
39#define UART_ERR_FRAME (0x04)
40#define UART_ERR_PARITY (0x02)
41#define UART_ERR_OVERRUN (0x01)
42
56
84int OpenSerial(int portnum, unsigned int baudrate, int stop_bits, int data_bits, parity_mode parity);
85
97#define SimpleOpenSerial(p, b) OpenSerial(p, b, 1, 8, eParityNone)
98
113
122void SerialExpandRxBuffer(int fd, int nb);
123
134int SerialClose(int portnum);
135
147void SerialEnableTxFlow(int port, int enab);
148
160void SerialEnableRxFlow(int port, int enab);
161
181void SerialEnableHwTxFlow(int port, int enab);
182
198void SerialEnableHwRxFlow(int port, int enab);
199
215void Serial485HalfDupMode(int port, int enab);
216
233void SendBreak(int port, uint32_t time);
234
250int serwriteaddress(int fd, const char c);
251
274int GetUartErrorReg(int fd);
275
285void SetRTS(int port, bool val);
286
287#if (defined CB34EX || defined SB700EX || defined SB72EX || defined SB800EX)
297BOOL GetCD(int port);
298
308BOOL GetRI(int port);
309
319BOOL GetDSR(int port);
320
330void SetDTR(int port, BOOL val);
331#endif /* CB34EX/SB700EX/SB72EX */
332
340
341#if (defined SAME70) || (defined __MIMXRT10xx__) || (defined __MIMXRT11xx__)
342
343typedef void (*serRxIdleCallback_t)(int portnum);
344typedef void (*serTxCompCallback_t)(int portnum, uint32_t bytesSinceLast);
351serTxCompCallback_t RegisterTxEmptyCallback(int fd, serTxCompCallback_t pFunc);
352serRxIdleCallback_t RegisterSerIdleCallback(int fd, int num_bits,serRxIdleCallback_t pFunc);
353
354#endif
355
356#endif /* _NB_SERIAL_H */
357
int OpenDefaultSerial()
Opens the Default serial port as defined by the Boot Config settings.
int GetUartErrorReg(int fd)
void SerialExpandRxBuffer(int fd, int nb)
Expand the received serial buffer.
int OpenSerial(int portnum, unsigned int baudrate, int stop_bits, int data_bits, parity_mode parity)
Open a serial port.
void SetRTS(int port, bool val)
parity_mode
Serial Parity Modes.
Definition serial.h:48
void SerialEnableTxFlow(int port, int enab)
Enable transmit software flow control on the specified UART.
int serwriteaddress(int fd, const char c)
void SerialEnableRxFlow(int port, int enab)
void Serial485HalfDupMode(int port, int enab)
void SerialEnableHwTxFlow(int port, int enab)
BOOL SerialSendComplete(int fd)
void SerialEnableHwRxFlow(int port, int enab)
void SendBreak(int port, uint32_t time)
int SerialClose(int portnum)
Close a serial port.
@ eParityMultiEven
Multi mode, Even parity.
Definition serial.h:54
@ eParityNone
No parity.
Definition serial.h:49
@ eParityMulti
Multi parity.
Definition serial.h:52
@ eParityMultiOdd
Multi mode, Odd parity.
Definition serial.h:53
@ eParityEven
Even parity.
Definition serial.h:51
@ eParityOdd
Odd parity.
Definition serial.h:50