Digi XBee(R) ANSI C Host Library
|
#include "xbee/atcmd.h"
#include "xbee/wpan.h"
#include "xbee/discovery.h"
#include "xbee/io.h"
#include "xbee/reg_descr.h"
Go to the source code of this file.
Data Structures | |
struct | sxa_cached_group_t |
Cached register group value. More... | |
struct | sxa_node_t |
This structure and the attendant functions provide a useful layer for Rabbit applications who wish to use a simplified interface to the XBee API. More... | |
Macros | |
#define | _SXA_CACHED_PREFIX_SIZE (sizeof(sxa_cache_flags_t)) |
#define | _SXA_CACHED_STRING(name, len) XBEE_PACKED(, { sxa_cache_flags_t flags; uint8_t value[len+1]; }) name |
Cached string register value. More... | |
#define | _SXA_CACHED_BIN(name, len) XBEE_PACKED(, { sxa_cache_flags_t flags; uint8_t value[len]; }) name |
Cached binary register value. More... | |
#define | ZB_CAP_ADV_ADDR 0x00000001 |
#define | ZB_CAP_ZDO 0x00000002 |
#define | ZB_CAP_REMOTE_DDO 0x00000004 |
#define | ZB_CAP_GW_FW 0x00000008 |
#define | ZB_CAP_REMOTE_FW 0x00000010 |
#define | ZB_CAP_ZIGBEE 0x00000020 |
#define | ZB_CAP_ZBPRO 0x00000040 |
#define | ZB_CAP_DIGIMESH 0x00000080 |
#define | ZB_CAP_CHILDREN 0x00000100 |
#define | ZB_CAP_SE 0x00000200 |
#define | _SXA_MAX_QUEUED 100 |
Cached register value handling: maximum number of queued updates. | |
#define | XBEE_ATAO_NOT_SUPPORTED 0xFF |
#define | MS_MOD_UNSPEC 0x00000000 |
#define | MS_MOD_SERIES1 0x00010000 |
#define | MS_MOD_ZNET25 0x00020000 |
#define | MS_MOD_ZB 0x00030000 |
#define | MS_MOD_XBEE900 0x00040000 |
#define | MS_MOD_XBEE24 0x00050000 |
#define | MS_MOD_XBEE868 0x00060000 |
#define | MS_MOD_XBEE900DP 0x00070000 |
#define | MS_MOD_ZB_S2C 0x000a0000 |
#define | MS_MOD_MIN MS_MOD_SERIES1 |
#define | MS_MOD_MAX MS_MOD_ZB_S2C |
#define | sxa_list_head() sxa_table |
#define | sxa_list_count() sxa_table_count |
#define | sxa_xbee(s) ((s)->xbee) |
#define | sxa_wpan_address(s) ((s)->addr_ptr) |
#define | XBEE_FRAME_HANDLE_ND_RESPONSE |
Macro for registering a handler to receive node announcements via both ATND responses and 0x95 frames received. More... | |
#define | XBEE_DISC_CLIENT_CLUST_ENTRY |
#define | XBEE_FRAME_HANDLE_IS_RESPONSE |
Macro for registering a handler to receive I/O samples via both ATIS responses and 0x92 frames received. More... | |
#define | XBEE_IO_CLIENT_CLUST_ENTRY |
Typedefs | |
typedef uint8_t | sxa_cache_flags_t |
struct { | |
sxa_cache_flags_t flags | |
} | sxa_cached_t |
Cached generic register value (no data) More... | |
struct { | |
sxa_cache_flags_t flags | |
uint8_t value | |
} | sxa_cached_uint8_t |
Cached uint8_t register value. More... | |
struct { | |
sxa_cache_flags_t flags | |
uint16_t value | |
} | sxa_cached_uint16_t |
Cached uint16_t register value. More... | |
struct { | |
sxa_cache_flags_t flags | |
uint32_t value | |
} | sxa_cached_uint32_t |
Cached uint32_t register value. More... | |
struct { | |
sxa_cache_flags_t flags | |
addr64 value | |
} | sxa_cached_addr64 |
Cached extended address register value. More... | |
typedef void(* | sxa_cache_upd_fn) (struct sxa_node_t FAR *sxa, const struct sxa_cached_group_t FAR *cgroup) |
Function registered for cache group update post-processing. More... | |
Enumerations | |
enum | { _SXA_CACHED_UNKNOWN = 0x00, _SXA_CACHED_OK = 0x01, _SXA_CACHED_ERROR = 0x02, _SXA_CACHED_BUSY = 0x04, _SXA_CACHED_PENDING = 0x08, _SXA_CACHED_BAD_GROUP = 0x10 } |
enum | { SXA_CACHED_NONE, SXA_CACHED_NODE_ID, SXA_CACHED_IO_CONFIG, SXA_CACHED_DEVICE_INFO, SXA_CACHED_DHDL, SXA_CACHED_MISC = 255 } |
This enum gives numeric identification to all cache groups. More... | |
Functions | |
const sxa_cached_group_t FAR * | _sxa_cache_group_by_id (uint16_t id) |
void | _sxa_update_io_config_group (sxa_node_t FAR *sxa, const sxa_cached_group_t FAR *cgroup) |
void | _sxa_process_version_info (const xbee_cmd_response_t FAR *response, const struct xbee_atcmd_reg_t FAR *reg, void FAR *base) |
sxa_node_t FAR * | sxa_node_by_addr (const addr64 FAR *ieee_be) |
sxa_node_t FAR * | sxa_local_node (const xbee_dev_t *xbee) |
sxa_node_t FAR * | sxa_node_by_name (const char FAR *name) |
sxa_node_t FAR * | sxa_node_by_index (int index) |
sxa_node_t FAR * | sxa_node_add (xbee_dev_t *xbee, const xbee_node_id_t FAR *node_id) |
void | sxa_node_table_dump (void) |
xbee_dev_t *() | sxa_xbee (sxa_node_t FAR *sxa) |
wpan_address_t FAR *() | sxa_wpan_address (sxa_node_t FAR *sxa) |
int | sxa_get_digital_input (const sxa_node_t FAR *sxa, uint_fast8_t index) |
int | sxa_get_digital_output (const sxa_node_t FAR *sxa, uint_fast8_t index) |
int16_t | sxa_get_analog_input (const sxa_node_t FAR *sxa, uint_fast8_t index) |
int | sxa_set_digital_output (sxa_node_t FAR *sxa, uint_fast8_t index, enum xbee_io_digital_output_state state) |
int | sxa_io_configure (sxa_node_t FAR *sxa, uint_fast8_t index, enum xbee_io_type type) |
int | sxa_io_set_options (sxa_node_t FAR *sxa, uint16_t sample_rate, uint16_t change_mask) |
void | sxa_io_dump (sxa_node_t FAR *sxa) |
int | sxa_io_query (sxa_node_t FAR *sxa) |
int | sxa_io_query_status (sxa_node_t FAR *sxa) |
sxa_node_t FAR * | sxa_init_or_exit (xbee_dev_t *xbee, const wpan_endpoint_table_entry_t *ep_table, int verbose) |
void | _sxa_launch_update (sxa_node_t FAR *sxa, const struct _xbee_reg_descr_t FAR *xrd, uint16_t cache_group) |
void | sxa_tick (void) |
int | sxa_is_digi (const sxa_node_t FAR *sxa) |
int | _sxa_disc_process_node_data (xbee_dev_t *xbee, const void FAR *raw, int length) |
Function shared by multiple functions that process Node Identification Messages (0x95 frames and ATND responses). More... | |
int | _sxa_disc_atnd_response (xbee_dev_t *xbee, const void FAR *raw, uint16_t length, void FAR *context) |
Frame handler for processing AT Command Response frames. More... | |
int | _sxa_disc_handle_frame_0x95 (xbee_dev_t *xbee, const void FAR *raw, uint16_t length, void FAR *context) |
Frame handler for processing Node Identification Indicator (0x95) frames. More... | |
int | _sxa_disc_cluster_handler (const wpan_envelope_t FAR *envelope, void FAR *context) |
Cluster handler for "Digi Node Identification" cluster. More... | |
int | _sxa_io_process_response (const addr64 FAR *ieee_be, const void FAR *raw, int length) |
Function shared by multiple functions that process I/O sample messages (0x92 frames and ATIS responses). More... | |
int | _sxa_io_response_handler (xbee_dev_t *xbee, const void FAR *raw, uint16_t length, void FAR *context) |
int | _sxa_io_cluster_handler (const wpan_envelope_t FAR *envelope, void FAR *context) |
int | _sxa_remote_is_cmd_response_handler (xbee_dev_t *xbee, const void FAR *raw, uint16_t length, void FAR *context) |
int | _sxa_local_is_cmd_response_handler (xbee_dev_t *xbee, const void FAR *raw, uint16_t length, void FAR *context) |
sxa_cache_flags_t | sxa_cache_status (sxa_node_t FAR *sxa, const _xbee_reg_descr_t FAR *zb, uint16_t cache_group) |
void | _sxa_set_cache_status (sxa_node_t FAR *sxa, const _xbee_reg_descr_t FAR *zb, uint16_t cache_group, sxa_cache_flags_t flags) |
void FAR * | sxa_cached_value_ptr (sxa_node_t FAR *sxa, const _xbee_reg_descr_t FAR *zb) |
uint16_t | sxa_cached_value_len (sxa_node_t FAR *sxa, const _xbee_reg_descr_t FAR *zb) |
int | sxa_find_pending_cache (sxa_node_t FAR *sxa, const _xbee_reg_descr_t FAR *zb) |
int | sxa_schedule_update_cache (sxa_node_t FAR *sxa, const _xbee_reg_descr_t FAR *zb) |
Variables | |
const FAR sxa_cached_group_t | _sxa_default_cache_groups [] |
sxa_node_t FAR * | sxa_table |
int | sxa_table_count |
sxa_node_t FAR * | sxa_local_table |