This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/feature/mspec-ng by this push:
     new f919215  fix(plc4go/codgen): fixed array and string problems
f919215 is described below

commit f919215cf926daaa693ea16e8c09d647a877f1ec
Author: Sebastian Rühl <[email protected]>
AuthorDate: Mon Nov 1 14:09:05 2021 +0100

    fix(plc4go/codgen): fixed array and string problems
---
 .../language/go/GoLanguageTemplateHelper.java      |  19 ++--
 .../templates/go/data-io-template.go.ftlh          |   4 +-
 plc4go/internal/plc4go/ads/Field.go                |   6 +-
 .../plc4go/ads/readwrite/model/AdsStaticHelper.go  |   2 +-
 .../plc4go/ads/readwrite/model/DataItem.go         |   4 +-
 .../readwrite/model/BACnetComplexTagOctetString.go |   4 +-
 plc4go/internal/plc4go/eip/Field.go                |   6 +-
 .../knxnetip/ConnectionDriverSpecificOperations.go |   9 +-
 plc4go/internal/plc4go/knxnetip/Reader.go          |   6 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       |  10 +--
 .../plc4go/knxnetip/readwrite/model/KnxProperty.go | 100 ++++++++++-----------
 plc4go/internal/plc4go/modbus/Field.go             |   2 +-
 plc4go/internal/plc4go/s7/Field.go                 |   8 +-
 .../internal/plc4go/s7/readwrite/model/DataItem.go |  16 ++--
 ...ayloadUserDataItemCpuFunctionMsgSubscription.go |   2 +-
 .../plc4go/s7/readwrite/model/S7StaticHelper.go    |   2 +-
 .../plc4go/simulated/readwrite/model/DataItem.go   |   4 +-
 .../plc4go/spi/model/DefaultPlcReadResponse.go     |   2 +-
 .../plc4go/spi/model/DefaultPlcWriteRequest.go     |   4 +-
 .../plc4go/spi/model/DefaultPlcWriteResponse.go    |   2 +-
 plc4go/internal/plc4go/spi/utils/WriteBuffer.go    |   2 +-
 .../plc4go/spi/utils/WriteBufferBoxBased.go        |   2 +-
 .../plc4go/spi/utils/WriteBufferByteBased.go       |   2 +-
 .../plc4go/spi/utils/WriteBufferJsonBased.go       |   2 +-
 .../plc4go/spi/utils/WriteBufferXmlBased.go        |   2 +-
 plc4go/internal/plc4go/spi/values/DATE.go          |   2 +-
 plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go |   2 +-
 plc4go/internal/plc4go/spi/values/LTIME.go         |   2 +-
 plc4go/internal/plc4go/spi/values/STRING.go        |   2 +-
 plc4go/internal/plc4go/spi/values/TIME.go          |   2 +-
 plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go   |   2 +-
 plc4go/internal/plc4go/spi/values/WCHAR.go         |   2 +-
 plc4go/internal/plc4go/spi/values/WSTRING.go       |   2 +-
 33 files changed, 124 insertions(+), 114 deletions(-)

diff --git 
a/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
 
b/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
index 08c9446..3afe851 100644
--- 
a/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
+++ 
b/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
@@ -330,8 +330,7 @@ public class GoLanguageTemplateHelper extends 
BaseFreemarkerLanguageTemplateHelp
                     return "readBuffer.ReadFloat64(\"" + logicalName + "\", " 
+ floatTypeReference.getSizeInBits() + ")";
                 }
                 return "readBuffer.ReadBigFloat(\"" + logicalName + "\", " + 
floatTypeReference.getSizeInBits() + ")";
-            case STRING:
-            case VSTRING:
+            case STRING: {
                 final Term encodingTerm = field.getEncoding().orElse(new 
DefaultStringLiteral("UTF-8"));
                 if (!(encodingTerm instanceof StringLiteral)) {
                     throw new RuntimeException("Encoding must be a quoted 
string value");
@@ -339,6 +338,16 @@ public class GoLanguageTemplateHelper extends 
BaseFreemarkerLanguageTemplateHelp
                 String encoding = ((StringLiteral) encodingTerm).getValue();
                 String length = 
Integer.toString(simpleTypeReference.getSizeInBits());
                 return "readBuffer.ReadString(\"" + logicalName + "\", 
uint32(" + length + "))";
+            }
+            case VSTRING: {
+                VstringTypeReference vstringTypeReference = 
(VstringTypeReference) simpleTypeReference;
+                final Term encodingTerm = field.getEncoding().orElse(new 
DefaultStringLiteral("UTF-8"));
+                if (!(encodingTerm instanceof StringLiteral)) {
+                    throw new RuntimeException("Encoding must be a quoted 
string value");
+                }
+                String lengthExpression = toExpression(field, field.getType(), 
vstringTypeReference.getLengthExpression(), null, null, false, false);
+                return "readBuffer.ReadString(\"" + logicalName + "\", 
uint32(" + lengthExpression + "))";
+            }
         }
         throw new FreemarkerException("Unsupported base type" + 
simpleTypeReference.getBaseType());
     }
@@ -408,7 +417,7 @@ public class GoLanguageTemplateHelper extends 
BaseFreemarkerLanguageTemplateHelp
                     .asStringLiteral()
                     .orElseThrow(() -> new RuntimeException("Encoding must be 
a quoted string value")).getValue();
                 String length = 
Integer.toString(simpleTypeReference.getSizeInBits());
-                return "writeBuffer.WriteString(\"" + logicalName + "\", 
uint8(" + length + "), \"" +
+                return "writeBuffer.WriteString(\"" + logicalName + "\", 
uint32(" + length + "), \"" +
                     encoding + "\", " + fieldName + writerArgsString + ")";
             }
             case VSTRING: {
@@ -418,9 +427,9 @@ public class GoLanguageTemplateHelper extends 
BaseFreemarkerLanguageTemplateHelp
                     .orElseThrow(() -> new RuntimeException("Encoding must be 
a literal"))
                     .asStringLiteral()
                     .orElseThrow(() -> new RuntimeException("Encoding must be 
a quoted string value")).getValue();
-                // TODO: Port this to use the expression term instead.
+                String lengthExpression = toExpression(field, field.getType(), 
vstringTypeReference.getLengthExpression(), null, null, true, false);
                 String length = 
Integer.toString(simpleTypeReference.getSizeInBits());
-                return "writeBuffer.WriteString(\"" + logicalName + "\", 
uint8(" + length + "), \"" +
+                return "writeBuffer.WriteString(\"" + logicalName + "\", 
uint32(" + lengthExpression + "), \"" +
                     encoding + "\", " + fieldName + writerArgsString + ")";
             }
         }
diff --git 
a/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
 
b/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
index cdbacdd..0f1dcbb 100644
--- 
a/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
+++ 
b/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
@@ -85,7 +85,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if 
parserArguments?has_conte
 
                        // Array Field (${arrayField.name})
                        var ${arrayField.name} []api.PlcValue
-                       for i := 0; i < 
int(${helper.toParseExpression(arrayField, arrayField.loopExpression, 
parserArguments)}); i++ {
+                       for i := 0; i < int(${helper.toParseExpression(null, 
arrayField.loopExpression, parserArguments)}); i++ {
                                _item, _itemErr := <#if 
helper.isSimpleTypeReference(arrayField.type)>${helper.getReadBufferReadMethodCall(arrayField.name,
 arrayField.type.asSimpleTypeReference().orElseThrow(), 
arrayField)}<#else>Complex type array in data-io parsing currently not 
implemented</#if>
                                if _itemErr != nil {
                                        return nil, errors.Wrap(_itemErr, 
"Error parsing 'value' field")<@emitImport import="github.com/pkg/errors" />
@@ -188,7 +188,7 @@ func ${type.name}Serialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue<#if
                                        <#assign arrayField = 
field.asArrayField().orElseThrow()>
 
                        // Array Field (${arrayField.name})
-                       for i := uint32(0); i < 
uint32(${helper.toSerializationExpression(arrayField, 
arrayField.loopExpression, parserArguments)}); i++ {
+                       for i := uint32(0); i < 
uint32(${helper.toSerializationExpression(null, arrayField.loopExpression, 
parserArguments)}); i++ {
                                        <#if case.name = "Struct">
                                ${arrayField.name} := 
value.GetValue("${arrayField.name}")
                                        </#if>
diff --git a/plc4go/internal/plc4go/ads/Field.go 
b/plc4go/internal/plc4go/ads/Field.go
index 34f610d..cbdf764 100644
--- a/plc4go/internal/plc4go/ads/Field.go
+++ b/plc4go/internal/plc4go/ads/Field.go
@@ -123,7 +123,7 @@ func (m DirectPlcField) Serialize(writeBuffer 
utils.WriteBuffer) error {
                return err
        }
 
-       if err := writeBuffer.WriteString("dataType", 
uint8(len([]rune(m.Datatype.String()))*8), "UTF-8", m.Datatype.String()); err 
!= nil {
+       if err := writeBuffer.WriteString("dataType", 
uint32(len([]rune(m.Datatype.String()))*8), "UTF-8", m.Datatype.String()); err 
!= nil {
                return err
        }
 
@@ -191,7 +191,7 @@ func (m SymbolicPlcField) Serialize(writeBuffer 
utils.WriteBuffer) error {
                return err
        }
 
-       if err := writeBuffer.WriteString("symbolicAddress", 
uint8(len([]rune(m.SymbolicAddress))*8), "UTF-8", m.SymbolicAddress); err != 
nil {
+       if err := writeBuffer.WriteString("symbolicAddress", 
uint32(len([]rune(m.SymbolicAddress))*8), "UTF-8", m.SymbolicAddress); err != 
nil {
                return err
        }
 
@@ -199,7 +199,7 @@ func (m SymbolicPlcField) Serialize(writeBuffer 
utils.WriteBuffer) error {
                return err
        }
 
-       if err := writeBuffer.WriteString("dataType", 
uint8(len([]rune(m.Datatype.String()))*8), "UTF-8", m.Datatype.String()); err 
!= nil {
+       if err := writeBuffer.WriteString("dataType", 
uint32(len([]rune(m.Datatype.String()))*8), "UTF-8", m.Datatype.String()); err 
!= nil {
                return err
        }
 
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStaticHelper.go 
b/plc4go/internal/plc4go/ads/readwrite/model/AdsStaticHelper.go
index 9a4d53c..b558c3a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStaticHelper.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStaticHelper.go
@@ -43,5 +43,5 @@ func StaticHelperSerializeAmsString(io utils.WriteBuffer, 
value values.PlcValue,
        case "UTF-16":
                multiplier = 16
        }
-       return io.WriteString("", uint8(stringLength*multiplier), encoding, 
value.GetString())
+       return io.WriteString("", uint32(stringLength*multiplier), encoding, 
value.GetString())
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go 
b/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
index af46809..377e35e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
@@ -345,13 +345,13 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, dataFo
        case dataFormatName == "IEC61131_CHAR": // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(8), "UTF-8", 
value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(8), "UTF-8", 
value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case dataFormatName == "IEC61131_WCHAR": // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(16), 
"UTF-16", value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(16), 
"UTF-16", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case dataFormatName == "IEC61131_STRING": // STRING
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetComplexTagOctetString.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetComplexTagOctetString.go
index 88cb056..f10fc9b 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetComplexTagOctetString.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetComplexTagOctetString.go
@@ -116,7 +116,7 @@ func BACnetComplexTagOctetStringParse(readBuffer 
utils.ReadBuffer, tagNumberArgu
        actualLengthInBit := uint16(actualLength) * uint16(uint16(8))
 
        // Simple Field (theString)
-       theString, _theStringErr := readBuffer.ReadString("theString", 
uint32(-1))
+       theString, _theStringErr := readBuffer.ReadString("theString", 
uint32(actualLengthInBit))
        if _theStringErr != nil {
                return nil, errors.Wrap(_theStringErr, "Error parsing 
'theString' field")
        }
@@ -142,7 +142,7 @@ func (m *BACnetComplexTagOctetString) Serialize(writeBuffer 
utils.WriteBuffer) e
 
                // Simple Field (theString)
                theString := string(m.TheString)
-               _theStringErr := writeBuffer.WriteString("theString", 
uint8(-1), "ASCII", (theString))
+               _theStringErr := writeBuffer.WriteString("theString", 
uint32(m.ActualLengthInBit), "ASCII", (theString))
                if _theStringErr != nil {
                        return errors.Wrap(_theStringErr, "Error serializing 
'theString' field")
                }
diff --git a/plc4go/internal/plc4go/eip/Field.go 
b/plc4go/internal/plc4go/eip/Field.go
index 2260b25..3264ecd 100644
--- a/plc4go/internal/plc4go/eip/Field.go
+++ b/plc4go/internal/plc4go/eip/Field.go
@@ -73,12 +73,12 @@ func (m PlcField) Serialize(writeBuffer utils.WriteBuffer) 
error {
                return err
        }
 
-       if err := writeBuffer.WriteString("node", uint8(len([]rune(m.Tag))*8), 
"UTF-8", m.Tag); err != nil {
+       if err := writeBuffer.WriteString("node", uint32(len([]rune(m.Tag))*8), 
"UTF-8", m.Tag); err != nil {
                return err
        }
 
        if m.Type != 0 {
-               if err := writeBuffer.WriteString("type", 
uint8(len([]rune(m.Type.String()))*8), "UTF-8", m.Type.String()); err != nil {
+               if err := writeBuffer.WriteString("type", 
uint32(len([]rune(m.Type.String()))*8), "UTF-8", m.Type.String()); err != nil {
                        return err
                }
        }
@@ -88,7 +88,7 @@ func (m PlcField) Serialize(writeBuffer utils.WriteBuffer) 
error {
        }
 
        // TODO: remove this from the spec
-       if err := writeBuffer.WriteString("defaultJavaType", 
uint8(len([]rune("java.lang.Object"))*8), "UTF-8", "java.lang.Object"); err != 
nil {
+       if err := writeBuffer.WriteString("defaultJavaType", 
uint32(len([]rune("java.lang.Object"))*8), "UTF-8", "java.lang.Object"); err != 
nil {
                return err
        }
 
diff --git 
a/plc4go/internal/plc4go/knxnetip/ConnectionDriverSpecificOperations.go 
b/plc4go/internal/plc4go/knxnetip/ConnectionDriverSpecificOperations.go
index 126c5c4..ff1ed92 100644
--- a/plc4go/internal/plc4go/knxnetip/ConnectionDriverSpecificOperations.go
+++ b/plc4go/internal/plc4go/knxnetip/ConnectionDriverSpecificOperations.go
@@ -43,7 +43,7 @@ import (
 // They expect the called private functions to handle timeouts, so these will 
not.
 
///////////////////////////////////////////////////////////////////////////////////////////////////////
 
-func (m *Connection) ReadGroupAddress(groupAddress []int8, datapointType 
*driverModel.KnxDatapointType) <-chan KnxReadResult {
+func (m *Connection) ReadGroupAddress(groupAddress []byte, datapointType 
*driverModel.KnxDatapointType) <-chan KnxReadResult {
        result := make(chan KnxReadResult)
 
        sendResponse := func(value *values.PlcValue, numItems uint8, err error) 
{
@@ -69,12 +69,13 @@ func (m *Connection) ReadGroupAddress(groupAddress []int8, 
datapointType *driver
                        return
                }
 
-               var payload []int8
-               payload = append(payload, 
groupAddressReadResponse.DataFirstByte)
+               var payload []byte
+               // TODO: maybe groupAddressReadResponse.DataFirstByte can be 
written as uint 6 so the we wouldn't need to cast
+               payload = append(payload, 
byte(groupAddressReadResponse.DataFirstByte))
                payload = append(payload, groupAddressReadResponse.Data...)
 
                // Parse the response data.
-               rb := 
utils.NewReadBufferByteBased(utils.Int8ArrayToByteArray(payload))
+               rb := utils.NewReadBufferByteBased(payload)
                // If the size of the field is greater than 6, we have to skip 
the first byte
                if datapointType.DatapointMainType().SizeInBits() > 6 {
                        _, _ = rb.ReadUint8("datapointType", 8)
diff --git a/plc4go/internal/plc4go/knxnetip/Reader.go 
b/plc4go/internal/plc4go/knxnetip/Reader.go
index 0cf52a7..0d25fce 100644
--- a/plc4go/internal/plc4go/knxnetip/Reader.go
+++ b/plc4go/internal/plc4go/knxnetip/Reader.go
@@ -190,7 +190,7 @@ func (m Reader) readGroupAddress(field GroupAddressField) 
(apiModel.PlcResponseC
                // If nothing was found in the cache, try to execute a group 
address read,
                // Otherwise respond with values from the cache.
                if !ok {
-                       addr := []int8{int8(numericAddress >> 8), 
int8(numericAddress & 0xFF)}
+                       addr := []byte{byte(numericAddress >> 8), 
byte(numericAddress & 0xFF)}
                        rrc := m.connection.ReadGroupAddress(addr, 
field.GetFieldType())
                        select {
                        case readResult := <-rrc:
@@ -211,10 +211,10 @@ func (m Reader) readGroupAddress(field GroupAddressField) 
(apiModel.PlcResponseC
                } else {
                        // If we don't have any field-type information, add the 
raw data
                        if field.GetTypeName() == "" {
-                               values[stringAddress] = 
internalValues.NewPlcByteArray(utils.Int8ArrayToByteArray(int8s))
+                               values[stringAddress] = 
internalValues.NewPlcByteArray(int8s)
                        } else {
                                // Decode the data according to the fields type
-                               rb := 
utils.NewReadBufferByteBased(utils.Int8ArrayToUint8Array(int8s))
+                               rb := utils.NewReadBufferByteBased(int8s)
                                if field.GetFieldType() == nil {
                                        return 
apiModel.PlcResponseCode_INVALID_DATATYPE, nil
                                }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go 
b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
index 294f9a5..c147ecd 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
@@ -6899,13 +6899,13 @@ func KnxDatapointSerialize(writeBuffer 
utils.WriteBuffer, value api.PlcValue, da
        case datapointType == KnxDatapointType_DPT_Char_ASCII: // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(8), "ASCII", 
value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(8), "ASCII", 
value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case datapointType == KnxDatapointType_DPT_Char_8859_1: // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(8), 
"ISO-8859-1", value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(8), 
"ISO-8859-1", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case datapointType == KnxDatapointType_DPT_Scaling: // USINT
@@ -7978,13 +7978,13 @@ func KnxDatapointSerialize(writeBuffer 
utils.WriteBuffer, value api.PlcValue, da
        case datapointType == KnxDatapointType_DPT_String_ASCII: // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(112), 
"ASCII", value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(112), 
"ASCII", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case datapointType == KnxDatapointType_DPT_String_8859_1: // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(112), 
"ISO-8859-1", value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(112), 
"ISO-8859-1", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case datapointType == KnxDatapointType_DPT_SceneNumber: // USINT
@@ -9808,7 +9808,7 @@ func KnxDatapointSerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, da
        case datapointType == KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII: // 
STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(16), "ASCII", 
value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(16), 
"ASCII", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case datapointType == KnxDatapointType_DPT_Tariff_ActiveEnergy: // 
Struct
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxProperty.go 
b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxProperty.go
index 3a2f0d0..e2a8441 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxProperty.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxProperty.go
@@ -221,7 +221,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(10)); i++ {
+               for i := 0; i < int((10)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -235,7 +235,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (groupAddress)
                var groupAddress []api.PlcValue
-               for i := 0; i < int(byte(2)); i++ {
+               for i := 0; i < int((2)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("groupAddress")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -267,7 +267,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(5)); i++ {
+               for i := 0; i < int((5)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -421,7 +421,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(1)); i++ {
+               for i := 0; i < int((1)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -434,7 +434,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(2)); i++ {
+               for i := 0; i < int((2)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -447,7 +447,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(3)); i++ {
+               for i := 0; i < int((3)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -460,7 +460,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(4)); i++ {
+               for i := 0; i < int((4)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -473,7 +473,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(5)); i++ {
+               for i := 0; i < int((5)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -486,7 +486,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(6)); i++ {
+               for i := 0; i < int((6)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -499,7 +499,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(7)); i++ {
+               for i := 0; i < int((7)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -512,7 +512,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(8)); i++ {
+               for i := 0; i < int((8)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -525,7 +525,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(9)); i++ {
+               for i := 0; i < int((9)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -538,7 +538,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(10)); i++ {
+               for i := 0; i < int((10)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -551,7 +551,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(11)); i++ {
+               for i := 0; i < int((11)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -564,7 +564,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(12)); i++ {
+               for i := 0; i < int((12)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -577,7 +577,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(13)); i++ {
+               for i := 0; i < int((13)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -590,7 +590,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(14)); i++ {
+               for i := 0; i < int((14)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -603,7 +603,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(15)); i++ {
+               for i := 0; i < int((15)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -616,7 +616,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(16)); i++ {
+               for i := 0; i < int((16)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -629,7 +629,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(17)); i++ {
+               for i := 0; i < int((17)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -642,7 +642,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(18)); i++ {
+               for i := 0; i < int((18)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -655,7 +655,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(19)); i++ {
+               for i := 0; i < int((19)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -668,7 +668,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(byte(20)); i++ {
+               for i := 0; i < int((20)); i++ {
                        _item, _itemErr := readBuffer.ReadByte("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -811,7 +811,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(bool(8)); i++ {
+               for i := 0; i < int((8)); i++ {
                        _item, _itemErr := readBuffer.ReadBit("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -824,7 +824,7 @@ func KnxPropertyParse(readBuffer utils.ReadBuffer, 
propertyType KnxPropertyDataT
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(bool(16)); i++ {
+               for i := 0; i < int((16)); i++ {
                        _item, _itemErr := readBuffer.ReadBit("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -1008,7 +1008,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_CHAR_BLOCK: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(10)); i++ {
+               for i := uint32(0); i < uint32((10)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1017,7 +1017,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_POLL_GROUP_SETTINGS: // 
Struct
 
                // Array Field (groupAddress)
-               for i := uint32(0); i < uint32(byte(2)); i++ {
+               for i := uint32(0); i < uint32((2)); i++ {
                        groupAddress := value.GetValue("groupAddress")
                        _itemErr := writeBuffer.WriteByte("", 
groupAddress.GetIndex(i).GetByte())
                        if _itemErr != nil {
@@ -1042,7 +1042,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_SHORT_CHAR_BLOCK: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(5)); i++ {
+               for i := uint32(0); i < uint32((5)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1157,7 +1157,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_01: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(1)); i++ {
+               for i := uint32(0); i < uint32((1)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1166,7 +1166,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_02: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(2)); i++ {
+               for i := uint32(0); i < uint32((2)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1175,7 +1175,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_03: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(3)); i++ {
+               for i := uint32(0); i < uint32((3)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1184,7 +1184,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_04: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(4)); i++ {
+               for i := uint32(0); i < uint32((4)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1193,7 +1193,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_05: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(5)); i++ {
+               for i := uint32(0); i < uint32((5)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1202,7 +1202,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_06: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(6)); i++ {
+               for i := uint32(0); i < uint32((6)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1211,7 +1211,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_07: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(7)); i++ {
+               for i := uint32(0); i < uint32((7)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1220,7 +1220,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_08: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(8)); i++ {
+               for i := uint32(0); i < uint32((8)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1229,7 +1229,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_09: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(9)); i++ {
+               for i := uint32(0); i < uint32((9)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1238,7 +1238,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_10: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(10)); i++ {
+               for i := uint32(0); i < uint32((10)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1247,7 +1247,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_11: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(11)); i++ {
+               for i := uint32(0); i < uint32((11)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1256,7 +1256,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_12: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(12)); i++ {
+               for i := uint32(0); i < uint32((12)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1265,7 +1265,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_13: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(13)); i++ {
+               for i := uint32(0); i < uint32((13)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1274,7 +1274,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_14: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(14)); i++ {
+               for i := uint32(0); i < uint32((14)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1283,7 +1283,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_15: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(15)); i++ {
+               for i := uint32(0); i < uint32((15)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1292,7 +1292,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_16: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(16)); i++ {
+               for i := uint32(0); i < uint32((16)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1301,7 +1301,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_17: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(17)); i++ {
+               for i := uint32(0); i < uint32((17)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1310,7 +1310,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_18: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(18)); i++ {
+               for i := uint32(0); i < uint32((18)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1319,7 +1319,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_19: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(19)); i++ {
+               for i := uint32(0); i < uint32((19)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1328,7 +1328,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_GENERIC_20: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(byte(20)); i++ {
+               for i := uint32(0); i < uint32((20)); i++ {
                        _itemErr := writeBuffer.WriteByte("", 
value.GetIndex(i).GetByte())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1430,7 +1430,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_BITSET8: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(bool(8)); i++ {
+               for i := uint32(0); i < uint32((8)); i++ {
                        _itemErr := writeBuffer.WriteBit("", 
value.GetIndex(i).GetBool())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -1439,7 +1439,7 @@ func KnxPropertySerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, pro
        case propertyType == KnxPropertyDataType_PDT_BITSET16: // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(bool(16)); i++ {
+               for i := uint32(0); i < uint32((16)); i++ {
                        _itemErr := writeBuffer.WriteBit("", 
value.GetIndex(i).GetBool())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
diff --git a/plc4go/internal/plc4go/modbus/Field.go 
b/plc4go/internal/plc4go/modbus/Field.go
index 8d1988e..3ff0ef8 100644
--- a/plc4go/internal/plc4go/modbus/Field.go
+++ b/plc4go/internal/plc4go/modbus/Field.go
@@ -101,7 +101,7 @@ func (m PlcField) Serialize(writeBuffer utils.WriteBuffer) 
error {
                return err
        }
        dataType := m.GetDataType().String()
-       if err := writeBuffer.WriteString("dataType", 
uint8(len([]rune(dataType))*8), "UTF-8", dataType); err != nil {
+       if err := writeBuffer.WriteString("dataType", 
uint32(len([]rune(dataType))*8), "UTF-8", dataType); err != nil {
                return err
        }
 
diff --git a/plc4go/internal/plc4go/s7/Field.go 
b/plc4go/internal/plc4go/s7/Field.go
index a432580..bae92d3 100644
--- a/plc4go/internal/plc4go/s7/Field.go
+++ b/plc4go/internal/plc4go/s7/Field.go
@@ -127,7 +127,7 @@ func (m PlcField) Serialize(writeBuffer utils.WriteBuffer) 
error {
                return err
        }
 
-       if err := writeBuffer.WriteString("memoryArea", 
uint8(len(m.MemoryArea.String())*8), "UTF-8", m.MemoryArea.String()); err != 
nil {
+       if err := writeBuffer.WriteString("memoryArea", 
uint32(len(m.MemoryArea.String())*8), "UTF-8", m.MemoryArea.String()); err != 
nil {
                return err
        }
        if err := writeBuffer.WriteUint16("blockNumber", 16, m.BlockNumber); 
err != nil {
@@ -142,7 +142,7 @@ func (m PlcField) Serialize(writeBuffer utils.WriteBuffer) 
error {
        if err := writeBuffer.WriteUint16("numElements", 16, m.NumElements); 
err != nil {
                return err
        }
-       if err := writeBuffer.WriteString("dataType", 
uint8(len(m.Datatype.String())*8), "UTF-8", m.Datatype.String()); err != nil {
+       if err := writeBuffer.WriteString("dataType", 
uint32(len(m.Datatype.String())*8), "UTF-8", m.Datatype.String()); err != nil {
                return err
        }
 
@@ -157,7 +157,7 @@ func (m PlcStringField) Serialize(writeBuffer 
utils.WriteBuffer) error {
                return err
        }
 
-       if err := writeBuffer.WriteString("memoryArea", 
uint8(len(m.MemoryArea.String())*8), "UTF-8", m.MemoryArea.String()); err != 
nil {
+       if err := writeBuffer.WriteString("memoryArea", 
uint32(len(m.MemoryArea.String())*8), "UTF-8", m.MemoryArea.String()); err != 
nil {
                return err
        }
        if err := writeBuffer.WriteUint16("blockNumber", 16, m.BlockNumber); 
err != nil {
@@ -175,7 +175,7 @@ func (m PlcStringField) Serialize(writeBuffer 
utils.WriteBuffer) error {
        if err := writeBuffer.WriteUint16("numElements", 16, m.stringLength); 
err != nil {
                return err
        }
-       if err := writeBuffer.WriteString("dataType", 
uint8(len(m.Datatype.String())*8), "UTF-8", m.Datatype.String()); err != nil {
+       if err := writeBuffer.WriteString("dataType", 
uint32(len(m.Datatype.String())*8), "UTF-8", m.Datatype.String()); err != nil {
                return err
        }
 
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/DataItem.go 
b/plc4go/internal/plc4go/s7/readwrite/model/DataItem.go
index 47f71e4..8aab0b0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/DataItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/DataItem.go
@@ -50,7 +50,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, 
dataProtocolId string, stringLen
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(bool(8)); i++ {
+               for i := 0; i < int((8)); i++ {
                        _item, _itemErr := readBuffer.ReadBit("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -63,7 +63,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, 
dataProtocolId string, stringLen
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(bool(16)); i++ {
+               for i := 0; i < int((16)); i++ {
                        _item, _itemErr := readBuffer.ReadBit("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -76,7 +76,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, 
dataProtocolId string, stringLen
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(bool(32)); i++ {
+               for i := 0; i < int((32)); i++ {
                        _item, _itemErr := readBuffer.ReadBit("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -89,7 +89,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, 
dataProtocolId string, stringLen
 
                // Array Field (value)
                var value []api.PlcValue
-               for i := 0; i < int(bool(64)); i++ {
+               for i := 0; i < int((64)); i++ {
                        _item, _itemErr := readBuffer.ReadBit("value")
                        if _itemErr != nil {
                                return nil, errors.Wrap(_itemErr, "Error 
parsing 'value' field")
@@ -334,7 +334,7 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, value 
api.PlcValue, dataPr
        case dataProtocolId == "IEC61131_BYTE": // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(bool(8)); i++ {
+               for i := uint32(0); i < uint32((8)); i++ {
                        _itemErr := writeBuffer.WriteBit("", 
value.GetIndex(i).GetBool())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -343,7 +343,7 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, value 
api.PlcValue, dataPr
        case dataProtocolId == "IEC61131_WORD": // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(bool(16)); i++ {
+               for i := uint32(0); i < uint32((16)); i++ {
                        _itemErr := writeBuffer.WriteBit("", 
value.GetIndex(i).GetBool())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -352,7 +352,7 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, value 
api.PlcValue, dataPr
        case dataProtocolId == "IEC61131_DWORD": // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(bool(32)); i++ {
+               for i := uint32(0); i < uint32((32)); i++ {
                        _itemErr := writeBuffer.WriteBit("", 
value.GetIndex(i).GetBool())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
@@ -361,7 +361,7 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, value 
api.PlcValue, dataPr
        case dataProtocolId == "IEC61131_LWORD": // List
 
                // Array Field (value)
-               for i := uint32(0); i < uint32(bool(64)); i++ {
+               for i := uint32(0); i < uint32((64)); i++ {
                        _itemErr := writeBuffer.WriteBit("", 
value.GetIndex(i).GetBool())
                        if _itemErr != nil {
                                return errors.Wrap(_itemErr, "Error serializing 
'value' field")
diff --git 
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
 
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
index e567291..8df460f 100644
--- 
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
+++ 
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
@@ -221,7 +221,7 @@ func (m *S7PayloadUserDataItemCpuFunctionMsgSubscription) 
Serialize(writeBuffer
 
                // Simple Field (magicKey)
                magicKey := string(m.MagicKey)
-               _magicKeyErr := writeBuffer.WriteString("magicKey", uint8(64), 
"UTF-8", (magicKey))
+               _magicKeyErr := writeBuffer.WriteString("magicKey", uint32(64), 
"UTF-8", (magicKey))
                if _magicKeyErr != nil {
                        return errors.Wrap(_magicKeyErr, "Error serializing 
'magicKey' field")
                }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7StaticHelper.go 
b/plc4go/internal/plc4go/s7/readwrite/model/S7StaticHelper.go
index 25289ea..30a7bfc 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7StaticHelper.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7StaticHelper.go
@@ -141,7 +141,7 @@ func StaticHelperSerializeS7String(io utils.WriteBuffer, 
value values.PlcValue,
        case "UTF-16":
                multiplier = 16
        }
-       return io.WriteString("", uint8(stringLength*multiplier), encoding, 
value.GetString())
+       return io.WriteString("", uint32(stringLength*multiplier), encoding, 
value.GetString())
 }
 
 func StaticHelperParseS7Char(io utils.ReadBuffer, encoding string) (uint8, 
error) {
diff --git a/plc4go/internal/plc4go/simulated/readwrite/model/DataItem.go 
b/plc4go/internal/plc4go/simulated/readwrite/model/DataItem.go
index 2341b70..f21b051 100644
--- a/plc4go/internal/plc4go/simulated/readwrite/model/DataItem.go
+++ b/plc4go/internal/plc4go/simulated/readwrite/model/DataItem.go
@@ -689,13 +689,13 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, 
value api.PlcValue, dataTy
        case dataType == "STRING": // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(255), 
"UTF-8", value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(255), 
"UTF-8", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        case dataType == "WSTRING": // STRING
 
                // Simple Field (value)
-               if _err := writeBuffer.WriteString("value", uint8(255), 
"UTF-8", value.GetString()); _err != nil {
+               if _err := writeBuffer.WriteString("value", uint32(255), 
"UTF-8", value.GetString()); _err != nil {
                        return errors.Wrap(_err, "Error serializing 'value' 
field")
                }
        default:
diff --git a/plc4go/internal/plc4go/spi/model/DefaultPlcReadResponse.go 
b/plc4go/internal/plc4go/spi/model/DefaultPlcReadResponse.go
index d2e1cf9..13d3604 100644
--- a/plc4go/internal/plc4go/spi/model/DefaultPlcReadResponse.go
+++ b/plc4go/internal/plc4go/spi/model/DefaultPlcReadResponse.go
@@ -80,7 +80,7 @@ func (m DefaultPlcReadResponse) Serialize(writeBuffer 
utils.WriteBuffer) error {
                        return err
                }
                codeName := m.GetResponseCode(fieldName).GetName()
-               if err := writeBuffer.WriteString("result", 
uint8(len([]rune(codeName))*8), "UTF-8", codeName); err != nil {
+               if err := writeBuffer.WriteString("result", 
uint32(len([]rune(codeName))*8), "UTF-8", codeName); err != nil {
                        return err
                }
 
diff --git a/plc4go/internal/plc4go/spi/model/DefaultPlcWriteRequest.go 
b/plc4go/internal/plc4go/spi/model/DefaultPlcWriteRequest.go
index ce2bc38..55bf8a3 100644
--- a/plc4go/internal/plc4go/spi/model/DefaultPlcWriteRequest.go
+++ b/plc4go/internal/plc4go/spi/model/DefaultPlcWriteRequest.go
@@ -201,12 +201,12 @@ func (m DefaultPlcWriteRequest) Serialize(writeBuffer 
utils.WriteBuffer) error {
                                        return errors.New("value not 
serializable to string")
                                }
                                subValue.GetString()
-                               if err := writeBuffer.WriteString("value", 
uint8(len([]rune(subValue.GetString()))*8), "UTF-8", subValue.GetString()); err 
!= nil {
+                               if err := writeBuffer.WriteString("value", 
uint32(len([]rune(subValue.GetString()))*8), "UTF-8", subValue.GetString()); 
err != nil {
                                        return err
                                }
                        }
                default:
-                       if err := writeBuffer.WriteString("value", 
uint8(len([]rune(value.GetString()))*8), "UTF-8", value.GetString()); err != 
nil {
+                       if err := writeBuffer.WriteString("value", 
uint32(len([]rune(value.GetString()))*8), "UTF-8", value.GetString()); err != 
nil {
                                return err
                        }
                }
diff --git a/plc4go/internal/plc4go/spi/model/DefaultPlcWriteResponse.go 
b/plc4go/internal/plc4go/spi/model/DefaultPlcWriteResponse.go
index f768175..b3f84e3 100644
--- a/plc4go/internal/plc4go/spi/model/DefaultPlcWriteResponse.go
+++ b/plc4go/internal/plc4go/spi/model/DefaultPlcWriteResponse.go
@@ -67,7 +67,7 @@ func (m DefaultPlcWriteResponse) Serialize(writeBuffer 
utils.WriteBuffer) error
        }
        for _, fieldName := range m.GetFieldNames() {
                responseCodeName := m.GetResponseCode(fieldName).GetName()
-               if err := writeBuffer.WriteString(fieldName, 
uint8(len([]rune(responseCodeName))*8), "UTF-8", responseCodeName); err != nil {
+               if err := writeBuffer.WriteString(fieldName, 
uint32(len([]rune(responseCodeName))*8), "UTF-8", responseCodeName); err != nil 
{
                        return err
                }
        }
diff --git a/plc4go/internal/plc4go/spi/utils/WriteBuffer.go 
b/plc4go/internal/plc4go/spi/utils/WriteBuffer.go
index 51c4a5d..411d76b 100644
--- a/plc4go/internal/plc4go/spi/utils/WriteBuffer.go
+++ b/plc4go/internal/plc4go/spi/utils/WriteBuffer.go
@@ -41,7 +41,7 @@ type WriteBuffer interface {
        WriteFloat32(logicalName string, bitLength uint8, value float32, 
writerArgs ...WithWriterArgs) error
        WriteFloat64(logicalName string, bitLength uint8, value float64, 
writerArgs ...WithWriterArgs) error
        WriteBigFloat(logicalName string, bitLength uint8, value *big.Float, 
writerArgs ...WithWriterArgs) error
-       WriteString(logicalName string, bitLength uint8, encoding string, value 
string, writerArgs ...WithWriterArgs) error
+       WriteString(logicalName string, bitLength uint32, encoding string, 
value string, writerArgs ...WithWriterArgs) error
        // PopContext signals work done with the context with the supplied 
logical name
        PopContext(logicalName string, writerArgs ...WithWriterArgs) error
 }
diff --git a/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go 
b/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
index df9ac86..caac591 100644
--- a/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
+++ b/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
@@ -177,7 +177,7 @@ func (b *boxedWriteBuffer) WriteBigFloat(logicalName 
string, bitLength uint8, va
        return nil
 }
 
-func (b *boxedWriteBuffer) WriteString(logicalName string, bitLength uint8, _ 
string, value string, writerArgs ...WithWriterArgs) error {
+func (b *boxedWriteBuffer) WriteString(logicalName string, bitLength uint32, _ 
string, value string, writerArgs ...WithWriterArgs) error {
        additionalStringRepresentation := 
b.extractAdditionalStringRepresentation(upcastWriterArgs(writerArgs...)...)
        b.PushBack(BoxString(logicalName, fmt.Sprintf("%#0*x %s%s", 
bitLength/4, value, value, additionalStringRepresentation), 0))
        return nil
diff --git a/plc4go/internal/plc4go/spi/utils/WriteBufferByteBased.go 
b/plc4go/internal/plc4go/spi/utils/WriteBufferByteBased.go
index 6dd1536..bfe9f11 100644
--- a/plc4go/internal/plc4go/spi/utils/WriteBufferByteBased.go
+++ b/plc4go/internal/plc4go/spi/utils/WriteBufferByteBased.go
@@ -209,7 +209,7 @@ func (wb *byteWriteBuffer) WriteBigFloat(_ string, 
bitLength uint8, value *big.F
        return errors.New("not implemented yet")
 }
 
-func (wb *byteWriteBuffer) WriteString(_ string, bitLength uint8, encoding 
string, value string, _ ...WithWriterArgs) error {
+func (wb *byteWriteBuffer) WriteString(_ string, bitLength uint32, encoding 
string, value string, _ ...WithWriterArgs) error {
        // TODO: the implementation completely ignores encoding for now. Fix 
this
        for _, theByte := range []byte(value) {
                wb.writer.TryWriteByte(theByte)
diff --git a/plc4go/internal/plc4go/spi/utils/WriteBufferJsonBased.go 
b/plc4go/internal/plc4go/spi/utils/WriteBufferJsonBased.go
index d9b1548..10674e0 100644
--- a/plc4go/internal/plc4go/spi/utils/WriteBufferJsonBased.go
+++ b/plc4go/internal/plc4go/spi/utils/WriteBufferJsonBased.go
@@ -156,7 +156,7 @@ func (j *jsonWriteBuffer) WriteBigFloat(logicalName string, 
bitLength uint8, val
        return j.encodeNode(logicalName, value, j.generateAttr(logicalName, 
rwFloatKey, uint(bitLength), writerArgs...))
 }
 
-func (j *jsonWriteBuffer) WriteString(logicalName string, bitLength uint8, 
encoding string, value string, writerArgs ...WithWriterArgs) error {
+func (j *jsonWriteBuffer) WriteString(logicalName string, bitLength uint32, 
encoding string, value string, writerArgs ...WithWriterArgs) error {
        attr := j.generateAttr(logicalName, rwStringKey, uint(bitLength), 
writerArgs...)
        attr[fmt.Sprintf("%s__plc4x_%s", logicalName, rwEncodingKey)] = encoding
        return j.encodeNode(logicalName, value, attr)
diff --git a/plc4go/internal/plc4go/spi/utils/WriteBufferXmlBased.go 
b/plc4go/internal/plc4go/spi/utils/WriteBufferXmlBased.go
index e8cbff1..6b5a010 100644
--- a/plc4go/internal/plc4go/spi/utils/WriteBufferXmlBased.go
+++ b/plc4go/internal/plc4go/spi/utils/WriteBufferXmlBased.go
@@ -147,7 +147,7 @@ func (x *xmlWriteBuffer) WriteBigFloat(logicalName string, 
bitLength uint8, valu
        return x.encodeElement(logicalName, value, x.generateAttr(rwFloatKey, 
uint(bitLength), writerArgs...), writerArgs...)
 }
 
-func (x *xmlWriteBuffer) WriteString(logicalName string, bitLength uint8, 
encoding string, value string, writerArgs ...WithWriterArgs) error {
+func (x *xmlWriteBuffer) WriteString(logicalName string, bitLength uint32, 
encoding string, value string, writerArgs ...WithWriterArgs) error {
        attr := x.generateAttr(rwStringKey, uint(bitLength), writerArgs...)
        attr = append(attr, xml.Attr{Name: xml.Name{Local: rwEncodingKey}, 
Value: encoding})
        return x.encodeElement(logicalName, value, attr, writerArgs...)
diff --git a/plc4go/internal/plc4go/spi/values/DATE.go 
b/plc4go/internal/plc4go/spi/values/DATE.go
index b73dc2d..a993830 100644
--- a/plc4go/internal/plc4go/spi/values/DATE.go
+++ b/plc4go/internal/plc4go/spi/values/DATE.go
@@ -61,5 +61,5 @@ func (m PlcDATE) GetString() string {
 }
 
 func (m PlcDATE) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcDATE", 
byte(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
+       return writeBuffer.WriteString("PlcDATE", 
uint32(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
 }
diff --git a/plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go 
b/plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go
index f8fb162..0c80877 100644
--- a/plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go
+++ b/plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go
@@ -48,5 +48,5 @@ func (m PlcDATE_AND_TIME) GetString() string {
 }
 
 func (m PlcDATE_AND_TIME) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcDATE_AND_TIME", 
byte(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
+       return writeBuffer.WriteString("PlcDATE_AND_TIME", 
uint32(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
 }
diff --git a/plc4go/internal/plc4go/spi/values/LTIME.go 
b/plc4go/internal/plc4go/spi/values/LTIME.go
index be60bdc..882674f 100644
--- a/plc4go/internal/plc4go/spi/values/LTIME.go
+++ b/plc4go/internal/plc4go/spi/values/LTIME.go
@@ -53,5 +53,5 @@ func (m PlcLTIME) GetString() string {
 }
 
 func (m PlcLTIME) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcLTIME", 
byte(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
+       return writeBuffer.WriteString("PlcLTIME", 
uint32(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
 }
diff --git a/plc4go/internal/plc4go/spi/values/STRING.go 
b/plc4go/internal/plc4go/spi/values/STRING.go
index 1f18e48..d0aca7f 100644
--- a/plc4go/internal/plc4go/spi/values/STRING.go
+++ b/plc4go/internal/plc4go/spi/values/STRING.go
@@ -43,5 +43,5 @@ func (m PlcSTRING) GetString() string {
 }
 
 func (m PlcSTRING) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcSTRING", 
uint8(len([]rune(m.value))*8), "UTF-8", m.value)
+       return writeBuffer.WriteString("PlcSTRING", 
uint32(len([]rune(m.value))*8), "UTF-8", m.value)
 }
diff --git a/plc4go/internal/plc4go/spi/values/TIME.go 
b/plc4go/internal/plc4go/spi/values/TIME.go
index b7a1898..000995e 100644
--- a/plc4go/internal/plc4go/spi/values/TIME.go
+++ b/plc4go/internal/plc4go/spi/values/TIME.go
@@ -53,5 +53,5 @@ func (m PlcTIME) GetString() string {
 }
 
 func (m PlcTIME) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcTIME", 
byte(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
+       return writeBuffer.WriteString("PlcTIME", 
uint32(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
 }
diff --git a/plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go 
b/plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go
index 36d0768..933082b 100644
--- a/plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go
+++ b/plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go
@@ -64,5 +64,5 @@ func (m PlcTIME_OF_DAY) GetString() string {
 }
 
 func (m PlcTIME_OF_DAY) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcTIME_OF_DAY", 
byte(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
+       return writeBuffer.WriteString("PlcTIME_OF_DAY", 
uint32(len([]rune(m.GetString()))*8), "UTF-8", m.GetString())
 }
diff --git a/plc4go/internal/plc4go/spi/values/WCHAR.go 
b/plc4go/internal/plc4go/spi/values/WCHAR.go
index 51453b0..eee7fed 100644
--- a/plc4go/internal/plc4go/spi/values/WCHAR.go
+++ b/plc4go/internal/plc4go/spi/values/WCHAR.go
@@ -44,5 +44,5 @@ func (m PlcWCHAR) GetString() string {
 }
 
 func (m PlcWCHAR) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcSTRING", uint8(len(m.value)*8), 
"UTF-8", string(m.value))
+       return writeBuffer.WriteString("PlcSTRING", uint32(len(m.value)*8), 
"UTF-8", string(m.value))
 }
diff --git a/plc4go/internal/plc4go/spi/values/WSTRING.go 
b/plc4go/internal/plc4go/spi/values/WSTRING.go
index 0a47ee3..4c88d4f 100644
--- a/plc4go/internal/plc4go/spi/values/WSTRING.go
+++ b/plc4go/internal/plc4go/spi/values/WSTRING.go
@@ -44,5 +44,5 @@ func (m PlcWSTRING) GetString() string {
 }
 
 func (m PlcWSTRING) Serialize(writeBuffer utils.WriteBuffer) error {
-       return writeBuffer.WriteString("PlcSTRING", 
uint8(len([]rune(m.value))*8), "UTF-8", string(m.value))
+       return writeBuffer.WriteString("PlcSTRING", 
uint32(len([]rune(m.value))*8), "UTF-8", string(m.value))
 }

Reply via email to