Skip to content

Commit 29edc1d

Browse files
committed
Fix: can and should reinterpret cast to base class.
1 parent e6ff951 commit 29edc1d

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

examples/opcua_server/opcua_server.ino

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,18 +239,20 @@ void setup()
239239
{
240240
char analog_in_name[32] = {0};
241241
snprintf(analog_in_name, sizeof(analog_in_name), "Analog Input I%d", d + 1);
242-
exp_dig->analog_input_mgr()->add_analog_input(opc_ua_server, analog_in_name, [i, d]() { return reinterpret_cast<DigitalMechExpansion *>(OptaController.getExpansionPtr(i))->pinVoltage(d); });
242+
exp_dig->analog_input_mgr()->add_analog_input(opc_ua_server, analog_in_name, [i, d]() { return reinterpret_cast<DigitalExpansion *>(OptaController.getExpansionPtr(i))->pinVoltage(d); });
243243

244244
char digital_in_name[32] = {0};
245245
snprintf(digital_in_name, sizeof(digital_in_name), "Digital Input I%d", d + 1);
246-
exp_dig->digital_input_mgr()->add_digital_input(opc_ua_server, digital_in_name, [i, d]() { return reinterpret_cast<DigitalMechExpansion *>(OptaController.getExpansionPtr(i))->digitalRead(d, true); });
246+
exp_dig->digital_input_mgr()->add_digital_input(opc_ua_server,
247+
digital_in_name,
248+
[i, d]() { return reinterpret_cast<DigitalExpansion *>(OptaController.getExpansionPtr(i))->digitalRead(d, true); });
247249
}
248250
/* Expose mechanical relays via OPC/UA. */
249251
for (uint8_t r = 0; r < OPTA_DIGITAL_OUT_NUM; r++)
250252
{
251253
char mech_relay_name[32] = {0};
252254
snprintf(mech_relay_name, sizeof(mech_relay_name), "Relay %d", r + 1);
253-
exp_dig->relay_mgr()->add_relay_output(opc_ua_server, mech_relay_name, [i, r](bool const value) { reinterpret_cast<DigitalMechExpansion *>(OptaController.getExpansionPtr(i))->digitalWrite(r, value ? HIGH : LOW); });
255+
exp_dig->relay_mgr()->add_relay_output(opc_ua_server, mech_relay_name, [i, r](bool const value) { reinterpret_cast<DigitalExpansion *>(OptaController.getExpansionPtr(i))->digitalWrite(r, value ? HIGH : LOW); });
254256
}
255257
}
256258
else if (exp_type == EXPANSION_OPTA_ANALOG)

0 commit comments

Comments
 (0)