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 2022/05/31 19:45:13 UTC
[plc4x] branch develop updated (0d1ace47f9 -> 06a9b3414f)
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 0d1ace47f9 refactor(bacnet): relax useage of BACnetPriorityArray
new 57d5c1e805 refactor(protocols/knx): Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD
new 06a9b3414f fix(plc4net): Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD
The 2 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:
.../language/cs/CsLanguageTemplateHelper.java | 8 ++++----
.../knxnetip/readwrite/model/KnxDatapoint.go | 24 +++++++++++-----------
.../knxnetip/readwrite/model/KnxDatapoint.cs | 24 +++++++++++-----------
plc4net/spi/spi/model/values/PlcBitString.cs | 19 +++++++++++++++++
protocols/knxnetip/src/main/xslt/knx-types.xsl | 8 ++++----
5 files changed, 51 insertions(+), 32 deletions(-)
[plc4x] 01/02: refactor(protocols/knx): Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD
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 57d5c1e80592d36485e1d43a7ee1e0a3bf84c587
Author: cdutz <ch...@c-ware.de>
AuthorDate: Sun May 29 17:15:43 2022 +0200
refactor(protocols/knx): Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD
---
protocols/knxnetip/src/main/xslt/knx-types.xsl | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/protocols/knxnetip/src/main/xslt/knx-types.xsl b/protocols/knxnetip/src/main/xslt/knx-types.xsl
index c8ecf6e962..6e8dbd9f27 100644
--- a/protocols/knxnetip/src/main/xslt/knx-types.xsl
+++ b/protocols/knxnetip/src/main/xslt/knx-types.xsl
@@ -119,19 +119,19 @@
[reserved uint 7 '0x00']
[simple bit value]
]
- ['BYTE' BYTE
+ ['BYTE' BitString
[reserved uint 8 '0x00']
[simple uint 8 value ]
]
- ['WORD' WORD
+ ['WORD' BitString
[reserved uint 8 '0x00']
[simple uint 16 value]
]
- ['DWORD' DWORD
+ ['DWORD' BitString
[reserved uint 8 '0x00']
[simple uint 32 value]
]
- ['LWORD' LWORD
+ ['LWORD' BitString
[reserved uint 8 '0x00']
[simple uint 64 value]
]
[plc4x] 02/02: fix(plc4net): Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD
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 06a9b3414f4ecf8d2b02905f9264831351f2c508
Author: cdutz <ch...@c-ware.de>
AuthorDate: Tue May 31 21:43:50 2022 +0200
fix(plc4net): Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD
---
.../language/cs/CsLanguageTemplateHelper.java | 8 ++++----
.../knxnetip/readwrite/model/KnxDatapoint.go | 24 +++++++++++-----------
.../knxnetip/readwrite/model/KnxDatapoint.cs | 24 +++++++++++-----------
plc4net/spi/spi/model/values/PlcBitString.cs | 19 +++++++++++++++++
4 files changed, 47 insertions(+), 28 deletions(-)
diff --git a/code-generation/language-cs/src/main/java/org/apache/plc4x/language/cs/CsLanguageTemplateHelper.java b/code-generation/language-cs/src/main/java/org/apache/plc4x/language/cs/CsLanguageTemplateHelper.java
index d94f91bc88..aeec80d66b 100644
--- a/code-generation/language-cs/src/main/java/org/apache/plc4x/language/cs/CsLanguageTemplateHelper.java
+++ b/code-generation/language-cs/src/main/java/org/apache/plc4x/language/cs/CsLanguageTemplateHelper.java
@@ -926,7 +926,7 @@ public class CsLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}*/
}
sb.append(")");
- if (variableLiteral.getIndex() != VariableLiteral.NO_INDEX) {
+ if (variableLiteral.getIndex().isPresent()) {
// TODO: If this is a byte typed field, this needs to be an array accessor instead.
sb.append(".get(").append(variableLiteral.getIndex()).append(")");
}
@@ -949,7 +949,7 @@ public class CsLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
sb.append(")");
}
- if (variableLiteral.getIndex() != VariableLiteral.NO_INDEX) {
+ if (variableLiteral.getIndex().isPresent()) {
// TODO: If this is a byte typed field, this needs to be an array accessor instead.
sb.append(".get(").append(variableLiteral.getIndex()).append(")");
}
@@ -1127,10 +1127,10 @@ public class CsLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
String variableLiteralName = variableLiteral.getName();
if (variableLiteralName.equals("length")) {
tracer = tracer.dive("length");
- return tracer + variableLiteralName + "()" + ((variableLiteral.isIndexed() ? ".get(" + variableLiteral.getIndex() + ")" : "") +
+ return tracer + variableLiteralName + "()" + ((variableLiteral.getIndex().isPresent() ? ".get(" + variableLiteral.getIndex() + ")" : "") +
variableLiteral.getChild().map(child -> "." + toVariableExpressionRest(field, resultType, child)).orElse(""));
}
- return tracer + "get" + WordUtils.capitalize(variableLiteralName) + "()" + ((variableLiteral.isIndexed() ? ".get(" + variableLiteral.getIndex() + ")" : "") +
+ return tracer + "get" + WordUtils.capitalize(variableLiteralName) + "()" + ((variableLiteral.getIndex().isPresent() ? ".get(" + variableLiteral.getIndex() + ")" : "") +
variableLiteral.getChild().map(child -> "." + toVariableExpressionRest(field, resultType, child)).orElse(""));
}
diff --git a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
index 5c43200387..68aa1c2a9e 100644
--- a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
@@ -45,7 +45,7 @@ func KnxDatapointParse(readBuffer utils.ReadBuffer, datapointType KnxDatapointTy
}
readBuffer.CloseContext("KnxDatapoint")
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType_BYTE: // BYTE
+ case datapointType == KnxDatapointType_BYTE: // BitString
// Reserved Field (Just skip the bytes)
if _, _err := readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -57,8 +57,8 @@ func KnxDatapointParse(readBuffer utils.ReadBuffer, datapointType KnxDatapointTy
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
readBuffer.CloseContext("KnxDatapoint")
- return values.NewPlcBYTE(value), nil
- case datapointType == KnxDatapointType_WORD: // WORD
+ return values.NewPlcBitString(value), nil
+ case datapointType == KnxDatapointType_WORD: // BitString
// Reserved Field (Just skip the bytes)
if _, _err := readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -70,8 +70,8 @@ func KnxDatapointParse(readBuffer utils.ReadBuffer, datapointType KnxDatapointTy
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
readBuffer.CloseContext("KnxDatapoint")
- return values.NewPlcWORD(value), nil
- case datapointType == KnxDatapointType_DWORD: // DWORD
+ return values.NewPlcBitString(value), nil
+ case datapointType == KnxDatapointType_DWORD: // BitString
// Reserved Field (Just skip the bytes)
if _, _err := readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -83,8 +83,8 @@ func KnxDatapointParse(readBuffer utils.ReadBuffer, datapointType KnxDatapointTy
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
readBuffer.CloseContext("KnxDatapoint")
- return values.NewPlcDWORD(value), nil
- case datapointType == KnxDatapointType_LWORD: // LWORD
+ return values.NewPlcBitString(value), nil
+ case datapointType == KnxDatapointType_LWORD: // BitString
// Reserved Field (Just skip the bytes)
if _, _err := readBuffer.ReadUint8("reserved", 8); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -96,7 +96,7 @@ func KnxDatapointParse(readBuffer utils.ReadBuffer, datapointType KnxDatapointTy
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
readBuffer.CloseContext("KnxDatapoint")
- return values.NewPlcLWORD(value), nil
+ return values.NewPlcBitString(value), nil
case datapointType == KnxDatapointType_USINT: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := readBuffer.ReadUint8("reserved", 8); _err != nil {
@@ -7579,7 +7579,7 @@ func KnxDatapointSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, da
if _err := writeBuffer.WriteBit("value", value.GetBool()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_BYTE: // BYTE
+ case datapointType == KnxDatapointType_BYTE: // BitString
// Reserved Field (Just skip the bytes)
if _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00)); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
@@ -7589,7 +7589,7 @@ func KnxDatapointSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, da
if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_WORD: // WORD
+ case datapointType == KnxDatapointType_WORD: // BitString
// Reserved Field (Just skip the bytes)
if _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00)); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
@@ -7599,7 +7599,7 @@ func KnxDatapointSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, da
if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_DWORD: // DWORD
+ case datapointType == KnxDatapointType_DWORD: // BitString
// Reserved Field (Just skip the bytes)
if _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00)); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
@@ -7609,7 +7609,7 @@ func KnxDatapointSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, da
if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case datapointType == KnxDatapointType_LWORD: // LWORD
+ case datapointType == KnxDatapointType_LWORD: // BitString
// Reserved Field (Just skip the bytes)
if _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00)); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
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 a59df7067a..cd10043449 100644
--- a/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapoint.cs
+++ b/plc4net/drivers/knxnetip/src/drivers/knxnetip/readwrite/model/KnxDatapoint.cs
@@ -50,7 +50,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = readBuffer.ReadBit("");
return new PlcBOOL(value);
- } else if( datapointType == KnxDatapointType.BYTE ) { // BYTE
+ } else if( datapointType == KnxDatapointType.BYTE ) { // BitString
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -63,8 +63,8 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
// Simple Field (value)
var value = readBuffer.ReadByte("", 8);
- return new PlcBYTE(value);
- } else if( datapointType == KnxDatapointType.WORD ) { // WORD
+ return new PlcBitString(value);
+ } else if( datapointType == KnxDatapointType.WORD ) { // BitString
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -77,8 +77,8 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
// Simple Field (value)
var value = readBuffer.ReadUshort("", 16);
- return new PlcWORD(value);
- } else if( datapointType == KnxDatapointType.DWORD ) { // DWORD
+ return new PlcBitString(value);
+ } else if( datapointType == KnxDatapointType.DWORD ) { // BitString
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -91,8 +91,8 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
// Simple Field (value)
var value = readBuffer.ReadUint("", 32);
- return new PlcDWORD(value);
- } else if( datapointType == KnxDatapointType.LWORD ) { // LWORD
+ return new PlcBitString(value);
+ } else if( datapointType == KnxDatapointType.LWORD ) { // BitString
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
@@ -105,7 +105,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
// Simple Field (value)
var value = readBuffer.ReadUlong("", 64);
- return new PlcLWORD(value);
+ return new PlcBitString(value);
} else if( datapointType == KnxDatapointType.USINT ) { // USINT
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
@@ -6541,7 +6541,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (bool) _value.GetBool();
writeBuffer.WriteBit("", (value));
return writeBuffer;
- } else if( datapointType == KnxDatapointType.BYTE ) { // BYTE
+ } else if( datapointType == KnxDatapointType.BYTE ) { // BitString
var writeBuffer = new WriteBuffer();
// Reserved Field
@@ -6550,7 +6550,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (byte) _value.GetByte();
writeBuffer.WriteByte("", 8, (byte) (value));
return writeBuffer;
- } else if( datapointType == KnxDatapointType.WORD ) { // WORD
+ } else if( datapointType == KnxDatapointType.WORD ) { // BitString
var writeBuffer = new WriteBuffer();
// Reserved Field
@@ -6559,7 +6559,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (ushort) _value.GetUshort();
writeBuffer.WriteUshort("", 16, (ushort) (value));
return writeBuffer;
- } else if( datapointType == KnxDatapointType.DWORD ) { // DWORD
+ } else if( datapointType == KnxDatapointType.DWORD ) { // BitString
var writeBuffer = new WriteBuffer();
// Reserved Field
@@ -6568,7 +6568,7 @@ if( datapointType == KnxDatapointType.BOOL ) { // BOOL
var value = (uint) _value.GetUint();
writeBuffer.WriteUint("", 32, (uint) (value));
return writeBuffer;
- } else if( datapointType == KnxDatapointType.LWORD ) { // LWORD
+ } else if( datapointType == KnxDatapointType.LWORD ) { // BitString
var writeBuffer = new WriteBuffer();
// Reserved Field
diff --git a/plc4net/spi/spi/model/values/PlcBitString.cs b/plc4net/spi/spi/model/values/PlcBitString.cs
index d5747e95ac..8ccb6f133a 100644
--- a/plc4net/spi/spi/model/values/PlcBitString.cs
+++ b/plc4net/spi/spi/model/values/PlcBitString.cs
@@ -21,6 +21,25 @@ namespace org.apache.plc4net.spi.model.values
{
public class PlcBitString : PlcValueAdapter
{
+ public PlcBitString()
+ {
+ }
+
+ public PlcBitString(byte value)
+ {
+ }
+
+ public PlcBitString(ushort value)
+ {
+ }
+
+ public PlcBitString(uint value)
+ {
+ }
+
+ public PlcBitString(ulong value)
+ {
+ }
}
}
\ No newline at end of file