You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2025/02/16 11:59:03 UTC
(plc4x) branch develop updated (dca505cbe2 -> 6943669b2d)
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
from dca505cbe2 fix: Adjusted one of the tests to my commented out write operation.
new 983f763e80 chore: Updated the KNX vendor ids
new 3bc04e827c test: Added a manual test do investigate the OPM out-of memory error.
new 6943669b2d fix: Removed an unneeded import that was causing problems in the PLC4Go build
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../bacgopes/tests/test_network/test_net_1_test.go | 1 -
.../knxnetip/readwrite/model/KnxDatapoint.go | 12 +-
.../knxnetip/readwrite/model/KnxDatapointType.go | 48 +++----
.../java/knxnetip/readwrite/KnxDatapoint.java | 18 +--
.../java/knxnetip/readwrite/KnxDatapointType.java | 12 +-
.../plc4x/java/opm/issues/i1935/FooRxEntity.java | 157 +++++++++++++++++++++
.../opm/issues/i1935/Plc4jMockConnectionTest.java | 69 +++++++++
.../knxnetip/readwrite/model/KnxDatapoint.cs | 12 +-
.../knxnetip/readwrite/model/KnxDatapointType.cs | 30 ++--
.../protocols/knxnetip/knx-master-data.mspec | 12 +-
10 files changed, 298 insertions(+), 73 deletions(-)
create mode 100644 plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/FooRxEntity.java
create mode 100644 plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/Plc4jMockConnectionTest.java
(plc4x) 03/03: fix: Removed an unneeded import that was causing problems in the PLC4Go build
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 6943669b2dab4da041ba678a7d3708bc9070162d
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun Feb 16 12:58:55 2025 +0100
fix: Removed an unneeded import that was causing problems in the PLC4Go build
---
plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go | 1 -
1 file changed, 1 deletion(-)
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go
index dc16fd6ec7..341d578491 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go
@@ -28,7 +28,6 @@ import (
"github.com/stretchr/testify/require"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/comp"
- . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/npdu"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/state_machine"
(plc4x) 01/03: chore: Updated the KNX vendor ids
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 983f763e80e0ce1563af4742ee7e351c15ea8fc2
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun Feb 16 12:58:03 2025 +0100
chore: Updated the KNX vendor ids
---
.../knxnetip/readwrite/model/KnxDatapoint.go | 12 +++---
.../knxnetip/readwrite/model/KnxDatapointType.go | 48 +++++++++++-----------
.../java/knxnetip/readwrite/KnxDatapoint.java | 18 ++++----
.../java/knxnetip/readwrite/KnxDatapointType.java | 12 +++---
.../knxnetip/readwrite/model/KnxDatapoint.cs | 12 +++---
.../knxnetip/readwrite/model/KnxDatapointType.cs | 30 +++++++-------
.../protocols/knxnetip/knx-master-data.mspec | 12 +++---
7 files changed, 72 insertions(+), 72 deletions(-)
diff --git a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
index 31231eccdf..c686a40862 100644
--- a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
@@ -2244,7 +2244,7 @@ func KnxDatapointParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffe
_ = value // TODO: temporary till we fix TIME stuff in golang (see above in the template)
readBuffer.CloseContext("KnxDatapoint")
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType_DPT_ApparantEnergy: // DINT
+ case datapointType == KnxDatapointType_DPT_ApparentEnergy: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := /*TODO: migrate me*/ /*TODO: migrate me*/ readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -2286,7 +2286,7 @@ func KnxDatapointParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffe
_ = value // TODO: temporary till we fix TIME stuff in golang (see above in the template)
readBuffer.CloseContext("KnxDatapoint")
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType_DPT_ApparantEnergy_kVAh: // DINT
+ case datapointType == KnxDatapointType_DPT_ApparentEnergy_kVAh: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := /*TODO: migrate me*/ /*TODO: migrate me*/ readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -6313,7 +6313,7 @@ func KnxDatapointParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffe
_ = value // TODO: temporary till we fix TIME stuff in golang (see above in the template)
readBuffer.CloseContext("KnxDatapoint")
return values.NewPlcLINT(value), nil
- case datapointType == KnxDatapointType_DPT_ApparantEnergy_V64: // LINT
+ case datapointType == KnxDatapointType_DPT_ApparentEnergy_V64: // LINT
// Reserved Field (Just skip the bytes)
if _, _err := /*TODO: migrate me*/ /*TODO: migrate me*/ readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -9848,7 +9848,7 @@ func KnxDatapointSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils
if _err := /*TODO: migrate me*/ writeBuffer.WriteInt32("value", 32, int32(value.GetInt32())); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_DPT_ApparantEnergy: // DINT
+ case datapointType == KnxDatapointType_DPT_ApparentEnergy: // DINT
// Reserved Field (Just skip the bytes)
if _err := /*TODO: migrate me*/ writeBuffer.WriteUint8("reserved", 8, uint8(uint8(0x00))); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
@@ -9878,7 +9878,7 @@ func KnxDatapointSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils
if _err := /*TODO: migrate me*/ writeBuffer.WriteInt32("value", 32, int32(value.GetInt32())); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_DPT_ApparantEnergy_kVAh: // DINT
+ case datapointType == KnxDatapointType_DPT_ApparentEnergy_kVAh: // DINT
// Reserved Field (Just skip the bytes)
if _err := /*TODO: migrate me*/ writeBuffer.WriteUint8("reserved", 8, uint8(uint8(0x00))); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
@@ -12603,7 +12603,7 @@ func KnxDatapointSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils
if _err := /*TODO: migrate me*/ writeBuffer.WriteInt64("value", 64, int64(value.GetInt64())); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_DPT_ApparantEnergy_V64: // LINT
+ case datapointType == KnxDatapointType_DPT_ApparentEnergy_V64: // LINT
// Reserved Field (Just skip the bytes)
if _err := /*TODO: migrate me*/ writeBuffer.WriteUint8("reserved", 8, uint8(uint8(0x00))); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
diff --git a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go
index 60444524ca..103eedbe86 100644
--- a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go
+++ b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go
@@ -177,10 +177,10 @@ const (
KnxDatapointType_DPT_Value_4_Count KnxDatapointType = 130
KnxDatapointType_DPT_FlowRate_m3h KnxDatapointType = 131
KnxDatapointType_DPT_ActiveEnergy KnxDatapointType = 132
- KnxDatapointType_DPT_ApparantEnergy KnxDatapointType = 133
+ KnxDatapointType_DPT_ApparentEnergy KnxDatapointType = 133
KnxDatapointType_DPT_ReactiveEnergy KnxDatapointType = 134
KnxDatapointType_DPT_ActiveEnergy_kWh KnxDatapointType = 135
- KnxDatapointType_DPT_ApparantEnergy_kVAh KnxDatapointType = 136
+ KnxDatapointType_DPT_ApparentEnergy_kVAh KnxDatapointType = 136
KnxDatapointType_DPT_ReactiveEnergy_kVARh KnxDatapointType = 137
KnxDatapointType_DPT_ActiveEnergy_MWh KnxDatapointType = 138
KnxDatapointType_DPT_LongDeltaTimeSec KnxDatapointType = 139
@@ -360,7 +360,7 @@ const (
KnxDatapointType_DPT_SceneInfo KnxDatapointType = 313
KnxDatapointType_DPT_CombinedInfoOnOff KnxDatapointType = 314
KnxDatapointType_DPT_ActiveEnergy_V64 KnxDatapointType = 315
- KnxDatapointType_DPT_ApparantEnergy_V64 KnxDatapointType = 316
+ KnxDatapointType_DPT_ApparentEnergy_V64 KnxDatapointType = 316
KnxDatapointType_DPT_ReactiveEnergy_V64 KnxDatapointType = 317
KnxDatapointType_DPT_Channel_Activation_24 KnxDatapointType = 318
KnxDatapointType_DPT_HVACModeNext KnxDatapointType = 319
@@ -536,10 +536,10 @@ func init() {
KnxDatapointType_DPT_Value_4_Count,
KnxDatapointType_DPT_FlowRate_m3h,
KnxDatapointType_DPT_ActiveEnergy,
- KnxDatapointType_DPT_ApparantEnergy,
+ KnxDatapointType_DPT_ApparentEnergy,
KnxDatapointType_DPT_ReactiveEnergy,
KnxDatapointType_DPT_ActiveEnergy_kWh,
- KnxDatapointType_DPT_ApparantEnergy_kVAh,
+ KnxDatapointType_DPT_ApparentEnergy_kVAh,
KnxDatapointType_DPT_ReactiveEnergy_kVARh,
KnxDatapointType_DPT_ActiveEnergy_MWh,
KnxDatapointType_DPT_LongDeltaTimeSec,
@@ -719,7 +719,7 @@ func init() {
KnxDatapointType_DPT_SceneInfo,
KnxDatapointType_DPT_CombinedInfoOnOff,
KnxDatapointType_DPT_ActiveEnergy_V64,
- KnxDatapointType_DPT_ApparantEnergy_V64,
+ KnxDatapointType_DPT_ApparentEnergy_V64,
KnxDatapointType_DPT_ReactiveEnergy_V64,
KnxDatapointType_DPT_Channel_Activation_24,
KnxDatapointType_DPT_HVACModeNext,
@@ -2344,7 +2344,7 @@ func (e KnxDatapointType) Name() string {
}
case 133:
{ /* '133' */
- return "apparant energy (VAh)"
+ return "apparent energy (VAh)"
}
case 134:
{ /* '134' */
@@ -2356,7 +2356,7 @@ func (e KnxDatapointType) Name() string {
}
case 136:
{ /* '136' */
- return "apparant energy (kVAh)"
+ return "apparent energy (kVAh)"
}
case 137:
{ /* '137' */
@@ -3156,7 +3156,7 @@ func (e KnxDatapointType) Name() string {
}
case 316:
{ /* '316' */
- return "apparant energy (VAh)"
+ return "apparent energy (VAh)"
}
case 317:
{ /* '317' */
@@ -5116,13 +5116,13 @@ func KnxDatapointTypeByValue(value uint32) (enum KnxDatapointType, ok bool) {
case 132:
return KnxDatapointType_DPT_ActiveEnergy, true
case 133:
- return KnxDatapointType_DPT_ApparantEnergy, true
+ return KnxDatapointType_DPT_ApparentEnergy, true
case 134:
return KnxDatapointType_DPT_ReactiveEnergy, true
case 135:
return KnxDatapointType_DPT_ActiveEnergy_kWh, true
case 136:
- return KnxDatapointType_DPT_ApparantEnergy_kVAh, true
+ return KnxDatapointType_DPT_ApparentEnergy_kVAh, true
case 137:
return KnxDatapointType_DPT_ReactiveEnergy_kVARh, true
case 138:
@@ -5522,7 +5522,7 @@ func KnxDatapointTypeByValue(value uint32) (enum KnxDatapointType, ok bool) {
case 315:
return KnxDatapointType_DPT_ActiveEnergy_V64, true
case 316:
- return KnxDatapointType_DPT_ApparantEnergy_V64, true
+ return KnxDatapointType_DPT_ApparentEnergy_V64, true
case 317:
return KnxDatapointType_DPT_ReactiveEnergy_V64, true
case 318:
@@ -5825,14 +5825,14 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_FlowRate_m3h, true
case "DPT_ActiveEnergy":
return KnxDatapointType_DPT_ActiveEnergy, true
- case "DPT_ApparantEnergy":
- return KnxDatapointType_DPT_ApparantEnergy, true
+ case "DPT_ApparentEnergy":
+ return KnxDatapointType_DPT_ApparentEnergy, true
case "DPT_ReactiveEnergy":
return KnxDatapointType_DPT_ReactiveEnergy, true
case "DPT_ActiveEnergy_kWh":
return KnxDatapointType_DPT_ActiveEnergy_kWh, true
- case "DPT_ApparantEnergy_kVAh":
- return KnxDatapointType_DPT_ApparantEnergy_kVAh, true
+ case "DPT_ApparentEnergy_kVAh":
+ return KnxDatapointType_DPT_ApparentEnergy_kVAh, true
case "DPT_ReactiveEnergy_kVARh":
return KnxDatapointType_DPT_ReactiveEnergy_kVARh, true
case "DPT_ActiveEnergy_MWh":
@@ -6231,8 +6231,8 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_CombinedInfoOnOff, true
case "DPT_ActiveEnergy_V64":
return KnxDatapointType_DPT_ActiveEnergy_V64, true
- case "DPT_ApparantEnergy_V64":
- return KnxDatapointType_DPT_ApparantEnergy_V64, true
+ case "DPT_ApparentEnergy_V64":
+ return KnxDatapointType_DPT_ApparentEnergy_V64, true
case "DPT_ReactiveEnergy_V64":
return KnxDatapointType_DPT_ReactiveEnergy_V64, true
case "DPT_Channel_Activation_24":
@@ -6610,14 +6610,14 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_FlowRate_m3h"
case KnxDatapointType_DPT_ActiveEnergy:
return "DPT_ActiveEnergy"
- case KnxDatapointType_DPT_ApparantEnergy:
- return "DPT_ApparantEnergy"
+ case KnxDatapointType_DPT_ApparentEnergy:
+ return "DPT_ApparentEnergy"
case KnxDatapointType_DPT_ReactiveEnergy:
return "DPT_ReactiveEnergy"
case KnxDatapointType_DPT_ActiveEnergy_kWh:
return "DPT_ActiveEnergy_kWh"
- case KnxDatapointType_DPT_ApparantEnergy_kVAh:
- return "DPT_ApparantEnergy_kVAh"
+ case KnxDatapointType_DPT_ApparentEnergy_kVAh:
+ return "DPT_ApparentEnergy_kVAh"
case KnxDatapointType_DPT_ReactiveEnergy_kVARh:
return "DPT_ReactiveEnergy_kVARh"
case KnxDatapointType_DPT_ActiveEnergy_MWh:
@@ -7016,8 +7016,8 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_CombinedInfoOnOff"
case KnxDatapointType_DPT_ActiveEnergy_V64:
return "DPT_ActiveEnergy_V64"
- case KnxDatapointType_DPT_ApparantEnergy_V64:
- return "DPT_ApparantEnergy_V64"
+ case KnxDatapointType_DPT_ApparentEnergy_V64:
+ return "DPT_ApparentEnergy_V64"
case KnxDatapointType_DPT_ReactiveEnergy_V64:
return "DPT_ReactiveEnergy_V64"
case KnxDatapointType_DPT_Channel_Activation_24:
diff --git a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java
index fb80a4944c..1553375274 100644
--- a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java
+++ b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java
@@ -1062,7 +1062,7 @@ public class KnxDatapoint {
int value = readSimpleField("value", readSignedInt(readBuffer, 32));
return new PlcDINT(value);
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy)) { // DINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy)) { // DINT
Short reservedField0 =
readReservedField("reserved", readUnsignedShort(readBuffer, 8), (short) 0x00);
@@ -1083,7 +1083,7 @@ public class KnxDatapoint {
int value = readSimpleField("value", readSignedInt(readBuffer, 32));
return new PlcDINT(value);
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy_kVAh)) { // DINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy_kVAh)) { // DINT
Short reservedField0 =
readReservedField("reserved", readUnsignedShort(readBuffer, 8), (short) 0x00);
@@ -2996,7 +2996,7 @@ public class KnxDatapoint {
long value = readSimpleField("value", readSignedLong(readBuffer, 64));
return new PlcLINT(value);
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy_V64)) { // LINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy_V64)) { // LINT
Short reservedField0 =
readReservedField("reserved", readUnsignedShort(readBuffer, 8), (short) 0x00);
@@ -4978,7 +4978,7 @@ public class KnxDatapoint {
// Simple field (value)
lengthInBits += 32;
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy)) { // DINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy)) { // DINT
// Reserved Field (reserved)
lengthInBits += 8;
@@ -4999,7 +4999,7 @@ public class KnxDatapoint {
// Simple field (value)
lengthInBits += 32;
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy_kVAh)) { // DINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy_kVAh)) { // DINT
// Reserved Field (reserved)
lengthInBits += 8;
@@ -6754,7 +6754,7 @@ public class KnxDatapoint {
// Simple field (value)
lengthInBits += 64;
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy_V64)) { // LINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy_V64)) { // LINT
// Reserved Field (reserved)
lengthInBits += 8;
@@ -8495,7 +8495,7 @@ public class KnxDatapoint {
// Simple Field (value)
writeSimpleField("value", (int) _value.getInteger(), writeSignedInt(writeBuffer, 32));
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy)) { // DINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy)) { // DINT
// Reserved Field (reserved)
writeReservedField("reserved", (short) 0x00, writeUnsignedShort(writeBuffer, 8));
@@ -8516,7 +8516,7 @@ public class KnxDatapoint {
// Simple Field (value)
writeSimpleField("value", (int) _value.getInteger(), writeSignedInt(writeBuffer, 32));
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy_kVAh)) { // DINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy_kVAh)) { // DINT
// Reserved Field (reserved)
writeReservedField("reserved", (short) 0x00, writeUnsignedShort(writeBuffer, 8));
@@ -9657,7 +9657,7 @@ public class KnxDatapoint {
// Simple Field (value)
writeSimpleField("value", (long) _value.getLong(), writeSignedLong(writeBuffer, 64));
} else if (EvaluationHelper.equals(
- datapointType, KnxDatapointType.DPT_ApparantEnergy_V64)) { // LINT
+ datapointType, KnxDatapointType.DPT_ApparentEnergy_V64)) { // LINT
// Reserved Field (reserved)
writeReservedField("reserved", (short) 0x00, writeUnsignedShort(writeBuffer, 8));
diff --git a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java
index 1cc0d200d9..dfe8c39aaf 100644
--- a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java
+++ b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java
@@ -379,10 +379,10 @@ public enum KnxDatapointType {
(int) 10,
(String) "active energy (Wh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
- DPT_ApparantEnergy(
+ DPT_ApparentEnergy(
(long) 133L,
(int) 11,
- (String) "apparant energy (VAh)",
+ (String) "apparent energy (VAh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ReactiveEnergy(
(long) 134L,
@@ -394,10 +394,10 @@ public enum KnxDatapointType {
(int) 13,
(String) "active energy (kWh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
- DPT_ApparantEnergy_kVAh(
+ DPT_ApparentEnergy_kVAh(
(long) 136L,
(int) 14,
- (String) "apparant energy (kVAh)",
+ (String) "apparent energy (kVAh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ReactiveEnergy_kVARh(
(long) 137L,
@@ -1001,10 +1001,10 @@ public enum KnxDatapointType {
(int) 10,
(String) "active energy (Wh)",
KnxDatapointMainType.DPT_ELECTRICAL_ENERGY),
- DPT_ApparantEnergy_V64(
+ DPT_ApparentEnergy_V64(
(long) 316L,
(int) 11,
- (String) "apparant energy (VAh)",
+ (String) "apparent energy (VAh)",
KnxDatapointMainType.DPT_ELECTRICAL_ENERGY),
DPT_ReactiveEnergy_V64(
(long) 317L,
diff --git a/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapoint.cs b/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapoint.cs
index 0adf9ad9a3..321cff1789 100644
--- a/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapoint.cs
+++ b/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapoint.cs
@@ -2041,7 +2041,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = readBuffer.ReadInt("", 32);
return new PlcDINT(value);
- } if( datapointType == KnxDatapointType.DPT_ApparantEnergy ) { // DINT
+ } if( datapointType == KnxDatapointType.DPT_ApparentEnergy ) { // DINT
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -2083,7 +2083,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = readBuffer.ReadInt("", 32);
return new PlcDINT(value);
- } if( datapointType == KnxDatapointType.DPT_ApparantEnergy_kVAh ) { // DINT
+ } if( datapointType == KnxDatapointType.DPT_ApparentEnergy_kVAh ) { // DINT
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -5321,7 +5321,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = readBuffer.ReadLong("", 64);
return new PlcLINT(value);
- } if( datapointType == KnxDatapointType.DPT_ApparantEnergy_V64 ) { // LINT
+ } if( datapointType == KnxDatapointType.DPT_ApparentEnergy_V64 ) { // LINT
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -7863,7 +7863,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (int) _value.GetInt();
writeBuffer.WriteInt("", 32, (int) (value));
return writeBuffer;
- } if( datapointType == KnxDatapointType.DPT_ApparantEnergy ) { // DINT
+ } if( datapointType == KnxDatapointType.DPT_ApparentEnergy ) { // DINT
var writeBuffer = new WriteBuffer();
// Reserved Field
@@ -7890,7 +7890,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (int) _value.GetInt();
writeBuffer.WriteInt("", 32, (int) (value));
return writeBuffer;
- } if( datapointType == KnxDatapointType.DPT_ApparantEnergy_kVAh ) { // DINT
+ } if( datapointType == KnxDatapointType.DPT_ApparentEnergy_kVAh ) { // DINT
var writeBuffer = new WriteBuffer();
// Reserved Field
@@ -10042,7 +10042,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (long) _value.GetLong();
writeBuffer.WriteLong("", 64, (long) (value));
return writeBuffer;
- } if( datapointType == KnxDatapointType.DPT_ApparantEnergy_V64 ) { // LINT
+ } if( datapointType == KnxDatapointType.DPT_ApparentEnergy_V64 ) { // LINT
var writeBuffer = new WriteBuffer();
// Reserved Field
diff --git a/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapointType.cs b/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapointType.cs
index 116515dba1..1e8f0b50b5 100644
--- a/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapointType.cs
+++ b/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapointType.cs
@@ -157,10 +157,10 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
DPT_Value_4_Count = 130,
DPT_FlowRate_m3h = 131,
DPT_ActiveEnergy = 132,
- DPT_ApparantEnergy = 133,
+ DPT_ApparentEnergy = 133,
DPT_ReactiveEnergy = 134,
DPT_ActiveEnergy_kWh = 135,
- DPT_ApparantEnergy_kVAh = 136,
+ DPT_ApparentEnergy_kVAh = 136,
DPT_ReactiveEnergy_kVARh = 137,
DPT_ActiveEnergy_MWh = 138,
DPT_LongDeltaTimeSec = 139,
@@ -340,7 +340,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
DPT_SceneInfo = 313,
DPT_CombinedInfoOnOff = 314,
DPT_ActiveEnergy_V64 = 315,
- DPT_ApparantEnergy_V64 = 316,
+ DPT_ApparentEnergy_V64 = 316,
DPT_ReactiveEnergy_V64 = 317,
DPT_Channel_Activation_24 = 318,
DPT_HVACModeNext = 319,
@@ -502,7 +502,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy: { /* '132' */
return 10;
}
- case KnxDatapointType.DPT_ApparantEnergy: { /* '133' */
+ case KnxDatapointType.DPT_ApparentEnergy: { /* '133' */
return 11;
}
case KnxDatapointType.DPT_ReactiveEnergy: { /* '134' */
@@ -511,7 +511,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy_kWh: { /* '135' */
return 13;
}
- case KnxDatapointType.DPT_ApparantEnergy_kVAh: { /* '136' */
+ case KnxDatapointType.DPT_ApparentEnergy_kVAh: { /* '136' */
return 14;
}
case KnxDatapointType.DPT_ReactiveEnergy_kVARh: { /* '137' */
@@ -1111,7 +1111,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy_V64: { /* '315' */
return 10;
}
- case KnxDatapointType.DPT_ApparantEnergy_V64: { /* '316' */
+ case KnxDatapointType.DPT_ApparentEnergy_V64: { /* '316' */
return 11;
}
case KnxDatapointType.DPT_ReactiveEnergy_V64: { /* '317' */
@@ -1568,8 +1568,8 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy: { /* '132' */
return "active energy (Wh)";
}
- case KnxDatapointType.DPT_ApparantEnergy: { /* '133' */
- return "apparant energy (VAh)";
+ case KnxDatapointType.DPT_ApparentEnergy: { /* '133' */
+ return "apparent energy (VAh)";
}
case KnxDatapointType.DPT_ReactiveEnergy: { /* '134' */
return "reactive energy (VARh)";
@@ -1577,8 +1577,8 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy_kWh: { /* '135' */
return "active energy (kWh)";
}
- case KnxDatapointType.DPT_ApparantEnergy_kVAh: { /* '136' */
- return "apparant energy (kVAh)";
+ case KnxDatapointType.DPT_ApparentEnergy_kVAh: { /* '136' */
+ return "apparent energy (kVAh)";
}
case KnxDatapointType.DPT_ReactiveEnergy_kVARh: { /* '137' */
return "reactive energy (kVARh)";
@@ -2177,8 +2177,8 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy_V64: { /* '315' */
return "active energy (Wh)";
}
- case KnxDatapointType.DPT_ApparantEnergy_V64: { /* '316' */
- return "apparant energy (VAh)";
+ case KnxDatapointType.DPT_ApparentEnergy_V64: { /* '316' */
+ return "apparent energy (VAh)";
}
case KnxDatapointType.DPT_ReactiveEnergy_V64: { /* '317' */
return "reactive energy (VARh)";
@@ -2634,7 +2634,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy: { /* '132' */
return model.KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE;
}
- case KnxDatapointType.DPT_ApparantEnergy: { /* '133' */
+ case KnxDatapointType.DPT_ApparentEnergy: { /* '133' */
return model.KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE;
}
case KnxDatapointType.DPT_ReactiveEnergy: { /* '134' */
@@ -2643,7 +2643,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy_kWh: { /* '135' */
return model.KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE;
}
- case KnxDatapointType.DPT_ApparantEnergy_kVAh: { /* '136' */
+ case KnxDatapointType.DPT_ApparentEnergy_kVAh: { /* '136' */
return model.KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE;
}
case KnxDatapointType.DPT_ReactiveEnergy_kVARh: { /* '137' */
@@ -3243,7 +3243,7 @@ namespace org.apache.plc4net.drivers.knxnetip.readwrite.model
case KnxDatapointType.DPT_ActiveEnergy_V64: { /* '315' */
return model.KnxDatapointMainType.DPT_ELECTRICAL_ENERGY;
}
- case KnxDatapointType.DPT_ApparantEnergy_V64: { /* '316' */
+ case KnxDatapointType.DPT_ApparentEnergy_V64: { /* '316' */
return model.KnxDatapointMainType.DPT_ELECTRICAL_ENERGY;
}
case KnxDatapointType.DPT_ReactiveEnergy_V64: { /* '317' */
diff --git a/protocols/knxnetip/src/main/generated/protocols/knxnetip/knx-master-data.mspec b/protocols/knxnetip/src/main/generated/protocols/knxnetip/knx-master-data.mspec
index 1c8c885735..a695f3face 100644
--- a/protocols/knxnetip/src/main/generated/protocols/knxnetip/knx-master-data.mspec
+++ b/protocols/knxnetip/src/main/generated/protocols/knxnetip/knx-master-data.mspec
@@ -223,10 +223,10 @@
['130' DPT_Value_4_Count ['1', 'DPT_4_BYTE_SIGNED_VALUE', '"counter pulses (signed)"']]
['131' DPT_FlowRate_m3h ['2', 'DPT_4_BYTE_SIGNED_VALUE', '"flow rate (m³/h)"']]
['132' DPT_ActiveEnergy ['10', 'DPT_4_BYTE_SIGNED_VALUE', '"active energy (Wh)"']]
- ['133' DPT_ApparantEnergy ['11', 'DPT_4_BYTE_SIGNED_VALUE', '"apparant energy (VAh)"']]
+ ['133' DPT_ApparentEnergy ['11', 'DPT_4_BYTE_SIGNED_VALUE', '"apparent energy (VAh)"']]
['134' DPT_ReactiveEnergy ['12', 'DPT_4_BYTE_SIGNED_VALUE', '"reactive energy (VARh)"']]
['135' DPT_ActiveEnergy_kWh ['13', 'DPT_4_BYTE_SIGNED_VALUE', '"active energy (kWh)"']]
- ['136' DPT_ApparantEnergy_kVAh ['14', 'DPT_4_BYTE_SIGNED_VALUE', '"apparant energy (kVAh)"']]
+ ['136' DPT_ApparentEnergy_kVAh ['14', 'DPT_4_BYTE_SIGNED_VALUE', '"apparent energy (kVAh)"']]
['137' DPT_ReactiveEnergy_kVARh ['15', 'DPT_4_BYTE_SIGNED_VALUE', '"reactive energy (kVARh)"']]
['138' DPT_ActiveEnergy_MWh ['16', 'DPT_4_BYTE_SIGNED_VALUE', '"active energy (MWh)"']]
['139' DPT_LongDeltaTimeSec ['100', 'DPT_4_BYTE_SIGNED_VALUE', '"time lag (s)"']]
@@ -406,7 +406,7 @@
['313' DPT_SceneInfo ['1', 'DPT_8_BIT_SET_2', '"scene information"']]
['314' DPT_CombinedInfoOnOff ['1', 'DPT_32_BIT_SET', '"bit-combined info on/off"']]
['315' DPT_ActiveEnergy_V64 ['10', 'DPT_ELECTRICAL_ENERGY', '"active energy (Wh)"']]
- ['316' DPT_ApparantEnergy_V64 ['11', 'DPT_ELECTRICAL_ENERGY', '"apparant energy (VAh)"']]
+ ['316' DPT_ApparentEnergy_V64 ['11', 'DPT_ELECTRICAL_ENERGY', '"apparent energy (VAh)"']]
['317' DPT_ReactiveEnergy_V64 ['12', 'DPT_ELECTRICAL_ENERGY', '"reactive energy (VARh)"']]
['318' DPT_Channel_Activation_24 ['1010', 'DPT_24_TIMES_CHANNEL_ACTIVATION', '"activation state 0..23"']]
['319' DPT_HVACModeNext ['100', 'DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM', '"time delay & HVAC mode"']]
@@ -2400,7 +2400,7 @@
]
- ['DPT_ApparantEnergy' DINT
+ ['DPT_ApparentEnergy' DINT
[reserved uint 8 '0x00']
[simple int 32 value]
@@ -2421,7 +2421,7 @@
]
- ['DPT_ApparantEnergy_kVAh' DINT
+ ['DPT_ApparentEnergy_kVAh' DINT
[reserved uint 8 '0x00']
[simple int 32 value]
@@ -4095,7 +4095,7 @@
]
- ['DPT_ApparantEnergy_V64' LINT
+ ['DPT_ApparentEnergy_V64' LINT
[reserved uint 8 '0x00']
[simple int 64 value]
(plc4x) 02/03: test: Added a manual test do investigate the OPM out-of memory error.
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 3bc04e827c97c9858f17868e5c8d20c9a80ad1e8
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun Feb 16 12:58:28 2025 +0100
test: Added a manual test do investigate the OPM out-of memory error.
---
.../plc4x/java/opm/issues/i1935/FooRxEntity.java | 157 +++++++++++++++++++++
.../opm/issues/i1935/Plc4jMockConnectionTest.java | 69 +++++++++
2 files changed, 226 insertions(+)
diff --git a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/FooRxEntity.java b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/FooRxEntity.java
new file mode 100644
index 0000000000..004903eda5
--- /dev/null
+++ b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/FooRxEntity.java
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.plc4x.java.opm.issues.i1935;
+
+import org.apache.plc4x.java.opm.PlcEntity;
+import org.apache.plc4x.java.opm.PlcTag;
+
+@PlcEntity
+public class FooRxEntity {
+ @PlcTag(value = "input-register:1:WORD", cacheDurationMillis = 1000)
+ private short bp102;
+ @PlcTag(value = "input-register:2:WORD", cacheDurationMillis = 1000)
+ private short bp105;
+ @PlcTag(value = "input-register:3:WORD", cacheDurationMillis = 1000)
+ private short bp112;
+ @PlcTag(value = "input-register:4:WORD", cacheDurationMillis = 1000)
+ private short bp115;
+ @PlcTag(value = "input-register:5:WORD", cacheDurationMillis = 1000)
+ private short bp122;
+ @PlcTag(value = "input-register:6:WORD", cacheDurationMillis = 1000)
+ private short bp125;
+ @PlcTag(value = "input-register:7:WORD", cacheDurationMillis = 1000)
+ private short bp360;
+ @PlcTag(value = "input-register:8:WORD", cacheDurationMillis = 1000)
+ private short bp260;
+ @PlcTag(value = "input-register:9:WORD", cacheDurationMillis = 1000)
+ private short bf102;
+ @PlcTag(value = "input-register:10:WORD", cacheDurationMillis = 1000)
+ private short bf112;
+ @PlcTag(value = "input-register:11:WORD", cacheDurationMillis = 1000)
+ private short bf122;
+ @PlcTag(value = "input-register:21:WORD", cacheDurationMillis = 1000)
+ private short bt220;
+ @PlcTag(value = "input-register:22:WORD", cacheDurationMillis = 1000)
+ private short bt230;
+ @PlcTag(value = "input-register:23:WORD", cacheDurationMillis = 1000)
+ private short bt260;
+ @PlcTag(value = "input-register:24:WORD", cacheDurationMillis = 1000)
+ private short bt320;
+ @PlcTag(value = "input-register:25:WORD", cacheDurationMillis = 1000)
+ private short bt330;
+ @PlcTag(value = "input-register:26:WORD", cacheDurationMillis = 1000)
+ private short bt360;
+ @PlcTag(value = "holding-register:2049:WORD", cacheDurationMillis = 1000)
+ private int bf102Setpoint;
+ @PlcTag(value = "holding-register:2050:WORD", cacheDurationMillis = 1000)
+ private int bf112Setpoint;
+ @PlcTag(value = "holding-register:2051:WORD", cacheDurationMillis = 1000)
+ private int bf122Setpoint;
+ @PlcTag(value = "holding-register:2057:WORD", cacheDurationMillis = 1000)
+ private short qm;
+
+ public short getBp102() {
+ return bp102;
+ }
+
+ public short getBp105() {
+ return bp105;
+ }
+
+ public short getBp112() {
+ return bp112;
+ }
+
+ public short getBp115() {
+ return bp115;
+ }
+
+ public short getBp122() {
+ return bp122;
+ }
+
+ public short getBp125() {
+ return bp125;
+ }
+
+ public short getBp360() {
+ return bp360;
+ }
+
+ public short getBp260() {
+ return bp260;
+ }
+
+ public short getBf102() {
+ return bf102;
+ }
+
+ public short getBf112() {
+ return bf112;
+ }
+
+ public short getBf122() {
+ return bf122;
+ }
+
+ public short getBt220() {
+ return bt220;
+ }
+
+ public short getBt230() {
+ return bt230;
+ }
+
+ public short getBt260() {
+ return bt260;
+ }
+
+ public short getBt320() {
+ return bt320;
+ }
+
+ public short getBt330() {
+ return bt330;
+ }
+
+ public short getBt360() {
+ return bt360;
+ }
+
+ public int getBf102Setpoint() {
+ return bf102Setpoint;
+ }
+
+ public int getBf112Setpoint() {
+ return bf112Setpoint;
+ }
+
+ public int getBf122Setpoint() {
+ return bf122Setpoint;
+ }
+
+ public short getQm() {
+ return qm;
+ }
+
+ public void updateAllTheTags() {
+ // Dummy ...
+ }
+
+}
\ No newline at end of file
diff --git a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/Plc4jMockConnectionTest.java b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/Plc4jMockConnectionTest.java
new file mode 100644
index 0000000000..93f559b073
--- /dev/null
+++ b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/issues/i1935/Plc4jMockConnectionTest.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.plc4x.java.opm.issues.i1935;
+
+import org.apache.plc4x.java.DefaultPlcDriverManager;
+import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
+import org.apache.plc4x.java.api.types.PlcResponseCode;
+import org.apache.plc4x.java.mock.connection.MockConnection;
+import org.apache.plc4x.java.mock.connection.MockDevice;
+import org.apache.plc4x.java.opm.PlcEntityManager;
+import org.apache.plc4x.java.spi.messages.utils.DefaultPlcResponseItem;
+import org.apache.plc4x.java.spi.values.PlcSTRING;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+public class Plc4jMockConnectionTest {
+
+ @Test
+ @Disabled("This is only used for manual execution")
+ void shouldRead() throws PlcConnectionException {
+ MockDevice mockDevice = Mockito.mock(MockDevice.class);
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
+ MockConnection connection = (MockConnection) driverManager.getConnection("mock:test");
+ when(mockDevice.read(any())).thenAnswer(invocation -> {
+ System.out.println("Reading: " + invocation.getArgument(0));
+ return new DefaultPlcResponseItem<>(PlcResponseCode.OK, new PlcSTRING("1")) {};
+ });
+ connection.setDevice(mockDevice);
+
+ PlcEntityManager entityManager = new PlcEntityManager(driverManager);
+
+ try {
+ FooRxEntity entity = entityManager.connect(FooRxEntity.class, "mock:test");
+ while (true) {
+ try {
+ entity.updateAllTheTags();
+ System.out.println(entity.getBf102Setpoint());
+ System.out.println(entity.getBf112());
+ System.out.println(entity.getBp112());
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}