Digi XBee(R) ANSI C Host Library
Macros | Functions | Variables

Serial Interface for XBee Module (EFM32 Microcontroller) More...

#include "xbee/platform.h"
#include "xbee/serial.h"
#include "xbee_serial_config_efm32.h"
#include "xbee/cbuf.h"
#include <errno.h>

Macros

#define BUFFER_UPPER_BOUND   4
 
#define BUFFER_LOWER_BOUND   RX_BUFF_SIZE/3
 
#define XBEE_RX_IRQn   CONCAT3(USART, USART_NUMBER, _RX_IRQn) /* IRQRX number */
 
#define XBEE_TX_IRQn   CONCAT3(USART, USART_NUMBER, _TX_IRQn) /* IRQTX number */
 
#define XBEE_RX_IRQ_NAME   CONCAT3(USART, USART_NUMBER, _RX_IRQHandler) /* USART IRQ Handler */
 
#define XBEE_TX_IRQ_NAME   CONCAT3(USART, USART_NUMBER, _TX_IRQHandler) /* USART IRQ Handler */
 
#define XBEE_USART   CONCAT(USART, USART_NUMBER) /* USART instance */
 
#define XBEE_CLK   CONCAT3(cmuClock, _USART, USART_NUMBER) /* HFPER Clock */
 
#define XBEE_ROUTE_LOC_TX   CONCAT(USART_ROUTELOC0_TXLOC_LOC,TX_LOC) /* HFPER Clock */
 
#define XBEE_ROUTE_LOC_RX   CONCAT(USART_ROUTELOC0_RXLOC_LOC,TX_LOC)
 
#define XBEE_ROUTE_LOC_CTS   CONCAT(USART_ROUTELOC1_CTSLOC_LOC, CTS_LOC)
 
#define XBEE_USART_STRING   TOSTRINGMACRO(CONCAT(USART_, USART_NUMBER)) /* String version of USART_# */
 
#define TOSTRINGMACRO(s)   TOSTRINGMACRO_(s)
 
#define TOSTRINGMACRO_(s)   #s
 
#define CONCAT_(A, B)   A ## B
 
#define CONCAT(A, B)   CONCAT_(A, B)
 
#define CONCAT3_(A, B, C)   A ## B ## C
 
#define CONCAT3(A, B, C)   CONCAT3_(A, B, C)
 

Functions

void checkRxBufferUpper (void)
 
void checkRxBufferLower (void)
 
void routeSerial (void)
 
void serialInit (xbee_serial_t *serial)
 
void XBEE_RX_IRQ_NAME (void)
 
void XBEE_TX_IRQ_NAME (void)
 
bool_t xbee_ser_invalid (xbee_serial_t *serial)
 Helper function used by other xbee_serial functions to validate the serial parameter. More...
 
const char * xbee_ser_portname (xbee_serial_t *serial)
 Returns a human-readable string describing the serial port. More...
 
int xbee_ser_write (xbee_serial_t *serial, const void FAR *buffer, int length)
 Transmits length bytes from buffer to the XBee serial port serial. More...
 
int xbee_ser_read (xbee_serial_t *serial, void FAR *buffer, int bufsize)
 Reads up to bufsize bytes from XBee serial port serial and into buffer. More...
 
int xbee_ser_putchar (xbee_serial_t *serial, uint8_t ch)
 Transmits a single character, ch, to the XBee serial port serial. More...
 
int xbee_ser_getchar (xbee_serial_t *serial)
 Reads a single character from the XBee serial port serial. More...
 
int xbee_ser_tx_free (xbee_serial_t *serial)
 Returns the number of bytes of unused space in the serial transmit buffer for XBee serial port serial. More...
 
int xbee_ser_tx_used (xbee_serial_t *serial)
 Returns the number of queued bytes in the serial transmit buffer for XBee serial port serial. More...
 
int xbee_ser_tx_flush (xbee_serial_t *serial)
 Flushes (i.e., deletes and does not transmit) characters in the serial transmit buffer for XBee serial port serial. More...
 
int xbee_ser_rx_free (xbee_serial_t *serial)
 Returns the number of bytes of unused space in the serial receive buffer for XBee serial port serial. More...
 
int xbee_ser_rx_used (xbee_serial_t *serial)
 Returns the number of queued bytes in the serial receive buffer for XBee serial port serial. More...
 
int xbee_ser_rx_flush (xbee_serial_t *serial)
 Deletes all characters in the serial receive buffer for XBee serial port serial. More...
 
int xbee_ser_open (xbee_serial_t *serial, uint32_t baudrate)
 Opens the serial port connected to XBee serial port serial at baudrate bits/second. More...
 
int xbee_ser_baudrate (xbee_serial_t *serial, uint32_t baudrate)
 Change the baud rate of XBee serial port serial to baudrate bits/second. More...
 
int xbee_ser_close (xbee_serial_t *serial)
 Close the serial port attached to XBee serial port serial. More...
 
int xbee_ser_break (xbee_serial_t *serial, bool_t enabled)
 Disable the serial transmit pin and pull it low to send a break to the XBee serial port. More...
 
int xbee_ser_flowcontrol (xbee_serial_t *serial, bool_t enabled)
 Enable or disable hardware flow control (CTS/RTS) on the serial port for XBee serial port serial. More...
 
int xbee_ser_set_rts (xbee_serial_t *serial, bool_t asserted)
 Disable hardware flow control and manually set the RTS (ready to send) pin on the XBee device's serial port. More...
 
int xbee_ser_get_cts (xbee_serial_t *serial)
 Read the status of the /CTS (clear to send) pin on the serial port connected to XBee serial port serial. More...
 

Variables

USART_TypeDef * usart = XBEE_USART
 

Detailed Description

Serial Interface for XBee Module (EFM32 Microcontroller)