Skip to content

Commit 779fc6f

Browse files
silabs-borislrzr
authored andcommitted
SiliconLabsGH-24: zpc: Code refactoring of switch color
Bug-SiliconLabs: UIC-3082 Relate-to: SiliconLabs#24 Forwarded-SiliconLabs: task/UIC-3082/phcoval/SiliconLabsGH-24/develop Origin: nkljajic#5 Signed-off-by: Philippe Coval <philippe.coval@silabs.com>
1 parent 75be48b commit 779fc6f

File tree

1 file changed

+6
-28
lines changed

1 file changed

+6
-28
lines changed

applications/zpc/components/zwave_command_classes/src/zwave_command_class_switch_color.c

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -37,31 +37,17 @@
3737

3838
#define LOG_TAG "zwave_command_class_switch_color"
3939

40-
[[maybe_unused]]
41-
static void set_desired_duration(attribute_store_node_t state_node,
42-
uint32_t duration)
40+
static void set_duration(attribute_store_node_t state_node,
41+
attribute_store_node_value_state_t state,
42+
uint32_t duration)
4343
{
4444
attribute_store_node_t duration_node
4545
= attribute_store_get_first_child_by_type(
4646
state_node,
4747
ATTRIBUTE_COMMAND_CLASS_SWITCH_COLOR_DURATION);
4848

4949
attribute_store_set_node_attribute_value(duration_node,
50-
DESIRED_ATTRIBUTE,
51-
(uint8_t *)&duration,
52-
sizeof(duration));
53-
}
54-
55-
static void set_reported_duration(attribute_store_node_t state_node,
56-
uint32_t duration)
57-
{
58-
attribute_store_node_t duration_node
59-
= attribute_store_get_first_child_by_type(
60-
state_node,
61-
ATTRIBUTE_COMMAND_CLASS_SWITCH_COLOR_DURATION);
62-
63-
attribute_store_set_node_attribute_value(duration_node,
64-
REPORTED_ATTRIBUTE,
50+
state,
6551
(uint8_t *)&duration,
6652
sizeof(duration));
6753
}
@@ -80,15 +66,7 @@ static void
8066
while (component_node != ATTRIBUTE_STORE_INVALID_NODE) {
8167
index += 1;
8268

83-
attribute_store_node_t duration_node
84-
= attribute_store_get_first_child_by_type(
85-
component_node,
86-
ATTRIBUTE_COMMAND_CLASS_SWITCH_COLOR_DURATION);
87-
88-
attribute_store_set_node_attribute_value(duration_node,
89-
value_state,
90-
(uint8_t *)&duration,
91-
sizeof(duration));
69+
set_duration(component_node, value_state, duration);
9270

9371
component_node = attribute_store_get_node_child_by_type(
9472
state_node,
@@ -166,7 +144,7 @@ static void
166144
state_node,
167145
ATTRIBUTE_COMMAND_CLASS_SWITCH_COLOR_VALUE,
168146
&attribute_store_undefine_desired);
169-
set_reported_duration(state_node, 0);
147+
set_duration(state_node, REPORTED_ATTRIBUTE, 0);
170148
attribute_store_undefine_desired(duration_node);
171149
break;
172150

0 commit comments

Comments
 (0)