41 #ifdef MODULE_XBEE_ENCRYPTION 
   42 #define XBEE_MAX_PAYLOAD_LENGTH     (95U) 
   44 #define XBEE_MAX_PAYLOAD_LENGTH     (100U) 
   50 #define XBEE_MAX_PKT_LENGTH         (115U) 
   55 #define XBEE_MAX_RESP_LENGTH        (16U) 
   60 #define XBEE_MAX_TXHDR_LENGTH       (14U) 
   65 #ifdef MODULE_GNRC_SIXLOWPAN 
   66 #define XBEE_DEFAULT_PROTOCOL       (GNRC_NETTYPE_SIXLOWPAN) 
   68 #define XBEE_DEFAULT_PROTOCOL       (GNRC_NETTYPE_UNDEF) 
   74 #define XBEE_DEFAULT_PANID          (CONFIG_IEEE802154_DEFAULT_PANID) 
   79 #define XBEE_DEFAULT_CHANNEL        (CONFIG_IEEE802154_DEFAULT_CHANNEL) 
   89 #define XBEE_ADDR_FLAGS_LONG              (0x80) 
  136     uint8_t addr_short[2];              
 
  198                    void *dst_addr, 
size_t addr_len);
 
Definitions low-level network driver interface.
 
Low-level GPIO peripheral driver interface definitions.
 
void(* netdev_event_cb_t)(netdev_t *dev, netdev_event_t event)
Event callback for signaling event to upper layers.
 
uint_fast8_t uart_t
Define default UART type identifier.
 
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.
 
#define XBEE_MAX_RESP_LENGTH
Maximum length of a command response.
 
#define XBEE_MAX_PKT_LENGTH
Maximum packet length, including XBee API frame overhead.
 
xbee_rx_state_t
States of the internal FSM for handling incoming UART frames.
 
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.
 
const netdev_driver_t xbee_driver
Reference to the XBee driver interface.
 
void xbee_setup(xbee_t *dev, const xbee_params_t *params)
Prepare the given Xbee device.
 
@ XBEE_INT_STATE_SIZE1
waiting for the first byte (MSB) of the frame size field
 
@ XBEE_INT_STATE_TYPE
waiting for the frame type field
 
@ XBEE_INT_STATE_SIZE2
waiting for the second byte (LSB) of the frame size field
 
@ XBEE_INT_STATE_RX
handling incoming data when receiving radio packets
 
@ XBEE_INT_STATE_RESP
handling incoming data for AT command responses
 
@ XBEE_INT_STATE_IDLE
waiting for the beginning of a new frame
 
Mutex for thread synchronization.
 
Protocol type definitions.
 
Structure to hold driver interface -> function mapping.
 
Data structure for extraction L2 information of received packets.
 
uint8_t bcast
0 := unicast, 1:=broadcast
 
uint8_t addr_len
L2 address length (SRC and DST)
 
Configuration parameters for XBee devices.
 
gpio_t pin_sleep
GPIO pin that is connected to the SLEEP pin set to GPIO_UNDEF if not used.
 
uint32_t br
baudrate to use
 
uart_t uart
UART interfaced the device is connected to.
 
gpio_t pin_reset
GPIO pin that is connected to the STATUS pin set to GPIO_UNDEF if not used.
 
uint16_t resp_limit
size RESP frame in transferred
 
uint8_t options
options field
 
xbee_params_t p
configuration parameters
 
uint8_t tx_fid
TX frame ID.
 
netdev_event_cb_t event_callback
callback for device events
 
mutex_t resp_lock
mutex for waiting for AT command response frames
 
xbee_rx_state_t int_state
current state if the UART RX FSM
 
void * context
ptr to network stack context
 
const struct netdev_driver * driver
ptr to that driver's interface.
 
uint16_t resp_count
counter for ongoing transmission
 
eui64_t addr_long
own 802.15.4 long address
 
mutex_t tx_lock
mutex to allow only one transmission at a time
 
uint8_t addr_flags
address flags as defined above
 
uint16_t rx_count
counter for ongoing transmission
 
uint16_t rx_limit
size RX frame transferred
 
uint16_t int_size
temporary space for parsing the frame size
 
IEEE 802.15.4 header definitions.
 
Low-level UART peripheral driver interface definition.
 
Data type to represent an EUI-64.