Skip to content

Commit 096b4a5

Browse files
committed
Introduce high level PWM1-n object node to group period and pulse width as variable nodes beneath.
1 parent 40b7787 commit 096b4a5

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/io/pwm/PwmOutput.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,25 @@ PwmOutput::create(
8282
{
8383
UA_StatusCode rc = UA_STATUSCODE_GOOD;
8484

85+
UA_ObjectAttributes oAttr = UA_ObjectAttributes_default;
86+
oAttr.displayName = UA_LOCALIZEDTEXT("en-US", (char *)display_name);
87+
UA_NodeId pwm_obj_node_id;
88+
rc = UA_Server_addObjectNode(server,
89+
UA_NODEID_NULL,
90+
parent_node_id,
91+
UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES),
92+
UA_QUALIFIEDNAME(1, (char *)display_name),
93+
UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE),
94+
oAttr,
95+
NULL,
96+
&pwm_obj_node_id);
97+
if (UA_StatusCode_isBad(rc))
98+
{
99+
UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_SERVER,
100+
"%s: UA_Server_addObjectNode(...) failed with %s", __PRETTY_FUNCTION__, UA_StatusCode_name(rc));
101+
return nullptr;
102+
}
103+
85104
UA_VariableAttributes pwm_out_period_value_attr = UA_VariableAttributes_default;
86105

87106
UA_Boolean pwm_output_period_value = 0;
@@ -97,7 +116,7 @@ PwmOutput::create(
97116
UA_NodeId node_id;
98117
rc = UA_Server_addVariableNode(server,
99118
UA_NODEID_NULL,
100-
parent_node_id,
119+
pwm_obj_node_id,
101120
UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT),
102121
UA_QUALIFIEDNAME(1, "Value"),
103122
UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE),

0 commit comments

Comments
 (0)