diff --git a/zboss/production/include/zcl/zb_zcl_color_control.h b/zboss/production/include/zcl/zb_zcl_color_control.h index 724197513f..e459c269d5 100644 --- a/zboss/production/include/zcl/zb_zcl_color_control.h +++ b/zboss/production/include/zcl/zb_zcl_color_control.h @@ -1,42 +1,23 @@ -/* - * ZBOSS Zigbee 3.0 +/* ZBOSS Zigbee software protocol stack * - * Copyright (c) 2012-2024 DSR Corporation, Denver CO, USA. + * Copyright (c) 2012-2020 DSR Corporation, Denver CO, USA. * www.dsr-zboss.com * www.dsr-corporation.com * All rights reserved. * + * This is unpublished proprietary source code of DSR Corporation + * The copyright notice does not evidence any actual or intended + * publication of such source code. * - * Use in source and binary forms, redistribution in binary form only, with - * or without modification, are permitted provided that the following conditions - * are met: + * ZBOSS is a registered trademark of Data Storage Research LLC d/b/a DSR + * Corporation * - * 1. Redistributions in binary form, except as embedded into a Nordic - * Semiconductor ASA integrated circuit in a product or a software update for - * such product, must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. - * - * 2. Neither the name of Nordic Semiconductor ASA nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * 3. This software, with or without modification, must only be used with a Nordic - * Semiconductor ASA integrated circuit. - * - * 4. Any software provided in binary form under this license must not be reverse - * engineered, decompiled, modified and/or disassembled. - * - * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * Commercial Usage + * Licensees holding valid DSR Commercial licenses may use + * this file in accordance with the DSR Commercial License + * Agreement provided with the Software or, alternatively, in accordance + * with the terms contained in a written agreement between you and + * DSR. */ /* PURPOSE: Color control cluster definitions */ @@ -1322,9 +1303,8 @@ void zb_zcl_color_control_send_move_to_hue_req(zb_bufid_t buffer, const zb_addr_ (zb_zcl_color_control_move_to_hue_req_t*)zb_buf_begin(buffer) : NULL; \ if (move_to_hue_req_ptr != NULL) \ { \ - move_to_hue_req.hue = move_to_hue_req_ptr->hue; \ - move_to_hue_req.direction = move_to_hue_req_ptr->direction; \ - ZB_HTOLE16(&(move_to_hue_req).transition_time, &(move_to_hue_req_ptr->transition_time)); \ + ZB_MEMCPY(&(move_to_hue_req), move_to_hue_req_ptr, ZB_ZCL_COLOR_CONTROL_MOVE_TO_HUE_REQ_PAYLOAD_LEN); \ + ZB_HTOLE16_ONPLACE((move_to_hue_req).transition_time); \ (void)zb_buf_cut_left(buffer, ZB_ZCL_COLOR_CONTROL_MOVE_TO_HUE_REQ_PAYLOAD_LEN); \ status = ZB_ZCL_PARSE_STATUS_SUCCESS; \ } \ @@ -3206,10 +3186,10 @@ void zb_zcl_color_control_send_move_color_temp_req(zb_bufid_t buffer, const zb_a (zb_zcl_color_control_move_color_temp_req_t*)zb_buf_begin(buffer) : NULL; \ if (move_color_temp_req_ptr != NULL) \ { \ - move_color_temp_req.move_mode = move_color_temp_req_ptr->move_mode; \ - ZB_HTOLE16(&(move_color_temp_req).rate, &(move_color_temp_req_ptr->rate)); \ - ZB_HTOLE16(&(move_color_temp_req).color_temp_min, &(move_color_temp_req_ptr->color_temp_min)); \ - ZB_HTOLE16(&(move_color_temp_req).color_temp_max, &(move_color_temp_req_ptr->color_temp_max)); \ + ZB_MEMCPY(&(move_color_temp_req), move_color_temp_req_ptr, ZB_ZCL_COLOR_CONTROL_MOVE_COLOR_TEMP_REQ_PAYLOAD_LEN); \ + ZB_HTOLE16_ONPLACE((move_color_temp_req).rate); \ + ZB_HTOLE16_ONPLACE((move_color_temp_req).color_temp_min); \ + ZB_HTOLE16_ONPLACE((move_color_temp_req).color_temp_max); \ (void)zb_buf_cut_left(buffer, ZB_ZCL_COLOR_CONTROL_MOVE_COLOR_TEMP_REQ_PAYLOAD_LEN); \ status = ZB_ZCL_PARSE_STATUS_SUCCESS; \ } \ @@ -3319,34 +3299,6 @@ void zb_zcl_color_control_send_step_color_temp_req(zb_bufid_t buffer, const zb_a dst_ep, ep, prfl_id, def_resp, cb, step_mode, step_size, transition_time, color_temp_min, color_temp_max); \ } -/** @brief Macro for getting Move color temperature command - * @attention Assumes that ZCL header already cut. - * @param buffer containing the packet (by pointer). - * @param move_color_temp_req - variable of type @ref - * zb_zcl_color_control_move_color_temp_req_s. - * @param status - variable to put parse status to (see @ref zb_zcl_parse_status_t). - */ -#define ZB_ZCL_COLOR_CONTROL_GET_MOVE_COLOR_TEMP_REQ(buffer, move_color_temp_req, status) \ -{ \ - zb_zcl_color_control_move_color_temp_req_t *move_color_temp_req_ptr; \ - (move_color_temp_req_ptr) = zb_buf_len(buffer) >= \ - ZB_ZCL_COLOR_CONTROL_MOVE_COLOR_TEMP_REQ_PAYLOAD_LEN ? \ - (zb_zcl_color_control_move_color_temp_req_t*)zb_buf_begin(buffer) : NULL; \ - if (move_color_temp_req_ptr != NULL) \ - { \ - move_color_temp_req.move_mode = move_color_temp_req_ptr->move_mode; \ - ZB_HTOLE16(&(move_color_temp_req).rate, &(move_color_temp_req_ptr->rate)); \ - ZB_HTOLE16(&(move_color_temp_req).color_temp_min, &(move_color_temp_req_ptr->color_temp_min)); \ - ZB_HTOLE16(&(move_color_temp_req).color_temp_max, &(move_color_temp_req_ptr->color_temp_max)); \ - (void)zb_buf_cut_left(buffer, ZB_ZCL_COLOR_CONTROL_MOVE_COLOR_TEMP_REQ_PAYLOAD_LEN); \ - status = ZB_ZCL_PARSE_STATUS_SUCCESS; \ - } \ - else \ - { \ - status = ZB_ZCL_PARSE_STATUS_FAILURE; \ - } \ -} - /** @brief Macro for getting Move color temperature command * @attention Assumes that ZCL header already cut. * @param buffer containing the packet (by pointer). diff --git a/zboss/production/include/zcl/zb_zcl_wwah.h b/zboss/production/include/zcl/zb_zcl_wwah.h index f23a399b32..c4b2598d2e 100644 --- a/zboss/production/include/zcl/zb_zcl_wwah.h +++ b/zboss/production/include/zcl/zb_zcl_wwah.h @@ -1,42 +1,23 @@ -/* - * ZBOSS Zigbee 3.0 +/* ZBOSS Zigbee software protocol stack * - * Copyright (c) 2012-2024 DSR Corporation, Denver CO, USA. + * Copyright (c) 2012-2020 DSR Corporation, Denver CO, USA. * www.dsr-zboss.com * www.dsr-corporation.com * All rights reserved. * + * This is unpublished proprietary source code of DSR Corporation + * The copyright notice does not evidence any actual or intended + * publication of such source code. * - * Use in source and binary forms, redistribution in binary form only, with - * or without modification, are permitted provided that the following conditions - * are met: + * ZBOSS is a registered trademark of Data Storage Research LLC d/b/a DSR + * Corporation * - * 1. Redistributions in binary form, except as embedded into a Nordic - * Semiconductor ASA integrated circuit in a product or a software update for - * such product, must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. - * - * 2. Neither the name of Nordic Semiconductor ASA nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * 3. This software, with or without modification, must only be used with a Nordic - * Semiconductor ASA integrated circuit. - * - * 4. Any software provided in binary form under this license must not be reverse - * engineered, decompiled, modified and/or disassembled. - * - * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * Commercial Usage + * Licensees holding valid DSR Commercial licenses may use + * this file in accordance with the DSR Commercial License + * Agreement provided with the Software or, alternatively, in accordance + * with the terms contained in a written agreement between you and + * DSR. */ /* PURPOSE: WWAH cluster definitions */ @@ -44,8 +25,6 @@ #ifndef ZB_ZCL_WWAH_H #define ZB_ZCL_WWAH_H 1 -#include - #include "zcl/zb_zcl_common.h" #include "zcl/zb_zcl_commands.h" @@ -395,6 +374,8 @@ ZB_ASSERT_VALUE_ALIGNED_TO_4(ZB_ZCL_WWAH_APS_LINK_KEY_AUTHORIZATION_TABLE_SIZE * #define ZB_ZCL_WWAH_USE_TRUST_CENTER_FOR_CLUSTER_TABLE_SIZE 4 ZB_ASSERT_VALUE_ALIGNED_TO_4(ZB_ZCL_WWAH_USE_TRUST_CENTER_FOR_CLUSTER_TABLE_SIZE * sizeof(zb_uint16_t)); +#define ZB_ZCL_WWAH_CLUSTER_LIST_MAX_SIZE ZB_ZCL_WWAH_APS_ACK_EXEMPT_TABLE_SIZE + /** @brief WWAH Cluster arrays "record is free" flag */ #define ZB_ZCL_WWAH_CLUSTER_ID_FREE_RECORD 0xFFFF @@ -643,12 +624,13 @@ typedef enum zb_zcl_wwah_behavior_e (void*) data_ptr \ } -typedef ZB_PACKED_PRE struct zb_zcl_wwah_cluster_list_s +typedef struct zb_zcl_wwah_cluster_list_s { - zb_uint8_t number_of_clusters; /**< Number of Clusters */ - zb_uint16_t *cluster_id; /**< Cluster ID */ + zb_uint8_t number_of_clusters; /**< Number of Clusters */ + zb_uint8_t alignment[3]; /**< Alignment */ + zb_uint16_t cluster_id[ZB_ZCL_WWAH_CLUSTER_LIST_MAX_SIZE]; /**< Cluster list */ } -ZB_PACKED_STRUCT zb_zcl_wwah_cluster_list_t; +zb_zcl_wwah_cluster_list_t; /*! @brief Parses various commands with cluster list variable length payload and fills data request structure. @@ -660,19 +642,21 @@ ZB_PACKED_STRUCT zb_zcl_wwah_cluster_list_t; #define ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(data_buf, req, status) \ { \ - zb_zcl_wwah_cluster_list_t *src_ptr = (zb_zcl_wwah_cluster_list_t*)zb_buf_begin((data_buf)); \ + zb_uint8_t *src_ptr = (zb_uint8_t*)zb_buf_begin((data_buf)); \ + zb_uint8_t number_of_clusters = *src_ptr; \ (status) = ZB_ZCL_PARSE_STATUS_FAILURE; \ if (zb_buf_len((data_buf)) >= sizeof(zb_uint8_t)) \ { \ - (req)->number_of_clusters = src_ptr->number_of_clusters; \ - if (src_ptr->number_of_clusters) \ + (req).number_of_clusters = number_of_clusters; \ + if (number_of_clusters > 0) \ { \ if (zb_buf_len((data_buf)) >= sizeof(zb_uint8_t) + \ - src_ptr->number_of_clusters * sizeof(zb_uint16_t)) \ + number_of_clusters * sizeof(zb_uint16_t)) \ { \ - zb_uint16_t cluster_id; \ - memcpy(&cluster_id, &(src_ptr->cluster_id), sizeof(zb_uint16_t)); \ - (req)->cluster_id = &cluster_id; \ + ZB_MEMCPY( \ + (zb_uint8_t*)((req).cluster_id), \ + (src_ptr + 1), \ + number_of_clusters * sizeof(zb_uint16_t)); \ (status) = ZB_ZCL_PARSE_STATUS_SUCCESS; \ } \ } \ diff --git a/zboss/production/src/zcl/zcl_color_control_commands.c b/zboss/production/src/zcl/zcl_color_control_commands.c index 7e7f7ed122..704a477d61 100644 --- a/zboss/production/src/zcl/zcl_color_control_commands.c +++ b/zboss/production/src/zcl/zcl_color_control_commands.c @@ -1,42 +1,23 @@ -/* - * ZBOSS Zigbee 3.0 +/* ZBOSS Zigbee software protocol stack * - * Copyright (c) 2012-2024 DSR Corporation, Denver CO, USA. + * Copyright (c) 2012-2020 DSR Corporation, Denver CO, USA. * www.dsr-zboss.com * www.dsr-corporation.com * All rights reserved. * + * This is unpublished proprietary source code of DSR Corporation + * The copyright notice does not evidence any actual or intended + * publication of such source code. * - * Use in source and binary forms, redistribution in binary form only, with - * or without modification, are permitted provided that the following conditions - * are met: + * ZBOSS is a registered trademark of Data Storage Research LLC d/b/a DSR + * Corporation * - * 1. Redistributions in binary form, except as embedded into a Nordic - * Semiconductor ASA integrated circuit in a product or a software update for - * such product, must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. - * - * 2. Neither the name of Nordic Semiconductor ASA nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * 3. This software, with or without modification, must only be used with a Nordic - * Semiconductor ASA integrated circuit. - * - * 4. Any software provided in binary form under this license must not be reverse - * engineered, decompiled, modified and/or disassembled. - * - * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * Commercial Usage + * Licensees holding valid DSR Commercial licenses may use + * this file in accordance with the DSR Commercial License + * Agreement provided with the Software or, alternatively, in accordance + * with the terms contained in a written agreement between you and + * DSR. */ /* PURPOSE: ZCL Color Control cluster specific commands handling */ @@ -614,9 +595,20 @@ static void zb_zcl_color_control_update_color_attrbute(zb_uint8_t endpoint) zb_uint16_t y; zb_uint16_t temp; zb_uint8_t old_mode = zb_zcl_color_control_get8(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_COLOR_MODE_ID); +#if defined ZB_ENABLE_ZLL + zb_uint16_t ex_hue; + old_mode = zb_zcl_color_control_get8(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_ENHANCED_COLOR_MODE_ID); +#endif switch(old_mode) { +#if defined ZB_ENABLE_ZLL + case ZB_ZCL_COLOR_CONTROL_COLOR_EX_MODE_HUE_SATURATION_EX: + ex_hue = zb_zcl_color_control_get16(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_ENHANCED_CURRENT_HUE_ID); + hue = ex_hue >> 8; + zb_zcl_color_control_set8(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_HUE_ID, hue); + // next - run ordinary hue and saturation mode +#endif case ZB_ZCL_COLOR_CONTROL_COLOR_MODE_HUE_SATURATION: hue = zb_zcl_color_control_get8(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_HUE_ID); sat = zb_zcl_color_control_get8(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_SATURATION_ID); @@ -649,6 +641,12 @@ static void zb_zcl_color_control_update_color_attrbute(zb_uint8_t endpoint) break; } +#if defined ZB_ENABLE_ZLL + if(old_mode!=ZB_ZCL_COLOR_CONTROL_COLOR_EX_MODE_HUE_SATURATION_EX) + { + zb_zcl_color_control_set16(endpoint, ZB_ZCL_ATTR_COLOR_CONTROL_ENHANCED_CURRENT_HUE_ID, hue << 8); + } +#endif } #endif @@ -903,6 +901,9 @@ static void zb_zcl_process_color_control_move_loop(zb_uint8_t param) // prepare struct for process each move command is_non_stop_attr = ((loop_data.attr_id == ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_HUE_ID) +#if defined ZB_ENABLE_ZLL + || (loop_data.attr_id == ZB_ZCL_ATTR_COLOR_CONTROL_ENHANCED_CURRENT_HUE_ID) +#endif /*defined ZB_ENABLE_ZLL*/ ) ? ZB_TRUE : ZB_FALSE; // calc delta attribute value and update non-used msec for first attribute @@ -1228,7 +1229,7 @@ static void zb_zcl_process_color_control_stop_all_commands(zb_uint8_t endpoint) static zb_ret_t zb_zcl_process_color_control_move_to_hue_handler(zb_uint8_t param, zb_uint8_t buf2_param) { zb_ret_t ret = RET_OK; - zb_zcl_color_control_move_to_hue_req_t payload = {0}; + zb_zcl_color_control_move_to_hue_req_t payload; zb_zcl_parse_status_t status; zb_zcl_parsed_hdr_t cmd_info; @@ -2636,7 +2637,7 @@ static zb_uint16_t zb_zcl_color_control_get_color_temperature_limit( static zb_ret_t zb_zcl_process_color_control_move_color_temp_handler(zb_uint8_t param, zb_uint8_t buf2_param) { zb_ret_t ret = RET_OK; - zb_zcl_color_control_move_color_temp_req_t payload = {0}; + zb_zcl_color_control_move_color_temp_req_t payload; zb_zcl_parse_status_t status; zb_zcl_parsed_hdr_t cmd_info; zb_uint8_t endpoint; diff --git a/zboss/production/src/zcl/zcl_s_wwah.c b/zboss/production/src/zcl/zcl_s_wwah.c index 472640fae4..a94ac3d19f 100644 --- a/zboss/production/src/zcl/zcl_s_wwah.c +++ b/zboss/production/src/zcl/zcl_s_wwah.c @@ -1,42 +1,23 @@ -/* - * ZBOSS Zigbee 3.0 +/* ZBOSS Zigbee software protocol stack * - * Copyright (c) 2012-2022 DSR Corporation, Denver CO, USA. + * Copyright (c) 2012-2020 DSR Corporation, Denver CO, USA. * www.dsr-zboss.com * www.dsr-corporation.com * All rights reserved. * + * This is unpublished proprietary source code of DSR Corporation + * The copyright notice does not evidence any actual or intended + * publication of such source code. * - * Use in source and binary forms, redistribution in binary form only, with - * or without modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions in binary form, except as embedded into a Nordic - * Semiconductor ASA integrated circuit in a product or a software update for - * such product, must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. - * - * 2. Neither the name of Nordic Semiconductor ASA nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * 3. This software, with or without modification, must only be used with a Nordic - * Semiconductor ASA integrated circuit. - * - * 4. Any software provided in binary form under this license must not be reverse - * engineered, decompiled, modified and/or disassembled. + * ZBOSS is a registered trademark of Data Storage Research LLC d/b/a DSR + * Corporation * - * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * Commercial Usage + * Licensees holding valid DSR Commercial licenses may use + * this file in accordance with the DSR Commercial License + * Agreement provided with the Software or, alternatively, in accordance + * with the terms contained in a written agreement between you and + * DSR. */ /* PURPOSE: ZCL WWAH cluster specific commands handling */ @@ -531,7 +512,7 @@ zb_ret_t zb_zcl_wwah_enable_aps_link_key_authorization_handler(zb_uint8_t param) ZB_MEMCPY(&cmd_info, ZB_BUF_GET_PARAM(param, zb_zcl_parsed_hdr_t), sizeof(zb_zcl_parsed_hdr_t)); - ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, &payload, status); + ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, payload, status); if (status == ZB_ZCL_PARSE_STATUS_SUCCESS ) { if (payload.number_of_clusters > ZB_ZCL_WWAH_APS_LINK_KEY_AUTHORIZATION_TABLE_SIZE) @@ -580,7 +561,7 @@ zb_ret_t zb_zcl_wwah_disable_aps_link_key_authorization_handler(zb_uint8_t param ZB_MEMCPY(&cmd_info, ZB_BUF_GET_PARAM(param, zb_zcl_parsed_hdr_t), sizeof(zb_zcl_parsed_hdr_t)); - ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, &payload, status); + ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, payload, status); if (status == ZB_ZCL_PARSE_STATUS_SUCCESS ) { if (payload.number_of_clusters > ZB_ZCL_WWAH_APS_LINK_KEY_AUTHORIZATION_TABLE_SIZE) @@ -1197,7 +1178,7 @@ zb_ret_t zb_zcl_wwah_require_aps_acks_on_unicasts_handler(zb_uint8_t param){ ZB_MEMCPY(&cmd_info, ZB_BUF_GET_PARAM(param, zb_zcl_parsed_hdr_t), sizeof(zb_zcl_parsed_hdr_t)); - ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, &payload, status); + ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, payload, status); if (status == ZB_ZCL_PARSE_STATUS_SUCCESS ) { if (payload.number_of_clusters > ZB_ZCL_WWAH_APS_ACK_EXEMPT_TABLE_SIZE) @@ -1808,7 +1789,7 @@ zb_ret_t zb_zcl_wwah_use_trust_center_for_cluster_handler(zb_uint8_t param) ZB_MEMCPY(&cmd_info, ZB_BUF_GET_PARAM(param, zb_zcl_parsed_hdr_t), sizeof(zb_zcl_parsed_hdr_t)); - ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, &payload, status); + ZB_ZCL_WWAH_GET_CLUSTER_LIST_CMD(param, payload, status); if (status == ZB_ZCL_PARSE_STATUS_SUCCESS ) { if (payload.number_of_clusters > ZB_ZCL_WWAH_USE_TRUST_CENTER_FOR_CLUSTER_TABLE_SIZE)