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))
}