High-level driver for the XBee S1 802.15.4 modem. More...
High-level driver for the XBee S1 802.15.4 modem.
Definition in file xbee.h.
#include <stdint.h>
#include "mutex.h"
#include "xtimer.h"
#include "periph/uart.h"
#include "periph/gpio.h"
#include "net/netdev.h"
#include "net/ieee802154.h"
#include "net/gnrc/nettype.h"
Go to the source code of this file.
Data Structures | |
struct | xbee_params_t |
Configuration parameters for XBee devices. More... | |
struct | xbee_t |
XBee device descriptor. More... | |
struct | xbee_l2hdr_t |
Data structure for extraction L2 information of received packets. More... | |
Macros | |
#define | XBEE_MAX_PAYLOAD_LENGTH (100U) |
Maximum payload length that can be send. | |
#define | XBEE_MAX_PKT_LENGTH (115U) |
Maximum packet length, including XBee API frame overhead. | |
#define | XBEE_MAX_RESP_LENGTH (16U) |
Maximum length of a command response. | |
#define | XBEE_MAX_TXHDR_LENGTH (14U) |
Maximal possible size of a TX header. | |
#define | XBEE_DEFAULT_PROTOCOL (GNRC_NETTYPE_SIXLOWPAN) |
Default protocol for data that is coming in. | |
#define | XBEE_DEFAULT_PANID (CONFIG_IEEE802154_DEFAULT_PANID) |
Default PAN ID used after initialization. | |
#define | XBEE_DEFAULT_CHANNEL (CONFIG_IEEE802154_DEFAULT_CHANNEL) |
Default channel used after initialization. | |
Enumerations | |
enum | xbee_rx_state_t { XBEE_INT_STATE_IDLE, XBEE_INT_STATE_SIZE1, XBEE_INT_STATE_SIZE2, XBEE_INT_STATE_TYPE, XBEE_INT_STATE_RESP, XBEE_INT_STATE_RX } |
States of the internal FSM for handling incoming UART frames. More... | |
Functions | |
void | xbee_setup (xbee_t *dev, const xbee_params_t *params) |
Prepare the given Xbee device. More... | |
int | xbee_build_hdr (xbee_t *dev, uint8_t *xhdr, size_t payload_len, void *dst_addr, size_t addr_len) |
Put together the internal proprietary XBee header. More... | |
int | xbee_parse_hdr (xbee_t *dev, const uint8_t *xhdr, xbee_l2hdr_t *l2hdr) |
Extract IEEE802.15.4 L2 header information from the XBee header. More... | |
Variables | |
const netdev_driver_t | xbee_driver |
Reference to the XBee driver interface. | |
Address flags | |
#define | XBEE_ADDR_FLAGS_LONG (0x80) |
Use long addresses if not otherwise defined when set, use short addresses when unset. | |