3.4.16. xbee
— XBee¶
An XBee is a module for wireless communication.

This driver implements reception and transmission of frames over a channel (normally a UART driver).
Known limitations:
- Only AP=2 is supported. That is, API operation with escaped charaters. AP=1 could easily be implemented.
Manufacturer homepage: https://www.digi.com/
Source code: src/drivers/network/xbee.h, src/drivers/network/xbee.c
Test code: tst/drivers/software/network/xbee/main.c
Test coverage: src/drivers/network/xbee.c
Example code: examples/xbee/main.c
Defines
-
XBEE_DATA_MAX
¶
-
XBEE_FRAME_ID_NO_ACK
¶
-
XBEE_FRAME_TYPE_TX_REQUEST_64_BIT_ADDRESS
¶
-
XBEE_FRAME_TYPE_TX_REQUEST_16_BIT_ADDRESS
¶
-
XBEE_FRAME_TYPE_AT_COMMAND
¶
-
XBEE_FRAME_TYPE_AT_COMMAND_QUEUE_PARAMETER_VALUE
¶
-
XBEE_FRAME_TYPE_ZIGBEE_TRANSMIT_REQUEST
¶
-
XBEE_FRAME_TYPE_EXPLICIT_ADDRESSING_ZIGBEE_COMMAND_FRAME
¶
-
XBEE_FRAME_TYPE_REMOTE_COMMAND_REQUEST
¶
-
XBEE_FRAME_TYPE_CREATE_SOURCE_ROUTE
¶
-
XBEE_FRAME_TYPE_RX_PACKET_64_BIT_ADDRESS
¶
-
XBEE_FRAME_TYPE_RX_PACKET_16_BIT_ADDRESS
¶
-
XBEE_FRAME_TYPE_RX_PACKET_64_BIT_ADDRESS_IO
¶
-
XBEE_FRAME_TYPE_RX_PACKET_16_BIT_ADDRESS_IO
¶
-
XBEE_FRAME_TYPE_AT_COMMAND_RESPONSE
¶
-
XBEE_FRAME_TYPE_TX_STATUS
¶
-
XBEE_FRAME_TYPE_MODEM_STATUS
¶
-
XBEE_FRAME_TYPE_ZIGBEE_TRANSMIT_STATUS
¶
-
XBEE_FRAME_TYPE_ZIGBEE_RECEIVE_PACKET_AO_0
¶
-
XBEE_FRAME_TYPE_ZIGBEE_EXPLICIT_RX_INDICATOR_AO_1
¶
-
XBEE_FRAME_TYPE_ZIGBEE_IO_DATA_SAMPLE_RX_INDICATOR
¶
-
XBEE_FRAME_TYPE_XBEE_SENSOR_READ_INDICATOR_AO_0
¶
-
XBEE_FRAME_TYPE_NODE_IDENTIFICATION_INDICATOR_AO_0
¶
-
XBEE_FRAME_TYPE_REMOTE_COMMAND_RESPONSE
¶
-
XBEE_FRAME_TYPE_EXTENDED_MODEM_STATUS
¶
-
XBEE_FRAME_TYPE_OVER_THE_AIR_FIRMWARE_UPDATE_STATUS
¶
-
XBEE_FRAME_TYPE_ROUTE_RECORD_INDICATOR
¶
-
XBEE_FRAME_TYPE_MANY_TO_ONE_ROUTE_REQUEST_INDICATOR
¶
-
XBEE_PIN_DIO0
¶
-
XBEE_PIN_DIO1
¶
-
XBEE_PIN_DIO2
¶
-
XBEE_PIN_DIO3
¶
-
XBEE_PIN_DIO4
¶
-
XBEE_PIN_DIO5
¶
-
XBEE_PIN_DIO6
¶
-
XBEE_PIN_DIO7
¶
-
XBEE_PIN_DIO8
¶
-
XBEE_PIN_AD0
¶
-
XBEE_PIN_AD1
¶
-
XBEE_PIN_AD2
¶
-
XBEE_PIN_AD3
¶
-
XBEE_PIN_MODE_DISABLED
¶
-
XBEE_PIN_MODE_ADC
¶
-
XBEE_PIN_MODE_INPUT
¶
-
XBEE_PIN_MODE_OUTPUT_LOW
¶
-
XBEE_PIN_MODE_OUTPUT_HIGH
¶
Functions
-
int
xbee_module_init
(void)¶ Initialize the xbee module. This function must be called before calling any other function in this module.
The module will only be initialized once even if this function is called multiple times.
- Return
- zero(0) or negative error code.
-
int
xbee_init
(struct xbee_driver_t *self_p, void *chin_p, void *chout_p)¶ Initialize given driver object from given configuration.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Driver object to initialize.chin_p
: Input channel from the XBee module, often a UART driver.chout_p
: Output channel to the XBee module, often a UART driver output channel.
-
int
xbee_read
(struct xbee_driver_t *self_p, struct xbee_frame_t *frame_p)¶ Read a frame from the XBee module. Blocks until a frame is received or an error occurs.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized driver object.frame_p
: Frame to read into.
-
int
xbee_write
(struct xbee_driver_t *self_p, const struct xbee_frame_t *frame_p)¶ Write given frame to the XBee module. Blocks until the frame have been transmitted or an error occurs.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized driver object.frame_p
: Frame to write.
-
int
xbee_print_frame
(void *chan_p, struct xbee_frame_t *frame_p)¶ Decode given frame and write it as a human readable string to given channel.
- Return
- zero(0) or negative error code.
- Parameters
chan_p
: Channel to write the human readable string to.frame_p
: Frame to decode.
-
const char *
xbee_frame_type_as_string
(uint8_t frame_type)¶ Map given frame type to a human readable string.
- Return
- Human readable frame type string or NULL if given frame type is unknown.
- Parameters
frame_type
: Frame type.
-
const char *
xbee_tx_status_as_string
(uint8_t tx_status)¶ Map given TX status to a human readable string.
- Return
- Human readable TX status string or NULL if given TX status is unknown.
- Parameters
tx_status
: TX status.
-
const char *
xbee_modem_status_as_string
(uint8_t modem_status)¶ Map given modem status to a human readable string.
- Return
- Human readable modem status string or NULL if given modem status is unknown.
- Parameters
modem_status
: Modem status.
-
const char *
xbee_at_command_response_status_as_string
(uint8_t response_status)¶ Map given AT command response status to a human readable string.
- Return
- Human readable AT command response status string or NULL if given response status is unknown.
- Parameters
response_status
: AT command response status.
-
struct
xbee_frame_t
¶
-
struct
xbee_driver_t
¶