This is an automated email from the ASF dual-hosted git repository.
hutcheb pushed a commit to branch feat/plc4py/test_runner
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feat/plc4py/test_runner by
this push:
new 07d0938497 feat(plc4py): Fixed passing of parameters and implemented a
length based array
07d0938497 is described below
commit 07d09384979f0ea9720688489954342c0a2d56fd
Author: hutcheb <[email protected]>
AuthorDate: Fri Aug 23 20:02:02 2024 +0800
feat(plc4py): Fixed passing of parameters and implemented a length based
array
---
.../resources/templates/python/complex-type-template.python.ftlh | 3 +++
plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py | 3 ++-
plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py | 3 ++-
plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py | 4 +++-
.../protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py | 3 ++-
plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py | 3 ++-
.../modbus/readwrite/ModbusPDUGetComEventCounterRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUGetComEventCounterResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadInputRegistersRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUReadInputRegistersResponse.py | 3 ++-
.../ModbusPDUReadWriteMultipleHoldingRegistersRequest.py | 3 ++-
.../ModbusPDUReadWriteMultipleHoldingRegistersResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUWriteFileRecordResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py | 3 ++-
.../readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py | 3 ++-
.../readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py | 3 ++-
.../protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py | 3 ++-
.../modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py | 3 ++-
.../modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py | 3 ++-
plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py | 3 ++-
plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py | 3 ++-
plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py | 1 +
plc4py/plc4py/spi/generation/ReadBuffer.py | 8 ++++++++
plc4py/tests/unit/plc4py/utils/TestSuiteTest.py | 5 +----
48 files changed, 102 insertions(+), 48 deletions(-)
diff --git
a/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
b/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
index 74feafbe48..9cff1baffc 100644
---
a/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
+++
b/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
@@ -564,6 +564,9 @@ class ${type.name}<#if
type.isDiscriminatedParentTypeDefinition()></#if>(<#if ty
if isinstance(${helper.camelCaseToSnakeCase(parserArgument.name)},
str):
<#if parserArgument.type.isEnumTypeReference()>
${helper.camelCaseToSnakeCase(parserArgument.name)} =
${helper.getLanguageTypeNameForTypeReference(parserArgument.type,
false)}[${helper.camelCaseToSnakeCase(parserArgument.name)}]
+ <#elseif
helper.getLanguageTypeNameForTypeReference(parserArgument.type, false) = "bool">
+ <@emitImport import="from distutils.util import strtobool" />
+ ${helper.camelCaseToSnakeCase(parserArgument.name)} =
bool(strtobool(${helper.camelCaseToSnakeCase(parserArgument.name)}))
<#else>
${helper.camelCaseToSnakeCase(parserArgument.name)} =
${helper.getLanguageTypeNameForTypeReference(parserArgument.type,
false)}(${helper.camelCaseToSnakeCase(parserArgument.name)})
</#if>
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
index a834a5babc..573c097d9c 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
@@ -21,6 +21,7 @@ from dataclasses import dataclass
from abc import ABC
from abc import abstractmethod
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import ParseException
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
@@ -105,7 +106,7 @@ class ModbusADU(ABC, PlcMessage):
if isinstance(driver_type, str):
driver_type = DriverType[driver_type]
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
# Switch Field (Depending on the discriminator values, passes the
instantiation to a sub-type)
builder: ModbusADUBuilder = None
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
index 2f9c5e875f..855549d401 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -87,7 +88,7 @@ class ModbusAsciiADU(ModbusADU):
if isinstance(driver_type, str):
driver_type = DriverType[driver_type]
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
address: int = read_buffer.read_unsigned_byte(
logical_name="address",
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
index e30ba8ed7f..f9d904881f 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
@@ -21,6 +21,7 @@ from dataclasses import dataclass
from abc import ABC
from abc import abstractmethod
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import ParseException
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
@@ -109,7 +110,8 @@ class ModbusPDU(ABC, PlcMessage):
read_buffer.push_context("ModbusPDU")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
+
error_flag: bool = read_buffer.read_bit(
logical_name="error_flag", bit_length=1, response=response
)
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
index bc97d8ca94..3015f728ea 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -71,7 +72,7 @@ class ModbusPDUDiagnosticRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUDiagnosticRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
sub_function: int = read_buffer.read_unsigned_short(
logical_name="sub_function", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
index 924b4abb7e..cec882ff00 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -71,7 +72,7 @@ class ModbusPDUDiagnosticResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUDiagnosticResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
sub_function: int = read_buffer.read_unsigned_short(
logical_name="sub_function", bit_length=16, response=response
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
index b896af7099..db1c6b8e81 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -65,7 +66,7 @@ class ModbusPDUError(ModbusPDU):
read_buffer.push_context("ModbusPDUError")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
exception_code: ModbusErrorCode = read_buffer.read_enum(
read_function=ModbusErrorCode,
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
index cb98c3fb44..013e4fec3f 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -55,7 +56,7 @@ class ModbusPDUGetComEventCounterRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUGetComEventCounterRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
read_buffer.pop_context("ModbusPDUGetComEventCounterRequest")
# Create the instance
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
index 2b464acf12..04e11662f5 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUGetComEventCounterResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUGetComEventCounterResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
status: int = read_buffer.read_unsigned_short(
logical_name="status", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
index 2481114b52..e185d9a61f 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -55,7 +56,7 @@ class ModbusPDUGetComEventLogRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUGetComEventLogRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
read_buffer.pop_context("ModbusPDUGetComEventLogRequest")
# Create the instance
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
index f89431bb86..47be82ad93 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -99,7 +100,7 @@ class ModbusPDUGetComEventLogResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUGetComEventLogResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
index bd8aa6fb84..74d37ddf1b 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -82,7 +83,7 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUMaskWriteHoldingRegisterRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
reference_address: int = read_buffer.read_unsigned_short(
logical_name="reference_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
index 0dd650b3eb..6c927cc936 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -82,7 +83,7 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUMaskWriteHoldingRegisterResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
reference_address: int = read_buffer.read_unsigned_short(
logical_name="reference_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
index 1780c03e55..0ca0b2c92a 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUReadCoilsRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadCoilsRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
index 6503bd944d..2f08efdc1a 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -72,7 +73,7 @@ class ModbusPDUReadCoilsResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadCoilsResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
index 8976493137..ff2838f131 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -81,7 +82,7 @@ class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadDeviceIdentificationRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
MEI_TYPE: int = read_buffer.read_unsigned_byte(
logical_name="mei_type", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
index 674c739979..5b14e8da36 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -135,7 +136,7 @@ class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadDeviceIdentificationResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
MEI_TYPE: int = read_buffer.read_unsigned_byte(
logical_name="mei_type", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
index 69f996fc91..d4b0be0067 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUReadDiscreteInputsRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadDiscreteInputsRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
index 4f4ce189f1..530fdea951 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -72,7 +73,7 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadDiscreteInputsResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
index e551900db2..e209eb7095 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -55,7 +56,7 @@ class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadExceptionStatusRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
read_buffer.pop_context("ModbusPDUReadExceptionStatusRequest")
# Create the instance
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
index 2f25f0c47f..9a4e0aaaca 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -62,7 +63,7 @@ class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadExceptionStatusResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
value: int = read_buffer.read_unsigned_byte(
logical_name="value", bit_length=8, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
index eb755da584..5731478e4b 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -64,7 +65,7 @@ class ModbusPDUReadFifoQueueRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadFifoQueueRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
fifo_pointer_address: int = read_buffer.read_unsigned_short(
logical_name="fifo_pointer_address", bit_length=16,
response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
index 74258a14d6..52d49ecf63 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -83,7 +84,7 @@ class ModbusPDUReadFifoQueueResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadFifoQueueResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_short(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
index 0f675e844a..f488c11ee1 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -77,7 +78,7 @@ class ModbusPDUReadFileRecordRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadFileRecordRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
index 9559050bdc..bbb6a4d189 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -77,7 +78,7 @@ class ModbusPDUReadFileRecordResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadFileRecordResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
index 85f384b3d9..59ffd92603 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUReadHoldingRegistersRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadHoldingRegistersRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
index d98f52a8bc..f65ccf8597 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -72,7 +73,7 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadHoldingRegistersResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
index ce3300669c..2e413e60bf 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUReadInputRegistersRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadInputRegistersRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
index 31d75ccad4..1839af2c49 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -72,7 +73,7 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadInputRegistersResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
index 56a04740f0..83eec3b696 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -112,7 +113,7 @@ class
ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
read_starting_address: int = read_buffer.read_unsigned_short(
logical_name="read_starting_address", bit_length=16,
response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
index f38c18b5a6..d6bc4a1202 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -72,7 +73,7 @@ class
ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
index 00fa22c407..5488fff510 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -55,7 +56,7 @@ class ModbusPDUReportServerIdRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUReportServerIdRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
read_buffer.pop_context("ModbusPDUReportServerIdRequest")
# Create the instance
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
index 0f65cc0a40..ef0521fff3 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -72,7 +73,7 @@ class ModbusPDUReportServerIdResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUReportServerIdResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
index b60ccf6e52..172aa3893b 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -77,7 +78,7 @@ class ModbusPDUWriteFileRecordRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteFileRecordRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
index a670ce484d..9658cbe365 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -77,7 +78,7 @@ class ModbusPDUWriteFileRecordResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteFileRecordResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
byte_count: int = read_buffer.read_unsigned_byte(
logical_name="byte_count", response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
index bface65653..0b995fd82a 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -90,7 +91,7 @@ class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteMultipleCoilsRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
index 5360d414b2..430a7080fd 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUWriteMultipleCoilsResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteMultipleCoilsResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
index 115dc6700e..f11fc4f54a 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -90,7 +91,7 @@ class
ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteMultipleHoldingRegistersRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
index 23be1b2dd2..fdb448a700 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class
ModbusPDUWriteMultipleHoldingRegistersResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteMultipleHoldingRegistersResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
starting_address: int = read_buffer.read_unsigned_short(
logical_name="starting_address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
index 14e5035988..d49318ffc3 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUWriteSingleCoilRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteSingleCoilRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
address: int = read_buffer.read_unsigned_short(
logical_name="address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
index b527fe8faa..70b6f3295b 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUWriteSingleCoilResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteSingleCoilResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
address: int = read_buffer.read_unsigned_short(
logical_name="address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
index 7c4007b0ed..2cdf4cf549 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUWriteSingleRegisterRequest(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteSingleRegisterRequest")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
address: int = read_buffer.read_unsigned_short(
logical_name="address", bit_length=16, response=response
diff --git
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
index cc621e6530..7e98410b2a 100644
---
a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
+++
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -73,7 +74,7 @@ class ModbusPDUWriteSingleRegisterResponse(ModbusPDU):
read_buffer.push_context("ModbusPDUWriteSingleRegisterResponse")
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
address: int = read_buffer.read_unsigned_short(
logical_name="address", bit_length=16, response=response
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
index 432968913d..0a21a0cfd1 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -87,7 +88,7 @@ class ModbusRtuADU(ModbusADU):
if isinstance(driver_type, str):
driver_type = DriverType[driver_type]
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
address: int = read_buffer.read_unsigned_byte(
logical_name="address",
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
b/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
index 4b03222d9b..3501ed5396 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
@@ -19,6 +19,7 @@
from dataclasses import dataclass
+from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
@@ -105,7 +106,7 @@ class ModbusTcpADU(ModbusADU):
if isinstance(driver_type, str):
driver_type = DriverType[driver_type]
if isinstance(response, str):
- response = bool(response)
+ response = bool(strtobool(response))
transaction_identifier: int = read_buffer.read_unsigned_short(
logical_name="transaction_identifier",
diff --git a/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
b/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
index 4c7370c46f..453d427759 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
@@ -128,6 +128,7 @@ class ModbusPDU(ABC, PlcMessage):
umas_request_function_key = int(umas_request_function_key)
if isinstance(byte_length, str):
byte_length = int(byte_length)
+
error_flag: bool = read_buffer.read_bit(
logical_name="error_flag",
bit_length=1,
diff --git a/plc4py/plc4py/spi/generation/ReadBuffer.py
b/plc4py/plc4py/spi/generation/ReadBuffer.py
index 68c3bf7183..28009e79e9 100644
--- a/plc4py/plc4py/spi/generation/ReadBuffer.py
+++ b/plc4py/plc4py/spi/generation/ReadBuffer.py
@@ -434,5 +434,13 @@ class ReadBufferByteBased(ReadBuffer):
read_function(logical_name=logical_name, read_buffer=self,
**kwargs)
)
return parsed_array
+ elif length is not None:
+ parsed_array = []
+ start_pos = self.get_pos()
+ while self.get_pos() < start_pos + length:
+ parsed_array.append(
+ read_function(logical_name=logical_name, read_buffer=self,
**kwargs)
+ )
+ return parsed_array
else:
raise NotImplementedError
diff --git a/plc4py/tests/unit/plc4py/utils/TestSuiteTest.py
b/plc4py/tests/unit/plc4py/utils/TestSuiteTest.py
index 93bb0b9151..e1d63c5e1c 100644
--- a/plc4py/tests/unit/plc4py/utils/TestSuiteTest.py
+++ b/plc4py/tests/unit/plc4py/utils/TestSuiteTest.py
@@ -45,7 +45,4 @@ def pytest_generate_tests(metafunc):
@pytest.mark.asyncio
async def test_parse_serializer_parse_xml_test(test_case) -> None:
- try:
- test_case.runTest()
- except Exception as e:
- raise e
+ test_case.runTest()