zigbee 2.0.0.0
zigbee.h File Reference

This file contains API for ZigBee Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_uart.h"

Go to the source code of this file.

Data Structures

struct  zigbee_t
 ZigBee Click context object. More...
 
struct  zigbee_cfg_t
 ZigBee Click configuration object. More...
 
struct  zigbee_error_type
 

Macros

#define ZIGBEE_CMD_AT   "AT"
 ZigBee control commands.
 
#define ZIGBEE_CMD_ATI   "ATI"
 
#define ZIGBEE_CMD_ATZ   "ATZ"
 
#define ZIGBEE_CMD_AT_REMZ   "AT+REMZ"
 
#define ZIGBEE_CMD_AT_F   "AT&F"
 
#define ZIGBEE_CMD_AT_BLOAD   "AT+BLOAD"
 
#define ZIGBEE_CMD_AT_PASSTHROUGH   "AT+PASSTHROUGH"
 
#define ZIGBEE_CMD_AT_RECOVER   "AT+RECOVER"
 
#define ZIGBEE_CMD_ATS   "ATS"
 
#define ZIGBEE_CMD_ATREMS   "ATREMS"
 
#define ZIGBEE_CMD_ATSALL   "ATSALL"
 
#define ZIGBEE_CMD_AT_TOKDUMP   "AT+TOKDUMP"
 
#define ZIGBEE_CMD_AT_ESCAN   "AT+ESCAN"
 ZigBee network control commands.
 
#define ZIGBEE_CMD_AT_EN   "AT+EN"
 
#define ZIGBEE_CMD_AT_PANSCAN   "AT+PANSCAN"
 
#define ZIGBEE_CMD_AT_JN   "AT+JN"
 
#define ZIGBEE_CMD_AT_JPAN   "AT+JPAN"
 
#define ZIGBEE_CMD_AT_SJN   "AT+SJN"
 
#define ZIGBEE_CMD_AT_DASSL   "AT+DASSL"
 
#define ZIGBEE_CMD_AT_DASSR   "AT+DASSR"
 
#define ZIGBEE_CMD_AT_N   "AT+N"
 
#define ZIGBEE_CMD_AT_NTABLE   "AT+NTABLE"
 
#define ZIGBEE_CMD_AT_RTABLE   "AT+RTABLE"
 
#define ZIGBEE_CMD_AT_IDREQ   "AT+IDREQ"
 
#define ZIGBEE_CMD_AT_EUIREQ   "AT+EUIREQ"
 
#define ZIGBEE_CMD_AT_NODEDESC   "AT+NODEDESC"
 
#define ZIGBEE_CMD_AT_POWERDESC   "AT+POWERDESC"
 
#define ZIGBEE_CMD_AT_ACTEPDESC   "AT+ACTEPDESC"
 
#define ZIGBEE_CMD_AT_SIMPLEDESC   "AT+SIMPLEDESC"
 
#define ZIGBEE_CMD_AT_MATCHREQ   "AT+MATCHREQ"
 
#define ZIGBEE_CMD_AT_ANNCE   "AT+ANNCE"
 
#define ZIGBEE_CMD_AT_SR   "AT+SR"
 
#define ZIGBEE_CMD_AT_FNDSR   "AT+FNDSR"
 
#define ZIGBEE_CMD_AT_POLL   "AT+POLL"
 
#define ZIGBEE_CMD_AT_REJOIN   "AT+REJOIN"
 
#define ZIGBEE_CMD_AT_SN   "AT+SN"
 
#define ZIGBEE_CMD_AT_KEYUPD   "AT+KEYUPD"
 
#define ZIGBEE_CMD_AT_BECOMENTC   "AT+BECOMENTC"
 
#define ZIGBEE_CMD_AT_BECOMENM   "AT+BECOMENM"
 
#define ZIGBEE_CMD_AT_CCHANGE   "AT+CCHANGE"
 
#define ZIGBEE_CMD_AT_ATABLE   "AT+ATABLE"
 ZigBee messageing commands.
 
#define ZIGBEE_CMD_AT_ASET   "AT+ASET"
 
#define ZIGBEE_CMD_AT_MTABLE   "AT+MTABLE"
 
#define ZIGBEE_CMD_AT_MSET   "AT+MSET"
 
#define ZIGBEE_CMD_AT_BCAST   "AT+BCAST"
 
#define ZIGBEE_CMD_AT_BCASTB   "AT+BCASTB"
 
#define ZIGBEE_CMD_AT_UCAST   "AT+UCAST"
 
#define ZIGBEE_CMD_AT_UCASTB   "AT+UCASTB"
 
#define ZIGBEE_CMD_AT_SCAST   "AT+SCAST"
 
#define ZIGBEE_CMD_AT_SCASTB   "AT+SCASTB"
 
#define ZIGBEE_CMD_AT_SSINK   "AT+SSINK"
 
#define ZIGBEE_CMD_AT_MCAST   "AT+MCAST"
 
#define ZIGBEE_CMD_AT_MCASTB   "AT+MCASTB"
 
#define ZIGBEE_CMD_AT_DMODE   "AT+DMODE"
 
#define ZIGBEE_CMD_AT_PPP   "+++"
 
#define ZIGBEE_CMD_AT_IDENT   "AT+IDENT"
 
#define ZIGBEE_CMD_AT_SENDUCAST   "AT+SENDUCAST"
 
#define ZIGBEE_CMD_AT_SENDUCASTB   "AT+SENDUCASTB"
 
#define ZIGBEE_CMD_AT_SNEDMCAST   "AT+SNEDMCAST"
 
#define ZIGBEE_CMD_AT_SENDMCASTB   "AT+SENDMCASTB"
 
#define ZIGBEE_CMD_AT_INTERPAN   "AT+INTERPAN"
 
#define ZIGBEE_CMD_AT_RDATAB   "AT+RDATAB"
 
#define ZIGBEE_CMD_AT_LBTABLE   "AT+LBTABLE"
 ZigBee binding management commands.
 
#define ZIGBEE_CMD_AT_BSET   "AT+BSET"
 
#define ZIGBEE_CMD_AT_BCLR   "AT+BCLR"
 
#define ZIGBEE_CMD_AT_BTABLE   "AT+BTABLE"
 
#define ZIGBEE_CMD_AT_BIND   "AT+BIND"
 
#define ZIGBEE_CMD_AT_UNBIND   "AT+UNBIND"
 
#define ZIGBEE_CMD_AT_EDBIND   "AT+EDBIND"
 
#define ZIGBEE_CMD_AT_SETTIME   "AT+SETTIME"
 ZigBee time-related commands.
 
#define ZIGBEE_CMD_AT_GETTIME   "AT+GETTIME"
 
#define ZIGBEE_CMD_AT_SYNCTIME   "AT+SYNCTIME"
 
#define ZIGBEE_SUFFIX_NULL   ""
 ZigBee suffix buffer.
 
#define ZIGBEE_DEV_BUFFER_MAX   80
 ZigBee driver buffer size.
 
#define ZIGBEE_ERROR_OK   0X00
 ZigBee error codes.
 
#define ZIGBEE_ERROR_CANT_POLL_TIMEOUT   0X01
 
#define ZIGBEE_ERROR_UNKNOWN_CMD   0X02
 
#define ZIGBEE_ERROR_INVALID_SREG   0X04
 
#define ZIGBEE_ERROR_INVALID_PARAM   0X05
 
#define ZIGBEE_ERROR_RECIPIENT   0X06
 
#define ZIGBEE_ERROR_MSG_NACK   0X07
 
#define ZIGBEE_ERROR_NSINK   0X08
 
#define ZIGBEE_ERROR_ADR_TABLE_IN_USE   0X09
 
#define ZIGBEE_ERROR_MSG_NOT_SENT   0X0A
 
#define ZIGBEE_ERROR_LOCAL_NODE_NSINK   0X0B
 
#define ZIGBEE_ERROR_TOO_MANY_CHAR   0X0C
 
#define ZIGBEE_ERROR_BG_SCAN_IN_PROGRESS   0X0E
 
#define ZIGBEE_ERROR_FATAL_INIT_NET   0X0F
 
#define ZIGBEE_ERROR_BOOTLOADING   0X10
 
#define ZIGBEE_ERROR_FATAL_INIT_STACK   0X12
 
#define ZIGBEE_ERROR_NODE_OUT_OF_BUFFER   0X18
 
#define ZIGBEE_ERROR_READ_ONLY_REG   0X19
 
#define ZIGBEE_ERROR_DATA_MODE_REFUSED_RN   0X1A
 
#define ZIGBEE_ERROR_CONN_LOST_DATA_MODE   0X1B
 
#define ZIGBEE_ERROR_RN_IN_DATA_MODE   0X1C
 
#define ZIGBEE_ERROR_INVALID_PASWD   0X20
 
#define ZIGBEE_ERROR_CANT_FORM_NET   0X25
 
#define ZIGBEE_ERROR_NO_NET_FOUND   0X27
 
#define ZIGBEE_ERROR_NOD_PART_OF_PAN   0X28
 
#define ZIGBEE_ERROR_LEAVING_PAN   0X2C
 
#define ZIGBEE_ERROR_SCANNING_PAN   0X2D
 
#define ZIGBEE_ERROR_NO_RESP_BOOTLOADER   0X33
 
#define ZIGBEE_ERROR_TARGET_NO_RESP   0X34
 
#define ZIGBEE_ERROR_TIMEOUT_XCASTB   0X35
 
#define ZIGBEE_ERROR_MAC_TX_QUEUE_FULL   0X39
 
#define ZIGBEE_ERROR_INVALID_BIND_INDEX   0X6C
 
#define ZIGBEE_ERROR_INVALID_OP   0X70
 
#define ZIGBEE_ERROR_MORE_THAN_10_UNI_MSG   0X72
 
#define ZIGBEE_ERROR_MSG_TOO_LONG   0X74
 
#define ZIGBEE_ERROR_ZDP_INVALID_REQ_TYPE   0X80
 
#define ZIGBEE_ERROR_ZDP_DEV_NOT_FOUND   0X81
 
#define ZIGBEE_ERROR_ZDP_INVALID_ENDPONT   0X82
 
#define ZIGBEE_ERROR_ZDP_NOT_ACTIVE   0X83
 
#define ZIGBEE_ERROR_ZDP_NOT_SUPPORTED   0X84
 
#define ZIGBEE_ERROR_ZDP_TIMEOUT   0X85
 
#define ZIGBEE_ERROR_ZDP_NO_MATCH   0X86
 
#define ZIGBEE_ERROR_ZDP_TABLE_FULL   0X87
 
#define ZIGBEE_ERROR_ZDP_NO_ENTRY   0X88
 
#define ZIGBEE_ERROR_ZDP_NO_DESC   0X89
 
#define ZIGBEE_ERROR_OP_IF_CONN_TO_PAN   0X91
 
#define ZIGBEE_ERROR_NODE_NOT_IN_NET   0X93
 
#define ZIGBEE_ERROR_CANNT_JOIN_NET   0X94
 
#define ZIGBEE_ERROR_MOBILE_END_DEV_MOVE   0X96
 
#define ZIGBEE_ERROR_CANT_JOIN_2006_NET   0X98
 
#define ZIGBEE_ERROR_8_MSG_IN_8_SEC_MAX   0XA1
 
#define ZIGBEE_ERROR_NO_BEACON   0XAB
 
#define ZIGBEE_ERROR_NET_KEY_SENT   0XAC
 
#define ZIGBEE_ERROR_NO_RECEIVE_NET_KEY   0XAD
 
#define ZIGBEE_ERROR_NO_LINK_KEY_REQ   0XAE
 
#define ZIGBEE_ERROR_PRECONFIG_KEY_REQ   0XAF
 
#define ZIGBEE_ERROR_NWK_ALREADY_PRESENT   0XC5
 
#define ZIGBEE_ERROR_NWK_TABLE_FULL   0XC7
 
#define ZIGBEE_ERROR_NWK_UNKNOWN_DEV   0XC8
 
#define ZIGBEE_RESP_ERROR   "ERROR"
 
#define ZIGBEE_RESP_OK   "OK"
 
#define ZIGBEE_ERROR_INC   6
 
#define ZIGBEE_ERROR_CODE_MAX   59
 
#define ZIGBEE_ERROR_CODE   0
 
#define ZIGBEE_ERROR_DESC   1
 
#define ZIGBEE_DEV_HOST   1
 ZigBee device host mode.
 
#define ZIGBEE_DEV_USER   2
 ZigBee device user mode.
 
#define ZIGBEE_APP_TASK   11
 
#define ZIGBEE_APP_INIT   12
 
#define ZIGBEE_OP_WAIT   0x00
 ZigBee operation codes.
 
#define ZIGBEE_OP_OK   0xAA
 
#define ZIGBEE_OP_ERROR   0xBB
 
#define ZIGBEE_OP_NL   0xCC
 
#define ZIGBEE_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  zigbee_return_value_t { ZIGBEE_OK = 0 , ZIGBEE_ERROR = -1 }
 ZigBee Click return value data. More...
 

Functions

void zigbee_cfg_setup (zigbee_cfg_t *cfg)
 ZigBee configuration object setup function.
 
err_t zigbee_init (zigbee_t *ctx, zigbee_cfg_t *cfg)
 ZigBee initialization function.
 
err_t zigbee_generic_write (zigbee_t *ctx, char *data_buf, uint16_t len)
 ZigBee data writing function.
 
err_t zigbee_generic_read (zigbee_t *ctx, char *data_buf, uint16_t max_len)
 ZigBee data reading function.
 
void zigbee_send_at (zigbee_t *ctx, uint8_t *at_buf, uint8_t *suffix_buf)
 Function merges two string and sends it to device.
 
void zigbee_send_cmd (zigbee_t *ctx, uint8_t *cmd_buf)
 Function sends string to device.
 
uint8_t zigbee_resp (zigbee_t *ctx, char *data_in)
 Function checking driver buffer string.
 
char * zigbee_error_handler (uint8_t error_code)
 Function for converting error code to error message.
 
void zigbee_set_pin_rst (zigbee_t *ctx, uint8_t status)
 Function setting RST pin status.
 
void zigbee_set_pin_fw (zigbee_t *ctx, uint8_t status)
 Function setting FW pin status.
 
uint8_t zigbee_get_pin_int (zigbee_t *ctx)
 Function getting INT pin status.
 
void zigbee_restart (zigbee_t *ctx)
 Function for reseting device.
 

Detailed Description

This file contains API for ZigBee Click Driver.

Enumeration Type Documentation

◆ zigbee_return_value_t

ZigBee Click return value data.

Predefined enum values for driver return values.

Enumerator
ZIGBEE_OK 
ZIGBEE_ERROR