Logo
Developing with ZBOSS for Zigbee
zb_zcl_messaging.h File Reference
#include "zboss_api_core.h"
#include "zboss_api_aps.h"

Data Structures

struct  zb_zcl_messaging_display_message_payload_s
 
struct  zb_zcl_messaging_cancel_message_payload_s
 
struct  zb_zcl_messaging_message_confirm_payload_s
 
struct  zb_zcl_messaging_cancel_all_message_payload_s
 
struct  zb_zcl_messaging_get_message_cancellation_payload_s
 
struct  zb_zcl_messaging_get_last_message_response_s
 

Macros

#define ZB_ZCL_MESSAGING_DISPLAY_MSG_MAX_NON_FRAG_SIZE   48
 
#define ZB_ZCL_MESSAGING_MSG_CONFIRM_RESP_MSG_MAX_SIZE   21
 
#define ZB_ZCL_CLUSTER_ID_MESSAGING_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_MESSAGING_CLIENT_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_MESSAGING_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_MESSAGING_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_MESSAGING_SERVER_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_MESSAGING_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_MESSAGING_CLUSTER_REVISION_DEFAULT   ((zb_uint16_t)0x0002u)
 Default value for Messaging cluster revision global attribute. More...
 
#define ZB_ZCL_DECLARE_MESSAGING_ATTR_LIST(attr_list)
 Declare attribute list for Messaging cluster (only cluster revision attribute) More...
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_SET_TRANSMISSION_MECHANISM(x, val)   ((x) &= (0xFC | ((val) & 0x03)))
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_GET_TRANSMISSION_MECHANISM(x)   ((x) & 0x03)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_CLR_TRANSMISSION_MECHANISM(x)   ((x) &= 0xFC)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_SET_IMPORTANCE_LEVEL(x, val)   ((x) &= (0xF3 | ((val) & 0x03) << 2)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_GET_IMPORTANCE_LEVEL(x)   (((x) >> 2) & 0x03)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_CLR_IMPORTANCE_LEVEL(x)   ((x) &= 0xF3)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_SET_ENHANCED_CONFIRMATION(x, val)   ((x) &= (0xDF | ((val) & 0x01) << 5)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_GET_ENHANCED_CONFIRMATION(x)   (((x) >> 5) & 0x01)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_CLR_ENHANCED_CONFIRMATION(x)   ((x) &= 0xDF )
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_SET_MESSAGE_CONFIRMATION(x, val)   ((x) &= (0x7F | ((val) & 0x01) << 7)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_GET_MESSAGE_CONFIRMATION(x)   (((x) >> 7) & 0x01)
 
#define ZB_ZCL_MESSAGING_MESSAGE_CONTROL_CLR_MESSAGE_CONFIRMATION(x)   ((x) &= 0x7F)
 
#define ZB_ZCL_MESSAGING_DISPLAY_MSG_PAYLOAD_SIZE_IS_VALID(size)
 
#define ZB_ZCL_MESSAGING_DISPLAY_MSG_PAYLOAD_INIT
 
#define ZB_ZCL_MESSAGING_CANCEL_MSG_PAYLOAD_INIT   (zb_zcl_messaging_cancel_message_payload_t) {0}
 
#define ZB_ZCL_MESSAGING_MSG_CANCEL_MESSAGE_SIZE_IS_VALID(size)   ((size) >= sizeof(zb_zcl_messaging_cancel_message_payload_t))
 
#define ZB_ZCL_MESSAGING_MSG_CONFIRM_PAYLOAD_SIZE_IS_VALID(size)
 
#define ZB_ZCL_MESSAGING_GET_LAST_MESSAGE_RESPONSE_INIT
 
#define ZB_ZCL_MESSAGING_MSG_CONFIRM_PAYLOAD_INIT
 
#define ZB_ZCL_MESSAGING_SEND_GET_LAST_MSG(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep)
 
#define ZB_ZCL_MESSAGING_SEND_DISPLAY_MSG(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_MESSAGING_SEND_MSG_CONFIRMATION(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_MESSAGING_SEND_CANCEL_MSG(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 

Typedefs

typedef enum zb_zcl_messaging_srv_cmd_e zb_zcl_messaging_srv_cmd_t
 
typedef enum zb_zcl_messaging_cli_cmd_e zb_zcl_messaging_cli_cmd_t
 
typedef enum zb_zcl_messaging_extended_message_control_e zb_zcl_messaging_extended_message_control_field_t
 
typedef struct zb_zcl_messaging_display_message_payload_s zb_zcl_messaging_display_message_payload_t
 
typedef enum zb_zcl_messaging_message_control_transmission_mechanism_e zb_zcl_messaging_control_field_transmission_mechanism_t
 
typedef enum zb_zcl_messaging_message_control_importance_level_e zb_zcl_messaging_message_control_importance_level_t
 
typedef enum zb_zcl_messaging_message_control_enhanced_confirmation_e zb_zcl_messaging_message_control_enhanced_confirmation_t
 
typedef enum zb_zcl_messaging_message_control_message_confirmation_e zb_zcl_messaging_message_control_message_confirmation_t
 
typedef struct zb_zcl_messaging_cancel_message_payload_s zb_zcl_messaging_cancel_message_payload_t
 
typedef enum zb_zcl_messaging_message_confirmation_control_e zb_zcl_messaging_message_confirmation_control_t
 
typedef struct zb_zcl_messaging_message_confirm_payload_s zb_zcl_messaging_message_confirm_payload_t
 
typedef struct zb_zcl_messaging_cancel_all_message_payload_s zb_zcl_messaging_cancel_all_message_payload_t
 
typedef struct zb_zcl_messaging_get_message_cancellation_payload_s zb_zcl_messaging_get_message_cancellation_payload_t
 
typedef enum zb_zcl_messaging_response_type_e zb_zcl_messaging_response_type_t
 
typedef struct zb_zcl_messaging_get_last_message_response_s zb_zcl_messaging_get_last_message_response_t
 

Enumerations

enum  zb_zcl_messaging_srv_cmd_e { ZB_ZCL_MESSAGING_SRV_CMD_DISPLAY_MESSAGE = 0x00, ZB_ZCL_MESSAGING_SRV_CMD_CANCEL_MESSAGE = 0x01, ZB_ZCL_MESSAGING_SRV_CMD_DISPLAY_PROTECTED_MESSAGE = 0x02, ZB_ZCL_MESSAGING_SRV_CMD_CANCEL_ALL_MESSAGES = 0x03 }
 
enum  zb_zcl_messaging_cli_cmd_e { ZB_ZCL_MESSAGING_CLI_CMD_GET_LAST_MESSAGE = 0x00, ZB_ZCL_MESSAGING_CLI_CMD_MESSAGE_CONFIRMATION = 0x01, ZB_ZCL_MESSAGING_CLI_CMD_GET_MESSAGE_CANCELLATION = 0x02 }
 
enum  zb_zcl_messaging_extended_message_control_e { ZB_ZCL_MESSAGING_MESSAGE_HAS_NOT_BEEN_CONFIRMED = 0, ZB_ZCL_MESSAGING_MESSAGE_HAS_BEEN_CONFIRMED = 1 }
 
enum  zb_zcl_messaging_extended_message_control_field_bitmap_e { ZB_ZCL_MESSAGING_MESSAGE_CONFIRMATION_STATUS = 0 }
 
enum  zb_zcl_messaging_message_control_transmission_mechanism_e { ZB_ZCL_MESSAGING_NORMAL_TRANSMISSION_ONLY = 0, ZB_ZCL_MESSAGING_NORMAL_AND_INTERNAL_PAN_TRANSMISSION = 1, ZB_ZCL_MESSAGING_INTER_PAN_TRANSMISSION_ONLY = 2 }
 
enum  zb_zcl_messaging_message_control_importance_level_e { ZB_ZCL_MESSAGING_IMPORTANCE_LEVEL_LOW = 0, ZB_ZCL_MESSAGING_IMPORTANCE_LEVEL_MEDIUM = 1, ZB_ZCL_MESSAGING_IMPORTANCE_LEVEL_HIGH = 2, ZB_ZCL_MESSAGING_IMPORTANCE_LEVEL_CRITICAL = 3 }
 
enum  zb_zcl_messaging_message_control_enhanced_confirmation_e { ZB_ZCL_MESSAGING_ENHANCED_CONFIRMATION_NOT_REQUIRED = 0, ZB_ZCL_MESSAGING_ENHANCED_CONFIRMATION_REQUIRED = 1 }
 
enum  zb_zcl_messaging_message_control_message_confirmation_e { ZB_ZCL_MESSAGING_MESSAGE_CONFIRMATION_NOT_REQUIRED = 0x00, ZB_ZCL_MESSAGING_MESSAGE_CONFIRMATION_REQUIRED = 0x01 }
 
enum  zb_zcl_messaging_message_confirmation_control_e { ZB_ZCL_MESSAGING_NO_RETURNED = 1 << 0, ZB_ZCL_MESSAGING_YES_RETURNED = 1 << 1 }
 
enum  zb_zcl_messaging_response_type_e { ZB_ZCL_MESSAGING_RESPONSE_TYPE_NORMAL, ZB_ZCL_MESSAGING_RESPONSE_TYPE_PROTECTED, ZB_ZCL_MESSAGING_RESPONSE_TYPE_NOT_FOUND }
 

Functions

void zb_zcl_messaging_send_get_last_msg (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_callback_t cb)
 
void zb_zcl_messaging_send_display_msg (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_messaging_display_message_payload_t *payload, zb_callback_t cb)
 
void zb_zcl_messaging_send_msg_confirmation (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_messaging_message_confirm_payload_t *payload, zb_callback_t cb)
 
void zb_zcl_messaging_send_cancel_msg (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_messaging_cancel_message_payload_t *payload, zb_callback_t cb)
 

Macro Definition Documentation

§ ZB_ZCL_MESSAGING_DISPLAY_MSG_MAX_NON_FRAG_SIZE

#define ZB_ZCL_MESSAGING_DISPLAY_MSG_MAX_NON_FRAG_SIZE   48

§ ZB_ZCL_MESSAGING_MSG_CONFIRM_RESP_MSG_MAX_SIZE

#define ZB_ZCL_MESSAGING_MSG_CONFIRM_RESP_MSG_MAX_SIZE   21