Logo
Developing with ZBOSS for Zigbee
zb_zcl_tunnel.h File Reference

Data Structures

struct  zb_zcl_tunnel_transfer_data_req_s
 Tunnel Transfer Data Request command payload. More...
 
struct  zb_zcl_tunnel_transfer_data_req_internal_s
 Tunnel Transfer Data Request command internal payload. More...
 
struct  zb_zcl_tunnel_transfer_data_resp_s
 Tunnel Transfer Data Response command payload. More...
 
struct  zb_zcl_tunnel_op_status_s
 
struct  zb_zcl_tunnel_io_param_s
 
struct  zb_zcl_tunnel_io_slot_s
 
struct  zb_zcl_tunnel_io_slot_continue_s
 
struct  zb_zcl_tunnel_context_s
 

Macros

#define ZB_ZCL_TUNNEL_TIMEOUT   (10*ZB_TIME_ONE_SECOND)
 
#define ZB_ZCL_TUNNEL_MAX_IO_SLOT_NUMBER   16
 Maximum slots for send/receive data. More...
 
#define ZB_ZCL_TUNNEL_IO_SLOT_UNKNOWN   0xff
 Not slots index. More...
 
#define ZB_ZCL_CLUSTER_ID_TUNNEL_SERVER_ROLE_INIT   zb_zcl_tunnel_init_server
 
#define ZB_ZCL_CLUSTER_ID_TUNNEL_CLIENT_ROLE_INIT   zb_zcl_tunnel_init_client
 

Typedefs

typedef struct zb_zcl_tunnel_io_slot_s zb_zcl_tunnel_io_slot_t
 
typedef struct zb_zcl_tunnel_io_slot_continue_s zb_zcl_tunnel_io_slot_continue_t
 
typedef struct zb_zcl_tunnel_context_s zb_zcl_tunnel_context_t
 

Functions

zb_ret_t zb_zcl_tunnel_transfer_data_req_handler (zb_uint8_t buf_param)
 
zb_ret_t zb_zcl_tunnel_transfer_data_resp_handler (zb_uint8_t buf_param)
 
void zb_zcl_tunnel_transfer_data_resp_send (zb_uint8_t param, zb_uint16_t endpoint16)
 
void zb_zcl_tunnel_send_fist_block (zb_uint8_t param, zb_uint16_t index16)
 
void zb_zcl_tunnel_timeout (zb_uint8_t index)
 
void zb_zcl_tunnel_invoke_user_app (zb_uint8_t param)
 
zb_ret_t zb_zcl_process_tunnel_default_response_commands (zb_uint8_t param)
 
zb_bool_t zb_zcl_process_tunnel_specific_commands (zb_uint8_t param)
 
void zb_zcl_tunnel_init_server (void)
 
void zb_zcl_tunnel_init_client (void)
 

Tunnel cluster commands

#define ZB_ZCL_CLUSTER_ID_TUNNEL_FC00_SERVER_ROLE_GENERATED_CMD_LIST   ZB_ZCL_CMD_TUNNEL_TRANSFER_DATA_RESP
 
#define ZB_ZCL_CLUSTER_ID_TUNNEL_FC00_CLIENT_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_TUNNEL_FC00_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_TUNNEL_FC00_CLIENT_ROLE_GENERATED_CMD_LIST   ZB_ZCL_CMD_TUNNEL_TRANSFER_DATA_REQ
 
#define ZB_ZCL_CLUSTER_ID_TUNNEL_FC00_SERVER_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_TUNNEL_FC00_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_TUNNEL_SEND_TRANSFER_REQ( _buffer, _addr, _dst_addr_mode, _dst_ep, _ep, _prfl_id, _def_resp, _cb, _manufacturer_id, _flag, _byte_num, _data_size, _image_data)
 Send Transfer Data command. More...
 
#define ZB_ZCL_TUNNEL_GET_TRANSFER_REQ(_data_ptr, _buffer, _status)
 Macro for getting Send Transfer Data command. More...
 
#define ZB_ZCL_TUNNEL_SEND_TRANSFER_RESP( _buffer, _addr, _dst_addr_mode, _dst_ep, _ep, _prfl_id, _seq, _cb, _manufacturer_id, _tun_status)
 Send Transfer Data response command. More...
 
#define ZB_ZCL_TUNNEL_GET_TRANSFER_RESP(_data_ptr, _buffer, _status)
 Macro for getting Send Transfer Data response command. More...
 
enum  zb_zcl_tunnel_cmd_e { ZB_ZCL_CMD_TUNNEL_TRANSFER_DATA_REQ = 0x00, ZB_ZCL_CMD_TUNNEL_TRANSFER_DATA_RESP = 0x01 }
 Tunnel cluster commands. More...
 
enum  zb_zcl_tunnel_status_e { ZB_ZCL_TUNNEL_STATUS_OK = 0, ZB_ZCL_TUNNEL_STATUS_ERROR = 1, ZB_ZCL_TUNNEL_STATUS_ERROR_NO_MEMORY = 2, ZB_ZCL_TUNNEL_STATUS_ERROR_TIMEOUT = 3 }
 
enum  zb_zcl_tunnel_operation_code_e { ZB_ZCL_TUNNEL_OPERATION_TX = 1 << 0, ZB_ZCL_TUNNEL_OPERATION_RX = 1 << 1 }
 
enum  zb_zcl_tunnel_tx_flags_e { ZB_ZCL_TUNNEL_TX_START = 1 << 0 }
 Tunnel Transfer Data Request flags. More...
 
typedef enum zb_zcl_tunnel_status_e zb_zcl_tunnel_status_t
 
typedef struct zb_zcl_tunnel_transfer_data_req_s zb_zcl_tunnel_transfer_data_req_t
 Tunnel Transfer Data Request command payload. More...
 
typedef struct zb_zcl_tunnel_transfer_data_req_internal_s zb_zcl_tunnel_transfer_data_req_data_internal_t
 Tunnel Transfer Data Request command internal payload. More...
 
typedef struct zb_zcl_tunnel_transfer_data_resp_s zb_zcl_tunnel_transfer_data_resp_t
 Tunnel Transfer Data Response command payload. More...
 
typedef void(* zb_zcl_tunnel_cb_t) (zb_uint8_t param)
 
typedef struct zb_zcl_tunnel_op_status_s zb_zcl_tunnel_op_status_t
 
typedef struct zb_zcl_tunnel_io_param_s zb_zcl_tunnel_io_param_t
 
void zb_zcl_tunnel_init (zb_uint16_t manuf_id)
 
void zb_zcl_tunnel_register_cb (zb_zcl_tunnel_cb_t tunnel_cb)
 
zb_ret_t zb_zcl_tunnel_transmit_data (zb_uint8_t buf_param)
 
void zb_zcl_tunnel_default_user_app (zb_uint8_t param)
 

Macro Definition Documentation

§ ZB_ZCL_CLUSTER_ID_TUNNEL_CLIENT_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_TUNNEL_CLIENT_ROLE_INIT   zb_zcl_tunnel_init_client

§ ZB_ZCL_CLUSTER_ID_TUNNEL_SERVER_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_TUNNEL_SERVER_ROLE_INIT   zb_zcl_tunnel_init_server

Function Documentation

§ zb_zcl_tunnel_init_client()

void zb_zcl_tunnel_init_client ( void  )

§ zb_zcl_tunnel_init_server()

void zb_zcl_tunnel_init_server ( void  )