11#ifndef TR_ZCL_ENDPOINT_CONFIG_H
12#define TR_ZCL_ENDPOINT_CONFIG_H
14#include "zb_zcl_common.h"
15#include "zboss_api_internal.h"
20#define TR_DEVICE_MANUFACTURER_ID 0x1570U
21#define TR_GLOBAL_RESPONSE_POLICY ZB_ZCL_DISABLE_DEFAULT_RESPONSE
23#define TR_ZCL_NULL_EP_ID 0xFFU
24#define TR_ZCL_NULL_ID 0xFFFFU
25#define TR_ZCL_NON_MANUFACTURER_SPECIFIC 0xFFFFU
29#define TR_DEVICE_EP1 1
32#define TR_DEVICE_NUM_IN_CLUSTERS_EP1 (0+1+1+1+1+1+1+1)
33#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1 (0+1+1+1)
35#if defined ZB_APS_ENCRYPTION_PER_CLUSTER
74 zb_uint8_t hw_version;
75 zb_uint8_t manufacturer_name[33];
76 zb_uint8_t model_identifier[33];
77 zb_uint8_t power_source;
78 zb_uint8_t product_code[17];
79 zb_uint16_t cluster_revision_server;
84 zb_uint16_t cluster_revision_client;
89 zb_uint16_t identify_time;
90 zb_uint16_t cluster_revision_server;
95 zb_uint8_t group_name_support;
96 zb_uint16_t cluster_revision_server;
101 zb_uint8_t scene_count;
102 zb_uint8_t current_scene;
103 zb_uint16_t current_group;
104 zb_uint8_t scene_valid;
105 zb_uint8_t scene_name_support;
106 zb_uint16_t cluster_revision_server;
129 zb_uint16_t cluster_revision_server;
139 zb_uint8_t cli_status;
140 zb_uint16_t cluster_revision_server;
160#define BASIC_SERVER_VERSION_DEFAULT_EP1 8
161#define BASIC_SERVER_HW_VERSION_DEFAULT_EP1 1
162#define BASIC_SERVER_MANUFACTURER_NAME_DEFAULT_EP1 "Trident IoT"
163#define BASIC_SERVER_MODEL_IDENTIFIER_DEFAULT_EP1 "Bulb"
164#define BASIC_SERVER_POWER_SOURCE_DEFAULT_EP1 4
165#define BASIC_SERVER_PRODUCT_CODE_DEFAULT_EP1 (uint8_t[17]){ 0x0C, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0, 0, 0, 0, }
166#define BASIC_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
169#define IDENTIFY_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 2
172#define IDENTIFY_SERVER_IDENTIFY_TIME_DEFAULT_EP1 0
173#define IDENTIFY_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 2
176#define GROUPS_SERVER_GROUP_NAME_SUPPORT_DEFAULT_EP1 0
177#define GROUPS_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
180#define SCENES_SERVER_SCENE_COUNT_DEFAULT_EP1 0
181#define SCENES_SERVER_CURRENT_SCENE_DEFAULT_EP1 0
182#define SCENES_SERVER_CURRENT_GROUP_DEFAULT_EP1 0
183#define SCENES_SERVER_SCENE_VALID_DEFAULT_EP1 0
184#define SCENES_SERVER_SCENE_NAME_SUPPORT_DEFAULT_EP1 0
185#define SCENES_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
188#define ON_OFF_SERVER_ON_OFF_DEFAULT_EP1 0
189#define ON_OFF_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 2
192#define OVER_THE_AIR_BOOTLOADING_CLIENT_UPGRADE_SERVER_ID_DEFAULT_EP1 (zb_ieee_addr_t){ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
193#define OVER_THE_AIR_BOOTLOADING_CLIENT_FILE_OFFSET_DEFAULT_EP1 0xffffffff
194#define OVER_THE_AIR_BOOTLOADING_CLIENT_CURRENT_FILE_VERSION_DEFAULT_EP1 0x01020304
195#define OVER_THE_AIR_BOOTLOADING_CLIENT_IMAGE_UPGRADE_STATUS_DEFAULT_EP1 0x00
196#define OVER_THE_AIR_BOOTLOADING_CLIENT_MANUFACTURER_ID_DEFAULT_EP1 0x1570
197#define OVER_THE_AIR_BOOTLOADING_CLIENT_IMAGE_TYPE_ID_DEFAULT_EP1 1
198#define OVER_THE_AIR_BOOTLOADING_CLIENT_MINIMUM_BLOCK_REQUEST_PERIOD_DEFAULT_EP1 1
199#define OVER_THE_AIR_BOOTLOADING_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 4
202#define DIAGNOSTICS_SERVER_NUMBER_OF_RESETS_DEFAULT_EP1 0x0000
203#define DIAGNOSTICS_SERVER_MAC_RX_BCAST_DEFAULT_EP1 0x0000
204#define DIAGNOSTICS_SERVER_MAC_TX_BCAST_DEFAULT_EP1 0x0000
205#define DIAGNOSTICS_SERVER_MAC_RX_UCAST_DEFAULT_EP1 0x0000
206#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_DEFAULT_EP1 0x0000
207#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_RETRY_DEFAULT_EP1 0x0000
208#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_FAIL_DEFAULT_EP1 0x0000
209#define DIAGNOSTICS_SERVER_APS_RX_BCAST_DEFAULT_EP1 0x0000
210#define DIAGNOSTICS_SERVER_APS_TX_BCAST_DEFAULT_EP1 0x0000
211#define DIAGNOSTICS_SERVER_APS_UCAST_SUCCESS_DEFAULT_EP1 0x0000
212#define DIAGNOSTICS_SERVER_APS_TX_UCAST_RETRY_DEFAULT_EP1 0x0000
213#define DIAGNOSTICS_SERVER_APS_TX_UCAST_FAIL_DEFAULT_EP1 0x0000
214#define DIAGNOSTICS_SERVER_ROUTE_DISC_INITIATED_DEFAULT_EP1 0x0000
215#define DIAGNOSTICS_SERVER_NEIGHBOR_ADDED_DEFAULT_EP1 0x0000
216#define DIAGNOSTICS_SERVER_NEIGHBOR_REMOVED_DEFAULT_EP1 0x0000
217#define DIAGNOSTICS_SERVER_NEIGHBOR_STALE_DEFAULT_EP1 0x0000
218#define DIAGNOSTICS_SERVER_JOIN_INDICATION_DEFAULT_EP1 0x0000
219#define DIAGNOSTICS_SERVER_CHILD_MOVED_DEFAULT_EP1 0x0000
220#define DIAGNOSTICS_SERVER_NWK_FC_FAILURE_DEFAULT_EP1 0x0000
221#define DIAGNOSTICS_SERVER_APS_FC_FAILURE_DEFAULT_EP1 0x0000
222#define DIAGNOSTICS_SERVER_APS_UNAUTHORIZED_KEY_DEFAULT_EP1 0x0000
223#define DIAGNOSTICS_SERVER_NWK_DECRYPT_FAILURE_DEFAULT_EP1 0x0000
224#define DIAGNOSTICS_SERVER_APS_DECRYPT_FAILURE_DEFAULT_EP1 0x0000
225#define DIAGNOSTICS_SERVER_PACKET_BUFFER_ALLOC_FAILURES_DEFAULT_EP1 0x0000
226#define DIAGNOSTICS_SERVER_PHY_TO_MAC_QUEUE_LIMIT_REACHED_DEFAULT_EP1 0x0000
227#define DIAGNOSTICS_SERVER_PACKET_VALIDATE_DROP_COUNT_DEFAULT_EP1 0x0000
228#define DIAGNOSTICS_SERVER_AVERAGE_MAC_RETRY_PER_APS_MSG_SENT_DEFAULT_EP1 0x0000
229#define DIAGNOSTICS_SERVER_LAST_MESSAGE_LQI_DEFAULT_EP1 0x0000
230#define DIAGNOSTICS_SERVER_LAST_MESSAGE_RSSI_DEFAULT_EP1 0x0000
231#define DIAGNOSTICS_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
234#define REMOTE_CLI_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 0x0001
237#define REMOTE_CLI_SERVER_CLI_STATUS_DEFAULT_EP1 0x0000
238#define REMOTE_CLI_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 0x0001
244#define BASIC_SERVER_SUPPORTED_COMMANDS_RECEIVE \
245 TR_ZCL_CMD_RESET_TO_FACTORY_DEFAULTS_ID
248#define GROUPS_SERVER_SUPPORTED_COMMANDS_RECEIVE \
249 TR_ZCL_CMD_ADD_GROUP_ID, \
250 TR_ZCL_CMD_VIEW_GROUP_ID, \
251 TR_ZCL_CMD_GET_GROUP_MEMBERSHIP_ID, \
252 TR_ZCL_CMD_REMOVE_GROUP_ID, \
253 TR_ZCL_CMD_REMOVE_ALL_GROUPS_ID, \
254 TR_ZCL_CMD_ADD_GROUP_IF_IDENTIFYING_ID
257#define IDENTIFY_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
258 TR_ZCL_CMD_IDENTIFY_QUERY_RESPONSE_ID
261#define IDENTIFY_SERVER_SUPPORTED_COMMANDS_RECEIVE \
262 TR_ZCL_CMD_IDENTIFY_ID, \
263 TR_ZCL_CMD_IDENTIFY_QUERY_ID, \
264 TR_ZCL_CMD_TRIGGER_EFFECT_ID
267#define ON_OFF_SERVER_SUPPORTED_COMMANDS_RECEIVE \
273#define OVER_THE_AIR_BOOTLOADING_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
274 TR_ZCL_CMD_IMAGE_NOTIFY_ID, \
275 TR_ZCL_CMD_QUERY_NEXT_IMAGE_RESPONSE_ID, \
276 TR_ZCL_CMD_IMAGE_BLOCK_RESPONSE_ID, \
277 TR_ZCL_CMD_UPGRADE_END_RESPONSE_ID
280#define REMOTE_CLI_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
281 TR_ZCL_CMD_CLI_COMMAND_RESPONSE_ID
284#define REMOTE_CLI_SERVER_SUPPORTED_COMMANDS_RECEIVE \
285 TR_ZCL_CMD_CLI_COMMAND_ID, \
286 TR_ZCL_CMD_ENABLE_REMOTE_CLI_ID
289#define SCENES_SERVER_SUPPORTED_COMMANDS_RECEIVE \
290 TR_ZCL_CMD_ADD_SCENE_ID, \
291 TR_ZCL_CMD_VIEW_SCENE_ID, \
292 TR_ZCL_CMD_REMOVE_SCENE_ID, \
293 TR_ZCL_CMD_REMOVE_ALL_SCENES_ID, \
294 TR_ZCL_CMD_STORE_SCENE_ID, \
295 TR_ZCL_CMD_RECALL_SCENE_ID, \
296 TR_ZCL_CMD_GET_SCENE_MEMBERSHIP_ID
299#define GROUPS_SERVER_SUPPORTED_COMMANDS_SEND \
300 TR_ZCL_CMD_ADD_GROUP_RESPONSE_ID, \
301 TR_ZCL_CMD_VIEW_GROUP_RESPONSE_ID, \
302 TR_ZCL_CMD_GET_GROUP_MEMBERSHIP_RESPONSE_ID, \
303 TR_ZCL_CMD_REMOVE_GROUP_RESPONSE_ID
306#define IDENTIFY_CLIENT_SUPPORTED_COMMANDS_SEND \
307 TR_ZCL_CMD_IDENTIFY_ID, \
308 TR_ZCL_CMD_IDENTIFY_QUERY_ID, \
309 TR_ZCL_CMD_TRIGGER_EFFECT_ID
312#define IDENTIFY_SERVER_SUPPORTED_COMMANDS_SEND \
313 TR_ZCL_CMD_IDENTIFY_QUERY_RESPONSE_ID
316#define OVER_THE_AIR_BOOTLOADING_CLIENT_SUPPORTED_COMMANDS_SEND \
317 TR_ZCL_CMD_QUERY_NEXT_IMAGE_REQUEST_ID, \
318 TR_ZCL_CMD_IMAGE_BLOCK_REQUEST_ID, \
319 TR_ZCL_CMD_UPGRADE_END_REQUEST_ID
322#define REMOTE_CLI_CLIENT_SUPPORTED_COMMANDS_SEND \
323 TR_ZCL_CMD_CLI_COMMAND_ID, \
324 TR_ZCL_CMD_ENABLE_REMOTE_CLI_ID
327#define REMOTE_CLI_SERVER_SUPPORTED_COMMANDS_SEND \
328 TR_ZCL_CMD_CLI_COMMAND_RESPONSE_ID
331#define SCENES_SERVER_SUPPORTED_COMMANDS_SEND \
332 TR_ZCL_CMD_ADD_SCENE_RESPONSE_ID, \
333 TR_ZCL_CMD_VIEW_SCENE_RESPONSE_ID, \
334 TR_ZCL_CMD_REMOVE_SCENE_RESPONSE_ID, \
335 TR_ZCL_CMD_REMOVE_ALL_SCENES_RESPONSE_ID, \
336 TR_ZCL_CMD_STORE_SCENE_RESPONSE_ID, \
337 TR_ZCL_CMD_GET_SCENE_MEMBERSHIP_RESPONSE_ID
342#define TR_NUM_NVRAM_ATTR (0+1+1)
344#define TR_NVRAM_ATTR_STORAGE_CONFIG \
346 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_OVER_THE_AIR_BOOTLOADING_ID,TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_FILE_OFFSET_ID, \
347 TR_ZCL_CLUSTER_CLIENT_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT32U_ATTR_TYPE }, \
348 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_OVER_THE_AIR_BOOTLOADING_ID,TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_IMAGE_UPGRADE_STATUS_ID, \
349 TR_ZCL_CLUSTER_CLIENT_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_ENUM8_ATTR_TYPE }, \
356 zb_uint8_t direction;
361 zb_uint16_t profile_id;
363 zb_uint16_t min_interval;
364 zb_uint16_t max_interval;
366 zb_uint32_t reportable_change;
369#ifdef TR_PLUGIN_ATTR_REPORT_TABLE_SIZE
370#define TR_ATTR_REPORT_TABLE_SIZE TR_PLUGIN_ATTR_REPORT_TABLE_SIZE
372#define TR_ATTR_REPORT_TABLE_SIZE 16
375#define TR_DEVICE_NUM_DEFAULT_REPORTABLE_ATTRS 1
378#define TR_DEVICE_REPORTING_CONFIG_DEFAULTS \
380 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0006,TR_ZCL_CLUSTER_SERVER_ROLE,0x0000, \
381 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_BOOLEAN_ATTR_TYPE,0 }, \
384#define TR_TOTAL_ATTR_REPORT_TABLE_SIZE (TR_ATTR_REPORT_TABLE_SIZE + TR_DEVICE_NUM_DEFAULT_REPORTABLE_ATTRS)
390 zb_char_t *cluster_name;
zb_af_endpoint_desc_t tr_endpoint_desc_ep1
ZB_PACKED_PRE struct tr_af_simple_desc_ep1_s tr_af_simple_desc_ep1_t
#define TR_TOTAL_ATTR_REPORT_TABLE_SIZE
Definition tr_zcl_endpoint_config.h:69
zb_af_device_ctx_t tr_device_ctx
tr_cluster_names_t tr_cluster_names[]
void tr_zcl_endpoint_config_reporting_init(void)
zb_zcl_diagnostics_ctx_t diagnostics_ctx_zcl
void tr_zcl_endpoint_config_attr_init(uint8_t endpoint)
void tr_zcl_endpoint_config_init(void)
zb_zcl_reporting_info_t tr_device_reporting_info[TR_TOTAL_ATTR_REPORT_TABLE_SIZE]
includes Trident ZCL plugin header files or creates stubs that can be consumed by the end user.
ZCL definitions for types, enums, and data structures.
#define TR_DEVICE_NUM_IN_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:32
#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:33
Definition tr_zcl_endpoint_config.h:72
Definition tr_zcl_endpoint_config.h:158
remote_cli_client_attr_ep1_t remote_cli_client
Definition tr_zcl_endpoint_config.h:153
over_the_air_bootloading_client_attr_ep1_t over_the_air_bootloading_client
Definition tr_zcl_endpoint_config.h:151
on_off_server_attr_ep1_t on_off_server
Definition tr_zcl_endpoint_config.h:150
Definition tr_zcl_endpoint_config.h:147
Definition tr_zcl_endpoint_config.h:93
Definition tr_zcl_endpoint_config.h:82
Definition tr_zcl_endpoint_config.h:87
Definition tr_zcl_endpoint_config.h:110
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:112
zb_uint8_t on_off
Definition tr_zcl_endpoint_config.h:111
Definition tr_zcl_endpoint_config.h:116
zb_uint16_t manufacturer_id
Definition tr_zcl_endpoint_config.h:121
zb_uint16_t image_type_id
Definition tr_zcl_endpoint_config.h:122
zb_uint16_t minimum_block_request_period
Definition tr_zcl_endpoint_config.h:123
zb_ieee_addr_t upgrade_server_id
Definition tr_zcl_endpoint_config.h:117
zb_uint8_t image_upgrade_status
Definition tr_zcl_endpoint_config.h:120
zb_uint32_t current_file_version
Definition tr_zcl_endpoint_config.h:119
zb_uint32_t file_offset
Definition tr_zcl_endpoint_config.h:118
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:124
Definition tr_zcl_endpoint_config.h:133
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:134
Definition tr_zcl_endpoint_config.h:152
Definition tr_zcl_endpoint_config.h:99
Definition tr_zcl_endpoint_config.h:54
zb_uint16_t app_profile_id
Definition tr_zcl_endpoint_config.h:56
zb_uint8_t app_output_cluster_count
Definition tr_zcl_endpoint_config.h:61
zb_uint16_t app_cluster_list[(TR_DEVICE_NUM_IN_CLUSTERS_EP1)+(TR_DEVICE_NUM_OUT_CLUSTERS_EP1)]
Definition tr_zcl_endpoint_config.h:63
zb_uint8_t app_input_cluster_count
Definition tr_zcl_endpoint_config.h:60
zb_uint16_t reserved
Definition tr_zcl_endpoint_config.h:59
zb_uint8_t endpoint
Definition tr_zcl_endpoint_config.h:55
zb_uint16_t app_device_version
Definition tr_zcl_endpoint_config.h:58
zb_uint16_t app_device_id
Definition tr_zcl_endpoint_config.h:57
Definition tr_zcl_endpoint_config.h:413
Definition tr_zcl_endpoint_config.h:456
zb_uint8_t endpoint
Definition tr_nvram_attr.h:23
zb_uint16_t cluster_id
Definition tr_nvram_attr.h:24
zb_uint8_t cluster_role
Definition tr_nvram_attr.h:26
zb_uint16_t manuf_code
Definition tr_nvram_attr.h:27
zb_uint16_t attr_id
Definition tr_nvram_attr.h:25
zb_uint8_t data_type
Definition tr_nvram_attr.h:28