You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2025/09/05 17:53:46 UTC

(plc4x) branch develop updated (5cb7c37cd7 -> 1d368123a3)

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

cdutz pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


    from 5cb7c37cd7 build(deps): bump actions/github-script from 7.0.1 to 8.0.0 (#2245)
     new e8d7def7de fix: Fixed some slightly off types in bacnet (uint was used where int was appropriate)
     new 6ee32c3ec7 chore: Cleaned up the open-protocol mspec.
     new 1d368123a3 chore: Reformatting.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../mspec/model/terms/DefaultVariableLiteral.java  |    1 -
 .../model/BACnetApplicationTagSignedInteger.go     |    8 +-
 .../model/BACnetContextTagSignedInteger.go         |    8 +-
 .../model/BACnetTagPayloadSignedInteger.go         |   56 +-
 .../BACnetApplicationTagSignedInteger.java         |   12 +-
 .../readwrite/BACnetContextTagSignedInteger.java   |   12 +-
 .../readwrite/BACnetTagPayloadSignedInteger.java   |   19 +-
 .../plc4x/java/bacnetip/RandomPackagesTest.java    |    6 +-
 .../readwrite/OpenProtocolMessage.java             |   10 +-
 ...plicationCommunicationStartAcknowledgeRev6.java |   42 +-
 ...olMessageApplicationGenericDataRequestRev1.java |    7 +-
 ...lMessageApplicationGenericSubscriptionRev1.java |    7 +-
 ...olMessageApplicationGenericUnsubscribeRev1.java |    7 +-
 ...rotocolMessageLastTighteningResultDataRev2.java |  155 +-
 .../java/openprotocol/readwrite/StageResult.java   |   20 +-
 .../openprotocol/readwrite/VariableDataField.java  |   47 +-
 .../resources/protocols/bacnetip/bacnet-tags.mspec |    6 +-
 .../protocols/openprotocol/open-protocol.mspec     | 3120 ++++++++++----------
 18 files changed, 1802 insertions(+), 1741 deletions(-)


(plc4x) 01/03: fix: Fixed some slightly off types in bacnet (uint was used where int was appropriate)

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit e8d7def7de049ced5f83063dc81aea70320d47da
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Sep 5 19:52:53 2025 +0200

    fix: Fixed some slightly off types in bacnet (uint was used where int was appropriate)
---
 .../model/BACnetApplicationTagSignedInteger.go     |  8 ++--
 .../model/BACnetContextTagSignedInteger.go         |  8 ++--
 .../model/BACnetTagPayloadSignedInteger.go         | 56 +++++++++++-----------
 .../BACnetApplicationTagSignedInteger.java         | 12 ++---
 .../readwrite/BACnetContextTagSignedInteger.java   | 12 ++---
 .../readwrite/BACnetTagPayloadSignedInteger.java   | 19 ++++----
 .../plc4x/java/bacnetip/RandomPackagesTest.java    |  6 +--
 .../resources/protocols/bacnetip/bacnet-tags.mspec |  6 +--
 8 files changed, 59 insertions(+), 68 deletions(-)

diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
index b71e98b7d6..2bc12469c4 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
@@ -44,7 +44,7 @@ type BACnetApplicationTagSignedInteger interface {
 	// GetPayload returns Payload (property field)
 	GetPayload() BACnetTagPayloadSignedInteger
 	// GetActualValue returns ActualValue (virtual field)
-	GetActualValue() uint64
+	GetActualValue() int64
 	// IsBACnetApplicationTagSignedInteger is a marker method to prevent unintentional type checks (interfaces of same signature)
 	IsBACnetApplicationTagSignedInteger()
 	// CreateBuilder creates a BACnetApplicationTagSignedIntegerBuilder
@@ -216,10 +216,10 @@ func (m *_BACnetApplicationTagSignedInteger) GetPayload() BACnetTagPayloadSigned
 /////////////////////// Accessors for virtual fields.
 ///////////////////////
 
-func (m *_BACnetApplicationTagSignedInteger) GetActualValue() uint64 {
+func (m *_BACnetApplicationTagSignedInteger) GetActualValue() int64 {
 	ctx := context.Background()
 	_ = ctx
-	return uint64(m.GetPayload().GetActualValue())
+	return int64(m.GetPayload().GetActualValue())
 }
 
 ///////////////////////
@@ -274,7 +274,7 @@ func (m *_BACnetApplicationTagSignedInteger) parse(ctx context.Context, readBuff
 	}
 	m.Payload = payload
 
-	actualValue, err := ReadVirtualField[uint64](ctx, "actualValue", (*uint64)(nil), payload.GetActualValue())
+	actualValue, err := ReadVirtualField[int64](ctx, "actualValue", (*int64)(nil), payload.GetActualValue())
 	if err != nil {
 		return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'actualValue' field"))
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
index 63cd59fcbc..b3bba374e8 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
@@ -44,7 +44,7 @@ type BACnetContextTagSignedInteger interface {
 	// GetPayload returns Payload (property field)
 	GetPayload() BACnetTagPayloadSignedInteger
 	// GetActualValue returns ActualValue (virtual field)
-	GetActualValue() uint64
+	GetActualValue() int64
 	// IsBACnetContextTagSignedInteger is a marker method to prevent unintentional type checks (interfaces of same signature)
 	IsBACnetContextTagSignedInteger()
 	// CreateBuilder creates a BACnetContextTagSignedIntegerBuilder
@@ -220,10 +220,10 @@ func (m *_BACnetContextTagSignedInteger) GetPayload() BACnetTagPayloadSignedInte
 /////////////////////// Accessors for virtual fields.
 ///////////////////////
 
-func (m *_BACnetContextTagSignedInteger) GetActualValue() uint64 {
+func (m *_BACnetContextTagSignedInteger) GetActualValue() int64 {
 	ctx := context.Background()
 	_ = ctx
-	return uint64(m.GetPayload().GetActualValue())
+	return int64(m.GetPayload().GetActualValue())
 }
 
 ///////////////////////
@@ -278,7 +278,7 @@ func (m *_BACnetContextTagSignedInteger) parse(ctx context.Context, readBuffer u
 	}
 	m.Payload = payload
 
-	actualValue, err := ReadVirtualField[uint64](ctx, "actualValue", (*uint64)(nil), payload.GetActualValue())
+	actualValue, err := ReadVirtualField[int64](ctx, "actualValue", (*int64)(nil), payload.GetActualValue())
 	if err != nil {
 		return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'actualValue' field"))
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
index 27a5f6e5b8..ef661186bf 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
@@ -75,7 +75,7 @@ type BACnetTagPayloadSignedInteger interface {
 	// GetIsInt64 returns IsInt64 (virtual field)
 	GetIsInt64() bool
 	// GetActualValue returns ActualValue (virtual field)
-	GetActualValue() uint64
+	GetActualValue() int64
 	// IsBACnetTagPayloadSignedInteger is a marker method to prevent unintentional type checks (interfaces of same signature)
 	IsBACnetTagPayloadSignedInteger()
 	// CreateBuilder creates a BACnetTagPayloadSignedIntegerBuilder
@@ -460,7 +460,7 @@ func (m *_BACnetTagPayloadSignedInteger) GetIsInt64() bool {
 	return bool(bool((m.GetActualLength()) == (8)))
 }
 
-func (m *_BACnetTagPayloadSignedInteger) GetActualValue() uint64 {
+func (m *_BACnetTagPayloadSignedInteger) GetActualValue() int64 {
 	ctx := context.Background()
 	_ = ctx
 	valueInt8 := m.GetValueInt8()
@@ -479,19 +479,19 @@ func (m *_BACnetTagPayloadSignedInteger) GetActualValue() uint64 {
 	_ = valueInt56
 	valueInt64 := m.GetValueInt64()
 	_ = valueInt64
-	return uint64(utils.InlineIf(m.GetIsInt8(), func() any { return uint64((*m.GetValueInt8())) }, func() any {
-		return uint64((utils.InlineIf(m.GetIsInt16(), func() any { return uint64((*m.GetValueInt16())) }, func() any {
-			return uint64((utils.InlineIf(m.GetIsInt24(), func() any { return uint64((*m.GetValueInt24())) }, func() any {
-				return uint64((utils.InlineIf(m.GetIsInt32(), func() any { return uint64((*m.GetValueInt32())) }, func() any {
-					return uint64((utils.InlineIf(m.GetIsInt40(), func() any { return uint64((*m.GetValueInt40())) }, func() any {
-						return uint64((utils.InlineIf(m.GetIsInt48(), func() any { return uint64((*m.GetValueInt48())) }, func() any {
-							return uint64((utils.InlineIf(m.GetIsInt56(), func() any { return uint64((*m.GetValueInt56())) }, func() any { return uint64((*m.GetValueInt64())) }).(uint64)))
-						}).(uint64)))
-					}).(uint64)))
-				}).(uint64)))
-			}).(uint64)))
-		}).(uint64)))
-	}).(uint64))
+	return int64(utils.InlineIf(m.GetIsInt8(), func() any { return int64((*m.GetValueInt8())) }, func() any {
+		return int64((utils.InlineIf(m.GetIsInt16(), func() any { return int64((*m.GetValueInt16())) }, func() any {
+			return int64((utils.InlineIf(m.GetIsInt24(), func() any { return int64((*m.GetValueInt24())) }, func() any {
+				return int64((utils.InlineIf(m.GetIsInt32(), func() any { return int64((*m.GetValueInt32())) }, func() any {
+					return int64((utils.InlineIf(m.GetIsInt40(), func() any { return int64((*m.GetValueInt40())) }, func() any {
+						return int64((utils.InlineIf(m.GetIsInt48(), func() any { return int64((*m.GetValueInt48())) }, func() any {
+							return int64((utils.InlineIf(m.GetIsInt56(), func() any { return int64((*m.GetValueInt56())) }, func() any { return int64((*m.GetValueInt64())) }).(int64)))
+						}).(int64)))
+					}).(int64)))
+				}).(int64)))
+			}).(int64)))
+		}).(int64)))
+	}).(int64))
 }
 
 ///////////////////////
@@ -719,19 +719,19 @@ func (m *_BACnetTagPayloadSignedInteger) parse(ctx context.Context, readBuffer u
 		return nil, errors.WithStack(utils.ParseValidationError{Message: "unmapped integer length"})
 	}
 
-	actualValue, err := ReadVirtualField[uint64](ctx, "actualValue", (*uint64)(nil), utils.InlineIf(isInt8, func() any { return uint64((*valueInt8)) }, func() any {
-		return uint64((utils.InlineIf(isInt16, func() any { return uint64((*valueInt16)) }, func() any {
-			return uint64((utils.InlineIf(isInt24, func() any { return uint64((*valueInt24)) }, func() any {
-				return uint64((utils.InlineIf(isInt32, func() any { return uint64((*valueInt32)) }, func() any {
-					return uint64((utils.InlineIf(isInt40, func() any { return uint64((*valueInt40)) }, func() any {
-						return uint64((utils.InlineIf(isInt48, func() any { return uint64((*valueInt48)) }, func() any {
-							return uint64((utils.InlineIf(isInt56, func() any { return uint64((*valueInt56)) }, func() any { return uint64((*valueInt64)) }).(uint64)))
-						}).(uint64)))
-					}).(uint64)))
-				}).(uint64)))
-			}).(uint64)))
-		}).(uint64)))
-	}).(uint64))
+	actualValue, err := ReadVirtualField[int64](ctx, "actualValue", (*int64)(nil), utils.InlineIf(isInt8, func() any { return int64((*valueInt8)) }, func() any {
+		return int64((utils.InlineIf(isInt16, func() any { return int64((*valueInt16)) }, func() any {
+			return int64((utils.InlineIf(isInt24, func() any { return int64((*valueInt24)) }, func() any {
+				return int64((utils.InlineIf(isInt32, func() any { return int64((*valueInt32)) }, func() any {
+					return int64((utils.InlineIf(isInt40, func() any { return int64((*valueInt40)) }, func() any {
+						return int64((utils.InlineIf(isInt48, func() any { return int64((*valueInt48)) }, func() any {
+							return int64((utils.InlineIf(isInt56, func() any { return int64((*valueInt56)) }, func() any { return int64((*valueInt64)) }).(int64)))
+						}).(int64)))
+					}).(int64)))
+				}).(int64)))
+			}).(int64)))
+		}).(int64)))
+	}).(int64))
 	if err != nil {
 		return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'actualValue' field"))
 	}
diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetApplicationTagSignedInteger.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetApplicationTagSignedInteger.java
index 1b6c2ef88c..eb1822976c 100644
--- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetApplicationTagSignedInteger.java
+++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetApplicationTagSignedInteger.java
@@ -24,7 +24,6 @@ import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*;
 import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*;
 import static org.apache.plc4x.java.spi.generation.StaticHelper.*;
 
-import java.math.BigInteger;
 import java.time.*;
 import java.util.*;
 import org.apache.plc4x.java.api.exceptions.*;
@@ -53,10 +52,8 @@ public class BACnetApplicationTagSignedInteger extends BACnetApplicationTag impl
     return payload;
   }
 
-  public BigInteger getActualValue() {
-    Object o = getPayload().getActualValue();
-    if (o instanceof BigInteger) return (BigInteger) o;
-    return BigInteger.valueOf(((Number) o).longValue());
+  public long getActualValue() {
+    return (long) (getPayload().getActualValue());
   }
 
   @Override
@@ -70,7 +67,7 @@ public class BACnetApplicationTagSignedInteger extends BACnetApplicationTag impl
     writeSimpleField("payload", payload, writeComplex(writeBuffer));
 
     // Virtual field (doesn't serialize anything, just makes the value available)
-    BigInteger actualValue = getActualValue();
+    long actualValue = getActualValue();
     writeBuffer.writeVirtual("actualValue", actualValue);
 
     writeBuffer.popContext("BACnetApplicationTagSignedInteger");
@@ -109,8 +106,7 @@ public class BACnetApplicationTagSignedInteger extends BACnetApplicationTag impl
                     BACnetTagPayloadSignedInteger.staticParse(
                         readBuffer, (long) (header.getActualLength())),
                 readBuffer));
-    BigInteger actualValue =
-        readVirtualField("actualValue", BigInteger.class, payload.getActualValue());
+    long actualValue = readVirtualField("actualValue", long.class, payload.getActualValue());
 
     readBuffer.closeContext("BACnetApplicationTagSignedInteger");
     // Create the instance
diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetContextTagSignedInteger.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetContextTagSignedInteger.java
index 999eabf205..8fb8dd57f8 100644
--- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetContextTagSignedInteger.java
+++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetContextTagSignedInteger.java
@@ -24,7 +24,6 @@ import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*;
 import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*;
 import static org.apache.plc4x.java.spi.generation.StaticHelper.*;
 
-import java.math.BigInteger;
 import java.time.*;
 import java.util.*;
 import org.apache.plc4x.java.api.exceptions.*;
@@ -56,10 +55,8 @@ public class BACnetContextTagSignedInteger extends BACnetContextTag implements M
     return payload;
   }
 
-  public BigInteger getActualValue() {
-    Object o = getPayload().getActualValue();
-    if (o instanceof BigInteger) return (BigInteger) o;
-    return BigInteger.valueOf(((Number) o).longValue());
+  public long getActualValue() {
+    return (long) (getPayload().getActualValue());
   }
 
   @Override
@@ -73,7 +70,7 @@ public class BACnetContextTagSignedInteger extends BACnetContextTag implements M
     writeSimpleField("payload", payload, writeComplex(writeBuffer));
 
     // Virtual field (doesn't serialize anything, just makes the value available)
-    BigInteger actualValue = getActualValue();
+    long actualValue = getActualValue();
     writeBuffer.writeVirtual("actualValue", actualValue);
 
     writeBuffer.popContext("BACnetContextTagSignedInteger");
@@ -116,8 +113,7 @@ public class BACnetContextTagSignedInteger extends BACnetContextTag implements M
                     BACnetTagPayloadSignedInteger.staticParse(
                         readBuffer, (long) (header.getActualLength())),
                 readBuffer));
-    BigInteger actualValue =
-        readVirtualField("actualValue", BigInteger.class, payload.getActualValue());
+    long actualValue = readVirtualField("actualValue", long.class, payload.getActualValue());
 
     readBuffer.closeContext("BACnetContextTagSignedInteger");
     // Create the instance
diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetTagPayloadSignedInteger.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetTagPayloadSignedInteger.java
index cbeea75230..065b15152f 100644
--- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetTagPayloadSignedInteger.java
+++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetTagPayloadSignedInteger.java
@@ -24,7 +24,6 @@ import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*;
 import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*;
 import static org.apache.plc4x.java.spi.generation.StaticHelper.*;
 
-import java.math.BigInteger;
 import java.time.*;
 import java.util.*;
 import org.apache.plc4x.java.api.exceptions.*;
@@ -139,9 +138,9 @@ public class BACnetTagPayloadSignedInteger implements Message {
     return (boolean) ((actualLength) == (8));
   }
 
-  public BigInteger getActualValue() {
-    Object o =
-        ((getIsInt8())
+  public long getActualValue() {
+    return (long)
+        (((getIsInt8())
             ? getValueInt8()
             : (((getIsInt16())
                 ? getValueInt16()
@@ -153,9 +152,9 @@ public class BACnetTagPayloadSignedInteger implements Message {
                             ? getValueInt40()
                             : (((getIsInt48())
                                 ? getValueInt48()
-                                : (((getIsInt56()) ? getValueInt56() : getValueInt64())))))))))))));
-    if (o instanceof BigInteger) return (BigInteger) o;
-    return BigInteger.valueOf(((Number) o).longValue());
+                                : (((getIsInt56())
+                                    ? getValueInt56()
+                                    : getValueInt64()))))))))))))));
   }
 
   public void serialize(WriteBuffer writeBuffer) throws SerializationException {
@@ -220,7 +219,7 @@ public class BACnetTagPayloadSignedInteger implements Message {
     writeOptionalField("valueInt64", valueInt64, writeSignedLong(writeBuffer, 64));
 
     // Virtual field (doesn't serialize anything, just makes the value available)
-    BigInteger actualValue = getActualValue();
+    long actualValue = getActualValue();
     writeBuffer.writeVirtual("actualValue", actualValue);
 
     writeBuffer.popContext("BACnetTagPayloadSignedInteger");
@@ -333,10 +332,10 @@ public class BACnetTagPayloadSignedInteger implements Message {
         || (isInt64))) {
       throw new ParseValidationException("unmapped integer length");
     }
-    BigInteger actualValue =
+    long actualValue =
         readVirtualField(
             "actualValue",
-            BigInteger.class,
+            long.class,
             ((isInt8)
                 ? valueInt8
                 : (((isInt16)
diff --git a/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java b/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java
index 643aaecce4..6c2760539d 100644
--- a/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java
+++ b/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java
@@ -3580,7 +3580,7 @@ public class RandomPackagesTest {
                                     .asInstanceOf(InstanceOfAssertFactories.type(BACnetApplicationTagSignedInteger.class))
                                     .extracting(BACnetApplicationTagSignedInteger::getPayload)
                                     .extracting(BACnetTagPayloadSignedInteger::getActualValue)
-                                    .isEqualTo(BigInteger.valueOf(0));
+                                    .isEqualTo(0L);
                                 assertThat(baCnetConfirmedServiceRequestAtomicReadFileStream)
                                     .extracting(BACnetConfirmedServiceRequestAtomicReadFileStream::getRequestOctetCount)
                                     .asInstanceOf(InstanceOfAssertFactories.type(BACnetApplicationTagUnsignedInteger.class))
@@ -4235,7 +4235,7 @@ public class RandomPackagesTest {
                     assertEquals(201, baCnetServiceAckReadProperty.getObjectIdentifier().getInstanceNumber());
                     assertEquals(BACnetPropertyIdentifier.UTC_OFFSET, baCnetServiceAckReadProperty.getPropertyIdentifier().getValue());
                     BACnetApplicationTagSignedInteger value = ((BACnetConstructedDataUTCOffset) baCnetServiceAckReadProperty.getValues()).getUtcOffset();
-                    assertEquals(0, value.getPayload().getActualValue().longValue());
+                    assertEquals(0, value.getPayload().getActualValue());
                 }),
             DynamicTest.dynamicTest("No. 47 - Confirmed-REQ   readProperty[ 47] device,201 daylights-savings-status",
                 () -> {
@@ -5013,7 +5013,7 @@ public class RandomPackagesTest {
                     assertEquals(61, baCnetServiceAckReadProperty.getObjectIdentifier().getInstanceNumber());
                     assertEquals(BACnetPropertyIdentifier.UTC_OFFSET, baCnetServiceAckReadProperty.getPropertyIdentifier().getValue());
                     BACnetApplicationTagSignedInteger value = ((BACnetConstructedDataUTCOffset) baCnetServiceAckReadProperty.getValues()).getUtcOffset();
-                    assertEquals(BigInteger.valueOf(-300), value.getPayload().getActualValue());
+                    assertEquals(-300L, value.getPayload().getActualValue());
                 }),
             DynamicTest.dynamicTest("No. 103 - Confirmed-REQ   readProperty[ 75] device,61 daylights-savings-status",
                 () -> {
diff --git a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-tags.mspec b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-tags.mspec
index e38f7749e1..040332b615 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-tags.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-tags.mspec
@@ -55,7 +55,7 @@
         ['0x3' *SignedInteger(BACnetTagHeader header)
             [simple BACnetTagPayloadSignedInteger('header.actualLength')
                                 payload                                                                                 ]
-            [virtual    uint 64    actualValue   'payload.actualValue'                                                  ]
+            [virtual    int 64  actualValue   'payload.actualValue'                                                     ]
         ]
         ['0x4' *Real
             [simple BACnetTagPayloadReal
@@ -134,7 +134,7 @@
         ['SIGNED_INTEGER' *SignedInteger(BACnetTagHeader header)
             [simple BACnetTagPayloadSignedInteger('header.actualLength')
                                 payload                                                                                 ]
-            [virtual    uint 64     actualValue 'payload.actualValue'                                                   ]
+            [virtual    int 64  actualValue 'payload.actualValue'                                                       ]
         ]
         ['REAL' *Real
             [simple BACnetTagPayloadReal
@@ -249,7 +249,7 @@
     [virtual    bit         isInt64         'actualLength == 8'  ]
     [optional   int 64      valueInt64      'isInt64'            ]
     [validation 'isInt8 || isInt16 || isInt24 || isInt32 || isInt40 || isInt48 || isInt56 || isInt64' "unmapped integer length"]
-    [virtual    uint 64     actualValue     'isInt8?valueInt8:(isInt16?valueInt16:(isInt24?valueInt24:(isInt32?valueInt32:(isInt40?valueInt40:(isInt48?valueInt48:(isInt56?valueInt56:valueInt64))))))']
+    [virtual    int 64      actualValue     'isInt8?valueInt8:(isInt16?valueInt16:(isInt24?valueInt24:(isInt32?valueInt32:(isInt40?valueInt40:(isInt48?valueInt48:(isInt56?valueInt56:valueInt64))))))']
 ]
 
 [type BACnetTagPayloadReal


(plc4x) 02/03: chore: Cleaned up the open-protocol mspec.

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 6ee32c3ec7f78989ce870f625ec56d0b7d4766ec
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Sep 5 19:53:17 2025 +0200

    chore: Cleaned up the open-protocol mspec.
---
 .../readwrite/OpenProtocolMessage.java             |   10 +-
 ...plicationCommunicationStartAcknowledgeRev6.java |   42 +-
 ...olMessageApplicationGenericDataRequestRev1.java |    7 +-
 ...lMessageApplicationGenericSubscriptionRev1.java |    7 +-
 ...olMessageApplicationGenericUnsubscribeRev1.java |    7 +-
 ...rotocolMessageLastTighteningResultDataRev2.java |  155 +-
 .../java/openprotocol/readwrite/StageResult.java   |   20 +-
 .../openprotocol/readwrite/VariableDataField.java  |   47 +-
 .../protocols/openprotocol/open-protocol.mspec     | 3120 ++++++++++----------
 9 files changed, 1743 insertions(+), 1672 deletions(-)

diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessage.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessage.java
index 1820cda59f..4f761d86cb 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessage.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessage.java
@@ -184,7 +184,8 @@ public abstract class OpenProtocolMessage implements Message {
     serializeOpenProtocolMessageChild(writeBuffer);
 
     // Const Field (end)
-    writeConstField("end", END, writeUnsignedShort(writeBuffer, 8));
+    writeConstField(
+        "end", END, writeUnsignedShort(writeBuffer, 8), WithOption.WithEncoding("ASCII"));
 
     writeBuffer.popContext("OpenProtocolMessage");
   }
@@ -478,7 +479,12 @@ public abstract class OpenProtocolMessage implements Message {
           "Unsupported case for discriminated type" + " parameters [" + "mid=" + mid + "]");
     }
 
-    short end = readConstField("end", readUnsignedShort(readBuffer, 8), OpenProtocolMessage.END);
+    short end =
+        readConstField(
+            "end",
+            readUnsignedShort(readBuffer, 8),
+            OpenProtocolMessage.END,
+            WithOption.WithEncoding("ASCII"));
 
     readBuffer.closeContext("OpenProtocolMessage");
     // Create the instance
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6.java
index 2a4cb48b08..4589ee42e2 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6.java
@@ -417,10 +417,18 @@ public class OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6
         WithOption.WithEncoding("ASCII"));
 
     // Reserved Field (reserved)
-    writeReservedField("reserved", (byte) 0x00, writeUnsignedByte(writeBuffer, 7));
+    writeReservedField(
+        "reserved",
+        (byte) 0x00,
+        writeUnsignedByte(writeBuffer, 7),
+        WithOption.WithEncoding("ASCII"));
 
     // Simple Field (sequenceNumberSupport)
-    writeSimpleField("sequenceNumberSupport", sequenceNumberSupport, writeBoolean(writeBuffer));
+    writeSimpleField(
+        "sequenceNumberSupport",
+        sequenceNumberSupport,
+        writeBoolean(writeBuffer),
+        WithOption.WithEncoding("ASCII"));
 
     // Const Field (blockIdLinkingHandlingSupport)
     writeConstField(
@@ -430,10 +438,18 @@ public class OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6
         WithOption.WithEncoding("ASCII"));
 
     // Reserved Field (reserved)
-    writeReservedField("reserved", (byte) 0x00, writeUnsignedByte(writeBuffer, 7));
+    writeReservedField(
+        "reserved",
+        (byte) 0x00,
+        writeUnsignedByte(writeBuffer, 7),
+        WithOption.WithEncoding("ASCII"));
 
     // Simple Field (linkingHandlingSupport)
-    writeSimpleField("linkingHandlingSupport", linkingHandlingSupport, writeBoolean(writeBuffer));
+    writeSimpleField(
+        "linkingHandlingSupport",
+        linkingHandlingSupport,
+        writeBoolean(writeBuffer),
+        WithOption.WithEncoding("ASCII"));
 
     // Const Field (blockIdStationId)
     writeConstField(
@@ -731,10 +747,15 @@ public class OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6
             WithOption.WithEncoding("ASCII"));
 
     Byte reservedField0 =
-        readReservedField("reserved", readUnsignedByte(readBuffer, 7), (byte) 0x00);
+        readReservedField(
+            "reserved",
+            readUnsignedByte(readBuffer, 7),
+            (byte) 0x00,
+            WithOption.WithEncoding("ASCII"));
 
     boolean sequenceNumberSupport =
-        readSimpleField("sequenceNumberSupport", readBoolean(readBuffer));
+        readSimpleField(
+            "sequenceNumberSupport", readBoolean(readBuffer), WithOption.WithEncoding("ASCII"));
 
     int blockIdLinkingHandlingSupport =
         readConstField(
@@ -745,10 +766,15 @@ public class OpenProtocolMessageApplicationCommunicationStartAcknowledgeRev6
             WithOption.WithEncoding("ASCII"));
 
     Byte reservedField1 =
-        readReservedField("reserved", readUnsignedByte(readBuffer, 7), (byte) 0x00);
+        readReservedField(
+            "reserved",
+            readUnsignedByte(readBuffer, 7),
+            (byte) 0x00,
+            WithOption.WithEncoding("ASCII"));
 
     boolean linkingHandlingSupport =
-        readSimpleField("linkingHandlingSupport", readBoolean(readBuffer));
+        readSimpleField(
+            "linkingHandlingSupport", readBoolean(readBuffer), WithOption.WithEncoding("ASCII"));
 
     int blockIdStationId =
         readConstField(
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericDataRequestRev1.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericDataRequestRev1.java
index 689ae7aed7..b65ab979b7 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericDataRequestRev1.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericDataRequestRev1.java
@@ -116,7 +116,8 @@ public class OpenProtocolMessageApplicationGenericDataRequestRev1
         WithOption.WithEncoding("ASCII"));
 
     // Array Field (extraData)
-    writeByteArrayField("extraData", extraData, writeByteArray(writeBuffer, 8));
+    writeByteArrayField(
+        "extraData", extraData, writeByteArray(writeBuffer, 8), WithOption.WithEncoding("ASCII"));
 
     writeBuffer.popContext("OpenProtocolMessageApplicationGenericDataRequestRev1");
   }
@@ -171,7 +172,9 @@ public class OpenProtocolMessageApplicationGenericDataRequestRev1
         readImplicitField(
             "extraDataLength", readUnsignedInt(readBuffer, 16), WithOption.WithEncoding("ASCII"));
 
-    byte[] extraData = readBuffer.readByteArray("extraData", Math.toIntExact(extraDataLength));
+    byte[] extraData =
+        readBuffer.readByteArray(
+            "extraData", Math.toIntExact(extraDataLength), WithOption.WithEncoding("ASCII"));
 
     readBuffer.closeContext("OpenProtocolMessageApplicationGenericDataRequestRev1");
     // Create the instance
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericSubscriptionRev1.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericSubscriptionRev1.java
index 3634379cb5..11837e33f9 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericSubscriptionRev1.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericSubscriptionRev1.java
@@ -116,7 +116,8 @@ public class OpenProtocolMessageApplicationGenericSubscriptionRev1
         WithOption.WithEncoding("ASCII"));
 
     // Array Field (extraData)
-    writeByteArrayField("extraData", extraData, writeByteArray(writeBuffer, 8));
+    writeByteArrayField(
+        "extraData", extraData, writeByteArray(writeBuffer, 8), WithOption.WithEncoding("ASCII"));
 
     writeBuffer.popContext("OpenProtocolMessageApplicationGenericSubscriptionRev1");
   }
@@ -171,7 +172,9 @@ public class OpenProtocolMessageApplicationGenericSubscriptionRev1
         readImplicitField(
             "extraDataLength", readUnsignedInt(readBuffer, 16), WithOption.WithEncoding("ASCII"));
 
-    byte[] extraData = readBuffer.readByteArray("extraData", Math.toIntExact(extraDataLength));
+    byte[] extraData =
+        readBuffer.readByteArray(
+            "extraData", Math.toIntExact(extraDataLength), WithOption.WithEncoding("ASCII"));
 
     readBuffer.closeContext("OpenProtocolMessageApplicationGenericSubscriptionRev1");
     // Create the instance
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericUnsubscribeRev1.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericUnsubscribeRev1.java
index 36dd15a85c..fa6e842978 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericUnsubscribeRev1.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericUnsubscribeRev1.java
@@ -116,7 +116,8 @@ public class OpenProtocolMessageApplicationGenericUnsubscribeRev1
         WithOption.WithEncoding("ASCII"));
 
     // Array Field (extraData)
-    writeByteArrayField("extraData", extraData, writeByteArray(writeBuffer, 8));
+    writeByteArrayField(
+        "extraData", extraData, writeByteArray(writeBuffer, 8), WithOption.WithEncoding("ASCII"));
 
     writeBuffer.popContext("OpenProtocolMessageApplicationGenericUnsubscribeRev1");
   }
@@ -171,7 +172,9 @@ public class OpenProtocolMessageApplicationGenericUnsubscribeRev1
         readImplicitField(
             "extraDataLength", readUnsignedInt(readBuffer, 16), WithOption.WithEncoding("ASCII"));
 
-    byte[] extraData = readBuffer.readByteArray("extraData", Math.toIntExact(extraDataLength));
+    byte[] extraData =
+        readBuffer.readByteArray(
+            "extraData", Math.toIntExact(extraDataLength), WithOption.WithEncoding("ASCII"));
 
     readBuffer.closeContext("OpenProtocolMessageApplicationGenericUnsubscribeRev1");
     // Create the instance
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageLastTighteningResultDataRev2.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageLastTighteningResultDataRev2.java
index adb8eb7a2e..df0ece06f6 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageLastTighteningResultDataRev2.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageLastTighteningResultDataRev2.java
@@ -958,7 +958,11 @@ public class OpenProtocolMessageLastTighteningResultDataRev2
         WithOption.WithEncoding("ASCII"));
 
     // Reserved Field (reserved)
-    writeReservedField("reserved", (short) 0x30, writeUnsignedShort(writeBuffer, 8));
+    writeReservedField(
+        "reserved",
+        (short) 0x30,
+        writeUnsignedShort(writeBuffer, 8),
+        WithOption.WithEncoding("ASCII"));
 
     // Simple Field (strategyOptions)
     writeSimpleField(
@@ -2198,7 +2202,11 @@ public class OpenProtocolMessageLastTighteningResultDataRev2
             WithOption.WithEncoding("ASCII"));
 
     Short reservedField0 =
-        readReservedField("reserved", readUnsignedShort(readBuffer, 8), (short) 0x30);
+        readReservedField(
+            "reserved",
+            readUnsignedShort(readBuffer, 8),
+            (short) 0x30,
+            WithOption.WithEncoding("ASCII"));
 
     long strategyOptions =
         readSimpleField(
@@ -2207,43 +2215,68 @@ public class OpenProtocolMessageLastTighteningResultDataRev2
         readVirtualField(
             "strategyOptionRbwMonitoring",
             boolean.class,
-            (((strategyOptions) & (0x0001))) == (0x0001));
+            (((strategyOptions) & (0x0001))) == (0x0001),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionClickWrench =
         readVirtualField(
             "strategyOptionClickWrench",
             boolean.class,
-            (((strategyOptions) & (0x0002))) == (0x0002));
+            (((strategyOptions) & (0x0002))) == (0x0002),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionDsControl =
         readVirtualField(
-            "strategyOptionDsControl", boolean.class, (((strategyOptions) & (0x0004))) == (0x0004));
+            "strategyOptionDsControl",
+            boolean.class,
+            (((strategyOptions) & (0x0004))) == (0x0004),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionCm =
         readVirtualField(
-            "strategyOptionCm", boolean.class, (((strategyOptions) & (0x0008))) == (0x0008));
+            "strategyOptionCm",
+            boolean.class,
+            (((strategyOptions) & (0x0008))) == (0x0008),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionRundown =
         readVirtualField(
-            "strategyOptionRundown", boolean.class, (((strategyOptions) & (0x0010))) == (0x0010));
+            "strategyOptionRundown",
+            boolean.class,
+            (((strategyOptions) & (0x0010))) == (0x0010),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionSelfTap =
         readVirtualField(
-            "strategyOptionSelfTap", boolean.class, (((strategyOptions) & (0x0020))) == (0x0020));
+            "strategyOptionSelfTap",
+            boolean.class,
+            (((strategyOptions) & (0x0020))) == (0x0020),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionPvtCompensate =
         readVirtualField(
             "strategyOptionPvtCompensate",
             boolean.class,
-            (((strategyOptions) & (0x0040))) == (0x0040));
+            (((strategyOptions) & (0x0040))) == (0x0040),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionPvtMonitoring =
         readVirtualField(
             "strategyOptionPvtMonitoring",
             boolean.class,
-            (((strategyOptions) & (0x0080))) == (0x0080));
+            (((strategyOptions) & (0x0080))) == (0x0080),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionBatch =
         readVirtualField(
-            "strategyOptionBatch", boolean.class, (((strategyOptions) & (0x0100))) == (0x0100));
+            "strategyOptionBatch",
+            boolean.class,
+            (((strategyOptions) & (0x0100))) == (0x0100),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionAngle =
         readVirtualField(
-            "strategyOptionAngle", boolean.class, (((strategyOptions) & (0x0200))) == (0x0200));
+            "strategyOptionAngle",
+            boolean.class,
+            (((strategyOptions) & (0x0200))) == (0x0200),
+            WithOption.WithEncoding("ASCII"));
     boolean strategyOptionTorque =
         readVirtualField(
-            "strategyOptionTorque", boolean.class, (((strategyOptions) & (0x0400))) == (0x0400));
+            "strategyOptionTorque",
+            boolean.class,
+            (((strategyOptions) & (0x0400))) == (0x0400),
+            WithOption.WithEncoding("ASCII"));
 
     int blockIdBatchSize =
         readConstField(
@@ -2408,193 +2441,225 @@ public class OpenProtocolMessageLastTighteningResultDataRev2
             "tighteningErrorStatusRundownAngleMaxShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 1));
+                tighteningErrorStatus, 1),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusRundownAngleMinShutOff =
         readVirtualField(
             "tighteningErrorStatusRundownAngleMinShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 2));
+                tighteningErrorStatus, 2),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusTorqueMaxShutOff =
         readVirtualField(
             "tighteningErrorStatusTorqueMaxShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 3));
+                tighteningErrorStatus, 3),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusAngleMaxShutOff =
         readVirtualField(
             "tighteningErrorStatusAngleMaxShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 4));
+                tighteningErrorStatus, 4),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusSelfTapTorqueMaxShutOff =
         readVirtualField(
             "tighteningErrorStatusSelfTapTorqueMaxShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 5));
+                tighteningErrorStatus, 5),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusSelfTapTorqueMinShutOff =
         readVirtualField(
             "tighteningErrorStatusSelfTapTorqueMinShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 6));
+                tighteningErrorStatus, 6),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusPrevailTorqueMaxShutOff =
         readVirtualField(
             "tighteningErrorStatusPrevailTorqueMaxShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 7));
+                tighteningErrorStatus, 7),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusPrevailTorqueMinShutOff =
         readVirtualField(
             "tighteningErrorStatusPrevailTorqueMinShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 8));
+                tighteningErrorStatus, 8),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusPrevailTorqueCompensateOverflow =
         readVirtualField(
             "tighteningErrorStatusPrevailTorqueCompensateOverflow",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 9));
+                tighteningErrorStatus, 9),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusCurrentMonitoringMaxShutOff =
         readVirtualField(
             "tighteningErrorStatusCurrentMonitoringMaxShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 10));
+                tighteningErrorStatus, 10),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusPostViewTorqueMinTorqueShutOff =
         readVirtualField(
             "tighteningErrorStatusPostViewTorqueMinTorqueShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 11));
+                tighteningErrorStatus, 11),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusPostViewTorqueMaxTorqueShutOff =
         readVirtualField(
             "tighteningErrorStatusPostViewTorqueMaxTorqueShutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 12));
+                tighteningErrorStatus, 12),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusPortViewTorqueAngleTooSmall =
         readVirtualField(
             "tighteningErrorStatusPortViewTorqueAngleTooSmall",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 13));
+                tighteningErrorStatus, 13),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusTriggerLost =
         readVirtualField(
             "tighteningErrorStatusTriggerLost",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 14));
+                tighteningErrorStatus, 14),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusTorqueLessThanTarget =
         readVirtualField(
             "tighteningErrorStatusTorqueLessThanTarget",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 15));
+                tighteningErrorStatus, 15),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusToolHot =
         readVirtualField(
             "tighteningErrorStatusToolHot",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 16));
+                tighteningErrorStatus, 16),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusMultistageAbort =
         readVirtualField(
             "tighteningErrorStatusMultistageAbort",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 17));
+                tighteningErrorStatus, 17),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusRehit =
         readVirtualField(
             "tighteningErrorStatusRehit",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 18));
+                tighteningErrorStatus, 18),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusDsMeasureFailed =
         readVirtualField(
             "tighteningErrorStatusDsMeasureFailed",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 19));
+                tighteningErrorStatus, 19),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusCurrentLimitReached =
         readVirtualField(
             "tighteningErrorStatusCurrentLimitReached",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 20));
+                tighteningErrorStatus, 20),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusEndTimeOutShutoff =
         readVirtualField(
             "tighteningErrorStatusEndTimeOutShutoff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 21));
+                tighteningErrorStatus, 21),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusRemoveFastenerLimitExceeded =
         readVirtualField(
             "tighteningErrorStatusRemoveFastenerLimitExceeded",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 22));
+                tighteningErrorStatus, 22),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusDisableDrive =
         readVirtualField(
             "tighteningErrorStatusDisableDrive",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 23));
+                tighteningErrorStatus, 23),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusTransducerLost =
         readVirtualField(
             "tighteningErrorStatusTransducerLost",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 24));
+                tighteningErrorStatus, 24),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusTransducerShorted =
         readVirtualField(
             "tighteningErrorStatusTransducerShorted",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 25));
+                tighteningErrorStatus, 25),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusTransducerCorrupt =
         readVirtualField(
             "tighteningErrorStatusTransducerCorrupt",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 26));
+                tighteningErrorStatus, 26),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusSyncTimeout =
         readVirtualField(
             "tighteningErrorStatusSyncTimeout",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 27));
+                tighteningErrorStatus, 27),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusDynamicCurrentMonitoringMin =
         readVirtualField(
             "tighteningErrorStatusDynamicCurrentMonitoringMin",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 28));
+                tighteningErrorStatus, 28),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusDynamicCurrentMonitoringMax =
         readVirtualField(
             "tighteningErrorStatusDynamicCurrentMonitoringMax",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 29));
+                tighteningErrorStatus, 29),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusAngleMaxMonitor =
         readVirtualField(
             "tighteningErrorStatusAngleMaxMonitor",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 30));
+                tighteningErrorStatus, 30),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusYieldNutOff =
         readVirtualField(
             "tighteningErrorStatusYieldNutOff",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 31));
+                tighteningErrorStatus, 31),
+            WithOption.WithEncoding("ASCII"));
     boolean tighteningErrorStatusYieldTooFewSamples =
         readVirtualField(
             "tighteningErrorStatusYieldTooFewSamples",
             boolean.class,
             org.apache.plc4x.java.openprotocol.readwrite.utils.StaticHelper.isBitSet(
-                tighteningErrorStatus, 32));
+                tighteningErrorStatus, 32),
+            WithOption.WithEncoding("ASCII"));
 
     int blockIdTorqueMinLimit =
         readConstField(
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/StageResult.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/StageResult.java
index 520ae23e8f..c61d7c64e2 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/StageResult.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/StageResult.java
@@ -61,18 +61,11 @@ public class StageResult implements Message {
     writeBuffer.pushContext("StageResult");
 
     // Simple Field (stageTorqueValue)
-    writeSimpleField(
-        "stageTorqueValue",
-        stageTorqueValue,
-        writeUnsignedLong(writeBuffer, 48),
-        WithOption.WithEncoding("ASCII"));
+    writeSimpleField("stageTorqueValue", stageTorqueValue, writeUnsignedLong(writeBuffer, 48));
 
     // Simple Field (stageTurningAngleValue)
     writeSimpleField(
-        "stageTurningAngleValue",
-        stageTurningAngleValue,
-        writeUnsignedLong(writeBuffer, 40),
-        WithOption.WithEncoding("ASCII"));
+        "stageTurningAngleValue", stageTurningAngleValue, writeUnsignedLong(writeBuffer, 40));
 
     writeBuffer.popContext("StageResult");
   }
@@ -102,15 +95,10 @@ public class StageResult implements Message {
     PositionAware positionAware = readBuffer;
     boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get();
 
-    long stageTorqueValue =
-        readSimpleField(
-            "stageTorqueValue", readUnsignedLong(readBuffer, 48), WithOption.WithEncoding("ASCII"));
+    long stageTorqueValue = readSimpleField("stageTorqueValue", readUnsignedLong(readBuffer, 48));
 
     long stageTurningAngleValue =
-        readSimpleField(
-            "stageTurningAngleValue",
-            readUnsignedLong(readBuffer, 40),
-            WithOption.WithEncoding("ASCII"));
+        readSimpleField("stageTurningAngleValue", readUnsignedLong(readBuffer, 40));
 
     readBuffer.closeContext("StageResult");
     // Create the instance
diff --git a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/VariableDataField.java b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/VariableDataField.java
index a8ca433807..61a1857ddf 100644
--- a/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/VariableDataField.java
+++ b/plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/VariableDataField.java
@@ -80,36 +80,24 @@ public class VariableDataField implements Message {
     writeBuffer.pushContext("VariableDataField");
 
     // Simple Field (parameterId)
-    writeSimpleField(
-        "parameterId",
-        parameterId,
-        writeUnsignedLong(writeBuffer, 40),
-        WithOption.WithEncoding("ASCII"));
+    writeSimpleField("parameterId", parameterId, writeUnsignedLong(writeBuffer, 40));
 
     // Implicit Field (length) (Used for parsing, but its value is not stored as it's implicitly
     // given by the objects content)
     int length = (int) (COUNT(getDataValue()));
-    writeImplicitField(
-        "length", length, writeUnsignedInt(writeBuffer, 24), WithOption.WithEncoding("ASCII"));
+    writeImplicitField("length", length, writeUnsignedInt(writeBuffer, 24));
 
     // Simple Field (dataType)
-    writeSimpleField(
-        "dataType", dataType, writeUnsignedInt(writeBuffer, 16), WithOption.WithEncoding("ASCII"));
+    writeSimpleField("dataType", dataType, writeUnsignedInt(writeBuffer, 16));
 
     // Simple Field (unit)
-    writeSimpleField(
-        "unit", unit, writeUnsignedInt(writeBuffer, 24), WithOption.WithEncoding("ASCII"));
+    writeSimpleField("unit", unit, writeUnsignedInt(writeBuffer, 24));
 
     // Simple Field (stepNumber)
-    writeSimpleField(
-        "stepNumber",
-        stepNumber,
-        writeUnsignedInt(writeBuffer, 24),
-        WithOption.WithEncoding("ASCII"));
+    writeSimpleField("stepNumber", stepNumber, writeUnsignedInt(writeBuffer, 24));
 
     // Array Field (dataValue)
-    writeByteArrayField(
-        "dataValue", dataValue, writeByteArray(writeBuffer, 8), WithOption.WithEncoding("ASCII"));
+    writeByteArrayField("dataValue", dataValue, writeByteArray(writeBuffer, 8));
 
     writeBuffer.popContext("VariableDataField");
   }
@@ -153,28 +141,17 @@ public class VariableDataField implements Message {
     PositionAware positionAware = readBuffer;
     boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get();
 
-    long parameterId =
-        readSimpleField(
-            "parameterId", readUnsignedLong(readBuffer, 40), WithOption.WithEncoding("ASCII"));
+    long parameterId = readSimpleField("parameterId", readUnsignedLong(readBuffer, 40));
 
-    int length =
-        readImplicitField(
-            "length", readUnsignedInt(readBuffer, 24), WithOption.WithEncoding("ASCII"));
+    int length = readImplicitField("length", readUnsignedInt(readBuffer, 24));
 
-    int dataType =
-        readSimpleField(
-            "dataType", readUnsignedInt(readBuffer, 16), WithOption.WithEncoding("ASCII"));
+    int dataType = readSimpleField("dataType", readUnsignedInt(readBuffer, 16));
 
-    int unit =
-        readSimpleField("unit", readUnsignedInt(readBuffer, 24), WithOption.WithEncoding("ASCII"));
+    int unit = readSimpleField("unit", readUnsignedInt(readBuffer, 24));
 
-    int stepNumber =
-        readSimpleField(
-            "stepNumber", readUnsignedInt(readBuffer, 24), WithOption.WithEncoding("ASCII"));
+    int stepNumber = readSimpleField("stepNumber", readUnsignedInt(readBuffer, 24));
 
-    byte[] dataValue =
-        readBuffer.readByteArray(
-            "dataValue", Math.toIntExact(length), WithOption.WithEncoding("ASCII"));
+    byte[] dataValue = readBuffer.readByteArray("dataValue", Math.toIntExact(length));
 
     readBuffer.closeContext("VariableDataField");
     // Create the instance
diff --git a/protocols/open-protocol/src/main/resources/protocols/openprotocol/open-protocol.mspec b/protocols/open-protocol/src/main/resources/protocols/openprotocol/open-protocol.mspec
index b6151f3420..23bed32894 100644
--- a/protocols/open-protocol/src/main/resources/protocols/openprotocol/open-protocol.mspec
+++ b/protocols/open-protocol/src/main/resources/protocols/openprotocol/open-protocol.mspec
@@ -24,134 +24,134 @@
     [const          uint 16     tcpDefaultPort 4545]
 ]
 
-[discriminatedType OpenProtocolMessage(uint 24 revision)
-    [implicit      uint 32              length               'lengthInBytes - 1'                encoding='"ASCII"'                      ]
-    [discriminator Mid                  mid                                                     encoding='"ASCII"'                      ]
-    [optional      uint 24              midRevision                                             encoding='"ASCII"' nullBytesHex='202020']
-    [optional      uint 8               noAckFlag                                               encoding='"ASCII"' nullBytesHex='20'    ]
-    [optional      uint 16              targetStationId                                         encoding='"ASCII"' nullBytesHex='2020'  ]
-    [optional      uint 16              targetSpindleId                                         encoding='"ASCII"' nullBytesHex='2020'  ]
-    [optional      uint 16              sequenceNumber                                          encoding='"ASCII"' nullBytesHex='2020'  ]
-    [optional      uint 8               numberOfMessageParts                                    encoding='"ASCII"' nullBytesHex='20'    ]
-    [optional      uint 8               messagePartNumber                                       encoding='"ASCII"' nullBytesHex='20'    ]
+[discriminatedType OpenProtocolMessage(uint 24 revision)                                              encoding='"ASCII"'
+    [implicit      uint 32              length               'lengthInBytes - 1'                                       ]
+    [discriminator Mid                  mid                                                                            ]
+    [optional      uint 24              midRevision                                               nullBytesHex='202020']
+    [optional      uint 8               noAckFlag                                                 nullBytesHex='20'    ]
+    [optional      uint 16              targetStationId                                           nullBytesHex='2020'  ]
+    [optional      uint 16              targetSpindleId                                           nullBytesHex='2020'  ]
+    [optional      uint 16              sequenceNumber                                            nullBytesHex='2020'  ]
+    [optional      uint 8               numberOfMessageParts                                      nullBytesHex='20'    ]
+    [optional      uint 8               messagePartNumber                                         nullBytesHex='20'    ]
     [typeSwitch mid
         ['ApplicationCommunicationStart' *ApplicationCommunicationStart
         ]
         ['ApplicationCommunicationStartAcknowledge' *ApplicationCommunicationStartAcknowledge
             [typeSwitch revision
                 ['1' *Rev1
-                    [const    uint   16  blockIdCellId                    1    encoding='"ASCII"']
-                    [simple   uint   32  cellId                                encoding='"ASCII"']
-                    [const    uint   16  blockIdChannelId                 2    encoding='"ASCII"']
-                    [simple   uint   16  channelId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerName            3    encoding='"ASCII"']
-                    [simple   string 200 controllerName                        encoding='"ASCII"']
+                    [const    uint   16  blockIdCellId                    1                                            ]
+                    [simple   uint   32  cellId                                                                        ]
+                    [const    uint   16  blockIdChannelId                 2                                            ]
+                    [simple   uint   16  channelId                                                                     ]
+                    [const    uint   16  blockIdControllerName            3                                            ]
+                    [simple   string 200 controllerName                                                                ]
                 ]
                 ['2' *Rev2
-                    [const    uint   16  blockIdCellId                    1    encoding='"ASCII"']
-                    [simple   uint   32  cellId                                encoding='"ASCII"']
-                    [const    uint   16  blockIdChannelId                 2    encoding='"ASCII"']
-                    [simple   uint   16  channelId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerName            3    encoding='"ASCII"']
-                    [simple   string 200 controllerName                        encoding='"ASCII"']
-                    [const    uint   16  blockIdSupplierCode              4    encoding='"ASCII"']
-                    [simple   uint   24  supplierCode                          encoding='"ASCII"']
+                    [const    uint   16  blockIdCellId                    1                                            ]
+                    [simple   uint   32  cellId                                                                        ]
+                    [const    uint   16  blockIdChannelId                 2                                            ]
+                    [simple   uint   16  channelId                                                                     ]
+                    [const    uint   16  blockIdControllerName            3                                            ]
+                    [simple   string 200 controllerName                                                                ]
+                    [const    uint   16  blockIdSupplierCode              4                                            ]
+                    [simple   uint   24  supplierCode                                                                  ]
                 ]
                 ['3' *Rev3
-                    [const    uint   16  blockIdCellId                    1    encoding='"ASCII"']
-                    [simple   uint   32  cellId                                encoding='"ASCII"']
-                    [const    uint   16  blockIdChannelId                 2    encoding='"ASCII"']
-                    [simple   uint   16  channelId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerName            3    encoding='"ASCII"']
-                    [simple   string 200 controllerName                        encoding='"ASCII"']
-                    [const    uint   16  blockIdSupplierCode              4    encoding='"ASCII"']
-                    [simple   uint   24  supplierCode                          encoding='"ASCII"']
-                    [const    uint   16  blockIdOpenProtocolVersion       5    encoding='"ASCII"']
-                    [simple   string 152 openProtocolVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSoftwareVersion 6    encoding='"ASCII"']
-                    [simple   string 152 controllerSoftwareVersion             encoding='"ASCII"']
-                    [const    uint   16  blockIdToolSoftwareVersion       7    encoding='"ASCII"']
-                    [simple   string 152 toolSoftwareVersion                   encoding='"ASCII"']
+                    [const    uint   16  blockIdCellId                    1                                            ]
+                    [simple   uint   32  cellId                                                                        ]
+                    [const    uint   16  blockIdChannelId                 2                                            ]
+                    [simple   uint   16  channelId                                                                     ]
+                    [const    uint   16  blockIdControllerName            3                                            ]
+                    [simple   string 200 controllerName                                                                ]
+                    [const    uint   16  blockIdSupplierCode              4                                            ]
+                    [simple   uint   24  supplierCode                                                                  ]
+                    [const    uint   16  blockIdOpenProtocolVersion       5                                            ]
+                    [simple   string 152 openProtocolVersion                                                           ]
+                    [const    uint   16  blockIdControllerSoftwareVersion 6                                            ]
+                    [simple   string 152 controllerSoftwareVersion                                                     ]
+                    [const    uint   16  blockIdToolSoftwareVersion       7                                            ]
+                    [simple   string 152 toolSoftwareVersion                                                           ]
                 ]
                 ['4' *Rev4
-                    [const    uint   16  blockIdCellId                    1    encoding='"ASCII"']
-                    [simple   uint   32  cellId                                encoding='"ASCII"']
-                    [const    uint   16  blockIdChannelId                 2    encoding='"ASCII"']
-                    [simple   uint   16  channelId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerName            3    encoding='"ASCII"']
-                    [simple   string 200 controllerName                        encoding='"ASCII"']
-                    [const    uint   16  blockIdSupplierCode              4    encoding='"ASCII"']
-                    [simple   uint   24  supplierCode                          encoding='"ASCII"']
-                    [const    uint   16  blockIdOpenProtocolVersion       5    encoding='"ASCII"']
-                    [simple   string 152 openProtocolVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSoftwareVersion 6    encoding='"ASCII"']
-                    [simple   string 152 controllerSoftwareVersion             encoding='"ASCII"']
-                    [const    uint   16  blockIdToolSoftwareVersion       7    encoding='"ASCII"']
-                    [simple   string 152 toolSoftwareVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdRbuType                   8    encoding='"ASCII"']
-                    [simple   string 192 rbuType                               encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSerialNumber    9    encoding='"ASCII"']
-                    [simple   string 80  controllerSerialNumber                encoding='"ASCII"']
+                    [const    uint   16  blockIdCellId                    1                                            ]
+                    [simple   uint   32  cellId                                                                        ]
+                    [const    uint   16  blockIdChannelId                 2                                            ]
+                    [simple   uint   16  channelId                                                                     ]
+                    [const    uint   16  blockIdControllerName            3                                            ]
+                    [simple   string 200 controllerName                                                                ]
+                    [const    uint   16  blockIdSupplierCode              4                                            ]
+                    [simple   uint   24  supplierCode                                                                  ]
+                    [const    uint   16  blockIdOpenProtocolVersion       5                                            ]
+                    [simple   string 152 openProtocolVersion                                                           ]
+                    [const    uint   16  blockIdControllerSoftwareVersion 6                                            ]
+                    [simple   string 152 controllerSoftwareVersion                                                     ]
+                    [const    uint   16  blockIdToolSoftwareVersion       7                                            ]
+                    [simple   string 152 toolSoftwareVersion                                                           ]
+                    [const    uint   16  blockIdRbuType                   8                                            ]
+                    [simple   string 192 rbuType                                                                       ]
+                    [const    uint   16  blockIdControllerSerialNumber    9                                            ]
+                    [simple   string 80  controllerSerialNumber                                                        ]
                 ]
                 ['5' *Rev5
-                    [const    uint   16  blockIdCellId                    1    encoding='"ASCII"']
-                    [simple   uint   32  cellId                                encoding='"ASCII"']
-                    [const    uint   16  blockIdChannelId                 2    encoding='"ASCII"']
-                    [simple   uint   16  channelId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerName            3    encoding='"ASCII"']
-                    [simple   string 200 controllerName                        encoding='"ASCII"']
-                    [const    uint   16  blockIdSupplierCode              4    encoding='"ASCII"']
-                    [simple   uint   24  supplierCode                          encoding='"ASCII"']
-                    [const    uint   16  blockIdOpenProtocolVersion       5    encoding='"ASCII"']
-                    [simple   string 152 openProtocolVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSoftwareVersion 6    encoding='"ASCII"']
-                    [simple   string 152 controllerSoftwareVersion             encoding='"ASCII"']
-                    [const    uint   16  blockIdToolSoftwareVersion       7    encoding='"ASCII"']
-                    [simple   string 152 toolSoftwareVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdRbuType                   8    encoding='"ASCII"']
-                    [simple   string 192 rbuType                               encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSerialNumber    9    encoding='"ASCII"']
-                    [simple   string 80  controllerSerialNumber                encoding='"ASCII"']
-                    [const    uint   16  blockIdSystemType                10   encoding='"ASCII"']
-                    [simple   string 24  systemType                            encoding='"ASCII"']
-                    [const    uint   16  blockIdSystemSubtype             11   encoding='"ASCII"']
-                    [simple   string 24  systemSubtype                         encoding='"ASCII"']
+                    [const    uint   16  blockIdCellId                    1                                            ]
+                    [simple   uint   32  cellId                                                                        ]
+                    [const    uint   16  blockIdChannelId                 2                                            ]
+                    [simple   uint   16  channelId                                                                     ]
+                    [const    uint   16  blockIdControllerName            3                                            ]
+                    [simple   string 200 controllerName                                                                ]
+                    [const    uint   16  blockIdSupplierCode              4                                            ]
+                    [simple   uint   24  supplierCode                                                                  ]
+                    [const    uint   16  blockIdOpenProtocolVersion       5                                            ]
+                    [simple   string 152 openProtocolVersion                                                           ]
+                    [const    uint   16  blockIdControllerSoftwareVersion 6                                            ]
+                    [simple   string 152 controllerSoftwareVersion                                                     ]
+                    [const    uint   16  blockIdToolSoftwareVersion       7                                            ]
+                    [simple   string 152 toolSoftwareVersion                                                           ]
+                    [const    uint   16  blockIdRbuType                   8                                            ]
+                    [simple   string 192 rbuType                                                                       ]
+                    [const    uint   16  blockIdControllerSerialNumber    9                                            ]
+                    [simple   string 80  controllerSerialNumber                                                        ]
+                    [const    uint   16  blockIdSystemType                10                                           ]
+                    [simple   string 24  systemType                                                                    ]
+                    [const    uint   16  blockIdSystemSubtype             11                                           ]
+                    [simple   string 24  systemSubtype                                                                 ]
                 ]
                 ['6' *Rev6
-                    [const    uint   16  blockIdCellId                    1    encoding='"ASCII"']
-                    [simple   uint   32  cellId                                encoding='"ASCII"']
-                    [const    uint   16  blockIdChannelId                 2    encoding='"ASCII"']
-                    [simple   uint   16  channelId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerName            3    encoding='"ASCII"']
-                    [simple   string 200 controllerName                        encoding='"ASCII"']
-                    [const    uint   16  blockIdSupplierCode              4    encoding='"ASCII"']
-                    [simple   uint   24  supplierCode                          encoding='"ASCII"']
-                    [const    uint   16  blockIdOpenProtocolVersion       5    encoding='"ASCII"']
-                    [simple   string 152 openProtocolVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSoftwareVersion 6    encoding='"ASCII"']
-                    [simple   string 152 controllerSoftwareVersion             encoding='"ASCII"']
-                    [const    uint   16  blockIdToolSoftwareVersion       7    encoding='"ASCII"']
-                    [simple   string 152 toolSoftwareVersion                   encoding='"ASCII"']
-                    [const    uint   16  blockIdRbuType                   8    encoding='"ASCII"']
-                    [simple   string 192 rbuType                               encoding='"ASCII"']
-                    [const    uint   16  blockIdControllerSerialNumber    9    encoding='"ASCII"']
-                    [simple   string 80  controllerSerialNumber                encoding='"ASCII"']
-                    [const    uint   16  blockIdSystemType                10   encoding='"ASCII"']
-                    [simple   string 24  systemType                            encoding='"ASCII"']
-                    [const    uint   16  blockIdSystemSubtype             11   encoding='"ASCII"']
-                    [simple   string 24  systemSubtype                         encoding='"ASCII"']
-                    [const    uint   16  blockIdSequenceNumberSupport     12   encoding='"ASCII"']
-                    [reserved uint   7   '0x00'                                                  ]
-                    [simple   bit        sequenceNumberSupport                                   ]
-                    [const    uint   16  blockIdLinkingHandlingSupport    13   encoding='"ASCII"']
-                    [reserved uint   7   '0x00'                                                  ]
-                    [simple   bit        linkingHandlingSupport                                  ]
-                    [const    uint   16  blockIdStationId                 14   encoding='"ASCII"']
-                    [simple   string 80  stationId                             encoding='"ASCII"']
-                    [const    uint   16  blockIdStationName               15   encoding='"ASCII"']
-                    [simple   string 200 stationName                           encoding='"ASCII"']
-                    [const    uint   16  blockIdClientId                  16   encoding='"ASCII"']
-                    [simple   uint   8   clientId                              encoding='"ASCII"']
+                    [const    uint   16  blockIdCellId                    1                                            ]
+                    [simple   uint   32  cellId                                                                        ]
+                    [const    uint   16  blockIdChannelId                 2                                            ]
+                    [simple   uint   16  channelId                                                                     ]
+                    [const    uint   16  blockIdControllerName            3                                            ]
+                    [simple   string 200 controllerName                                                                ]
+                    [const    uint   16  blockIdSupplierCode              4                                            ]
+                    [simple   uint   24  supplierCode                                                                  ]
+                    [const    uint   16  blockIdOpenProtocolVersion       5                                            ]
+                    [simple   string 152 openProtocolVersion                                                           ]
+                    [const    uint   16  blockIdControllerSoftwareVersion 6                                            ]
+                    [simple   string 152 controllerSoftwareVersion                                                     ]
+                    [const    uint   16  blockIdToolSoftwareVersion       7                                            ]
+                    [simple   string 152 toolSoftwareVersion                                                           ]
+                    [const    uint   16  blockIdRbuType                   8                                            ]
+                    [simple   string 192 rbuType                                                                       ]
+                    [const    uint   16  blockIdControllerSerialNumber    9                                            ]
+                    [simple   string 80  controllerSerialNumber                                                        ]
+                    [const    uint   16  blockIdSystemType                10                                           ]
+                    [simple   string 24  systemType                                                                    ]
+                    [const    uint   16  blockIdSystemSubtype             11                                           ]
+                    [simple   string 24  systemSubtype                                                                 ]
+                    [const    uint   16  blockIdSequenceNumberSupport     12                                           ]
+                    [reserved uint   7   '0x00'                                                                        ]
+                    [simple   bit        sequenceNumberSupport                                                         ]
+                    [const    uint   16  blockIdLinkingHandlingSupport    13                                           ]
+                    [reserved uint   7   '0x00'                                                                        ]
+                    [simple   bit        linkingHandlingSupport                                                        ]
+                    [const    uint   16  blockIdStationId                 14                                           ]
+                    [simple   string 80  stationId                                                                     ]
+                    [const    uint   16  blockIdStationName               15                                           ]
+                    [simple   string 200 stationName                                                                   ]
+                    [const    uint   16  blockIdClientId                  16                                           ]
+                    [simple   uint   8   clientId                                                                      ]
                 ]
             ]
         ]
@@ -160,45 +160,45 @@
         ['ApplicationCommandError'      *ApplicationCommandError
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple Mid            requestMid                                           encoding='"ASCII"']
-                    [simple ApplicationCommunicationError error                                 encoding='"ASCII"']
+                    [simple Mid            requestMid                                                                  ]
+                    [simple ApplicationCommunicationError error                                                        ]
                 ]
             ]
         ]
         ['ApplicationCommandAccepted'   *ApplicationCommandAccepted
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple Mid            midNumberAccepted                                    encoding='"ASCII"']
+                    [simple Mid            midNumberAccepted                                                           ]
                 ]
             ]
         ]
         ['ApplicationGenericDataRequest' *ApplicationGenericDataRequest
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   Mid                  requestMid                                           encoding='"ASCII"']
-                    [simple   uint 24              wantedRevision                                       encoding='"ASCII"']
-                    [implicit uint 16              extraDataLength 'COUNT(extraData)'                   encoding='"ASCII"']
-                    [array    byte                 extraData       count 'extraDataLength'                                ]
+                    [simple   Mid                  requestMid                                                          ]
+                    [simple   uint 24              wantedRevision                                                      ]
+                    [implicit uint 16              extraDataLength 'COUNT(extraData)'                                  ]
+                    [array    byte                 extraData       count 'extraDataLength'                             ]
                 ]
             ]
         ]
         ['ApplicationGenericSubscription' *ApplicationGenericSubscription
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   Mid                  subscriptionMid                                      encoding='"ASCII"']
-                    [simple   uint 24              wantedRevision                                       encoding='"ASCII"']
-                    [implicit uint 16              extraDataLength 'COUNT(extraData)'                   encoding='"ASCII"']
-                    [array    byte                 extraData       count 'extraDataLength'                                ]
+                    [simple   Mid                  subscriptionMid                                                     ]
+                    [simple   uint 24              wantedRevision                                                      ]
+                    [implicit uint 16              extraDataLength 'COUNT(extraData)'                                  ]
+                    [array    byte                 extraData       count 'extraDataLength'                             ]
                 ]
             ]
         ]
         ['ApplicationGenericUnsubscribe' *ApplicationGenericUnsubscribe
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   Mid                  subscriptionMid                                      encoding='"ASCII"']
-                    [simple   uint 24              extraDataRevision                                    encoding='"ASCII"']
-                    [implicit uint 16              extraDataLength 'COUNT(extraData)'                   encoding='"ASCII"']
-                    [array    byte                 extraData       count 'extraDataLength'                                ]
+                    [simple   Mid                  subscriptionMid                                                     ]
+                    [simple   uint 24              extraDataRevision                                                   ]
+                    [implicit uint 16              extraDataLength 'COUNT(extraData)'                                  ]
+                    [array    byte                 extraData       count 'extraDataLength'                             ]
                 ]
             ]
         ]
@@ -211,29 +211,29 @@
         ['ParameterSetIdUploadReply' *ParameterSetIdUploadReply
             [typeSwitch revision
                 ['1' *Rev1
-                    [implicit uint 24                numParameters      'COUNT(parameters)'             encoding='"ASCII"']
-                    [array    uint 24                parameters         count 'numParameters'           encoding='"ASCII"']
+                    [implicit uint 24                numParameters      'COUNT(parameters)'                            ]
+                    [array    uint 24                parameters         count 'numParameters'                          ]
                 ]
                 ['2' *Rev2
-                    [implicit uint 24                numParameters      'COUNT(parameters)'             encoding='"ASCII"']
-                    [array    uint 24                parameters         count 'numParameters'           encoding='"ASCII"']
-                    [array    uint 16                numberOfCycles     count 'numParameters'           encoding='"ASCII"']
+                    [implicit uint 24                numParameters      'COUNT(parameters)'                            ]
+                    [array    uint 24                parameters         count 'numParameters'                          ]
+                    [array    uint 16                numberOfCycles     count 'numParameters'                          ]
                 ]
                 ['3' *Rev3
-                    [implicit uint 24                numParameters      'COUNT(parameters)'             encoding='"ASCII"']
-                    [array    uint 24                parameters         count 'numParameters'           encoding='"ASCII"']
-                    [array    uint 16                numberOfCycles     count 'numParameters'           encoding='"ASCII"']
-                    [array    uint 32                typeOfProgram      count 'numParameters'           encoding='"ASCII"']
+                    [implicit uint 24                numParameters      'COUNT(parameters)'                            ]
+                    [array    uint 24                parameters         count 'numParameters'                          ]
+                    [array    uint 16                numberOfCycles     count 'numParameters'                          ]
+                    [array    uint 32                typeOfProgram      count 'numParameters'                          ]
                 ]
             ]
         ]
         ['ParameterSetDataUploadRequest' *ParameterSetDataUploadRequest
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint 24                parameterSetId                                     encoding='"ASCII"']
+                    [simple   uint 24                parameterSetId                                                    ]
                 ]
                 ['2' *Rev2
-                    [simple   uint 24                parameterSetId                                     encoding='"ASCII"']
+                    [simple   uint 24                parameterSetId                                                    ]
                 ]
                 // Note Rev 3 & 4 are Toyota specific
                 // If Toyota had the money and the power to get these updates into the spec,
@@ -243,52 +243,52 @@
         ['ParameterSetDataUploadReply' *ParameterSetDataUploadReply
             [typeSwitch revision
                 ['1' *Rev1
-                    [const    uint   16  blockIdParameterSetId    1    encoding='"ASCII"']
-                    [simple   uint   24  parameterSetId                encoding='"ASCII"']
-                    [const    uint   16  blockIdParameterSetName  2    encoding='"ASCII"']
-                    [simple   string 200 parameterSetName              encoding='"ASCII"']
-                    [const    uint   16  blockIdRotationDirection 3    encoding='"ASCII"']
-                    [simple   RotationDirection rotationDirection      encoding='"ASCII"']
-                    [const    uint   16  blockIdBatchSize         4    encoding='"ASCII"']
-                    [simple   uint   16  batchSize                     encoding='"ASCII"']
-                    [const    uint   16  blockIdTorqueMin         5    encoding='"ASCII"']
-                    [simple   uint   48  torqueMin                     encoding='"ASCII"']
-                    [const    uint   16  blockIdTorqueMax         6    encoding='"ASCII"']
-                    [simple   uint   48  torqueMax                     encoding='"ASCII"']
-                    [const    uint   16  blockIdTorqueFinalTarget 7    encoding='"ASCII"']
-                    [simple   uint   48  torqueFinalTarget             encoding='"ASCII"']
-                    [const    uint   16  blockIdAngleMin          8    encoding='"ASCII"']
-                    [simple   uint   40  angleMin                      encoding='"ASCII"']
-                    [const    uint   16  blockIdAngleMax          9    encoding='"ASCII"']
-                    [simple   uint   40  angleMax                      encoding='"ASCII"']
-                    [const    uint   16  blockIdFinalAngleTarget  10   encoding='"ASCII"']
-                    [simple   uint   40  finalAngleTarget              encoding='"ASCII"']
+                    [const    uint   16  blockIdParameterSetId    1                                                    ]
+                    [simple   uint   24  parameterSetId                                                                ]
+                    [const    uint   16  blockIdParameterSetName  2                                                    ]
+                    [simple   string 200 parameterSetName                                                              ]
+                    [const    uint   16  blockIdRotationDirection 3                                                    ]
+                    [simple   RotationDirection rotationDirection                                                      ]
+                    [const    uint   16  blockIdBatchSize         4                                                    ]
+                    [simple   uint   16  batchSize                                                                     ]
+                    [const    uint   16  blockIdTorqueMin         5                                                    ]
+                    [simple   uint   48  torqueMin                                                                     ]
+                    [const    uint   16  blockIdTorqueMax         6                                                    ]
+                    [simple   uint   48  torqueMax                                                                     ]
+                    [const    uint   16  blockIdTorqueFinalTarget 7                                                    ]
+                    [simple   uint   48  torqueFinalTarget                                                             ]
+                    [const    uint   16  blockIdAngleMin          8                                                    ]
+                    [simple   uint   40  angleMin                                                                      ]
+                    [const    uint   16  blockIdAngleMax          9                                                    ]
+                    [simple   uint   40  angleMax                                                                      ]
+                    [const    uint   16  blockIdFinalAngleTarget  10                                                   ]
+                    [simple   uint   40  finalAngleTarget                                                              ]
                 ]
                 ['2' *Rev2
-                    [const    uint   16  blockIdParameterSetId    1    encoding='"ASCII"']
-                    [simple   uint   24  parameterSetId                encoding='"ASCII"']
-                    [const    uint   16  blockIdParameterSetName  2    encoding='"ASCII"']
-                    [simple   string 200 parameterSetName              encoding='"ASCII"']
-                    [const    uint   16  blockIdRotationDirection 3    encoding='"ASCII"']
-                    [simple   RotationDirection rotationDirection      encoding='"ASCII"']
-                    [const    uint   16  blockIdBatchSize         4    encoding='"ASCII"']
-                    [simple   uint   16  batchSize                     encoding='"ASCII"']
-                    [const    uint   16  blockIdTorqueMin         5    encoding='"ASCII"']
-                    [simple   uint   48  torqueMin                     encoding='"ASCII"']
-                    [const    uint   16  blockIdTorqueMax         6    encoding='"ASCII"']
-                    [simple   uint   48  torqueMax                     encoding='"ASCII"']
-                    [const    uint   16  blockIdTorqueFinalTarget 7    encoding='"ASCII"']
-                    [simple   uint   48  torqueFinalTarget             encoding='"ASCII"']
-                    [const    uint   16  blockIdAngleMin          8    encoding='"ASCII"']
-                    [simple   uint   40  angleMin                      encoding='"ASCII"']
-                    [const    uint   16  blockIdAngleMax          9    encoding='"ASCII"']
-                    [simple   uint   40  angleMax                      encoding='"ASCII"']
-                    [const    uint   16  blockIdFinalAngleTarget  10   encoding='"ASCII"']
-                    [simple   uint   40  finalAngleTarget              encoding='"ASCII"']
-                    [const    uint   16  blockIdFirstTarget       11   encoding='"ASCII"']
-                    [simple   uint   48  firstTarget                   encoding='"ASCII"']
-                    [const    uint   16  blockIdStartFinalAngle   12   encoding='"ASCII"']
-                    [simple   uint   48  startFinalAngle               encoding='"ASCII"']
+                    [const    uint   16  blockIdParameterSetId    1                                                    ]
+                    [simple   uint   24  parameterSetId                                                                ]
+                    [const    uint   16  blockIdParameterSetName  2                                                    ]
+                    [simple   string 200 parameterSetName                                                              ]
+                    [const    uint   16  blockIdRotationDirection 3                                                    ]
+                    [simple   RotationDirection rotationDirection                                                      ]
+                    [const    uint   16  blockIdBatchSize         4                                                    ]
+                    [simple   uint   16  batchSize                                                                     ]
+                    [const    uint   16  blockIdTorqueMin         5                                                    ]
+                    [simple   uint   48  torqueMin                                                                     ]
+                    [const    uint   16  blockIdTorqueMax         6                                                    ]
+                    [simple   uint   48  torqueMax                                                                     ]
+                    [const    uint   16  blockIdTorqueFinalTarget 7                                                    ]
+                    [simple   uint   48  torqueFinalTarget                                                             ]
+                    [const    uint   16  blockIdAngleMin          8                                                    ]
+                    [simple   uint   40  angleMin                                                                      ]
+                    [const    uint   16  blockIdAngleMax          9                                                    ]
+                    [simple   uint   40  angleMax                                                                      ]
+                    [const    uint   16  blockIdFinalAngleTarget  10                                                   ]
+                    [simple   uint   40  finalAngleTarget                                                              ]
+                    [const    uint   16  blockIdFirstTarget       11                                                   ]
+                    [simple   uint   48  firstTarget                                                                   ]
+                    [const    uint   16  blockIdStartFinalAngle   12                                                   ]
+                    [simple   uint   48  startFinalAngle                                                               ]
                 ]
                 // Note Rev 3 & 4 are Toyota specific
                 // If Toyota had the money and the power to get these updates into the spec,
@@ -304,36 +304,36 @@
         ['ParameterSetSelected' *ParameterSetSelected
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   24  parameterSetId                encoding='"ASCII"']
-                    [simple   string 152 dateOfLastChangeInParameterSetSetting encoding='"ASCII"']
+                    [simple   uint   24  parameterSetId                                                                ]
+                    [simple   string 152 dateOfLastChangeInParameterSetSetting                                         ]
                 ]
                 ['2' *Rev2
-                    [const    uint   16         blockIdParameterSetId    1     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetId                 encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName  2     encoding='"ASCII"']
-                    [simple   string 200        parameterSetName               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateOfLastChangeInParameterSetSetting  3    encoding='"ASCII"']
-                    [simple   string 152        dateOfLastChangeInParameterSetSetting              encoding='"ASCII"']
-                    [const    uint   16         blockIdRotationDirection 4     encoding='"ASCII"']
-                    [simple   RotationDirection rotationDirection              encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchSize         5     encoding='"ASCII"']
-                    [simple   uint   16         batchSize                      encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMin         6     encoding='"ASCII"']
-                    [simple   uint   48         torqueMin                      encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMax         7     encoding='"ASCII"']
-                    [simple   uint   48         torqueMax                      encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget 8     encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget              encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin          9     encoding='"ASCII"']
-                    [simple   uint   40         angleMin                       encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax          10    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                       encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget  11    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget               encoding='"ASCII"']
-                    [const    uint   16         blockIdFirstTarget       12    encoding='"ASCII"']
-                    [simple   uint   48         firstTarget                    encoding='"ASCII"']
-                    [const    uint   16         blockIdStartFinalAngle   13    encoding='"ASCII"']
-                    [simple   uint   48         startFinalAngle                encoding='"ASCII"']
+                    [const    uint   16         blockIdParameterSetId    1                                             ]
+                    [simple   uint   24         parameterSetId                                                         ]
+                    [const    uint   16         blockIdParameterSetName  2                                             ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdDateOfLastChangeInParameterSetSetting  3                        ]
+                    [simple   string 152        dateOfLastChangeInParameterSetSetting                                  ]
+                    [const    uint   16         blockIdRotationDirection 4                                             ]
+                    [simple   RotationDirection rotationDirection                                                      ]
+                    [const    uint   16         blockIdBatchSize         5                                             ]
+                    [simple   uint   16         batchSize                                                              ]
+                    [const    uint   16         blockIdTorqueMin         6                                             ]
+                    [simple   uint   48         torqueMin                                                              ]
+                    [const    uint   16         blockIdTorqueMax         7                                             ]
+                    [simple   uint   48         torqueMax                                                              ]
+                    [const    uint   16         blockIdTorqueFinalTarget 8                                             ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdAngleMin          9                                             ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax          10                                            ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget  11                                            ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdFirstTarget       12                                            ]
+                    [simple   uint   48         firstTarget                                                            ]
+                    [const    uint   16         blockIdStartFinalAngle   13                                            ]
+                    [simple   uint   48         startFinalAngle                                                        ]
                 ]
             ]
         ]
@@ -352,22 +352,22 @@
         ['SelectParameterSet' *SelectParameterSet
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   24         parameterSetId                 encoding='"ASCII"']
+                    [simple   uint   24         parameterSetId                                                         ]
                 ]
             ]
         ]
         ['SetParameterSetBatchSize' *SetParameterSetBatchSize
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   24         parameterSetId                 encoding='"ASCII"']
-                    [simple   uint   16         batchSize                      encoding='"ASCII"']
+                    [simple   uint   24         parameterSetId                                                         ]
+                    [simple   uint   16         batchSize                                                              ]
                 ]
             ]
         ]
         ['ResetParameterSetBatchCounter' *ResetParameterSetBatchCounter
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   24         parameterSetId                 encoding='"ASCII"']
+                    [simple   uint   24         parameterSetId                                                         ]
                 ]
             ]
         ]
@@ -380,7 +380,7 @@
         ['LockAtBatchDoneUpload' *LockAtBatchDoneUpload
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   8          relayStatus                    encoding='"ASCII"']
+                    [simple   uint   8          relayStatus                                                            ]
                 ]
             ]
         ]
@@ -422,110 +422,110 @@
         ['LastTighteningResultData' *LastTighteningResultData
             [typeSwitch revision
                 ['1' *Rev1
-                    [const    uint   16         blockIdCellId                                      1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                   2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                        3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                     encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                   4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                       5     encoding='"ASCII"']
-                    [simple   uint   16         jobId                                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetId                              6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetId                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchSize                                   7     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                                8     encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                            9     encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                                10    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                 11    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMinLimit                              12    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                              13    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                           14    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                      15    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                    16    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                    17    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                            18    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                       19    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                   20    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeIndParameterSetSettings 21    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings              encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                 22    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                                23    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                             encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                      1                   ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                   2                   ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                        3                   ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                   4                   ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                       5                   ]
+                    [simple   uint   16         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetId                              6                   ]
+                    [simple   uint   24         parameterSetId                                                         ]
+                    [const    uint   16         blockIdBatchSize                                   7                   ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                                8                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                            9                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdTorqueStatus                                10                  ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                 11                  ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdTorqueMinLimit                              12                  ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                              13                  ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                           14                  ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                      15                  ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                    16                  ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                    17                  ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                            18                  ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                       19                  ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdTimeStamp                                   20                  ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeIndParameterSetSettings 21                  ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdBatchStatus                                 22                  ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTighteningId                                23                  ]
+                    [simple   string 80         tighteningId                                                           ]
                 ]
                 ['2' *Rev2
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // We don't need all 5 bytes to implement all bits.
-                    [reserved uint 8            '0x30'                                                                     ]
-                    [simple   uint 32           strategyOptions                                         encoding='"ASCII"']
-                    [virtual  bit               strategyOptionRbwMonitoring     '(strategyOptions & 0x0001) == 0x0001'    ]
-                    [virtual  bit               strategyOptionClickWrench       '(strategyOptions & 0x0002) == 0x0002'    ]
-                    [virtual  bit               strategyOptionDsControl         '(strategyOptions & 0x0004) == 0x0004'    ]
-                    [virtual  bit               strategyOptionCm                '(strategyOptions & 0x0008) == 0x0008'    ]
-                    [virtual  bit               strategyOptionRundown           '(strategyOptions & 0x0010) == 0x0010'    ]
-                    [virtual  bit               strategyOptionSelfTap           '(strategyOptions & 0x0020) == 0x0020'    ]
-                    [virtual  bit               strategyOptionPvtCompensate     '(strategyOptions & 0x0040) == 0x0040'    ]
-                    [virtual  bit               strategyOptionPvtMonitoring     '(strategyOptions & 0x0080) == 0x0080'    ]
-                    [virtual  bit               strategyOptionBatch             '(strategyOptions & 0x0100) == 0x0100'    ]
-                    [virtual  bit               strategyOptionAngle             '(strategyOptions & 0x0200) == 0x0200'    ]
-                    [virtual  bit               strategyOptionTorque            '(strategyOptions & 0x0400) == 0x0400'    ]
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [reserved uint 8            '0x30'                                                                 ]
+                    [simple   uint 32           strategyOptions                                                        ]
+                    [virtual  bit               strategyOptionRbwMonitoring     '(strategyOptions & 0x0001) == 0x0001' ]
+                    [virtual  bit               strategyOptionClickWrench       '(strategyOptions & 0x0002) == 0x0002' ]
+                    [virtual  bit               strategyOptionDsControl         '(strategyOptions & 0x0004) == 0x0004' ]
+                    [virtual  bit               strategyOptionCm                '(strategyOptions & 0x0008) == 0x0008' ]
+                    [virtual  bit               strategyOptionRundown           '(strategyOptions & 0x0010) == 0x0010' ]
+                    [virtual  bit               strategyOptionSelfTap           '(strategyOptions & 0x0020) == 0x0020' ]
+                    [virtual  bit               strategyOptionPvtCompensate     '(strategyOptions & 0x0040) == 0x0040' ]
+                    [virtual  bit               strategyOptionPvtMonitoring     '(strategyOptions & 0x0080) == 0x0080' ]
+                    [virtual  bit               strategyOptionBatch             '(strategyOptions & 0x0100) == 0x0100' ]
+                    [virtual  bit               strategyOptionAngle             '(strategyOptions & 0x0200) == 0x0200' ]
+                    [virtual  bit               strategyOptionTorque            '(strategyOptions & 0x0400) == 0x0400' ]
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // Unfortunately we can only parse unsigned ints up to 64 bits, in this case we need to do a little
                     // detour and parse it as a string, and then use a StaticHelper to parse the string and check if a
                     // bit is set.
-                    [simple   string 80         tighteningErrorStatus                                   encoding='"ASCII"']
+                    [simple   string 80         tighteningErrorStatus                                                  ]
                     [virtual  bit               tighteningErrorStatusRundownAngleMaxShutOff            'STATIC_CALL("isBitSet", tighteningErrorStatus, 1)']
                     [virtual  bit               tighteningErrorStatusRundownAngleMinShutOff            'STATIC_CALL("isBitSet", tighteningErrorStatus, 2)']
                     [virtual  bit               tighteningErrorStatusTorqueMaxShutOff                  'STATIC_CALL("isBitSet", tighteningErrorStatus, 3)']
@@ -558,735 +558,735 @@
                     [virtual  bit               tighteningErrorStatusAngleMaxMonitor                   'STATIC_CALL("isBitSet", tighteningErrorStatus, 30)']
                     [virtual  bit               tighteningErrorStatusYieldNutOff                       'STATIC_CALL("isBitSet", tighteningErrorStatus, 31)']
                     [virtual  bit               tighteningErrorStatusYieldTooFewSamples                'STATIC_CALL("isBitSet", tighteningErrorStatus, 32)']
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
                  ]
                 ['3' *Rev3
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // TODO: Find out how to extract the 10 bits from a 5 byte large value
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName                           47    encoding='"ASCII"']
-                    [simple   string 200        parameterSetName                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueValueUnit                            48    encoding='"ASCII"']
-                    [simple   Unit              torqueValueUnit                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdResultType                                 49    encoding='"ASCII"']
-                    [simple   ResultType        resultType                                              encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdParameterSetName                           47                   ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdTorqueValueUnit                            48                   ]
+                    [simple   Unit              torqueValueUnit                                                        ]
+                    [const    uint   16         blockIdResultType                                 49                   ]
+                    [simple   ResultType        resultType                                                             ]
                  ]
                 ['4' *Rev4
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // TODO: Find out how to extract the 10 bits from a 5 byte large value
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName                           47    encoding='"ASCII"']
-                    [simple   string 200        parameterSetName                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueValueUnit                            48    encoding='"ASCII"']
-                    [simple   Unit              torqueValueUnit                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdResultType                                 49    encoding='"ASCII"']
-                    [simple   ResultType        resultType                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart2                      50    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart2                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart3                      51    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart3                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart4                      52    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart4                                   encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdParameterSetName                           47                   ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdTorqueValueUnit                            48                   ]
+                    [simple   Unit              torqueValueUnit                                                        ]
+                    [const    uint   16         blockIdResultType                                 49                   ]
+                    [simple   ResultType        resultType                                                             ]
+                    [const    uint   16         blockIdIdentifierResultPart2                      50                   ]
+                    [simple   string 200        identifierResultPart2                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart3                      51                   ]
+                    [simple   string 200        identifierResultPart3                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart4                      52                   ]
+                    [simple   string 200        identifierResultPart4                                                  ]
                  ]
                 ['5' *Rev5
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // TODO: Find out how to extract the 10 bits from a 5 byte large value
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName                           47    encoding='"ASCII"']
-                    [simple   string 200        parameterSetName                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueValueUnit                            48    encoding='"ASCII"']
-                    [simple   Unit              torqueValueUnit                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdResultType                                 49    encoding='"ASCII"']
-                    [simple   ResultType        resultType                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart2                      50    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart2                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart3                      51    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart3                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart4                      52    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart4                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdCustomerTighteningError                    53    encoding='"ASCII"']
-                    [simple   string 200        customerTighteningError                                 encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdParameterSetName                           47                   ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdTorqueValueUnit                            48                   ]
+                    [simple   Unit              torqueValueUnit                                                        ]
+                    [const    uint   16         blockIdResultType                                 49                   ]
+                    [simple   ResultType        resultType                                                             ]
+                    [const    uint   16         blockIdIdentifierResultPart2                      50                   ]
+                    [simple   string 200        identifierResultPart2                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart3                      51                   ]
+                    [simple   string 200        identifierResultPart3                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart4                      52                   ]
+                    [simple   string 200        identifierResultPart4                                                  ]
+                    [const    uint   16         blockIdCustomerTighteningError                    53                   ]
+                    [simple   string 200        customerTighteningError                                                ]
                  ]
                 ['6' *Rev6
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // TODO: Find out how to extract the 10 bits from a 5 byte large value
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName                           47    encoding='"ASCII"']
-                    [simple   string 200        parameterSetName                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueValueUnit                            48    encoding='"ASCII"']
-                    [simple   Unit              torqueValueUnit                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdResultType                                 49    encoding='"ASCII"']
-                    [simple   ResultType        resultType                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart2                      50    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart2                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart3                      51    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart3                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart4                      52    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart4                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdCustomerTighteningError                    53    encoding='"ASCII"']
-                    [simple   string 200        customerTighteningError                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateValue               54    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueCompensateValue                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus2                     55    encoding='"ASCII"']
-                    [simple   Status            tighteningErrorStatus2                                  encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdParameterSetName                           47                   ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdTorqueValueUnit                            48                   ]
+                    [simple   Unit              torqueValueUnit                                                        ]
+                    [const    uint   16         blockIdResultType                                 49                   ]
+                    [simple   ResultType        resultType                                                             ]
+                    [const    uint   16         blockIdIdentifierResultPart2                      50                   ]
+                    [simple   string 200        identifierResultPart2                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart3                      51                   ]
+                    [simple   string 200        identifierResultPart3                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart4                      52                   ]
+                    [simple   string 200        identifierResultPart4                                                  ]
+                    [const    uint   16         blockIdCustomerTighteningError                    53                   ]
+                    [simple   string 200        customerTighteningError                                                ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateValue               54                   ]
+                    [simple   uint   48         prevailTorqueCompensateValue                                           ]
+                    [const    uint   16         blockIdTighteningErrorStatus2                     55                   ]
+                    [simple   Status            tighteningErrorStatus2                                                 ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
                  ]
                 ['7' *Rev7
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // TODO: Find out how to extract the 10 bits from a 5 byte large value
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName                           47    encoding='"ASCII"']
-                    [simple   string 200        parameterSetName                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueValueUnit                            48    encoding='"ASCII"']
-                    [simple   Unit              torqueValueUnit                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdResultType                                 49    encoding='"ASCII"']
-                    [simple   ResultType        resultType                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart2                      50    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart2                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart3                      51    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart3                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart4                      52    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart4                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdCustomerTighteningError                    53    encoding='"ASCII"']
-                    [simple   string 200        customerTighteningError                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateValue               54    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueCompensateValue                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus2                     55    encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdParameterSetName                           47                   ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdTorqueValueUnit                            48                   ]
+                    [simple   Unit              torqueValueUnit                                                        ]
+                    [const    uint   16         blockIdResultType                                 49                   ]
+                    [simple   ResultType        resultType                                                             ]
+                    [const    uint   16         blockIdIdentifierResultPart2                      50                   ]
+                    [simple   string 200        identifierResultPart2                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart3                      51                   ]
+                    [simple   string 200        identifierResultPart3                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart4                      52                   ]
+                    [simple   string 200        identifierResultPart4                                                  ]
+                    [const    uint   16         blockIdCustomerTighteningError                    53                   ]
+                    [simple   string 200        customerTighteningError                                                ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateValue               54                   ]
+                    [simple   uint   48         prevailTorqueCompensateValue                                           ]
+                    [const    uint   16         blockIdTighteningErrorStatus2                     55                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdCompensatedAngle                           56    encoding='"ASCII"']
-                    [simple   uint   56         compensatedAngle                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleDecimal                          57    encoding='"ASCII"']
-                    [simple   uint   56         finalAngleDecimal                                       encoding='"ASCII"']
+                    [const    uint   16         blockIdCompensatedAngle                           56                   ]
+                    [simple   uint   56         compensatedAngle                                                       ]
+                    [const    uint   16         blockIdFinalAngleDecimal                          57                   ]
+                    [simple   uint   56         finalAngleDecimal                                                      ]
                 ]
                 ['998' *Rev998
-                    [const    uint   16         blockIdCellId                                     1     encoding='"ASCII"']
-                    [simple   uint   32         cellId                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdChannelId                                  2     encoding='"ASCII"']
-                    [simple   uint   16         channelId                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueControllerName                       3     encoding='"ASCII"']
-                    [simple   string 200        torqueControllerName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdVinNumber                                  4     encoding='"ASCII"']
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdJobId                                      5     encoding='"ASCII"']
-                    [simple   uint   32         jobId                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetNumber                         6     encoding='"ASCII"']
-                    [simple   uint   24         parameterSetNumber                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategy                                   7     encoding='"ASCII"']
-                    [simple   Strategy          strategy                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdStrategyOptions                            8     encoding='"ASCII"']
+                    [const    uint   16         blockIdCellId                                     1                    ]
+                    [simple   uint   32         cellId                                                                 ]
+                    [const    uint   16         blockIdChannelId                                  2                    ]
+                    [simple   uint   16         channelId                                                              ]
+                    [const    uint   16         blockIdTorqueControllerName                       3                    ]
+                    [simple   string 200        torqueControllerName                                                   ]
+                    [const    uint   16         blockIdVinNumber                                  4                    ]
+                    [simple   string 200        vinNumber                                                              ]
+                    [const    uint   16         blockIdJobId                                      5                    ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdParameterSetNumber                         6                    ]
+                    [simple   uint   24         parameterSetNumber                                                     ]
+                    [const    uint   16         blockIdStrategy                                   7                    ]
+                    [simple   Strategy          strategy                                                               ]
+                    [const    uint   16         blockIdStrategyOptions                            8                    ]
                     // TODO: Find out how to extract the 10 bits from a 5 byte large value
-                    [const    uint   16         blockIdBatchSize                                  9     encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchCounter                               10    encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningStatus                           11    encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatus                                12    encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueStatus                               13    encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleStatus                                14    encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleStatus                         15    encoding='"ASCII"']
-                    [simple   Status            rundownAngleStatus                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringStatus                    16    encoding='"ASCII"']
-                    [simple   Status            currentMonitoringStatus                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapStatus                              17    encoding='"ASCII"']
-                    [simple   Status            selfTapStatus                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueMonitoringStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19    encoding='"ASCII"']
-                    [simple   Status            prevailTorqueCompensateStatus                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus                      20    encoding='"ASCII"']
+                    [const    uint   16         blockIdBatchSize                                  9                    ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [const    uint   16         blockIdBatchCounter                               10                   ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [const    uint   16         blockIdTighteningStatus                           11                   ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [const    uint   16         blockIdBatchStatus                                12                   ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [const    uint   16         blockIdTorqueStatus                               13                   ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [const    uint   16         blockIdAngleStatus                                14                   ]
+                    [simple   Status            angleStatus                                                            ]
+                    [const    uint   16         blockIdRundownAngleStatus                         15                   ]
+                    [simple   Status            rundownAngleStatus                                                     ]
+                    [const    uint   16         blockIdCurrentMonitoringStatus                    16                   ]
+                    [simple   Status            currentMonitoringStatus                                                ]
+                    [const    uint   16         blockIdSelfTapStatus                              17                   ]
+                    [simple   Status            selfTapStatus                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringStatus              18                   ]
+                    [simple   Status            prevailTorqueMonitoringStatus                                          ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateStatus              19                   ]
+                    [simple   Status            prevailTorqueCompensateStatus                                          ]
+                    [const    uint   16         blockIdTighteningErrorStatus                      20                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdTorqueMinLimit                             21    encoding='"ASCII"']
-                    [simple   uint   48         torqueMinLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueMaxLimit                             22    encoding='"ASCII"']
-                    [simple   uint   48         torqueMaxLimit                                          encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueFinalTarget                          23    encoding='"ASCII"']
-                    [simple   uint   48         torqueFinalTarget                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdTorque                                     24    encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMin                                   25    encoding='"ASCII"']
-                    [simple   uint   40         angleMin                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdAngleMax                                   26    encoding='"ASCII"']
-                    [simple   uint   40         angleMax                                                encoding='"ASCII"']
-                    [const    uint   16         blockIdFinalAngleTarget                           27    encoding='"ASCII"']
-                    [simple   uint   40         finalAngleTarget                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdAngle                                      28    encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMin                            29    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMin                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngleMax                            30    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngleMax                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdRundownAngle                               31    encoding='"ASCII"']
-                    [simple   uint   40         rundownAngle                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMin                       32    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMin                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringMax                       33    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringMax                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdCurrentMonitoringValue                     34    encoding='"ASCII"']
-                    [simple   uint   24         currentMonitoringValue                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMin                                 35    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMin                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapMax                                 36    encoding='"ASCII"']
-                    [simple   uint   48         selfTapMax                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdSelfTapTorque                              37    encoding='"ASCII"']
-                    [simple   uint   48         selfTapTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMin                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueMonitoringMax                              encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorque                              40    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorque                                           encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningId                               41    encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
-                    [const    uint   16         blockIdJobSequenceNumber                          42    encoding='"ASCII"']
-                    [simple   uint   40         jobSequenceNumber                                       encoding='"ASCII"']
-                    [const    uint   16         blockIdSyncTighteningId                           43    encoding='"ASCII"']
-                    [simple   uint   40         syncTighteningId                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdToolSerialNumber                           44    encoding='"ASCII"']
-                    [simple   string 112        toolSerialNumber                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTimeStamp                                  45    encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46    encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [const    uint   16         blockIdParameterSetName                           47    encoding='"ASCII"']
-                    [simple   string 200        parameterSetName                                        encoding='"ASCII"']
-                    [const    uint   16         blockIdTorqueValueUnit                            48    encoding='"ASCII"']
-                    [simple   Unit              torqueValueUnit                                         encoding='"ASCII"']
-                    [const    uint   16         blockIdResultType                                 49    encoding='"ASCII"']
-                    [simple   ResultType        resultType                                              encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart2                      50    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart2                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart3                      51    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart3                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart4                      52    encoding='"ASCII"']
-                    [simple   string 200        identifierResultPart4                                   encoding='"ASCII"']
-                    [const    uint   16         blockIdCustomerTighteningError                    53    encoding='"ASCII"']
-                    [simple   string 200        customerTighteningError                                 encoding='"ASCII"']
-                    [const    uint   16         blockIdPrevailTorqueCompensateValue               54    encoding='"ASCII"']
-                    [simple   uint   48         prevailTorqueCompensateValue                            encoding='"ASCII"']
-                    [const    uint   16         blockIdTighteningErrorStatus2                     55    encoding='"ASCII"']
+                    [const    uint   16         blockIdTorqueMinLimit                             21                   ]
+                    [simple   uint   48         torqueMinLimit                                                         ]
+                    [const    uint   16         blockIdTorqueMaxLimit                             22                   ]
+                    [simple   uint   48         torqueMaxLimit                                                         ]
+                    [const    uint   16         blockIdTorqueFinalTarget                          23                   ]
+                    [simple   uint   48         torqueFinalTarget                                                      ]
+                    [const    uint   16         blockIdTorque                                     24                   ]
+                    [simple   uint   48         torque                                                                 ]
+                    [const    uint   16         blockIdAngleMin                                   25                   ]
+                    [simple   uint   40         angleMin                                                               ]
+                    [const    uint   16         blockIdAngleMax                                   26                   ]
+                    [simple   uint   40         angleMax                                                               ]
+                    [const    uint   16         blockIdFinalAngleTarget                           27                   ]
+                    [simple   uint   40         finalAngleTarget                                                       ]
+                    [const    uint   16         blockIdAngle                                      28                   ]
+                    [simple   uint   40         angle                                                                  ]
+                    [const    uint   16         blockIdRundownAngleMin                            29                   ]
+                    [simple   uint   40         rundownAngleMin                                                        ]
+                    [const    uint   16         blockIdRundownAngleMax                            30                   ]
+                    [simple   uint   40         rundownAngleMax                                                        ]
+                    [const    uint   16         blockIdRundownAngle                               31                   ]
+                    [simple   uint   40         rundownAngle                                                           ]
+                    [const    uint   16         blockIdCurrentMonitoringMin                       32                   ]
+                    [simple   uint   24         currentMonitoringMin                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringMax                       33                   ]
+                    [simple   uint   24         currentMonitoringMax                                                   ]
+                    [const    uint   16         blockIdCurrentMonitoringValue                     34                   ]
+                    [simple   uint   24         currentMonitoringValue                                                 ]
+                    [const    uint   16         blockIdSelfTapMin                                 35                   ]
+                    [simple   uint   48         selfTapMin                                                             ]
+                    [const    uint   16         blockIdSelfTapMax                                 36                   ]
+                    [simple   uint   48         selfTapMax                                                             ]
+                    [const    uint   16         blockIdSelfTapTorque                              37                   ]
+                    [simple   uint   48         selfTapTorque                                                          ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMin                 38                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMin                                             ]
+                    [const    uint   16         blockIdPrevailTorqueMonitoringMax                 39                   ]
+                    [simple   uint   48         prevailTorqueMonitoringMax                                             ]
+                    [const    uint   16         blockIdPrevailTorque                              40                   ]
+                    [simple   uint   48         prevailTorque                                                          ]
+                    [const    uint   16         blockIdTighteningId                               41                   ]
+                    [simple   string 80         tighteningId                                                           ]
+                    [const    uint   16         blockIdJobSequenceNumber                          42                   ]
+                    [simple   uint   40         jobSequenceNumber                                                      ]
+                    [const    uint   16         blockIdSyncTighteningId                           43                   ]
+                    [simple   uint   40         syncTighteningId                                                       ]
+                    [const    uint   16         blockIdToolSerialNumber                           44                   ]
+                    [simple   string 112        toolSerialNumber                                                       ]
+                    [const    uint   16         blockIdTimeStamp                                  45                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [const    uint   16         blockIdDateTimeOfLastChangeInParameterSetSettings 46                   ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [const    uint   16         blockIdParameterSetName                           47                   ]
+                    [simple   string 200        parameterSetName                                                       ]
+                    [const    uint   16         blockIdTorqueValueUnit                            48                   ]
+                    [simple   Unit              torqueValueUnit                                                        ]
+                    [const    uint   16         blockIdResultType                                 49                   ]
+                    [simple   ResultType        resultType                                                             ]
+                    [const    uint   16         blockIdIdentifierResultPart2                      50                   ]
+                    [simple   string 200        identifierResultPart2                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart3                      51                   ]
+                    [simple   string 200        identifierResultPart3                                                  ]
+                    [const    uint   16         blockIdIdentifierResultPart4                      52                   ]
+                    [simple   string 200        identifierResultPart4                                                  ]
+                    [const    uint   16         blockIdCustomerTighteningError                    53                   ]
+                    [simple   string 200        customerTighteningError                                                ]
+                    [const    uint   16         blockIdPrevailTorqueCompensateValue               54                   ]
+                    [simple   uint   48         prevailTorqueCompensateValue                                           ]
+                    [const    uint   16         blockIdTighteningErrorStatus2                     55                   ]
                     // TODO: Find out how to extract the 32 bits from a 10 byte large value
-                    [const    uint   16         blockIdNumberOfStagesInMultistage                 56    encoding='"ASCII"']
-                    [simple   uint   16         numberOfStagesInMultistage                              encoding='"ASCII"']
-                    [const    uint   16         blockIdNumberOfStageResults                       57    encoding='"ASCII"']
-                    [implicit uint   16         numberOfStageResults   'COUNT(stageResults)'            encoding='"ASCII"']
-                    [const    uint   16         blockIdStageResults                               58    encoding='"ASCII"']
-                    [array    StageResult       stageResults        count 'numberOfStageResults'        encoding='"ASCII"']
+                    [const    uint   16         blockIdNumberOfStagesInMultistage                 56                   ]
+                    [simple   uint   16         numberOfStagesInMultistage                                             ]
+                    [const    uint   16         blockIdNumberOfStageResults                       57                   ]
+                    [implicit uint   16         numberOfStageResults   'COUNT(stageResults)'                           ]
+                    [const    uint   16         blockIdStageResults                               58                   ]
+                    [array    StageResult       stageResults        count 'numberOfStageResults'                       ]
                 ]
                 ['999' *Rev999Light
-                    [simple   string 200        vinNumber                                               encoding='"ASCII"']
-                    [simple   uint   16         jobId                                                   encoding='"ASCII"']
-                    [simple   uint   24         parameterSetId                                          encoding='"ASCII"']
-                    [simple   uint   32         batchSize                                               encoding='"ASCII"']
-                    [simple   uint   32         batchCounter                                            encoding='"ASCII"']
-                    [simple   BatchStatus       batchStatus                                             encoding='"ASCII"']
-                    [simple   NokOk             tighteningStatus                                        encoding='"ASCII"']
-                    [simple   Status            torqueStatus                                            encoding='"ASCII"']
-                    [simple   Status            angleStatus                                             encoding='"ASCII"']
-                    [simple   uint   48         torque                                                  encoding='"ASCII"']
-                    [simple   uint   40         angle                                                   encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings             encoding='"ASCII"']
-                    [simple   string 80         tighteningId                                            encoding='"ASCII"']
+                    [simple   string 200        vinNumber                                                              ]
+                    [simple   uint   16         jobId                                                                  ]
+                    [simple   uint   24         parameterSetId                                                         ]
+                    [simple   uint   32         batchSize                                                              ]
+                    [simple   uint   32         batchCounter                                                           ]
+                    [simple   BatchStatus       batchStatus                                                            ]
+                    [simple   NokOk             tighteningStatus                                                       ]
+                    [simple   Status            torqueStatus                                                           ]
+                    [simple   Status            angleStatus                                                            ]
+                    [simple   uint   48         torque                                                                 ]
+                    [simple   uint   40         angle                                                                  ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [simple   string 152        dateTimeOfLastChangeIndParameterSetSettings                            ]
+                    [simple   string 80         tighteningId                                                           ]
                 ]
             ]
         ]
@@ -1300,26 +1300,26 @@
         ['Alarm' *Alarm
             [typeSwitch revision
                 ['1' *Rev1
-                    [const    uint   16         blockIdErrorCode              1    encoding='"ASCII"']
-                    [simple   string 32         errorCode                          encoding='"ASCII"']
-                    [const    uint   16         blockIdControllerReadyStatus  2    encoding='"ASCII"']
-                    [simple   NokOk             controllerReadyStatus              encoding='"ASCII"']
-                    [const    uint   16         blockIdToolReadyStatus        3    encoding='"ASCII"']
-                    [simple   NokOk             toolReadyStatus                    encoding='"ASCII"']
-                    [const    uint   16         blockIdTime                   4    encoding='"ASCII"']
-                    [simple   string 152        alarmTime                          encoding='"ASCII"']
+                    [const    uint   16         blockIdErrorCode              1                                        ]
+                    [simple   string 32         errorCode                                                              ]
+                    [const    uint   16         blockIdControllerReadyStatus  2                                        ]
+                    [simple   NokOk             controllerReadyStatus                                                  ]
+                    [const    uint   16         blockIdToolReadyStatus        3                                        ]
+                    [simple   NokOk             toolReadyStatus                                                        ]
+                    [const    uint   16         blockIdTime                   4                                        ]
+                    [simple   string 152        alarmTime                                                              ]
                 ]
                 ['2' *Rev2
-                    [const    uint   16         blockIdErrorCode              1    encoding='"ASCII"']
-                    [simple   string 40         errorCode                          encoding='"ASCII"']
-                    [const    uint   16         blockIdControllerReadyStatus  2    encoding='"ASCII"']
-                    [simple   NokOk             controllerReadyStatus              encoding='"ASCII"']
-                    [const    uint   16         blockIdToolReadyStatus        3    encoding='"ASCII"']
-                    [simple   NokOk             toolReadyStatus                    encoding='"ASCII"']
-                    [const    uint   16         blockIdTime                   4    encoding='"ASCII"']
-                    [simple   string 152        alarmTime                          encoding='"ASCII"']
-                    [const    uint   16         blockIdAlarmText              5    encoding='"ASCII"']
-                    [simple   string 400        alarmText                          encoding='"ASCII"']
+                    [const    uint   16         blockIdErrorCode              1                                        ]
+                    [simple   string 40         errorCode                                                              ]
+                    [const    uint   16         blockIdControllerReadyStatus  2                                        ]
+                    [simple   NokOk             controllerReadyStatus                                                  ]
+                    [const    uint   16         blockIdToolReadyStatus        3                                        ]
+                    [simple   NokOk             toolReadyStatus                                                        ]
+                    [const    uint   16         blockIdTime                   4                                        ]
+                    [simple   string 152        alarmTime                                                              ]
+                    [const    uint   16         blockIdAlarmText              5                                        ]
+                    [simple   string 400        alarmText                                                              ]
                 ]
             ]
         ]
@@ -1339,28 +1339,28 @@
         ['AlarmStatus' *AlarmStatus
             [typeSwitch revision
                 ['1' *Rev1
-                    [const    uint   16         blockIdAlarmStatus              1   encoding='"ASCII"']
-                    [simple   AlarmActiveStatus controllerAlarmStatus               encoding='"ASCII"']
-                    [const    uint   16         blockIdErrorCode                2   encoding='"ASCII"']
-                    [simple   string 32         errorCode                           encoding='"ASCII"']
-                    [const    uint   16         blockIdControllerReadyStatus   3    encoding='"ASCII"']
-                    [simple   NokOk             controllerReadyStatus               encoding='"ASCII"']
-                    [const    uint   16         blockIdToolReadyStatus         4    encoding='"ASCII"']
-                    [simple   NokOk             toolReadyStatus                     encoding='"ASCII"']
-                    [const    uint   16         blockIdTime                    5    encoding='"ASCII"']
-                    [simple   string 152        alarmTime                           encoding='"ASCII"']
+                    [const    uint   16         blockIdAlarmStatus              1                                      ]
+                    [simple   AlarmActiveStatus controllerAlarmStatus                                                  ]
+                    [const    uint   16         blockIdErrorCode                2                                      ]
+                    [simple   string 32         errorCode                                                              ]
+                    [const    uint   16         blockIdControllerReadyStatus   3                                       ]
+                    [simple   NokOk             controllerReadyStatus                                                  ]
+                    [const    uint   16         blockIdToolReadyStatus         4                                       ]
+                    [simple   NokOk             toolReadyStatus                                                        ]
+                    [const    uint   16         blockIdTime                    5                                       ]
+                    [simple   string 152        alarmTime                                                              ]
                 ]
                 ['2' *Rev2
-                    [const    uint   16         blockIdAlarmStatus              1   encoding='"ASCII"']
-                    [simple   AlarmActiveStatus controllerAlarmStatus               encoding='"ASCII"']
-                    [const    uint   16         blockIdErrorCode                2   encoding='"ASCII"']
-                    [simple   string 40         errorCode                           encoding='"ASCII"']
-                    [const    uint   16         blockIdControllerReadyStatus    3   encoding='"ASCII"']
-                    [simple   NokOk             controllerReadyStatus               encoding='"ASCII"']
-                    [const    uint   16         blockIdToolReadyStatus          4   encoding='"ASCII"']
-                    [simple   NokOk             toolReadyStatus                     encoding='"ASCII"']
-                    [const    uint   16         blockIdTime                     5   encoding='"ASCII"']
-                    [simple   string 152        alarmTime                           encoding='"ASCII"']
+                    [const    uint   16         blockIdAlarmStatus              1                                      ]
+                    [simple   AlarmActiveStatus controllerAlarmStatus                                                  ]
+                    [const    uint   16         blockIdErrorCode                2                                      ]
+                    [simple   string 40         errorCode                                                              ]
+                    [const    uint   16         blockIdControllerReadyStatus    3                                      ]
+                    [simple   NokOk             controllerReadyStatus                                                  ]
+                    [const    uint   16         blockIdToolReadyStatus          4                                      ]
+                    [simple   NokOk             toolReadyStatus                                                        ]
+                    [const    uint   16         blockIdTime                     5                                      ]
+                    [simple   string 152        alarmTime                                                              ]
                 ]
             ]
         ]
@@ -1375,7 +1375,7 @@
         ['SetTime' *SetTime
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   string 152        timeToSet                                               encoding='"ASCII"']
+                    [simple   string 152        timeToSet                                                              ]
                 ]
             ]
         ]
@@ -1383,91 +1383,91 @@
         ['ExecuteDynamicJobRequest' *ExecuteDynamicJobRequest
             [typeSwitch revision
                 ['1' *Rev1
-                    [const    uint   16         blockIdJobId                          1    encoding='"ASCII"']
-                    [simple   uint   32         jobId                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdJobName                        2    encoding='"ASCII"']
-                    [simple   string 200        jobName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdNumberOfParameterSets          3    encoding='"ASCII"']
-                    //[implicit uint   16         numberOfParameterSets     'COUNT(jobList)' encoding='"ASCII"']
-                    [const    uint   16         blockIdJobList                        4    encoding='"ASCII"']
-                    // TODO [array    ParameterSetRev1      jobList     count 'numberOfParameterSets'  encoding='"ASCII"']
-                    [const    uint   16         blockIdForcedOrder                    5    encoding='"ASCII"']
-                    [simple   ForcedOrder       forcedOrder                                encoding='"ASCII"']
-                    [const    uint   16         blockIdLockAtJobDone                  6    encoding='"ASCII"']
-                    [simple   NoYes             lockAtJobDone                              encoding='"ASCII"']
-                    [const    uint   16         blockIdToolLoosening                  7    encoding='"ASCII"']
-                    [simple   ToolLoosening     toolLoosening                              encoding='"ASCII"']
-                    [const    uint   16         blockIdRepeatJob                      8    encoding='"ASCII"']
-                    [simple   NoYes             repeatJob                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdJobBatchModeAndCountType       9    encoding='"ASCII"']
-                    [simple   JobBatchMode      jobBatchModeAndCountType                   encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatusAtIncrementBypass   10   encoding='"ASCII"']
-                    [simple   OkNok             batchStatusAtIncrementBypass               encoding='"ASCII"']
-                    [const    uint   16         blockIdDecrementBatchAtOkLoosening    11   encoding='"ASCII"']
-                    [simple   NoYes             decrementBatchAtOkLoosening                encoding='"ASCII"']
-                    [const    uint   16         blockIdMaxTimeForFirstTightening      12   encoding='"ASCII"']
-                    [simple   uint   32         maxTimeForFirstTightening                  encoding='"ASCII"']
-                    [const    uint   16         blockIdMaxTimeToCompleteJob           13   encoding='"ASCII"']
-                    [simple   uint   40         maxTimeToCompleteJob                       encoding='"ASCII"']
-                    [const    uint   16         blockIdDisplayResultAtAutoSelect      14   encoding='"ASCII"']
-                    [simple   uint   32         displayResultAtAutoSelect                  encoding='"ASCII"']
-                    [const    uint   16         blockIdUseLineControl                 15   encoding='"ASCII"']
-                    [simple   NoYes             useLineControl                             encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart           16   encoding='"ASCII"']
-                    [simple   IdentifierResult  identifierResultPart                       encoding='"ASCII"']
-                    [const    uint   16         blockIdResultOfNonTightenings         17   encoding='"ASCII"']
-                    [simple   NoYes             resultOfNonTightenings                     encoding='"ASCII"']
-                    [const    uint   16         blockIdResetAllIdentifiersAtJobDone   18   encoding='"ASCII"']
-                    [simple   NoYes             resetAllIdentifiersAtJobDone               encoding='"ASCII"']
-                    [const    uint   16         blockIdReserved                       19   encoding='"ASCII"']
-                    [simple   uint   8          jobRepair                                  encoding='"ASCII"']
+                    [const    uint   16         blockIdJobId                          1                                ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdJobName                        2                                ]
+                    [simple   string 200        jobName                                                                ]
+                    [const    uint   16         blockIdNumberOfParameterSets          3                                ]
+                    //[implicit uint   16         numberOfParameterSets     'COUNT(jobList)'                           ]
+                    [const    uint   16         blockIdJobList                        4                                ]
+                    // TODO [array    ParameterSetRev1      jobList     count 'numberOfParameterSets'  ]
+                    [const    uint   16         blockIdForcedOrder                    5                                ]
+                    [simple   ForcedOrder       forcedOrder                                                            ]
+                    [const    uint   16         blockIdLockAtJobDone                  6                                ]
+                    [simple   NoYes             lockAtJobDone                                                          ]
+                    [const    uint   16         blockIdToolLoosening                  7                                ]
+                    [simple   ToolLoosening     toolLoosening                                                          ]
+                    [const    uint   16         blockIdRepeatJob                      8                                ]
+                    [simple   NoYes             repeatJob                                                              ]
+                    [const    uint   16         blockIdJobBatchModeAndCountType       9                                ]
+                    [simple   JobBatchMode      jobBatchModeAndCountType                                               ]
+                    [const    uint   16         blockIdBatchStatusAtIncrementBypass   10                               ]
+                    [simple   OkNok             batchStatusAtIncrementBypass                                           ]
+                    [const    uint   16         blockIdDecrementBatchAtOkLoosening    11                               ]
+                    [simple   NoYes             decrementBatchAtOkLoosening                                            ]
+                    [const    uint   16         blockIdMaxTimeForFirstTightening      12                               ]
+                    [simple   uint   32         maxTimeForFirstTightening                                              ]
+                    [const    uint   16         blockIdMaxTimeToCompleteJob           13                               ]
+                    [simple   uint   40         maxTimeToCompleteJob                                                   ]
+                    [const    uint   16         blockIdDisplayResultAtAutoSelect      14                               ]
+                    [simple   uint   32         displayResultAtAutoSelect                                              ]
+                    [const    uint   16         blockIdUseLineControl                 15                               ]
+                    [simple   NoYes             useLineControl                                                         ]
+                    [const    uint   16         blockIdIdentifierResultPart           16                               ]
+                    [simple   IdentifierResult  identifierResultPart                                                   ]
+                    [const    uint   16         blockIdResultOfNonTightenings         17                               ]
+                    [simple   NoYes             resultOfNonTightenings                                                 ]
+                    [const    uint   16         blockIdResetAllIdentifiersAtJobDone   18                               ]
+                    [simple   NoYes             resetAllIdentifiersAtJobDone                                           ]
+                    [const    uint   16         blockIdReserved                       19                               ]
+                    [simple   uint   8          jobRepair                                                              ]
                 ]
                 ['999' *Rev999
-                    [const    uint   16         blockIdJobId                          1    encoding='"ASCII"']
-                    [simple   uint   32         jobId                                      encoding='"ASCII"']
-                    [const    uint   16         blockIdJobName                        2    encoding='"ASCII"']
-                    [simple   string 200        jobName                                    encoding='"ASCII"']
-                    [const    uint   16         blockIdNumberOfParameterSets          3    encoding='"ASCII"']
-                    //[implicit uint   16         numberOfParameterSets     'COUNT(jobList)' encoding='"ASCII"']
-                    [const    uint   16         blockIdJobList                        4    encoding='"ASCII"']
-                    // TODO [array    ParameterSetRev999      jobList     count 'numberOfParameterSets'  encoding='"ASCII"']
-                    [const    uint   16         blockIdForcedOrder                    5    encoding='"ASCII"']
-                    [simple   ForcedOrder       forcedOrder                                encoding='"ASCII"']
-                    [const    uint   16         blockIdLockAtJobDone                  6    encoding='"ASCII"']
-                    [simple   NoYes             lockAtJobDone                              encoding='"ASCII"']
-                    [const    uint   16         blockIdToolLoosening                  7    encoding='"ASCII"']
-                    [simple   ToolLoosening     toolLoosening                              encoding='"ASCII"']
-                    [const    uint   16         blockIdRepeatJob                      8    encoding='"ASCII"']
-                    [simple   NoYes             repeatJob                                  encoding='"ASCII"']
-                    [const    uint   16         blockIdJobBatchModeAndCountType       9    encoding='"ASCII"']
-                    [simple   JobBatchMode      jobBatchModeAndCountType                   encoding='"ASCII"']
-                    [const    uint   16         blockIdBatchStatusAtIncrementBypass   10   encoding='"ASCII"']
-                    [simple   OkNok             batchStatusAtIncrementBypass               encoding='"ASCII"']
-                    [const    uint   16         blockIdDecrementBatchAtOkLoosening    11   encoding='"ASCII"']
-                    [simple   NoYes             decrementBatchAtOkLoosening                encoding='"ASCII"']
-                    [const    uint   16         blockIdMaxTimeForFirstTightening      12   encoding='"ASCII"']
-                    [simple   uint   32         maxTimeForFirstTightening                  encoding='"ASCII"']
-                    [const    uint   16         blockIdMaxTimeToCompleteJob           13   encoding='"ASCII"']
-                    [simple   uint   40         maxTimeToCompleteJob                       encoding='"ASCII"']
-                    [const    uint   16         blockIdDisplayResultAtAutoSelect      14   encoding='"ASCII"']
-                    [simple   uint   32         displayResultAtAutoSelect                  encoding='"ASCII"']
-                    [const    uint   16         blockIdUseLineControl                 15   encoding='"ASCII"']
-                    [simple   NoYes             useLineControl                             encoding='"ASCII"']
-                    [const    uint   16         blockIdIdentifierResultPart           16   encoding='"ASCII"']
-                    [simple   IdentifierResult  identifierResultPart                       encoding='"ASCII"']
-                    [const    uint   16         blockIdResultOfNonTightenings         17   encoding='"ASCII"']
-                    [simple   NoYes             resultOfNonTightenings                     encoding='"ASCII"']
-                    [const    uint   16         blockIdResetAllIdentifiersAtJobDone   18   encoding='"ASCII"']
-                    [simple   NoYes             resetAllIdentifiersAtJobDone               encoding='"ASCII"']
-                    [const    uint   16         blockIdReserved                       19   encoding='"ASCII"']
-                    [simple   uint   8          jobRepair                                  encoding='"ASCII"']
+                    [const    uint   16         blockIdJobId                          1                                ]
+                    [simple   uint   32         jobId                                                                  ]
+                    [const    uint   16         blockIdJobName                        2                                ]
+                    [simple   string 200        jobName                                                                ]
+                    [const    uint   16         blockIdNumberOfParameterSets          3                                ]
+                    //[implicit uint   16         numberOfParameterSets     'COUNT(jobList)'                           ]
+                    [const    uint   16         blockIdJobList                        4                                ]
+                    // TODO [array    ParameterSetRev999      jobList     count 'numberOfParameterSets'  ]
+                    [const    uint   16         blockIdForcedOrder                    5                                ]
+                    [simple   ForcedOrder       forcedOrder                                                            ]
+                    [const    uint   16         blockIdLockAtJobDone                  6                                ]
+                    [simple   NoYes             lockAtJobDone                                                          ]
+                    [const    uint   16         blockIdToolLoosening                  7                                ]
+                    [simple   ToolLoosening     toolLoosening                                                          ]
+                    [const    uint   16         blockIdRepeatJob                      8                                ]
+                    [simple   NoYes             repeatJob                                                              ]
+                    [const    uint   16         blockIdJobBatchModeAndCountType       9                                ]
+                    [simple   JobBatchMode      jobBatchModeAndCountType                                               ]
+                    [const    uint   16         blockIdBatchStatusAtIncrementBypass   10                               ]
+                    [simple   OkNok             batchStatusAtIncrementBypass                                           ]
+                    [const    uint   16         blockIdDecrementBatchAtOkLoosening    11                               ]
+                    [simple   NoYes             decrementBatchAtOkLoosening                                            ]
+                    [const    uint   16         blockIdMaxTimeForFirstTightening      12                               ]
+                    [simple   uint   32         maxTimeForFirstTightening                                              ]
+                    [const    uint   16         blockIdMaxTimeToCompleteJob           13                               ]
+                    [simple   uint   40         maxTimeToCompleteJob                                                   ]
+                    [const    uint   16         blockIdDisplayResultAtAutoSelect      14                               ]
+                    [simple   uint   32         displayResultAtAutoSelect                                              ]
+                    [const    uint   16         blockIdUseLineControl                 15                               ]
+                    [simple   NoYes             useLineControl                                                         ]
+                    [const    uint   16         blockIdIdentifierResultPart           16                               ]
+                    [simple   IdentifierResult  identifierResultPart                                                   ]
+                    [const    uint   16         blockIdResultOfNonTightenings         17                               ]
+                    [simple   NoYes             resultOfNonTightenings                                                 ]
+                    [const    uint   16         blockIdResetAllIdentifiersAtJobDone   18                               ]
+                    [simple   NoYes             resetAllIdentifiersAtJobDone                                           ]
+                    [const    uint   16         blockIdReserved                       19                               ]
+                    [simple   uint   8          jobRepair                                                              ]
                 ]
             ]
         ]
         ['IdentifierDownloadRequest' *IdentifierDownloadRequest
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   string 800        identifierData                                          encoding='"ASCII"']
+                    [simple   string 800        identifierData                                                         ]
                 ]
             ]
         ]
@@ -1475,8 +1475,8 @@
         ['ResultTracesCurve' *ResultTracesCurve
             [typeSwitch revision
                 ['1' *Rev1
-                    // TODO: Need to be able to serialize enum arrays [implicit uint   24         numberOfTraceTypes    'COUNT(traceTypes)'  encoding='"ASCII"']
-                    // TODO: Need to be able to serialize enum arrays [array    TraceType         traceTypes     count 'numberOfTraceTypes'  encoding='"ASCII"']
+                    // TODO: Need to be able to serialize enum arrays [implicit uint   24         numberOfTraceTypes    'COUNT(traceTypes)'  ]
+                    // TODO: Need to be able to serialize enum arrays [array    TraceType         traceTypes     count 'numberOfTraceTypes'  ]
                 ]
             ]
         ]
@@ -1484,10 +1484,10 @@
         ['ResultTracesCurvePlotData' *ResultTracesCurvePlotData
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   string 80         resultDataIdentifier                 encoding='"ASCII"']
-                    [simple   string 152        timeStamp                                               encoding='"ASCII"']
-                    [implicit uint   24         numberOfParameterDataFields    'COUNT(dataFields)'  encoding='"ASCII"']
-                    [array    VariableDataField dataFields     count 'numberOfParameterDataFields'  encoding='"ASCII"']
+                    [simple   string 80         resultDataIdentifier                                                   ]
+                    [simple   string 152        timeStamp                                                              ]
+                    [implicit uint   24         numberOfParameterDataFields    'COUNT(dataFields)'                     ]
+                    [array    VariableDataField dataFields     count 'numberOfParameterDataFields'                     ]
                 ]
             ]
         ]
@@ -1495,16 +1495,16 @@
         ['ProgramPsetSelectionInDynamicJob' *ProgramPsetSelectionInDynamicJob
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   24         parameterSetId                 encoding='"ASCII"']
+                    [simple   uint   24         parameterSetId                                                         ]
                 ]
             ]
         ]
         ['DynamicPsetSelection' *DynamicPsetSelection
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   uint   24         parameterSetId                 encoding='"ASCII"']
-                    [implicit uint   24         numberOfParameterDataFields    'COUNT(dataFields)'  encoding='"ASCII"']
-                    [array    VariableDataField dataFields     count 'numberOfParameterDataFields'  encoding='"ASCII"']
+                    [simple   uint   24         parameterSetId                                                         ]
+                    [implicit uint   24         numberOfParameterDataFields    'COUNT(dataFields)'                     ]
+                    [array    VariableDataField dataFields     count 'numberOfParameterDataFields'                     ]
                 ]
             ]
         ]
@@ -1512,15 +1512,15 @@
         ['LinkLevelPositiveAcknowledge' *LinkLevelPositiveAcknowledge
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   Mid                  midNumber                                            encoding='"ASCII"']
+                    [simple   Mid                  midNumber                                                           ]
                 ]
             ]
         ]
         ['LinkLevelNegativeAcknowledge' *LinkLevelNegativeAcknowledge
             [typeSwitch revision
                 ['1' *Rev1
-                    [simple   Mid                  midNumber                                            encoding='"ASCII"']
-                    [simple   LinkLevelNegativeAcknowledgeError error                                  encoding='"ASCII"']
+                    [simple   Mid                  midNumber                                                           ]
+                    [simple   LinkLevelNegativeAcknowledgeError error                                                  ]
                 ]
             ]
         ]
@@ -1531,464 +1531,464 @@
             ]
         ]
     ]
-    [const         uint 8  end                  0x00                                                              ]
+    [const         uint 8  end                  0x00                                                                   ]
 ]
 
 [type VariableDataField
-    [simple   uint 40 parameterId                       encoding='"ASCII"']
-    [implicit uint 24 length      'COUNT(dataValue)'    encoding='"ASCII"']
-    [simple   uint 16 dataType                          encoding='"ASCII"']
-    [simple   uint 24 unit                              encoding='"ASCII"']
-    [simple   uint 24 stepNumber                        encoding='"ASCII"']
-    [array    byte    dataValue   length 'length'       encoding='"ASCII"']
+    [simple   uint 40 parameterId                                                                                      ]
+    [implicit uint 24 length      'COUNT(dataValue)'                                                                   ]
+    [simple   uint 16 dataType                                                                                         ]
+    [simple   uint 24 unit                                                                                             ]
+    [simple   uint 24 stepNumber                                                                                       ]
+    [array    byte    dataValue   length 'length'                                                                      ]
 ]
 
 [type StageResult
-    [simple   uint 48 stageTorqueValue                  encoding='"ASCII"']
-    [simple   uint 40 stageTurningAngleValue            encoding='"ASCII"']
+    [simple   uint 48 stageTorqueValue                                                                                 ]
+    [simple   uint 40 stageTurningAngleValue                                                                           ]
 ]
 
-[enum uint 32 Mid   encoding='"ASCII"'
-    ['1'    ApplicationCommunicationStart               ] // OK *
-    ['2'    ApplicationCommunicationStartAcknowledge    ] // OK *
-    ['3'    ApplicationCommunicationStop                ] // OK
-    ['4'    ApplicationCommandError                     ] // OK *
-    ['5'    ApplicationCommandAccepted                  ] // OK *
-    ['6'    ApplicationGenericDataRequest               ] // OK
-    ['7'    Reserved                                    ]
-    ['8'    ApplicationGenericSubscription              ] // OK *
-    ['9'    ApplicationGenericUnsubscribe               ] // OK *
-    ['10'   ParameterSetIdUploadRequest                 ] // OK *
-    ['11'   ParameterSetIdUploadReply                   ] // OK *
-    ['12'   ParameterSetDataUploadRequest               ] // OK *
-    ['13'   ParameterSetDataUploadReply                 ] // OK *
-    ['14'   ParameterSetSelectedSubscribe               ] // OK
-    ['15'   ParameterSetSelected                        ] // OK
-    ['16'   ParameterSetSelectedAcknowledge             ] // OK
-    ['17'   ParameterSetSelectedUnsubscribe             ] // OK
-    ['18'   SelectParameterSet                          ] // OK *
-    ['19'   SetParameterSetBatchSize                    ] // OK
-    ['20'   ResetParameterSetBatchCounter               ] // OK
-    ['21'   LockAtBatchDoneSubscribe                    ] // OK
-    ['22'   LockAtBatchDoneUpload                       ] // OK
-    ['23'   LockAtBatchDoneUploadAcknowledge            ] // OK
-    ['24'   LockAtBatchDoneUnsubscribe                  ] // OK
-    ['25'   ReservedForFord                             ] // OK
-
-    ['30'   JobIdUploadRequest                          ]
-    ['31'   JobIdUploadReply                            ]
-    ['32'   JobDataUploadRequest                        ]
-    ['33'   JobDataUploadReply                          ]
-    ['34'   JobInfoSubscribe                            ]
-    ['35'   JobInfo                                     ]
-    ['36'   JobInfoAcknowledge                          ]
-    ['37'   JobInfoUnsubscribe                          ]
-    ['38'   SelectJob                                   ]
-    ['39'   JobRestart                                  ]
-    ['40'   ToolDataUploadRequest                       ]
-    ['41'   ToolDataUploadReply                         ]
-    ['42'   DisableTool                                 ] // OK *
-    ['43'   EnableTool                                  ] // OK *
-    ['44'   DisconnectToolRequest                       ]
-    ['45'   SetCalibrationValueRequest                  ]
-    ['46'   SetPrimaryToolRequest                       ]
-    ['47'   PairingHandling                             ]
-    ['48'   PairingStatus                               ]
-    ['49'   PairingStatusAcknowledge                    ]
-    ['50'   VehicleIdNumberDownloadRequest              ]
-    ['51'   VehicleIdNumberSubscribe                    ]
-    ['52'   VehicleIdNumber                             ]
-    ['53'   VehicleIdNumberAcknowledge                  ]
-    ['54'   VehicleIdNumberUnsubscribe                  ]
-
-    ['60'   LastTighteningResultDataSubscribe           ] // OK *
-    ['61'   LastTighteningResultData                    ] // OK *
-    ['62'   LastTighteningResultDataAcknowledge         ]
-    ['63'   LastTighteningResultDataUnsubscribe         ]
-    ['64'   OldTighteningResultUploadRequest            ]
-    ['65'   OldTighteningResultUploadReply              ]
-
-    ['70'   AlarmSubscribe                              ] // OK *
-    ['71'   Alarm                                       ] // OK *
-    ['72'   AlarmAcknowledge                            ] // OK *
-    ['73'   AlarmUnsubscribe                            ] // OK *
-    ['74'   AlarmAcknowledgedOnController               ]
-    ['75'   AlarmAcknowledgedOnControllerAcknowledge    ]
-    ['76'   AlarmStatus                                 ] // OK *
-    ['77'   AlarmStatusAcknowledge                      ] // OK *
-    ['78'   AcknowledgeAlarmRemotelyOnController        ]
-
-    ['80'   ReadTimeUploadRequest                       ]
-    ['81'   ReadTimeUploadReply                         ]
-    ['82'   SetTime                                     ] // OK *
-
-    ['90'   MultiSpindleStatusSubscribe                 ]
-    ['91'   MultiSpindleStatus                          ]
-    ['92'   MultiSpindleStatusAcknowledge               ]
-    ['93'   MultiSpindleStatusUnsubscribe               ]
-
-    ['100'  MultiSpindleResultSubscribe                 ]
-    ['101'  MultiSpindleResult                          ]
-    ['102'  MultiSpindleResultAcknowledge               ]
-    ['103'  MultiSpindleResultUnsubscribe               ]
-
-    ['105'  LastPowerMacsTighteningResultDataSubscribe  ]
-    ['106'  LastPowerMacsTighteningResultStationData    ]
-    ['107'  LastPowerMacsTighteningResultBoltData       ]
-    ['108'  LastPowerMacsTighteningResultDataAcknowledge]
-    ['109'  LastPowerMacsTighteningResultDataUnsubscribe]
-    ['110'  DisplayUserTextOnCompact                    ]
-    ['111'  DisplayUserTextOnGraph                      ]
-
-    ['113'  FlashGreenLightOnTool                       ]
-
-    ['120'  JobLineControlInfoSubscribe                 ]
-    ['121'  JobLineControlStarted                       ]
-    ['122'  JobLineControlAlert1                        ]
-    ['123'  JobLineControlAlert2                        ]
-    ['124'  JobLineControlDone                          ]
-    ['125'  JobLineControlInfoAcknowledge               ]
-    ['126'  JobLineControlUnsubscribe                   ]
-    ['127'  AbortJob                                    ]
-    ['128'  JobBatchIncrement                           ]
-    ['129'  JobBatchDecrement                           ]
-    ['130'  JobOff                                      ]
-    ['131'  SetJobLineControlStart                      ]
-    ['132'  SetJobLineControlAlert1                     ]
-    ['133'  SetJobLineControlAlert2                     ]
-
-    ['140'  ExecuteDynamicJobRequest                    ] // OK *
-
-    ['150'  IdentifierDownloadRequest                   ] // OK *
-    ['151'  MultipleIdentifiersWorkOrderSubscribe       ]
-    ['152'  MultipleIdentifiersWorkOrder                ]
-    ['153'  MultipleIdentifiersWorkOrderAcknowledge     ]
-    ['154'  MultipleIdentifiersWorkOrderUnsubscribe     ]
-    ['155'  BypassIdentifier                            ]
-    ['156'  ResetLatestIdentifier                       ]
-    ['157'  ResetAllIdentifiers                         ]
-
-    ['200'  SetExternalControlledRelays                 ]
-
-    ['210'  StatusExternalMonitoredInputsSubscribe      ]
-    ['211'  StatusExternalMonitoredInputs               ]
-    ['212'  StatusExternalMonitoredInputsAcknowledge    ]
-    ['213'  StatusExternalMonitoredInputsUnsubscribe    ]
-    ['214'  IoDeviceStatusRequest                       ]
-    ['215'  IoDeviceStatusReply                         ]
-    ['216'  RelayFunctionSubscribe                      ]
-    ['217'  RelayFunction                               ]
-    ['218'  RelayFunctionAcknowledge                    ]
-    ['219'  RelayFunctionUnsubscribe                    ]
-    ['220'  DigitalInputFunctionSubscribe               ]
-    ['221'  DigitalInputFunction                        ]
-    ['222'  DigitalInputFunctionAcknowledge             ]
-    ['223'  DigitalInputFunctionUnsubscribe             ]
-    ['224'  SetDigitalInputFunction                     ]
-    ['225'  ResetDigitalInputFunction                   ]
-
-    ['240'  UserDataDownload                            ]
-    ['241'  UserDataSubscribe                           ]
-    ['242'  UserData                                    ]
-    ['243'  UserDataAcknowledge                         ]
-    ['244'  UserDataUnsubscribe                         ]
-    ['245'  UserDataDownloadWithOffset                  ]
-
-    ['250'  SelectorSocketInfoSubscribe                 ]
-    ['251'  SelectorSocketInfo                          ]
-    ['252'  SelectorSocketInfoAcknowledge               ]
-    ['253'  SelectorSocketInfoUnsubscribe               ]
-    ['254'  SelectorControlGreenLights                  ]
-    ['255'  SelectorControlRedLights                    ]
-
-    ['260'  ToolTagIdRequest                            ]
-    ['261'  ToolTagIdSubscribe                          ]
-    ['262'  ToolTagId                                   ]
-    ['263'  ToolTagIdAcknowledge                        ]
-    ['264'  ToolTagIdUnsubscribe                        ]
-
-    ['270'  ControllerRebootRequest                     ]
-
-    ['300'  HistogramUploadRequest                      ]
-    ['301'  HistogramUploadReply                        ]
-
-    ['400'  AutomaticManualModeSubscribe                ]
-    ['401'  AutomaticManualMode                         ]
-    ['402'  AutomaticManualModeAcknowledge              ]
-    ['403'  AutomaticManualModeUnsubscribe              ]
-
-    ['410'  AutoDisableSettingsRequest                  ]
-    ['411'  AutoDisableSettingsReply                    ]
-
-    ['420'  OpenProtocolCommandsDisabledSubscribe       ]
-    ['421'  OpenProtocolCommandsDisabled                ]
-    ['422'  OpenProtocolCommandsDisabledAcknowledge     ]
-    ['423'  OpenProtocolCommandsDisabledUnsubscribe     ]
-
-    ['500'  MotorTuningResultDataSubscribe              ]
-    ['501'  MotorTuningResultData                       ]
-    ['502'  MotorTuningResultDataAcknowledge            ]
-    ['503'  MotorTuningResultDataUnsubscribe            ]
-    ['504'  MotorTuningRequest                          ]
-
-    ['700'  TighteningDataDownloadStatusForRadioTools   ]
-
-    ['900'  ResultTracesCurve                           ] // OK *
-    ['901'  ResultTracesCurvePlotData                   ] // OK *
-
-    ['1201' LastOperationResultOverallData              ]
-    ['1202' LastOperationResultObjectData               ]
-    ['1203' LastOperationResultDataAcknowledge          ]
-
-    ['2100' DeviceCommand                               ]
-
-    ['2500' ProgramDataDownload                         ]
-    ['2501' ProgramDataUploadReply                      ]
-    ['2502' PasswordRequest                             ]
-    ['2503' PasswordReply                               ] // PasswordResponse in the documentation
-    ['2504' ProgramPsetSelectionInDynamicJob            ] // OK
-    ['2505' DynamicPsetSelection                        ] // OK
-
-    ['2600' ModeIdUploadRequest                         ]
-    ['2601' ModeIdUploadReply                           ]
-    ['2602' ModeDataUploadRequest                       ]
-    ['2603' ModeDataUploadReply                         ]
-    ['2604' ModeSelected                                ]
-    ['2605' ModeSelectedAcknowledge                     ]
-    ['2606' SelectMode                                  ]
-
-    ['8000' AudiEmergencyStatusSubscribe                ]
-    ['8001' AudiEmergencyStatus                         ]
-    ['8002' AudiEmergencyStatusAcknowledge              ]
-    ['8003' AudiEmergencyStatusUnsubscribe              ]
-
-    ['9997' LinkLevelPositiveAcknowledge                ] // OK
-    ['9998' LinkLevelNegativeAcknowledge                ] // OK
-    ['9999' KeepAliveOpenProtocolCommunication          ] // OK *
+[enum uint 32 Mid
+    ['1'    ApplicationCommunicationStart                                                                              ] // OK *
+    ['2'    ApplicationCommunicationStartAcknowledge                                                                   ] // OK *
+    ['3'    ApplicationCommunicationStop                                                                               ] // OK
+    ['4'    ApplicationCommandError                                                                                    ] // OK *
+    ['5'    ApplicationCommandAccepted                                                                                 ] // OK *
+    ['6'    ApplicationGenericDataRequest                                                                              ] // OK
+    ['7'    Reserved                                                                                                   ]
+    ['8'    ApplicationGenericSubscription                                                                             ] // OK *
+    ['9'    ApplicationGenericUnsubscribe                                                                              ] // OK *
+    ['10'   ParameterSetIdUploadRequest                                                                                ] // OK *
+    ['11'   ParameterSetIdUploadReply                                                                                  ] // OK *
+    ['12'   ParameterSetDataUploadRequest                                                                              ] // OK *
+    ['13'   ParameterSetDataUploadReply                                                                                ] // OK *
+    ['14'   ParameterSetSelectedSubscribe                                                                              ] // OK
+    ['15'   ParameterSetSelected                                                                                       ] // OK
+    ['16'   ParameterSetSelectedAcknowledge                                                                            ] // OK
+    ['17'   ParameterSetSelectedUnsubscribe                                                                            ] // OK
+    ['18'   SelectParameterSet                                                                                         ] // OK *
+    ['19'   SetParameterSetBatchSize                                                                                   ] // OK
+    ['20'   ResetParameterSetBatchCounter                                                                              ] // OK
+    ['21'   LockAtBatchDoneSubscribe                                                                                   ] // OK
+    ['22'   LockAtBatchDoneUpload                                                                                      ] // OK
+    ['23'   LockAtBatchDoneUploadAcknowledge                                                                           ] // OK
+    ['24'   LockAtBatchDoneUnsubscribe                                                                                 ] // OK
+    ['25'   ReservedForFord                                                                                            ] // OK
+
+    ['30'   JobIdUploadRequest                                                                                         ]
+    ['31'   JobIdUploadReply                                                                                           ]
+    ['32'   JobDataUploadRequest                                                                                       ]
+    ['33'   JobDataUploadReply                                                                                         ]
+    ['34'   JobInfoSubscribe                                                                                           ]
+    ['35'   JobInfo                                                                                                    ]
+    ['36'   JobInfoAcknowledge                                                                                         ]
+    ['37'   JobInfoUnsubscribe                                                                                         ]
+    ['38'   SelectJob                                                                                                  ]
+    ['39'   JobRestart                                                                                                 ]
+    ['40'   ToolDataUploadRequest                                                                                      ]
+    ['41'   ToolDataUploadReply                                                                                        ]
+    ['42'   DisableTool                                                                                                ] // OK *
+    ['43'   EnableTool                                                                                                 ] // OK *
+    ['44'   DisconnectToolRequest                                                                                      ]
+    ['45'   SetCalibrationValueRequest                                                                                 ]
+    ['46'   SetPrimaryToolRequest                                                                                      ]
+    ['47'   PairingHandling                                                                                            ]
+    ['48'   PairingStatus                                                                                              ]
+    ['49'   PairingStatusAcknowledge                                                                                   ]
+    ['50'   VehicleIdNumberDownloadRequest                                                                             ]
+    ['51'   VehicleIdNumberSubscribe                                                                                   ]
+    ['52'   VehicleIdNumber                                                                                            ]
+    ['53'   VehicleIdNumberAcknowledge                                                                                 ]
+    ['54'   VehicleIdNumberUnsubscribe                                                                                 ]
+
+    ['60'   LastTighteningResultDataSubscribe                                                                          ] // OK *
+    ['61'   LastTighteningResultData                                                                                   ] // OK *
+    ['62'   LastTighteningResultDataAcknowledge                                                                        ]
+    ['63'   LastTighteningResultDataUnsubscribe                                                                        ]
+    ['64'   OldTighteningResultUploadRequest                                                                           ]
+    ['65'   OldTighteningResultUploadReply                                                                             ]
+
+    ['70'   AlarmSubscribe                                                                                             ] // OK *
+    ['71'   Alarm                                                                                                      ] // OK *
+    ['72'   AlarmAcknowledge                                                                                           ] // OK *
+    ['73'   AlarmUnsubscribe                                                                                           ] // OK *
+    ['74'   AlarmAcknowledgedOnController                                                                              ]
+    ['75'   AlarmAcknowledgedOnControllerAcknowledge                                                                   ]
+    ['76'   AlarmStatus                                                                                                ] // OK *
+    ['77'   AlarmStatusAcknowledge                                                                                     ] // OK *
+    ['78'   AcknowledgeAlarmRemotelyOnController                                                                       ]
+
+    ['80'   ReadTimeUploadRequest                                                                                      ]
+    ['81'   ReadTimeUploadReply                                                                                        ]
+    ['82'   SetTime                                                                                                    ] // OK *
+
+    ['90'   MultiSpindleStatusSubscribe                                                                                ]
+    ['91'   MultiSpindleStatus                                                                                         ]
+    ['92'   MultiSpindleStatusAcknowledge                                                                              ]
+    ['93'   MultiSpindleStatusUnsubscribe                                                                              ]
+
+    ['100'  MultiSpindleResultSubscribe                                                                                ]
+    ['101'  MultiSpindleResult                                                                                         ]
+    ['102'  MultiSpindleResultAcknowledge                                                                              ]
+    ['103'  MultiSpindleResultUnsubscribe                                                                              ]
+
+    ['105'  LastPowerMacsTighteningResultDataSubscribe                                                                 ]
+    ['106'  LastPowerMacsTighteningResultStationData                                                                   ]
+    ['107'  LastPowerMacsTighteningResultBoltData                                                                      ]
+    ['108'  LastPowerMacsTighteningResultDataAcknowledge                                                               ]
+    ['109'  LastPowerMacsTighteningResultDataUnsubscribe                                                               ]
+    ['110'  DisplayUserTextOnCompact                                                                                   ]
+    ['111'  DisplayUserTextOnGraph                                                                                     ]
+
+    ['113'  FlashGreenLightOnTool                                                                                      ]
+
+    ['120'  JobLineControlInfoSubscribe                                                                                ]
+    ['121'  JobLineControlStarted                                                                                      ]
+    ['122'  JobLineControlAlert1                                                                                       ]
+    ['123'  JobLineControlAlert2                                                                                       ]
+    ['124'  JobLineControlDone                                                                                         ]
+    ['125'  JobLineControlInfoAcknowledge                                                                              ]
+    ['126'  JobLineControlUnsubscribe                                                                                  ]
+    ['127'  AbortJob                                                                                                   ]
+    ['128'  JobBatchIncrement                                                                                          ]
+    ['129'  JobBatchDecrement                                                                                          ]
+    ['130'  JobOff                                                                                                     ]
+    ['131'  SetJobLineControlStart                                                                                     ]
+    ['132'  SetJobLineControlAlert1                                                                                    ]
+    ['133'  SetJobLineControlAlert2                                                                                    ]
+
+    ['140'  ExecuteDynamicJobRequest                                                                                   ] // OK *
+
+    ['150'  IdentifierDownloadRequest                                                                                  ] // OK *
+    ['151'  MultipleIdentifiersWorkOrderSubscribe                                                                      ]
+    ['152'  MultipleIdentifiersWorkOrder                                                                               ]
+    ['153'  MultipleIdentifiersWorkOrderAcknowledge                                                                    ]
+    ['154'  MultipleIdentifiersWorkOrderUnsubscribe                                                                    ]
+    ['155'  BypassIdentifier                                                                                           ]
+    ['156'  ResetLatestIdentifier                                                                                      ]
+    ['157'  ResetAllIdentifiers                                                                                        ]
+
+    ['200'  SetExternalControlledRelays                                                                                ]
+
+    ['210'  StatusExternalMonitoredInputsSubscribe                                                                     ]
+    ['211'  StatusExternalMonitoredInputs                                                                              ]
+    ['212'  StatusExternalMonitoredInputsAcknowledge                                                                   ]
+    ['213'  StatusExternalMonitoredInputsUnsubscribe                                                                   ]
+    ['214'  IoDeviceStatusRequest                                                                                      ]
+    ['215'  IoDeviceStatusReply                                                                                        ]
+    ['216'  RelayFunctionSubscribe                                                                                     ]
+    ['217'  RelayFunction                                                                                              ]
+    ['218'  RelayFunctionAcknowledge                                                                                   ]
+    ['219'  RelayFunctionUnsubscribe                                                                                   ]
+    ['220'  DigitalInputFunctionSubscribe                                                                              ]
+    ['221'  DigitalInputFunction                                                                                       ]
+    ['222'  DigitalInputFunctionAcknowledge                                                                            ]
+    ['223'  DigitalInputFunctionUnsubscribe                                                                            ]
+    ['224'  SetDigitalInputFunction                                                                                    ]
+    ['225'  ResetDigitalInputFunction                                                                                  ]
+
+    ['240'  UserDataDownload                                                                                           ]
+    ['241'  UserDataSubscribe                                                                                          ]
+    ['242'  UserData                                                                                                   ]
+    ['243'  UserDataAcknowledge                                                                                        ]
+    ['244'  UserDataUnsubscribe                                                                                        ]
+    ['245'  UserDataDownloadWithOffset                                                                                 ]
+
+    ['250'  SelectorSocketInfoSubscribe                                                                                ]
+    ['251'  SelectorSocketInfo                                                                                         ]
+    ['252'  SelectorSocketInfoAcknowledge                                                                              ]
+    ['253'  SelectorSocketInfoUnsubscribe                                                                              ]
+    ['254'  SelectorControlGreenLights                                                                                 ]
+    ['255'  SelectorControlRedLights                                                                                   ]
+
+    ['260'  ToolTagIdRequest                                                                                           ]
+    ['261'  ToolTagIdSubscribe                                                                                         ]
+    ['262'  ToolTagId                                                                                                  ]
+    ['263'  ToolTagIdAcknowledge                                                                                       ]
+    ['264'  ToolTagIdUnsubscribe                                                                                       ]
+
+    ['270'  ControllerRebootRequest                                                                                    ]
+
+    ['300'  HistogramUploadRequest                                                                                     ]
+    ['301'  HistogramUploadReply                                                                                       ]
+
+    ['400'  AutomaticManualModeSubscribe                                                                               ]
+    ['401'  AutomaticManualMode                                                                                        ]
+    ['402'  AutomaticManualModeAcknowledge                                                                             ]
+    ['403'  AutomaticManualModeUnsubscribe                                                                             ]
+
+    ['410'  AutoDisableSettingsRequest                                                                                 ]
+    ['411'  AutoDisableSettingsReply                                                                                   ]
+
+    ['420'  OpenProtocolCommandsDisabledSubscribe                                                                      ]
+    ['421'  OpenProtocolCommandsDisabled                                                                               ]
+    ['422'  OpenProtocolCommandsDisabledAcknowledge                                                                    ]
+    ['423'  OpenProtocolCommandsDisabledUnsubscribe                                                                    ]
+
+    ['500'  MotorTuningResultDataSubscribe                                                                             ]
+    ['501'  MotorTuningResultData                                                                                      ]
+    ['502'  MotorTuningResultDataAcknowledge                                                                           ]
+    ['503'  MotorTuningResultDataUnsubscribe                                                                           ]
+    ['504'  MotorTuningRequest                                                                                         ]
+
+    ['700'  TighteningDataDownloadStatusForRadioTools                                                                  ]
+
+    ['900'  ResultTracesCurve                                                                                          ] // OK *
+    ['901'  ResultTracesCurvePlotData                                                                                  ] // OK *
+
+    ['1201' LastOperationResultOverallData                                                                             ]
+    ['1202' LastOperationResultObjectData                                                                              ]
+    ['1203' LastOperationResultDataAcknowledge                                                                         ]
+
+    ['2100' DeviceCommand                                                                                              ]
+
+    ['2500' ProgramDataDownload                                                                                        ]
+    ['2501' ProgramDataUploadReply                                                                                     ]
+    ['2502' PasswordRequest                                                                                            ]
+    ['2503' PasswordReply                                                                                              ] // PasswordResponse in the documentation
+    ['2504' ProgramPsetSelectionInDynamicJob                                                                           ] // OK
+    ['2505' DynamicPsetSelection                                                                                       ] // OK
+
+    ['2600' ModeIdUploadRequest                                                                                        ]
+    ['2601' ModeIdUploadReply                                                                                          ]
+    ['2602' ModeDataUploadRequest                                                                                      ]
+    ['2603' ModeDataUploadReply                                                                                        ]
+    ['2604' ModeSelected                                                                                               ]
+    ['2605' ModeSelectedAcknowledge                                                                                    ]
+    ['2606' SelectMode                                                                                                 ]
+
+    ['8000' AudiEmergencyStatusSubscribe                                                                               ]
+    ['8001' AudiEmergencyStatus                                                                                        ]
+    ['8002' AudiEmergencyStatusAcknowledge                                                                             ]
+    ['8003' AudiEmergencyStatusUnsubscribe                                                                             ]
+
+    ['9997' LinkLevelPositiveAcknowledge                                                                               ] // OK
+    ['9998' LinkLevelNegativeAcknowledge                                                                               ] // OK
+    ['9999' KeepAliveOpenProtocolCommunication                                                                         ] // OK *
 ]
 
-[enum uint 16 ApplicationCommunicationError encoding='"ASCII"'
-    ['0'  NoError]
-    ['1'  InvalidData]
-    ['2'  ParameterSetIdNotPresent]
-    ['3'  ParameterSetCanNotBeSet]
-    ['4'  ParameterSetNotRunning]
-
-    ['6'  VinUploadSubscriptionAlreadyExists]
-    ['7'  VinUploadSubscriptionDoesNotExist]
-    ['8'  VinInputSourceNotGranted]
-    ['9'  LastTighteningResultSubscriptionAlreadyExists]
-    ['10' LastTighteningResultSubscriptionDoesNowExist]
-    ['11' AlarmSubscriptionAlreadyExists]
-    ['12' AlarmSubscriptionDoesNotExist]
-    ['13' ParameterSetSubscriptionAlreadyExists]
-    ['14' ParameterSetSubscriptionDoesNotExist]
-    ['15' TighteningIdRequestedNotFound]
-    ['16' ConnectionRejectedProtocolBusy]
-    ['17' JobIdNotPresent]
-    ['18' JobInfoSubscriptionAlreadyExists]
-    ['19' JobInfoSubscriptionDoesNotExist]
-    ['20' JobCanNotBeSet]
-    ['21' JobNotRunning]
-    ['22' NotPossibleToExecuteDynamicJobRequest]
-    ['23' JobBatchDecrementFailed]
-    ['24' NotPossibleToCreatePset]
-    ['25' ProgrammingControlNotGranted]
-    ['26' WrongToolTypeToPsetDownloadConnected]
-    ['27' ToolIsInaccessible]
-    ['28' JobAbortionIsInProgress]
-
-    ['30' ControllerIdNotASyncMasterOrStationController]
-    ['31' MultiSpindleStatusSubscriptionAlreadyExists]
-    ['32' MultiSpindleStatusSubscriptionDoesNotExist]
-    ['33' MultiSpindleResultSubscriptionAlreadyExists]
-    ['34' MultiSpindleResultSubscriptionDoesNotExist]
-    ['35' OtherMasterClientAlreadyConnected]
-
-    ['40' JobLineControlInfoSubscriptionAlreadyExists]
-    ['41' JobLineControlInfoSubscriptionDoesNotExist]
-    ['42' IdentifierInputSourceNotGranted]
-    ['43' MultipleIdentifiersWorkOrderSubscriptionAlreadyExists]
-    ['44' MultipleIdentifiersWorkOrderSubscriptionDoesNotExist]
-
-    ['50' StatusExternalMonitoredInputsSubscriptionAlreadyExists]
-    ['51' StatusExternalMonitoredInputsSubscriptionDoesNotExist]
-    ['52' IoDeviceNotConnected]
-    ['53' FaultyIoDeviceId]
-    ['54' ToolTagIdUnknown]
-    ['55' ToolTagIdSubscriptionAlreadyExists]
-    ['56' ToolTagIdSubscriptionDoesNotExist]
-    ['57' ToolMotorTuningFailed]
-    ['58' NoAlarmPresent]
-    ['59' ToolCurrentlyInUse]
-    ['60' NoHistogramAvailable]
-    ['61' PairingFailed]
-    ['62' PairingDenied]
-    ['63' PairingOrPairingAbortionAttemptOrWrongToolType]
-    ['64' PairingAbortionDenied]
-    ['65' PairingAbortionFailed]
-    ['66' PairingDisconnectionFailed]
-    ['67' PairingInProgressOrAlreadyDone]
-    ['68' PairingDeniedNoProgramControl]
-    ['69' UnsupportedExtraDataRevision]
-    ['70' CalibrationFailed]
-    ['71' SubscriptionAlreadyExists]
-    ['72' SubscriptionDoesNotExist]
-    ['73' SubscribedMidUnsupported]
-    ['74' SubscribedMidRevisionUnsupported]
-    ['75' RequestedMidUnsupported]
-    ['76' RequestedMidRevisionUnsupported]
-    ['77' RequestedOnSpecificDataNotSupported]
-    ['78' SubscriptionOnSpecificDataNotSupported]
-    ['79' CommandFailed]
-    ['80' AudiEmergencyStatusSubscriptionAlreadyExists] // AudiEmergencyStatusSubscriptionExists
-    ['81' AudiEmergencyStatusSubscriptionDoesNotExist]
-    ['82' AutomaticOrManualModeSubscriptionAlreadyExists] // AutomaticOrManualModeSubscribeAlreadyExists
-    ['83' AutomaticOrManualModeSubscriptionDoesNotExist] // AutomaticOrManualModeSubscribeDoesNotExist
-    ['84' TheRelayFunctionSubscriptionAlreadyExists]
-    ['85' TheRelayFunctionSubscriptionDoesNotExist]
-    ['86' TheSelectorSocketInfoSubscriptionAlreadyExists]
-    ['87' TheSelectorSocketInfoSubscriptionDoesNotExist]
-    ['88' TheDiginInfoSubscriptionAlreadyExists]
-    ['89' TheDiginInfoSubscriptionDoesNotExist]
-    ['90' LockAtBatchDoneSubscriptionAlreadyExists]
-    ['91' LockAtBatchDoneSubscriptionDoesNotExist]
-    ['92' OpenProtocolCommendsDisabled]
-    ['93' OpenProtocolCommendsDisabledSubscriptionAlreadyExists]
-    ['94' OpenProtocolCommendsDisabledSubscriptionDoesNotExist]
-    ['95' RejectRequestPowerMacsIsInManualMode]
-    ['96' RejectConnectionClientAlreadyConnected]
-    ['97' MidRevisionUnsupported]
-    ['98' ControllerInternalRequestTimeout]
-    ['99' UnknownMid]
+[enum uint 16 ApplicationCommunicationError 
+    ['0'  NoError                                                                                                      ]
+    ['1'  InvalidData                                                                                                  ]
+    ['2'  ParameterSetIdNotPresent                                                                                     ]
+    ['3'  ParameterSetCanNotBeSet                                                                                      ]
+    ['4'  ParameterSetNotRunning                                                                                       ]
+
+    ['6'  VinUploadSubscriptionAlreadyExists                                                                           ]
+    ['7'  VinUploadSubscriptionDoesNotExist                                                                            ]
+    ['8'  VinInputSourceNotGranted                                                                                     ]
+    ['9'  LastTighteningResultSubscriptionAlreadyExists                                                                ]
+    ['10' LastTighteningResultSubscriptionDoesNowExist                                                                 ]
+    ['11' AlarmSubscriptionAlreadyExists                                                                               ]
+    ['12' AlarmSubscriptionDoesNotExist                                                                                ]
+    ['13' ParameterSetSubscriptionAlreadyExists                                                                        ]
+    ['14' ParameterSetSubscriptionDoesNotExist                                                                         ]
+    ['15' TighteningIdRequestedNotFound                                                                                ]
+    ['16' ConnectionRejectedProtocolBusy                                                                               ]
+    ['17' JobIdNotPresent                                                                                              ]
+    ['18' JobInfoSubscriptionAlreadyExists                                                                             ]
+    ['19' JobInfoSubscriptionDoesNotExist                                                                              ]
+    ['20' JobCanNotBeSet                                                                                               ]
+    ['21' JobNotRunning                                                                                                ]
+    ['22' NotPossibleToExecuteDynamicJobRequest                                                                        ]
+    ['23' JobBatchDecrementFailed                                                                                      ]
+    ['24' NotPossibleToCreatePset                                                                                      ]
+    ['25' ProgrammingControlNotGranted                                                                                 ]
+    ['26' WrongToolTypeToPsetDownloadConnected                                                                         ]
+    ['27' ToolIsInaccessible                                                                                           ]
+    ['28' JobAbortionIsInProgress                                                                                      ]
+
+    ['30' ControllerIdNotASyncMasterOrStationController                                                                ]
+    ['31' MultiSpindleStatusSubscriptionAlreadyExists                                                                  ]
+    ['32' MultiSpindleStatusSubscriptionDoesNotExist                                                                   ]
+    ['33' MultiSpindleResultSubscriptionAlreadyExists                                                                  ]
+    ['34' MultiSpindleResultSubscriptionDoesNotExist                                                                   ]
+    ['35' OtherMasterClientAlreadyConnected                                                                            ]
+
+    ['40' JobLineControlInfoSubscriptionAlreadyExists                                                                  ]
+    ['41' JobLineControlInfoSubscriptionDoesNotExist                                                                   ]
+    ['42' IdentifierInputSourceNotGranted                                                                              ]
+    ['43' MultipleIdentifiersWorkOrderSubscriptionAlreadyExists                                                        ]
+    ['44' MultipleIdentifiersWorkOrderSubscriptionDoesNotExist                                                         ]
+
+    ['50' StatusExternalMonitoredInputsSubscriptionAlreadyExists                                                       ]
+    ['51' StatusExternalMonitoredInputsSubscriptionDoesNotExist                                                        ]
+    ['52' IoDeviceNotConnected                                                                                         ]
+    ['53' FaultyIoDeviceId                                                                                             ]
+    ['54' ToolTagIdUnknown                                                                                             ]
+    ['55' ToolTagIdSubscriptionAlreadyExists                                                                           ]
+    ['56' ToolTagIdSubscriptionDoesNotExist                                                                            ]
+    ['57' ToolMotorTuningFailed                                                                                        ]
+    ['58' NoAlarmPresent                                                                                               ]
+    ['59' ToolCurrentlyInUse                                                                                           ]
+    ['60' NoHistogramAvailable                                                                                         ]
+    ['61' PairingFailed                                                                                                ]
+    ['62' PairingDenied                                                                                                ]
+    ['63' PairingOrPairingAbortionAttemptOrWrongToolType                                                               ]
+    ['64' PairingAbortionDenied                                                                                        ]
+    ['65' PairingAbortionFailed                                                                                        ]
+    ['66' PairingDisconnectionFailed                                                                                   ]
+    ['67' PairingInProgressOrAlreadyDone                                                                               ]
+    ['68' PairingDeniedNoProgramControl                                                                                ]
+    ['69' UnsupportedExtraDataRevision                                                                                 ]
+    ['70' CalibrationFailed                                                                                            ]
+    ['71' SubscriptionAlreadyExists                                                                                    ]
+    ['72' SubscriptionDoesNotExist                                                                                     ]
+    ['73' SubscribedMidUnsupported                                                                                     ]
+    ['74' SubscribedMidRevisionUnsupported                                                                             ]
+    ['75' RequestedMidUnsupported                                                                                      ]
+    ['76' RequestedMidRevisionUnsupported                                                                              ]
+    ['77' RequestedOnSpecificDataNotSupported                                                                          ]
+    ['78' SubscriptionOnSpecificDataNotSupported                                                                       ]
+    ['79' CommandFailed                                                                                                ]
+    ['80' AudiEmergencyStatusSubscriptionAlreadyExists                                                                 ] // AudiEmergencyStatusSubscriptionExists
+    ['81' AudiEmergencyStatusSubscriptionDoesNotExist                                                                  ]
+    ['82' AutomaticOrManualModeSubscriptionAlreadyExists                                                               ] // AutomaticOrManualModeSubscribeAlreadyExists
+    ['83' AutomaticOrManualModeSubscriptionDoesNotExist                                                                ] // AutomaticOrManualModeSubscribeDoesNotExist
+    ['84' TheRelayFunctionSubscriptionAlreadyExists                                                                    ]
+    ['85' TheRelayFunctionSubscriptionDoesNotExist                                                                     ]
+    ['86' TheSelectorSocketInfoSubscriptionAlreadyExists                                                               ]
+    ['87' TheSelectorSocketInfoSubscriptionDoesNotExist                                                                ]
+    ['88' TheDiginInfoSubscriptionAlreadyExists                                                                        ]
+    ['89' TheDiginInfoSubscriptionDoesNotExist                                                                         ]
+    ['90' LockAtBatchDoneSubscriptionAlreadyExists                                                                     ]
+    ['91' LockAtBatchDoneSubscriptionDoesNotExist                                                                      ]
+    ['92' OpenProtocolCommendsDisabled                                                                                 ]
+    ['93' OpenProtocolCommendsDisabledSubscriptionAlreadyExists                                                        ]
+    ['94' OpenProtocolCommendsDisabledSubscriptionDoesNotExist                                                         ]
+    ['95' RejectRequestPowerMacsIsInManualMode                                                                         ]
+    ['96' RejectConnectionClientAlreadyConnected                                                                       ]
+    ['97' MidRevisionUnsupported                                                                                       ]
+    ['98' ControllerInternalRequestTimeout                                                                             ]
+    ['99' UnknownMid                                                                                                   ]
 ]
 
-[enum uint 32 LinkLevelNegativeAcknowledgeError encoding='"ASCII"'
-   ['0' NoError]
-   ['1' InvalidLength]
-   ['2' InvalidRevision]
-   ['3' InvalidSequenceNumber]
-   ['4' InconsistencyOfNumberOfMessages]
+[enum uint 32 LinkLevelNegativeAcknowledgeError 
+   ['0' NoError                                                                                                        ]
+   ['1' InvalidLength                                                                                                  ]
+   ['2' InvalidRevision                                                                                                ]
+   ['3' InvalidSequenceNumber                                                                                          ]
+   ['4' InconsistencyOfNumberOfMessages                                                                                ]
 ]
 
-[enum uint 8 RotationDirection encoding='"ASCII"'
-    ['0' Undefined       ]
-    ['1' Clockwise       ]
-    ['2' CounterClockwise]
+[enum uint 8 RotationDirection 
+    ['0' Undefined                                                                                                     ]
+    ['1' Clockwise                                                                                                     ]
+    ['2' CounterClockwise                                                                                              ]
 ]
 
-[enum uint 8 NokOk encoding='"ASCII"'
-    ['0' NOK]
-    ['1' OK ]
+[enum uint 8 NokOk 
+    ['0' NOK                                                                                                           ]
+    ['1' OK                                                                                                            ]
 ]
 
-[enum uint 8 OkNok encoding='"ASCII"'
-    ['0' OK ]
-    ['1' NOK]
+[enum uint 8 OkNok 
+    ['0' OK                                                                                                            ]
+    ['1' NOK                                                                                                           ]
 ]
 
-[enum uint 8 NoYes encoding='"ASCII"'
-    ['0' No ]
-    ['1' Yes]
+[enum uint 8 NoYes 
+    ['0' No                                                                                                            ]
+    ['1' Yes                                                                                                           ]
 ]
 
-[enum uint 8 Status encoding='"ASCII"'
-    ['0' Low ]
-    ['1' OK  ]
-    ['2' High]
+[enum uint 8 Status 
+    ['0' Low                                                                                                           ]
+    ['1' OK                                                                                                            ]
+    ['2' High                                                                                                          ]
 ]
 
-[enum uint 8 BatchStatus encoding='"ASCII"'
-    ['0' NOK   ]
-    ['1' OK    ]
-    ['2' Unused]
+[enum uint 8 BatchStatus 
+    ['0' NOK                                                                                                           ]
+    ['1' OK                                                                                                            ]
+    ['2' Unused                                                                                                        ]
 ]
 
-[enum uint 16 Strategy encoding='"ASCII"'
-    ['1'  TorqueControl               ]
-    ['2'  TorqueControlAngleMonitoring]
-    ['3'  TorqueControlAngleControlAnd]
-    ['4'  AngleControlTorqueMonitoring]
-    ['5'  DsControl                   ]
-    ['6'  DsControlTorqueMonitoring   ]
-    ['7'  ReverseAngle                ]
-    ['8'  ReverseTorque               ]
-    ['9'  ClickWrench                 ]
-    ['10' RotateSpindleForward        ]
-    ['11' TorqueControlAngleControlOr ]
-    ['12' RotateSpindleReverse        ]
-    ['13' HomePositionForward         ]
-    ['14' EpMonitoring                ]
-    ['15' Yield                       ]
-    ['16' EpFixed                     ]
-    ['17' EpControl                   ]
-    ['18' EpAngleShutoff              ]
-    ['19' YieldTorqueControlOr        ]
-    ['20' SnugGradient                ]
-    ['21' ResidualTorqueTime          ]
-    ['22' ResidualTorqueAngle         ]
-    ['23' BreakawayPeak               ]
-    ['24' LooseAndTightening          ]
-    ['25' HomePositionReverse         ]
-    ['26' PvtCompWithSnug             ]
-    ['99' NoStrategy                  ]
+[enum uint 16 Strategy 
+    ['1'  TorqueControl                                                                                                ]
+    ['2'  TorqueControlAngleMonitoring                                                                                 ]
+    ['3'  TorqueControlAngleControlAnd                                                                                 ]
+    ['4'  AngleControlTorqueMonitoring                                                                                 ]
+    ['5'  DsControl                                                                                                    ]
+    ['6'  DsControlTorqueMonitoring                                                                                    ]
+    ['7'  ReverseAngle                                                                                                 ]
+    ['8'  ReverseTorque                                                                                                ]
+    ['9'  ClickWrench                                                                                                  ]
+    ['10' RotateSpindleForward                                                                                         ]
+    ['11' TorqueControlAngleControlOr                                                                                  ]
+    ['12' RotateSpindleReverse                                                                                         ]
+    ['13' HomePositionForward                                                                                          ]
+    ['14' EpMonitoring                                                                                                 ]
+    ['15' Yield                                                                                                        ]
+    ['16' EpFixed                                                                                                      ]
+    ['17' EpControl                                                                                                    ]
+    ['18' EpAngleShutoff                                                                                               ]
+    ['19' YieldTorqueControlOr                                                                                         ]
+    ['20' SnugGradient                                                                                                 ]
+    ['21' ResidualTorqueTime                                                                                           ]
+    ['22' ResidualTorqueAngle                                                                                          ]
+    ['23' BreakawayPeak                                                                                                ]
+    ['24' LooseAndTightening                                                                                           ]
+    ['25' HomePositionReverse                                                                                          ]
+    ['26' PvtCompWithSnug                                                                                              ]
+    ['99' NoStrategy                                                                                                   ]
 ]
 
-[enum uint 8 Unit encoding='"ASCII"'
-    ['1' Nm     ]
-    ['2' LbfFt  ]
-    ['3' LbfIn  ]
-    ['4' Kpm    ]
-    ['5' KfgCm  ]
-    ['6' OzfIn  ]
-    ['7' Percent]
-    ['8' Ncm    ]
+[enum uint 8 Unit 
+    ['1' Nm                                                                                                            ]
+    ['2' LbfFt                                                                                                         ]
+    ['3' LbfIn                                                                                                         ]
+    ['4' Kpm                                                                                                           ]
+    ['5' KfgCm                                                                                                         ]
+    ['6' OzfIn                                                                                                         ]
+    ['7' Percent                                                                                                       ]
+    ['8' Ncm                                                                                                           ]
 ]
 
-[enum uint 8 ResultType encoding='"ASCII"'
-    ['1' Tightening]
-    ['2' Loosening]
-    ['3' BatchIncrement]
-    ['4' BatchDecrement]
-    ['5' BypassParameterSetResult]
-    ['6' AbortJobResult]
-    ['7' SyncTightening]
-    ['8' ReferenceSetup]
+[enum uint 8 ResultType 
+    ['1' Tightening                                                                                                    ]
+    ['2' Loosening                                                                                                     ]
+    ['3' BatchIncrement                                                                                                ]
+    ['4' BatchDecrement                                                                                                ]
+    ['5' BypassParameterSetResult                                                                                      ]
+    ['6' AbortJobResult                                                                                                ]
+    ['7' SyncTightening                                                                                                ]
+    ['8' ReferenceSetup                                                                                                ]
 ]
 
-[enum uint 24 TraceType encoding='"ASCII"'
-    ['1'   AngleTrace      ]
-    ['2'   TorqueTrace     ]
-    ['3'   CurrentTrace    ]
-    ['4'   GradientTrace   ]
-    ['5'   StrokeTrace     ]
-    ['6'   ForceTrace      ]
-    ['999' UnsubscribeOnAll]
+[enum uint 24 TraceType 
+    ['1'   AngleTrace                                                                                                  ]
+    ['2'   TorqueTrace                                                                                                 ]
+    ['3'   CurrentTrace                                                                                                ]
+    ['4'   GradientTrace                                                                                               ]
+    ['5'   StrokeTrace                                                                                                 ]
+    ['6'   ForceTrace                                                                                                  ]
+    ['999' UnsubscribeOnAll                                                                                            ]
 ]
 
-[enum uint 8 AlarmActiveStatus encoding='"ASCII"'
-    ['0'   NoAlarmIsActive]
-    ['1'   AlarmIsActive  ]
+[enum uint 8 AlarmActiveStatus 
+    ['0'   NoAlarmIsActive                                                                                             ]
+    ['1'   AlarmIsActive                                                                                               ]
 ]
 
-[enum uint 8 ForcedOrder encoding='"ASCII"'
-    ['0'   FreeOrder    ]
-    ['1'   ForcedOrder  ]
-    ['2'   FreeAndForced]
+[enum uint 8 ForcedOrder 
+    ['0'   FreeOrder                                                                                                   ]
+    ['1'   ForcedOrder                                                                                                 ]
+    ['2'   FreeAndForced                                                                                               ]
 ]
 
-[enum uint 8 ToolLoosening encoding='"ASCII"'
-    ['0'   Enable    ]
-    ['1'   Disable  ]
-    ['2'   EnableOnlyOnNokTightening]
+[enum uint 8 ToolLoosening 
+    ['0'   Enable                                                                                                      ]
+    ['1'   Disable                                                                                                     ]
+    ['2'   EnableOnlyOnNokTightening                                                                                   ]
 ]
 
-[enum uint 8 JobBatchMode encoding='"ASCII"'
-    ['0'   OnlyOkTighteningsAreCounted      ]
-    ['1'   BothOkAndNokTighteningsAreCounted]
+[enum uint 8 JobBatchMode 
+    ['0'   OnlyOkTighteningsAreCounted                                                                                 ]
+    ['1'   BothOkAndNokTighteningsAreCounted                                                                           ]
 ]
 
-[enum uint 8 IdentifierResult encoding='"ASCII"'
-    ['0'   JobVinNumber]
-    ['1'   Other       ]
+[enum uint 8 IdentifierResult 
+    ['0'   JobVinNumber                                                                                                ]
+    ['1'   Other                                                                                                       ]
 ]


(plc4x) 03/03: chore: Reformatting.

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 1d368123a3a7e186b704f43b355a5fdfeac47df5
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Sep 5 19:53:30 2025 +0200

    chore: Reformatting.
---
 .../codegenerator/language/mspec/model/terms/DefaultVariableLiteral.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/terms/DefaultVariableLiteral.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/terms/DefaultVariableLiteral.java
index 971802cede..664660f13d 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/terms/DefaultVariableLiteral.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/terms/DefaultVariableLiteral.java
@@ -54,7 +54,6 @@ public class DefaultVariableLiteral implements VariableLiteral {
         return typeReference;
     }
 
-
     public void setTypeReference(TypeReference typeReference) {
         Objects.requireNonNull(typeReference);
         this.typeReference = typeReference;