Digi XBee(R) ANSI C Host Library
serial.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008-2012 Digi International Inc.,
3  * All rights not expressly granted are reserved.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
7  * You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
10  * =======================================================================
11  */
12 
60 #ifndef __XBEE_SERIAL
61 #define __XBEE_SERIAL
62 
63 #include "xbee/platform.h"
64 
66 
80 
81 
97 const char *xbee_ser_portname( xbee_serial_t *serial);
98 
99 
118 int xbee_ser_write( xbee_serial_t *serial, const void FAR *buffer,
119  int length);
120 
121 
142 int xbee_ser_read( xbee_serial_t *serial, void FAR *buffer, int bufsize);
143 
144 
160 int xbee_ser_putchar( xbee_serial_t *serial, uint8_t ch);
161 
162 
175 int xbee_ser_getchar( xbee_serial_t *serial);
176 
177 
193 int xbee_ser_tx_free( xbee_serial_t *serial);
194 
195 
211 int xbee_ser_tx_used( xbee_serial_t *serial);
212 
213 
227 int xbee_ser_tx_flush( xbee_serial_t *serial);
228 
229 
245 int xbee_ser_rx_free( xbee_serial_t *serial);
246 
247 
276 int xbee_ser_rx_used( xbee_serial_t *serial);
277 
278 
292 int xbee_ser_rx_flush( xbee_serial_t *serial);
293 
294 
310 int xbee_ser_open( xbee_serial_t *serial, uint32_t baudrate);
311 
312 
328 int xbee_ser_baudrate( xbee_serial_t *serial, uint32_t baudrate);
329 
330 
342 int xbee_ser_close( xbee_serial_t *serial);
343 
344 
360 int xbee_ser_break( xbee_serial_t *serial, bool_t enabled);
361 
362 
379 int xbee_ser_flowcontrol( xbee_serial_t *serial, bool_t enabled);
380 
381 
400 int xbee_ser_set_rts( xbee_serial_t *serial, bool_t asserted);
401 
402 
421 int xbee_ser_get_cts( xbee_serial_t *serial);
422 
424 
425 // If compiling in Dynamic C, automatically #use the appropriate C file.
426 #ifdef __DC__
427  #use "xbee_serial_rabbit.c"
428 #endif
429 
430 #endif
431 
unsigned long uint32_t
32-bit unsigned integer
Definition: platform_config.h:43
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 seria...
Definition: xbee_serial_posix.c:197
#define FAR
On platforms with "far" pointers, define to the proper keyword; empty definition if not required...
Definition: platform.h:396
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...
Definition: xbee_serial_posix.c:389
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...
Definition: xbee_serial_posix.c:183
Definition: platform_config.h:71
#define XBEE_BEGIN_DECLS
Macro defined to.
Definition: platform.h:41
Common header for Hardware Abstraction Layer.
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...
Definition: xbee_serial_posix.c:190
bool_t xbee_ser_invalid(xbee_serial_t *serial)
Helper function used by other xbee_serial functions to validate the serial parameter.
Definition: xbee_serial_posix.c:45
int xbee_ser_getchar(xbee_serial_t *serial)
Reads a single character from the XBee serial port serial.
Definition: xbee_serial_posix.c:168
int xbee_ser_baudrate(xbee_serial_t *serial, uint32_t baudrate)
Change the baud rate of XBee serial port serial to baudrate bits/second.
Definition: xbee_serial_posix.c:246
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.
Definition: xbee_serial_posix.c:110
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 seria...
Definition: xbee_serial_posix.c:431
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...
Definition: xbee_serial_posix.c:207
unsigned char uint8_t
8-bit unsigned integer
Definition: platform_config.h:39
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 seri...
Definition: xbee_serial_posix.c:471
const char * xbee_ser_portname(xbee_serial_t *serial)
Returns a human-readable string describing the serial port.
Definition: xbee_serial_posix.c:68
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...
Definition: xbee_serial_posix.c:214
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...
Definition: xbee_serial_posix.c:362
#define XBEE_END_DECLS
Macro defined to.
Definition: platform.h:42
int xbee_ser_close(xbee_serial_t *serial)
Close the serial port attached to XBee serial port serial.
Definition: xbee_serial_posix.c:342
int bool_t
Variable that can hold 0 or 1, may be an int for speed purporses or uint8_t for size optimization...
Definition: platform_config.h:51
int xbee_ser_putchar(xbee_serial_t *serial, uint8_t ch)
Transmits a single character, ch, to the XBee serial port serial.
Definition: xbee_serial_posix.c:148
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.
Definition: xbee_serial_posix.c:308
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.
Definition: xbee_serial_posix.c:79
int xbee_ser_rx_flush(xbee_serial_t *serial)
Deletes all characters in the serial receive buffer for XBee serial port serial.
Definition: xbee_serial_posix.c:235