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

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

commit f4901fa4c85daf0e36eccb6027560417f713fedb
Author: Sebastian Rühl <[email protected]>
AuthorDate: Sat Feb 26 11:38:55 2022 +0100

    fix(bacnet/plc4j): enable uint64 support for virtual fields
---
 .../model/BACnetApplicationTagSignedInteger.go     |  16 +
 .../model/BACnetApplicationTagUnsignedInteger.go   |  16 +
 .../model/BACnetContextTagSignedInteger.go         |  16 +
 .../model/BACnetContextTagUnsignedInteger.go       |  16 +
 .../model/BACnetTagPayloadSignedInteger.go         |   8 +-
 .../model/BACnetTagPayloadUnsignedInteger.go       | 352 +++++++++++++++++++--
 .../bacnetip/readwrite/model/StaticHelper.go       |   6 +-
 plc4j/drivers/bacnet/pom.xml                       |   8 +
 .../bacnetip/readwrite/utils/StaticHelper.java     |   6 +-
 .../plc4x/java/bacnetip/RandomPackagesTest.java    | 180 +++++------
 .../resources/protocols/bacnetip/bacnetip.mspec    |  78 +++--
 11 files changed, 544 insertions(+), 158 deletions(-)

diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
index 6c7a1a4..d8b6b44 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
@@ -36,6 +36,8 @@ type BACnetApplicationTagSignedInteger struct {
 type IBACnetApplicationTagSignedInteger interface {
        // GetPayload returns Payload
        GetPayload() *BACnetTagPayloadSignedInteger
+       // GetActualValue returns ActualValue
+       GetActualValue() uint64
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -69,6 +71,9 @@ func (m *BACnetApplicationTagSignedInteger) GetPayload() 
*BACnetTagPayloadSigned
 ///////////////////////////////////////////////////////////
 // Accessors for virtual fields.
 ///////////////////////////////////////////////////////////
+func (m *BACnetApplicationTagSignedInteger) GetActualValue() uint64 {
+       return m.GetPayload().GetActualValue()
+}
 
 // NewBACnetApplicationTagSignedInteger factory function for 
BACnetApplicationTagSignedInteger
 func NewBACnetApplicationTagSignedInteger(payload 
*BACnetTagPayloadSignedInteger, header *BACnetTagHeader) *BACnetApplicationTag {
@@ -113,6 +118,8 @@ func (m *BACnetApplicationTagSignedInteger) 
GetLengthInBitsConditional(lastItem
        // Simple field (payload)
        lengthInBits += m.Payload.GetLengthInBits()
 
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -138,6 +145,11 @@ func BACnetApplicationTagSignedIntegerParse(readBuffer 
utils.ReadBuffer, header
                return nil, closeErr
        }
 
+       // Virtual field
+       _actualValue := payload.GetActualValue()
+       actualValue := uint64(_actualValue)
+       _ = actualValue
+
        if closeErr := 
readBuffer.CloseContext("BACnetApplicationTagSignedInteger"); closeErr != nil {
                return nil, closeErr
        }
@@ -168,6 +180,10 @@ func (m *BACnetApplicationTagSignedInteger) 
Serialize(writeBuffer utils.WriteBuf
                if _payloadErr != nil {
                        return errors.Wrap(_payloadErr, "Error serializing 
'payload' field")
                }
+               // Virtual field
+               if _actualValueErr := writeBuffer.WriteVirtual("actualValue", 
m.GetActualValue()); _actualValueErr != nil {
+                       return errors.Wrap(_actualValueErr, "Error serializing 
'actualValue' field")
+               }
 
                if popErr := 
writeBuffer.PopContext("BACnetApplicationTagSignedInteger"); popErr != nil {
                        return popErr
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
index ca857ec..36a5ad0 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
@@ -36,6 +36,8 @@ type BACnetApplicationTagUnsignedInteger struct {
 type IBACnetApplicationTagUnsignedInteger interface {
        // GetPayload returns Payload
        GetPayload() *BACnetTagPayloadUnsignedInteger
+       // GetActualValue returns ActualValue
+       GetActualValue() uint64
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -69,6 +71,9 @@ func (m *BACnetApplicationTagUnsignedInteger) GetPayload() 
*BACnetTagPayloadUnsi
 ///////////////////////////////////////////////////////////
 // Accessors for virtual fields.
 ///////////////////////////////////////////////////////////
+func (m *BACnetApplicationTagUnsignedInteger) GetActualValue() uint64 {
+       return m.GetPayload().GetActualValue()
+}
 
 // NewBACnetApplicationTagUnsignedInteger factory function for 
BACnetApplicationTagUnsignedInteger
 func NewBACnetApplicationTagUnsignedInteger(payload 
*BACnetTagPayloadUnsignedInteger, header *BACnetTagHeader) 
*BACnetApplicationTag {
@@ -113,6 +118,8 @@ func (m *BACnetApplicationTagUnsignedInteger) 
GetLengthInBitsConditional(lastIte
        // Simple field (payload)
        lengthInBits += m.Payload.GetLengthInBits()
 
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -138,6 +145,11 @@ func BACnetApplicationTagUnsignedIntegerParse(readBuffer 
utils.ReadBuffer, heade
                return nil, closeErr
        }
 
+       // Virtual field
+       _actualValue := payload.GetActualValue()
+       actualValue := uint64(_actualValue)
+       _ = actualValue
+
        if closeErr := 
readBuffer.CloseContext("BACnetApplicationTagUnsignedInteger"); closeErr != nil 
{
                return nil, closeErr
        }
@@ -168,6 +180,10 @@ func (m *BACnetApplicationTagUnsignedInteger) 
Serialize(writeBuffer utils.WriteB
                if _payloadErr != nil {
                        return errors.Wrap(_payloadErr, "Error serializing 
'payload' field")
                }
+               // Virtual field
+               if _actualValueErr := writeBuffer.WriteVirtual("actualValue", 
m.GetActualValue()); _actualValueErr != nil {
+                       return errors.Wrap(_actualValueErr, "Error serializing 
'actualValue' field")
+               }
 
                if popErr := 
writeBuffer.PopContext("BACnetApplicationTagUnsignedInteger"); popErr != nil {
                        return popErr
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
index 3800d93..ea0c05c 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
@@ -40,6 +40,8 @@ type BACnetContextTagSignedInteger struct {
 type IBACnetContextTagSignedInteger interface {
        // GetPayload returns Payload
        GetPayload() *BACnetTagPayloadSignedInteger
+       // GetActualValue returns ActualValue
+       GetActualValue() uint64
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -73,6 +75,9 @@ func (m *BACnetContextTagSignedInteger) GetPayload() 
*BACnetTagPayloadSignedInte
 ///////////////////////////////////////////////////////////
 // Accessors for virtual fields.
 ///////////////////////////////////////////////////////////
+func (m *BACnetContextTagSignedInteger) GetActualValue() uint64 {
+       return m.GetPayload().GetActualValue()
+}
 
 // NewBACnetContextTagSignedInteger factory function for 
BACnetContextTagSignedInteger
 func NewBACnetContextTagSignedInteger(payload *BACnetTagPayloadSignedInteger, 
header *BACnetTagHeader, tagNumberArgument uint8, isNotOpeningOrClosingTag 
bool) *BACnetContextTag {
@@ -117,6 +122,8 @@ func (m *BACnetContextTagSignedInteger) 
GetLengthInBitsConditional(lastItem bool
        // Simple field (payload)
        lengthInBits += m.Payload.GetLengthInBits()
 
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -147,6 +154,11 @@ func BACnetContextTagSignedIntegerParse(readBuffer 
utils.ReadBuffer, tagNumberAr
                return nil, closeErr
        }
 
+       // Virtual field
+       _actualValue := payload.GetActualValue()
+       actualValue := uint64(_actualValue)
+       _ = actualValue
+
        if closeErr := 
readBuffer.CloseContext("BACnetContextTagSignedInteger"); closeErr != nil {
                return nil, closeErr
        }
@@ -177,6 +189,10 @@ func (m *BACnetContextTagSignedInteger) 
Serialize(writeBuffer utils.WriteBuffer)
                if _payloadErr != nil {
                        return errors.Wrap(_payloadErr, "Error serializing 
'payload' field")
                }
+               // Virtual field
+               if _actualValueErr := writeBuffer.WriteVirtual("actualValue", 
m.GetActualValue()); _actualValueErr != nil {
+                       return errors.Wrap(_actualValueErr, "Error serializing 
'actualValue' field")
+               }
 
                if popErr := 
writeBuffer.PopContext("BACnetContextTagSignedInteger"); popErr != nil {
                        return popErr
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
index a0eee15..b8dd3ed 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
@@ -40,6 +40,8 @@ type BACnetContextTagUnsignedInteger struct {
 type IBACnetContextTagUnsignedInteger interface {
        // GetPayload returns Payload
        GetPayload() *BACnetTagPayloadUnsignedInteger
+       // GetActualValue returns ActualValue
+       GetActualValue() uint64
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -73,6 +75,9 @@ func (m *BACnetContextTagUnsignedInteger) GetPayload() 
*BACnetTagPayloadUnsigned
 ///////////////////////////////////////////////////////////
 // Accessors for virtual fields.
 ///////////////////////////////////////////////////////////
+func (m *BACnetContextTagUnsignedInteger) GetActualValue() uint64 {
+       return m.GetPayload().GetActualValue()
+}
 
 // NewBACnetContextTagUnsignedInteger factory function for 
BACnetContextTagUnsignedInteger
 func NewBACnetContextTagUnsignedInteger(payload 
*BACnetTagPayloadUnsignedInteger, header *BACnetTagHeader, tagNumberArgument 
uint8, isNotOpeningOrClosingTag bool) *BACnetContextTag {
@@ -117,6 +122,8 @@ func (m *BACnetContextTagUnsignedInteger) 
GetLengthInBitsConditional(lastItem bo
        // Simple field (payload)
        lengthInBits += m.Payload.GetLengthInBits()
 
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -147,6 +154,11 @@ func BACnetContextTagUnsignedIntegerParse(readBuffer 
utils.ReadBuffer, tagNumber
                return nil, closeErr
        }
 
+       // Virtual field
+       _actualValue := payload.GetActualValue()
+       actualValue := uint64(_actualValue)
+       _ = actualValue
+
        if closeErr := 
readBuffer.CloseContext("BACnetContextTagUnsignedInteger"); closeErr != nil {
                return nil, closeErr
        }
@@ -177,6 +189,10 @@ func (m *BACnetContextTagUnsignedInteger) 
Serialize(writeBuffer utils.WriteBuffe
                if _payloadErr != nil {
                        return errors.Wrap(_payloadErr, "Error serializing 
'payload' field")
                }
+               // Virtual field
+               if _actualValueErr := writeBuffer.WriteVirtual("actualValue", 
m.GetActualValue()); _actualValueErr != nil {
+                       return errors.Wrap(_actualValueErr, "Error serializing 
'actualValue' field")
+               }
 
                if popErr := 
writeBuffer.PopContext("BACnetContextTagUnsignedInteger"); popErr != nil {
                        return popErr
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
index ef42b77..5107202 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadSignedInteger.go
@@ -306,9 +306,7 @@ func (m *BACnetTagPayloadSignedInteger) GetActualValue() 
uint64 {
                                return 
uint64(uint64(utils.InlineIf(m.GetIsInt32(), func() interface{} { return 
uint64((*m.GetValueInt32())) }, func() interface{} {
                                        return 
uint64(uint64(utils.InlineIf(m.GetIsInt40(), func() interface{} { return 
uint64((*m.GetValueInt40())) }, func() interface{} {
                                                return 
uint64(uint64(utils.InlineIf(m.GetIsInt48(), func() interface{} { return 
uint64((*m.GetValueInt48())) }, func() interface{} {
-                                                       return 
uint64(uint64(utils.InlineIf(m.GetIsInt56(), func() interface{} { return 
uint64((*m.GetValueInt56())) }, func() interface{} {
-                                                               return 
uint64(uint64(utils.InlineIf(m.GetIsInt64(), func() interface{} { return 
uint64((*m.GetValueInt64())) }, func() interface{} { return uint64(uint64(0)) 
}).(uint64)))
-                                                       }).(uint64)))
+                                                       return 
uint64(uint64(utils.InlineIf(m.GetIsInt56(), func() interface{} { return 
uint64((*m.GetValueInt56())) }, func() interface{} { return 
uint64((*m.GetValueInt64())) }).(uint64)))
                                                }).(uint64)))
                                        }).(uint64)))
                                }).(uint64)))
@@ -543,9 +541,7 @@ func BACnetTagPayloadSignedIntegerParse(readBuffer 
utils.ReadBuffer, actualLengt
                                return uint64(uint64(utils.InlineIf(isInt32, 
func() interface{} { return uint64((*valueInt32)) }, func() interface{} {
                                        return 
uint64(uint64(utils.InlineIf(isInt40, func() interface{} { return 
uint64((*valueInt40)) }, func() interface{} {
                                                return 
uint64(uint64(utils.InlineIf(isInt48, func() interface{} { return 
uint64((*valueInt48)) }, func() interface{} {
-                                                       return 
uint64(uint64(utils.InlineIf(isInt56, func() interface{} { return 
uint64((*valueInt56)) }, func() interface{} {
-                                                               return 
uint64(uint64(utils.InlineIf(isInt64, func() interface{} { return 
uint64((*valueInt64)) }, func() interface{} { return uint64(uint64(0)) 
}).(uint64)))
-                                                       }).(uint64)))
+                                                       return 
uint64(uint64(utils.InlineIf(isInt56, func() interface{} { return 
uint64((*valueInt56)) }, func() interface{} { return uint64((*valueInt64)) 
}).(uint64)))
                                                }).(uint64)))
                                        }).(uint64)))
                                }).(uint64)))
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadUnsignedInteger.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadUnsignedInteger.go
index 15b2e6d3..e7749fd 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadUnsignedInteger.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagPayloadUnsignedInteger.go
@@ -32,6 +32,10 @@ type BACnetTagPayloadUnsignedInteger struct {
        ValueUint16 *uint16
        ValueUint24 *uint32
        ValueUint32 *uint32
+       ValueUint40 *uint64
+       ValueUint48 *uint64
+       ValueUint56 *uint64
+       ValueUint64 *uint64
 
        // Arguments.
        ActualLength uint32
@@ -47,6 +51,14 @@ type IBACnetTagPayloadUnsignedInteger interface {
        GetValueUint24() *uint32
        // GetValueUint32 returns ValueUint32
        GetValueUint32() *uint32
+       // GetValueUint40 returns ValueUint40
+       GetValueUint40() *uint64
+       // GetValueUint48 returns ValueUint48
+       GetValueUint48() *uint64
+       // GetValueUint56 returns ValueUint56
+       GetValueUint56() *uint64
+       // GetValueUint64 returns ValueUint64
+       GetValueUint64() *uint64
        // GetIsUint8 returns IsUint8
        GetIsUint8() bool
        // GetIsUint16 returns IsUint16
@@ -55,8 +67,16 @@ type IBACnetTagPayloadUnsignedInteger interface {
        GetIsUint24() bool
        // GetIsUint32 returns IsUint32
        GetIsUint32() bool
+       // GetIsUint40 returns IsUint40
+       GetIsUint40() bool
+       // GetIsUint48 returns IsUint48
+       GetIsUint48() bool
+       // GetIsUint56 returns IsUint56
+       GetIsUint56() bool
+       // GetIsUint64 returns IsUint64
+       GetIsUint64() bool
        // GetActualValue returns ActualValue
-       GetActualValue() uint32
+       GetActualValue() uint64
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -84,6 +104,22 @@ func (m *BACnetTagPayloadUnsignedInteger) GetValueUint32() 
*uint32 {
        return m.ValueUint32
 }
 
+func (m *BACnetTagPayloadUnsignedInteger) GetValueUint40() *uint64 {
+       return m.ValueUint40
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetValueUint48() *uint64 {
+       return m.ValueUint48
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetValueUint56() *uint64 {
+       return m.ValueUint56
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetValueUint64() *uint64 {
+       return m.ValueUint64
+}
+
 ///////////////////////////////////////////////////////////
 // Accessors for virtual fields.
 ///////////////////////////////////////////////////////////
@@ -96,6 +132,14 @@ func (m *BACnetTagPayloadUnsignedInteger) GetIsUint8() bool 
{
        _ = valueUint24
        valueUint32 := m.ValueUint32
        _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
        return bool((m.ActualLength) == (1))
 }
 
@@ -108,6 +152,14 @@ func (m *BACnetTagPayloadUnsignedInteger) GetIsUint16() 
bool {
        _ = valueUint24
        valueUint32 := m.ValueUint32
        _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
        return bool((m.ActualLength) == (2))
 }
 
@@ -120,6 +172,14 @@ func (m *BACnetTagPayloadUnsignedInteger) GetIsUint24() 
bool {
        _ = valueUint24
        valueUint32 := m.ValueUint32
        _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
        return bool((m.ActualLength) == (3))
 }
 
@@ -132,10 +192,98 @@ func (m *BACnetTagPayloadUnsignedInteger) GetIsUint32() 
bool {
        _ = valueUint24
        valueUint32 := m.ValueUint32
        _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
        return bool((m.ActualLength) == (4))
 }
 
-func (m *BACnetTagPayloadUnsignedInteger) GetActualValue() uint32 {
+func (m *BACnetTagPayloadUnsignedInteger) GetIsUint40() bool {
+       valueUint8 := m.ValueUint8
+       _ = valueUint8
+       valueUint16 := m.ValueUint16
+       _ = valueUint16
+       valueUint24 := m.ValueUint24
+       _ = valueUint24
+       valueUint32 := m.ValueUint32
+       _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
+       return bool((m.ActualLength) == (5))
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetIsUint48() bool {
+       valueUint8 := m.ValueUint8
+       _ = valueUint8
+       valueUint16 := m.ValueUint16
+       _ = valueUint16
+       valueUint24 := m.ValueUint24
+       _ = valueUint24
+       valueUint32 := m.ValueUint32
+       _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
+       return bool((m.ActualLength) == (6))
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetIsUint56() bool {
+       valueUint8 := m.ValueUint8
+       _ = valueUint8
+       valueUint16 := m.ValueUint16
+       _ = valueUint16
+       valueUint24 := m.ValueUint24
+       _ = valueUint24
+       valueUint32 := m.ValueUint32
+       _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
+       return bool((m.ActualLength) == (7))
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetIsUint64() bool {
+       valueUint8 := m.ValueUint8
+       _ = valueUint8
+       valueUint16 := m.ValueUint16
+       _ = valueUint16
+       valueUint24 := m.ValueUint24
+       _ = valueUint24
+       valueUint32 := m.ValueUint32
+       _ = valueUint32
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
+       return bool((m.ActualLength) == (8))
+}
+
+func (m *BACnetTagPayloadUnsignedInteger) GetActualValue() uint64 {
        valueUint8 := m.ValueUint8
        _ = valueUint8
        valueUint16 := m.ValueUint16
@@ -144,18 +292,32 @@ func (m *BACnetTagPayloadUnsignedInteger) 
GetActualValue() uint32 {
        _ = valueUint24
        valueUint32 := m.ValueUint32
        _ = valueUint32
-       return utils.InlineIf(m.GetIsUint8(), func() interface{} { return 
uint32((*m.GetValueUint8())) }, func() interface{} {
-               return uint32(uint32(utils.InlineIf(m.GetIsUint16(), func() 
interface{} { return uint32((*m.GetValueUint16())) }, func() interface{} {
-                       return uint32(uint32(utils.InlineIf(m.GetIsUint24(), 
func() interface{} { return uint32((*m.GetValueUint24())) }, func() interface{} 
{
-                               return 
uint32(uint32(utils.InlineIf(m.GetIsUint32(), func() interface{} { return 
uint32((*m.GetValueUint32())) }, func() interface{} { return uint32(uint32(0)) 
}).(uint32)))
-                       }).(uint32)))
-               }).(uint32)))
-       }).(uint32)
+       valueUint40 := m.ValueUint40
+       _ = valueUint40
+       valueUint48 := m.ValueUint48
+       _ = valueUint48
+       valueUint56 := m.ValueUint56
+       _ = valueUint56
+       valueUint64 := m.ValueUint64
+       _ = valueUint64
+       return utils.InlineIf(m.GetIsUint8(), func() interface{} { return 
uint64((*m.GetValueUint8())) }, func() interface{} {
+               return uint64(uint64(utils.InlineIf(m.GetIsUint16(), func() 
interface{} { return uint64((*m.GetValueUint16())) }, func() interface{} {
+                       return uint64(uint64(utils.InlineIf(m.GetIsUint24(), 
func() interface{} { return uint64((*m.GetValueUint24())) }, func() interface{} 
{
+                               return 
uint64(uint64(utils.InlineIf(m.GetIsUint32(), func() interface{} { return 
uint64((*m.GetValueUint32())) }, func() interface{} {
+                                       return 
uint64(uint64(utils.InlineIf(m.GetIsUint40(), func() interface{} { return 
uint64((*m.GetValueUint40())) }, func() interface{} {
+                                               return 
uint64(uint64(utils.InlineIf(m.GetIsUint48(), func() interface{} { return 
uint64((*m.GetValueUint48())) }, func() interface{} {
+                                                       return 
uint64(uint64(utils.InlineIf(m.GetIsUint56(), func() interface{} { return 
uint64((*m.GetValueUint56())) }, func() interface{} { return 
uint64((*m.GetValueUint64())) }).(uint64)))
+                                               }).(uint64)))
+                                       }).(uint64)))
+                               }).(uint64)))
+                       }).(uint64)))
+               }).(uint64)))
+       }).(uint64)
 }
 
 // NewBACnetTagPayloadUnsignedInteger factory function for 
BACnetTagPayloadUnsignedInteger
-func NewBACnetTagPayloadUnsignedInteger(valueUint8 *uint8, valueUint16 
*uint16, valueUint24 *uint32, valueUint32 *uint32, actualLength uint32) 
*BACnetTagPayloadUnsignedInteger {
-       return &BACnetTagPayloadUnsignedInteger{ValueUint8: valueUint8, 
ValueUint16: valueUint16, ValueUint24: valueUint24, ValueUint32: valueUint32, 
ActualLength: actualLength}
+func NewBACnetTagPayloadUnsignedInteger(valueUint8 *uint8, valueUint16 
*uint16, valueUint24 *uint32, valueUint32 *uint32, valueUint40 *uint64, 
valueUint48 *uint64, valueUint56 *uint64, valueUint64 *uint64, actualLength 
uint32) *BACnetTagPayloadUnsignedInteger {
+       return &BACnetTagPayloadUnsignedInteger{ValueUint8: valueUint8, 
ValueUint16: valueUint16, ValueUint24: valueUint24, ValueUint32: valueUint32, 
ValueUint40: valueUint40, ValueUint48: valueUint48, ValueUint56: valueUint56, 
ValueUint64: valueUint64, ActualLength: actualLength}
 }
 
 func CastBACnetTagPayloadUnsignedInteger(structType interface{}) 
*BACnetTagPayloadUnsignedInteger {
@@ -212,6 +374,34 @@ func (m *BACnetTagPayloadUnsignedInteger) 
GetLengthInBitsConditional(lastItem bo
 
        // A virtual field doesn't have any in- or output.
 
+       // Optional Field (valueUint40)
+       if m.ValueUint40 != nil {
+               lengthInBits += 40
+       }
+
+       // A virtual field doesn't have any in- or output.
+
+       // Optional Field (valueUint48)
+       if m.ValueUint48 != nil {
+               lengthInBits += 48
+       }
+
+       // A virtual field doesn't have any in- or output.
+
+       // Optional Field (valueUint56)
+       if m.ValueUint56 != nil {
+               lengthInBits += 56
+       }
+
+       // A virtual field doesn't have any in- or output.
+
+       // Optional Field (valueUint64)
+       if m.ValueUint64 != nil {
+               lengthInBits += 64
+       }
+
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -285,14 +475,80 @@ func BACnetTagPayloadUnsignedIntegerParse(readBuffer 
utils.ReadBuffer, actualLen
        }
 
        // Virtual field
-       _actualValue := utils.InlineIf(isUint8, func() interface{} { return 
uint32((*valueUint8)) }, func() interface{} {
-               return uint32(uint32(utils.InlineIf(isUint16, func() 
interface{} { return uint32((*valueUint16)) }, func() interface{} {
-                       return uint32(uint32(utils.InlineIf(isUint24, func() 
interface{} { return uint32((*valueUint24)) }, func() interface{} {
-                               return uint32(uint32(utils.InlineIf(isUint32, 
func() interface{} { return uint32((*valueUint32)) }, func() interface{} { 
return uint32(uint32(0)) }).(uint32)))
-                       }).(uint32)))
-               }).(uint32)))
-       }).(uint32)
-       actualValue := uint32(_actualValue)
+       _isUint40 := bool((actualLength) == (5))
+       isUint40 := bool(_isUint40)
+       _ = isUint40
+
+       // Optional Field (valueUint40) (Can be skipped, if a given expression 
evaluates to false)
+       var valueUint40 *uint64 = nil
+       if isUint40 {
+               _val, _err := readBuffer.ReadUint64("valueUint40", 40)
+               if _err != nil {
+                       return nil, errors.Wrap(_err, "Error parsing 
'valueUint40' field")
+               }
+               valueUint40 = &_val
+       }
+
+       // Virtual field
+       _isUint48 := bool((actualLength) == (6))
+       isUint48 := bool(_isUint48)
+       _ = isUint48
+
+       // Optional Field (valueUint48) (Can be skipped, if a given expression 
evaluates to false)
+       var valueUint48 *uint64 = nil
+       if isUint48 {
+               _val, _err := readBuffer.ReadUint64("valueUint48", 48)
+               if _err != nil {
+                       return nil, errors.Wrap(_err, "Error parsing 
'valueUint48' field")
+               }
+               valueUint48 = &_val
+       }
+
+       // Virtual field
+       _isUint56 := bool((actualLength) == (7))
+       isUint56 := bool(_isUint56)
+       _ = isUint56
+
+       // Optional Field (valueUint56) (Can be skipped, if a given expression 
evaluates to false)
+       var valueUint56 *uint64 = nil
+       if isUint56 {
+               _val, _err := readBuffer.ReadUint64("valueUint56", 56)
+               if _err != nil {
+                       return nil, errors.Wrap(_err, "Error parsing 
'valueUint56' field")
+               }
+               valueUint56 = &_val
+       }
+
+       // Virtual field
+       _isUint64 := bool((actualLength) == (8))
+       isUint64 := bool(_isUint64)
+       _ = isUint64
+
+       // Optional Field (valueUint64) (Can be skipped, if a given expression 
evaluates to false)
+       var valueUint64 *uint64 = nil
+       if isUint64 {
+               _val, _err := readBuffer.ReadUint64("valueUint64", 64)
+               if _err != nil {
+                       return nil, errors.Wrap(_err, "Error parsing 
'valueUint64' field")
+               }
+               valueUint64 = &_val
+       }
+
+       // Virtual field
+       _actualValue := utils.InlineIf(isUint8, func() interface{} { return 
uint64((*valueUint8)) }, func() interface{} {
+               return uint64(uint64(utils.InlineIf(isUint16, func() 
interface{} { return uint64((*valueUint16)) }, func() interface{} {
+                       return uint64(uint64(utils.InlineIf(isUint24, func() 
interface{} { return uint64((*valueUint24)) }, func() interface{} {
+                               return uint64(uint64(utils.InlineIf(isUint32, 
func() interface{} { return uint64((*valueUint32)) }, func() interface{} {
+                                       return 
uint64(uint64(utils.InlineIf(isUint40, func() interface{} { return 
uint64((*valueUint40)) }, func() interface{} {
+                                               return 
uint64(uint64(utils.InlineIf(isUint48, func() interface{} { return 
uint64((*valueUint48)) }, func() interface{} {
+                                                       return 
uint64(uint64(utils.InlineIf(isUint56, func() interface{} { return 
uint64((*valueUint56)) }, func() interface{} { return uint64((*valueUint64)) 
}).(uint64)))
+                                               }).(uint64)))
+                                       }).(uint64)))
+                               }).(uint64)))
+                       }).(uint64)))
+               }).(uint64)))
+       }).(uint64)
+       actualValue := uint64(_actualValue)
        _ = actualValue
 
        if closeErr := 
readBuffer.CloseContext("BACnetTagPayloadUnsignedInteger"); closeErr != nil {
@@ -300,7 +556,7 @@ func BACnetTagPayloadUnsignedIntegerParse(readBuffer 
utils.ReadBuffer, actualLen
        }
 
        // Create the instance
-       return NewBACnetTagPayloadUnsignedInteger(valueUint8, valueUint16, 
valueUint24, valueUint32, actualLength), nil
+       return NewBACnetTagPayloadUnsignedInteger(valueUint8, valueUint16, 
valueUint24, valueUint32, valueUint40, valueUint48, valueUint56, valueUint64, 
actualLength), nil
 }
 
 func (m *BACnetTagPayloadUnsignedInteger) Serialize(writeBuffer 
utils.WriteBuffer) error {
@@ -364,6 +620,62 @@ func (m *BACnetTagPayloadUnsignedInteger) 
Serialize(writeBuffer utils.WriteBuffe
                }
        }
        // Virtual field
+       if _isUint40Err := writeBuffer.WriteVirtual("isUint40", 
m.GetIsUint40()); _isUint40Err != nil {
+               return errors.Wrap(_isUint40Err, "Error serializing 'isUint40' 
field")
+       }
+
+       // Optional Field (valueUint40) (Can be skipped, if the value is null)
+       var valueUint40 *uint64 = nil
+       if m.ValueUint40 != nil {
+               valueUint40 = m.ValueUint40
+               _valueUint40Err := writeBuffer.WriteUint64("valueUint40", 40, 
*(valueUint40))
+               if _valueUint40Err != nil {
+                       return errors.Wrap(_valueUint40Err, "Error serializing 
'valueUint40' field")
+               }
+       }
+       // Virtual field
+       if _isUint48Err := writeBuffer.WriteVirtual("isUint48", 
m.GetIsUint48()); _isUint48Err != nil {
+               return errors.Wrap(_isUint48Err, "Error serializing 'isUint48' 
field")
+       }
+
+       // Optional Field (valueUint48) (Can be skipped, if the value is null)
+       var valueUint48 *uint64 = nil
+       if m.ValueUint48 != nil {
+               valueUint48 = m.ValueUint48
+               _valueUint48Err := writeBuffer.WriteUint64("valueUint48", 48, 
*(valueUint48))
+               if _valueUint48Err != nil {
+                       return errors.Wrap(_valueUint48Err, "Error serializing 
'valueUint48' field")
+               }
+       }
+       // Virtual field
+       if _isUint56Err := writeBuffer.WriteVirtual("isUint56", 
m.GetIsUint56()); _isUint56Err != nil {
+               return errors.Wrap(_isUint56Err, "Error serializing 'isUint56' 
field")
+       }
+
+       // Optional Field (valueUint56) (Can be skipped, if the value is null)
+       var valueUint56 *uint64 = nil
+       if m.ValueUint56 != nil {
+               valueUint56 = m.ValueUint56
+               _valueUint56Err := writeBuffer.WriteUint64("valueUint56", 56, 
*(valueUint56))
+               if _valueUint56Err != nil {
+                       return errors.Wrap(_valueUint56Err, "Error serializing 
'valueUint56' field")
+               }
+       }
+       // Virtual field
+       if _isUint64Err := writeBuffer.WriteVirtual("isUint64", 
m.GetIsUint64()); _isUint64Err != nil {
+               return errors.Wrap(_isUint64Err, "Error serializing 'isUint64' 
field")
+       }
+
+       // Optional Field (valueUint64) (Can be skipped, if the value is null)
+       var valueUint64 *uint64 = nil
+       if m.ValueUint64 != nil {
+               valueUint64 = m.ValueUint64
+               _valueUint64Err := writeBuffer.WriteUint64("valueUint64", 64, 
*(valueUint64))
+               if _valueUint64Err != nil {
+                       return errors.Wrap(_valueUint64Err, "Error serializing 
'valueUint64' field")
+               }
+       }
+       // Virtual field
        if _actualValueErr := writeBuffer.WriteVirtual("actualValue", 
m.GetActualValue()); _actualValueErr != nil {
                return errors.Wrap(_actualValueErr, "Error serializing 
'actualValue' field")
        }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/StaticHelper.go 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/StaticHelper.go
index 8763ded..5f0c4d9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/StaticHelper.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/StaticHelper.go
@@ -421,6 +421,10 @@ func CreateUnsignedPayload(value uint32) (uint32, 
*BACnetTagPayloadUnsignedInteg
        var valueUint16 *uint16
        var valueUint24 *uint32
        var valueUint32 *uint32
+       var valueUint40 *uint64
+       var valueUint48 *uint64
+       var valueUint56 *uint64
+       var valueUint64 *uint64
        switch {
        case value < 0x100:
                length = 1
@@ -438,7 +442,7 @@ func CreateUnsignedPayload(value uint32) (uint32, 
*BACnetTagPayloadUnsignedInteg
                length = 4
                valueUint32 = &value
        }
-       payload := NewBACnetTagPayloadUnsignedInteger(valueUint8, valueUint16, 
valueUint24, valueUint32, length)
+       payload := NewBACnetTagPayloadUnsignedInteger(valueUint8, valueUint16, 
valueUint24, valueUint32, valueUint40, valueUint48, valueUint56, valueUint64, 
length)
        return length, payload
 }
 
diff --git a/plc4j/drivers/bacnet/pom.xml b/plc4j/drivers/bacnet/pom.xml
index 3ba535e..ad06dda 100644
--- a/plc4j/drivers/bacnet/pom.xml
+++ b/plc4j/drivers/bacnet/pom.xml
@@ -50,6 +50,14 @@
           </execution>
         </executions>
       </plugin>
+        <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+                <source>11</source>
+                <target>11</target>
+            </configuration>
+        </plugin>
     </plugins>
   </build>
 
diff --git 
a/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/readwrite/utils/StaticHelper.java
 
b/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/readwrite/utils/StaticHelper.java
index 6248ef0..0824c48 100644
--- 
a/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/readwrite/utils/StaticHelper.java
+++ 
b/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/readwrite/utils/StaticHelper.java
@@ -453,6 +453,10 @@ public class StaticHelper {
         Integer valueUint16 = null;
         Long valueUint24 = null;
         Long valueUint32 = null;
+        BigInteger valueUint40 = null;
+        BigInteger valueUint48 = null;
+        BigInteger valueUint56 = null;
+        BigInteger valueUint64 = null;
         if (value < 0x100) {
             length = 1;
             valueUint8 = (short) value;
@@ -466,7 +470,7 @@ public class StaticHelper {
             length = 4;
             valueUint32 = value;
         }
-        BACnetTagPayloadUnsignedInteger payload = new 
BACnetTagPayloadUnsignedInteger(valueUint8, valueUint16, valueUint24, 
valueUint32, length);
+        BACnetTagPayloadUnsignedInteger payload = new 
BACnetTagPayloadUnsignedInteger(valueUint8, valueUint16, valueUint24, 
valueUint32, valueUint40, valueUint48, valueUint56, valueUint64, length);
         return Pair.of(length, payload);
     }
 
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 3fd5ce2..6e485d4 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
@@ -118,9 +118,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(123, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 6 - Unconfirmed-REQ i-Am device,123",
                 () -> {
@@ -130,9 +130,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(123, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 7 - Unconfirmed-REQ i-Am device,18",
                 () -> {
@@ -142,9 +142,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 8 - Unconfirmed-REQ i-Am device,18",
                 () -> {
@@ -154,9 +154,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 9 - Unconfirmed-REQ i-Am device,2401",
                 () -> {
@@ -166,9 +166,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(2401, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(24, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(24, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 10 - Unconfirmed-REQ i-Am 
device,2401",
                 () -> {
@@ -178,9 +178,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(2401, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(24, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(24, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 11 - Unconfirmed-REQ i-Am 
device,86114",
                 () -> {
@@ -190,9 +190,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(86114, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 12 - Unconfirmed-REQ i-Am 
device,86114",
                 () -> {
@@ -202,9 +202,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(86114, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(260, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 13 - Unconfirmed-REQ i-Am 
device,884456",
                 () -> {
@@ -214,9 +214,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(884456, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(86, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(86, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 14 - Unconfirmed-REQ i-Am 
device,884456",
                 () -> {
@@ -226,9 +226,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(884456, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(86, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(86, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 })
         );
     }
@@ -366,8 +366,8 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequest serviceRequest = 
apduUnconfirmedRequest.getServiceRequest();
                     assertNotNull(serviceRequest);
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
serviceRequest;
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 2 - Unconfirmed-REQ who-Is 12345 
12345",
                 () -> {
@@ -378,8 +378,8 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequest serviceRequest = 
apduUnconfirmedRequest.getServiceRequest();
                     assertNotNull(serviceRequest);
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
serviceRequest;
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 3 - Unconfirmed-REQ i-Am 
device,12345",
                 () -> {
@@ -392,10 +392,10 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
serviceRequest;
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(12345, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     // TODO: change to enum
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(260L, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(260L, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 4 - Unconfirmed-REQ who-Is 12345 
12345",
                 () -> {
@@ -406,8 +406,8 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequest serviceRequest = 
apduUnconfirmedRequest.getServiceRequest();
                     assertNotNull(serviceRequest);
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
serviceRequest;
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 5 - Unconfirmed-REQ who-Is 12345 
12345",
                 () -> {
@@ -418,8 +418,8 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequest serviceRequest = 
apduUnconfirmedRequest.getServiceRequest();
                     assertNotNull(serviceRequest);
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
serviceRequest;
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(12345L, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 6 - Unconfirmed-REQ i-Am 
device,12345",
                 () -> {
@@ -432,10 +432,10 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
serviceRequest;
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(12345, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     // TODO: change to enum
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(260L, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(260L, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 7 - Confirmed-REQ readProperty[ 1] 
analog-output,0 priority-array",
                 () -> {
@@ -597,7 +597,7 @@ public class RandomPackagesTest {
                     BACnetApplicationTagReal baCnetApplicationTagReal = 
(BACnetApplicationTagReal) ((BACnetConstructedDataUnspecified) 
baCnetConfirmedServiceRequestWriteProperty.getPropertyValue()).getData().get(0).getApplicationTag();
                     assertEquals(123.449997f, 
baCnetApplicationTagReal.getPayload().getValue());
                     BACnetContextTagUnsignedInteger priority = 
baCnetConfirmedServiceRequestWriteProperty.getPriority();
-                    assertEquals(10, priority.getPayload().getActualValue());
+                    assertEquals(10, 
priority.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 88 - Error writeProperty[ 1]",
                 () -> {
@@ -631,7 +631,7 @@ public class RandomPackagesTest {
                     BACnetApplicationTagNull baCnetApplicationTagNull = 
(BACnetApplicationTagNull) ((BACnetConstructedDataUnspecified) 
baCnetConfirmedServiceRequestWriteProperty.getPropertyValue()).getData().get(0).getApplicationTag();
                     assertNotNull(baCnetApplicationTagNull);
                     BACnetContextTagUnsignedInteger priority = 
baCnetConfirmedServiceRequestWriteProperty.getPriority();
-                    assertEquals(1, priority.getPayload().getActualValue());
+                    assertEquals(1, 
priority.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 144 - Simple-ACK writeProperty[ 1]", 
() -> {
                 BVLC bvlc = pcapEvaluator.nextBVLC();
@@ -699,13 +699,13 @@ public class RandomPackagesTest {
                     assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventObjectIdentifier().getInstanceNumber());
                     {
                         BACnetTimeStampSequence timestamp = 
(BACnetTimeStampSequence) 
baCnetConfirmedServiceRequestConfirmedEventNotification.getTimestamp();
-                        assertEquals(2, 
timestamp.getSequenceNumber().getPayload().getActualValue());
+                        assertEquals(2, 
timestamp.getSequenceNumber().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue().longValue());
                     }
                     {
                         assertEquals(BACnetEventType.UNSIGNED_RANGE, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventType().getEventType());
@@ -727,12 +727,12 @@ public class RandomPackagesTest {
                     }
                     {
                         BACnetNotificationParametersUnsignedRange 
baCnetNotificationParametersUnsignedRange = 
(BACnetNotificationParametersUnsignedRange) 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventValues();
-                        assertEquals(50, 
baCnetNotificationParametersUnsignedRange.getSequenceNumber().getPayload().getActualValue());
+                        assertEquals(50, 
baCnetNotificationParametersUnsignedRange.getSequenceNumber().getPayload().getActualValue().longValue());
                         
assertTrue(baCnetNotificationParametersUnsignedRange.getStatusFlags().getInAlarm());
                         
assertFalse(baCnetNotificationParametersUnsignedRange.getStatusFlags().getFault());
                         
assertFalse(baCnetNotificationParametersUnsignedRange.getStatusFlags().getOverriden());
                         
assertFalse(baCnetNotificationParametersUnsignedRange.getStatusFlags().getOutOfService());
-                        assertEquals(40, 
baCnetNotificationParametersUnsignedRange.getExceededLimit().getPayload().getActualValue());
+                        assertEquals(40, 
baCnetNotificationParametersUnsignedRange.getExceededLimit().getPayload().getActualValue().longValue());
                     }
                 }),
             DynamicTest.dynamicTest("No. 2 - Simple-ACK      
confirmedEventNotification[119]",
@@ -760,13 +760,13 @@ public class RandomPackagesTest {
                     assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventObjectIdentifier().getInstanceNumber());
                     {
                         BACnetTimeStampSequence timestamp = 
(BACnetTimeStampSequence) 
baCnetConfirmedServiceRequestConfirmedEventNotification.getTimestamp();
-                        assertEquals(2, 
timestamp.getSequenceNumber().getPayload().getActualValue());
+                        assertEquals(2, 
timestamp.getSequenceNumber().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue().longValue());
                     }
                     {
                         assertEquals(BACnetEventType.EXTENDED, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventType().getEventType());
@@ -788,8 +788,8 @@ public class RandomPackagesTest {
                     }
                     {
                         BACnetNotificationParametersExtended 
baCnetNotificationParametersExtended = (BACnetNotificationParametersExtended) 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventValues();
-                        assertEquals(24, 
baCnetNotificationParametersExtended.getVendorId().getPayload().getActualValue());
-                        assertEquals(33, 
baCnetNotificationParametersExtended.getExtendedEventType().getPayload().getActualValue());
+                        assertEquals(24, 
baCnetNotificationParametersExtended.getVendorId().getPayload().getActualValue().longValue());
+                        assertEquals(33, 
baCnetNotificationParametersExtended.getExtendedEventType().getPayload().getActualValue().longValue());
                     }
                 }),
             DynamicTest.dynamicTest("No. 4 - Simple-ACK      
confirmedEventNotification[120]",
@@ -808,8 +808,8 @@ public class RandomPackagesTest {
                     NPDU npdu = ((BVLCOriginalBroadcastNPDU) bvlc).getNpdu();
                     APDUUnconfirmedRequest apduUnconfirmedRequest = 
(APDUUnconfirmedRequest) npdu.getApdu();
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
apduUnconfirmedRequest.getServiceRequest();
-                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 6 - Unconfirmed-REQ who-Is 140 140",
                 () -> {
@@ -818,8 +818,8 @@ public class RandomPackagesTest {
                     NPDU npdu = ((BVLCOriginalBroadcastNPDU) bvlc).getNpdu();
                     APDUUnconfirmedRequest apduUnconfirmedRequest = 
(APDUUnconfirmedRequest) npdu.getApdu();
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
apduUnconfirmedRequest.getServiceRequest();
-                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(140, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 7 - Unconfirmed-REQ who-Is 871 871",
                 () -> {
@@ -828,8 +828,8 @@ public class RandomPackagesTest {
                     NPDU npdu = ((BVLCOriginalBroadcastNPDU) bvlc).getNpdu();
                     APDUUnconfirmedRequest apduUnconfirmedRequest = 
(APDUUnconfirmedRequest) npdu.getApdu();
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
apduUnconfirmedRequest.getServiceRequest();
-                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 8 - Unconfirmed-REQ who-Is 871 871",
                 () -> {
@@ -838,8 +838,8 @@ public class RandomPackagesTest {
                     NPDU npdu = ((BVLCOriginalBroadcastNPDU) bvlc).getNpdu();
                     APDUUnconfirmedRequest apduUnconfirmedRequest = 
(APDUUnconfirmedRequest) npdu.getApdu();
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
apduUnconfirmedRequest.getServiceRequest();
-                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue());
+                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(871, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeHighLimit().getPayload().getActualValue().longValue());
                 })
         );
     }
@@ -877,10 +877,10 @@ public class RandomPackagesTest {
                         assertEquals(0, baCnetTagPayloadTime.getFractional());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(15, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue());
+                        assertEquals(15, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue().longValue());
                     }
                     {
                         assertEquals(BACnetEventType.BUFFER_READY, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventType().getEventType());
@@ -902,8 +902,8 @@ public class RandomPackagesTest {
                         assertEquals(BACnetObjectType.TREND_LOG, 
baCnetNotificationParametersBufferReady.getBufferProperty().getObjectIdentifier().getObjectType());
                         assertEquals(BACnetPropertyIdentifier.LOG_BUFFER, 
baCnetNotificationParametersBufferReady.getBufferProperty().getPropertyIdentifier().getPropertyIdentifier());
                         assertEquals(BACnetObjectType.DEVICE, 
baCnetNotificationParametersBufferReady.getBufferProperty().getDeviceIdentifier().getObjectType());
-                        assertEquals(1640, 
baCnetNotificationParametersBufferReady.getPreviousNotification().getPayload().getActualValue());
-                        assertEquals(1653, 
baCnetNotificationParametersBufferReady.getCurrentNotification().getPayload().getActualValue());
+                        assertEquals(1640, 
baCnetNotificationParametersBufferReady.getPreviousNotification().getPayload().getActualValue().longValue());
+                        assertEquals(1653, 
baCnetNotificationParametersBufferReady.getCurrentNotification().getPayload().getActualValue().longValue());
                     }
                 })
         );
@@ -927,7 +927,7 @@ public class RandomPackagesTest {
                     assertEquals(BACnetObjectType.BINARY_INPUT, 
baCnetConfirmedServiceRequestSubscribeCOV.getMonitoredObjectIdentifier().getObjectType());
                     assertEquals(0, 
baCnetConfirmedServiceRequestSubscribeCOV.getMonitoredObjectIdentifier().getInstanceNumber());
                     
assertTrue(baCnetConfirmedServiceRequestSubscribeCOV.getIssueConfirmed().getPayload().getIsFalse());
-                    assertEquals(10, 
baCnetConfirmedServiceRequestSubscribeCOV.getLifetimeInSeconds().getPayload().getActualValue()
 / 60);
+                    assertEquals(10, 
baCnetConfirmedServiceRequestSubscribeCOV.getLifetimeInSeconds().getPayload().getActualValue().longValue()
 / 60);
                 }),
             DynamicTest.dynamicTest("No. 2 - Simple-ACK      subscribeCOV[ 
10]",
                 () -> {
@@ -951,7 +951,7 @@ public class RandomPackagesTest {
                     assertEquals((long) 12345, 
baCnetUnconfirmedServiceRequestUnconfirmedCOVNotification.getInitiatingDeviceIdentifier().getInstanceNumber());
                     assertEquals(BACnetObjectType.BINARY_INPUT, 
baCnetUnconfirmedServiceRequestUnconfirmedCOVNotification.getMonitoredObjectIdentifier().getObjectType());
                     assertEquals(0, 
baCnetUnconfirmedServiceRequestUnconfirmedCOVNotification.getMonitoredObjectIdentifier().getInstanceNumber());
-                    assertEquals(9, 
baCnetUnconfirmedServiceRequestUnconfirmedCOVNotification.getLifetimeInSeconds().getPayload().getActualValue()
 / 60);
+                    assertEquals(9, 
baCnetUnconfirmedServiceRequestUnconfirmedCOVNotification.getLifetimeInSeconds().getPayload().getActualValue().longValue()
 / 60);
                     {
                         BACnetContextTagPropertyIdentifier 
baCnetContextTagPropertyIdentifier = 
baCnetUnconfirmedServiceRequestUnconfirmedCOVNotification.getListOfValues().getData().get(0).getPropertyIdentifier();
                         assertEquals(BACnetPropertyIdentifier.PRESENT_VALUE, 
baCnetContextTagPropertyIdentifier.getPropertyIdentifier());
@@ -996,13 +996,13 @@ public class RandomPackagesTest {
                     assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventObjectIdentifier().getInstanceNumber());
                     {
                         BACnetTimeStampSequence timestamp = 
(BACnetTimeStampSequence) 
baCnetConfirmedServiceRequestConfirmedEventNotification.getTimestamp();
-                        assertEquals(1, 
timestamp.getSequenceNumber().getPayload().getActualValue());
+                        assertEquals(1, 
timestamp.getSequenceNumber().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(111, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue());
+                        assertEquals(111, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue().longValue());
                     }
                     {
                         assertEquals(BACnetEventType.CHANGE_OF_STATE, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventType().getEventType());
@@ -1103,10 +1103,10 @@ public class RandomPackagesTest {
                         assertEquals(0, 
timestamp.getDateTimeValue().getTimeValue().getPayload().getFractional());
                     }
                     {
-                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue());
+                        assertEquals(1, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getNotificationClass().getPayload().getActualValue().longValue());
                     }
                     {
-                        assertEquals(200, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue());
+                        assertEquals(200, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getPriority().getPayload().getActualValue().longValue());
                     }
                     {
                         assertEquals(BACnetEventType.OUT_OF_RANGE, 
baCnetConfirmedServiceRequestConfirmedEventNotification.getEventType().getEventType());
@@ -1189,7 +1189,7 @@ public class RandomPackagesTest {
                             BACnetPropertyValue baCnetPropertyValue = 
baCnetNotificationParametersComplexEventType.getListOfValues().getData().get(9);
                             
assertEquals(BACnetPropertyIdentifier.VENDOR_IDENTIFIER, 
baCnetPropertyValue.getPropertyIdentifier().getPropertyIdentifier());
                             BACnetApplicationTagUnsignedInteger 
baCnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
((BACnetConstructedDataUnspecified) 
baCnetPropertyValue.getPropertyValue().getConstructedData()).getData().get(0).getApplicationTag();
-                            assertEquals(5, 
baCnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                            assertEquals(5, 
baCnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                         }
                     }
                 })
@@ -1622,7 +1622,7 @@ public class RandomPackagesTest {
                     assertThat(serviceRequest.getPropertyIdentifier())
                         
.extracting(BACnetContextTagPropertyIdentifier::getPropertyIdentifier)
                         
.isEqualTo(BACnetPropertyIdentifier.EXCEPTION_SCHEDULE);
-                    
assertThat(serviceRequest.getArrayIndex()).extracting("payload").extracting("actualValue").isEqualTo(0L);
+                    
assertThat(serviceRequest.getArrayIndex()).extracting("payload").extracting("actualValue").isEqualTo(BigInteger.ZERO);
                 }),
             DynamicTest.dynamicTest("No. 2 - Complex-ACK     readProperty[ 74] 
schedule,1 exception-schedule",
                 () -> {
@@ -1638,7 +1638,7 @@ public class RandomPackagesTest {
                         .contains(BACnetObjectType.SCHEDULE, 1L);
                     assertEquals(BACnetPropertyIdentifier.EXCEPTION_SCHEDULE, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     List<BACnetConstructedDataElement> data = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData();
-                    
assertThat(data.get(0).getApplicationTag()).extracting("payload").extracting("actualValue").isEqualTo(0L);
+                    
assertThat(data.get(0).getApplicationTag()).extracting("payload").extracting("actualValue").isEqualTo(BigInteger.ZERO);
                 })
         );
     }
@@ -1690,7 +1690,7 @@ public class RandomPackagesTest {
                             
.extracting(BACnetConfirmedServiceRequestReadProperty::getArrayIndex)
                             
.extracting(BACnetContextTagUnsignedInteger::getPayload)
                             
.extracting(BACnetTagPayloadUnsignedInteger::getActualValue)
-                            .isEqualTo(1L);
+                            .isEqualTo(BigInteger.ONE);
                     })),
             DynamicTest.dynamicTest("No. 2 - Complex-ACK     readProperty[107] 
command,1 action binary-value,0 present-value device,0 analog-value,1 
present-value binary-value,2 present-value device,0 analog-value,3 
present-value binary-value,4 present-value device,0 analog-value,5 
present-value binary-value,6 present-value device,0 analog-value,7 
present-value binary-value,8 present-value device,0 analog-value,9 
present-value",
                 () -> assertThat(pcapEvaluator.nextBVLC())
@@ -2382,7 +2382,7 @@ public class RandomPackagesTest {
                                     
.extracting(BACnetConstructedDataEventTimestamps::getToFault)
                                     
.extracting(BACnetContextTagUnsignedInteger::getPayload)
                                     
.extracting(BACnetTagPayloadUnsignedInteger::getActualValue)
-                                    .isEqualTo(0L)
+                                    .isEqualTo(BigInteger.ZERO)
                             )
                             .satisfies(baCnetConstructedDataEventTimestamps ->
                                 
assertThat(baCnetConstructedDataEventTimestamps)
@@ -2815,7 +2815,7 @@ public class RandomPackagesTest {
                                     
.asInstanceOf(InstanceOfAssertFactories.type(BACnetApplicationTagUnsignedInteger.class))
                                     
.extracting(BACnetApplicationTagUnsignedInteger::getPayload)
                                     
.extracting(BACnetTagPayloadUnsignedInteger::getActualValue)
-                                    .isEqualTo(2048L);
+                                    .isEqualTo(BigInteger.valueOf(2048L));
                             });
                     })),
             DynamicTest.dynamicTest("No. 4 - Complex-ACK     
atomicReadFile[195]  (Message fragment 0)",
@@ -2910,9 +2910,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(111, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedReceive());
-                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 2 - Unconfirmed-REQ who-Is",
                 () -> {
@@ -2931,9 +2931,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(111, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(50, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertFalse(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedBoth());
-                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 8 - Unconfirmed-REQ i-Am device,201",
                 () -> {
@@ -2944,9 +2944,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(201, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(1476, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedBoth());
-                    assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(18, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 8 - Unconfirmed-REQ i-Am device,61",
                 () -> {
@@ -2957,9 +2957,9 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(61, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedBoth());
-                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 11 - Confirmed-REQ   readProperty[ 
29] device,201 object-identifier",
                 () -> {
@@ -3240,7 +3240,7 @@ public class RandomPackagesTest {
                     assertEquals(BACnetPropertyIdentifier.PROTOCOL_VERSION, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagUnsignedInteger 
BACnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
value;
-                    assertEquals(1, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                    assertEquals(1, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 31 - Confirmed-REQ   readProperty[ 
39] device,201 protocol-conformance-class",
                 () -> {
@@ -3269,7 +3269,7 @@ public class RandomPackagesTest {
                     
assertEquals(BACnetPropertyIdentifier.PROTOCOL_CONFORMANCE_CLASS, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagUnsignedInteger 
BACnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
value;
-                    assertEquals(3, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                    assertEquals(3, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 33 - Confirmed-REQ   readProperty[ 
40] device,201 protocol-services-supported",
                 () -> {
@@ -3356,7 +3356,7 @@ public class RandomPackagesTest {
                     
assertEquals(BACnetPropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagUnsignedInteger 
BACnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
value;
-                    assertEquals(1476, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                    assertEquals(1476, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 39 - Confirmed-REQ   readProperty[ 
43] device,201 segmentation-supported",
                 () -> {
@@ -3477,7 +3477,7 @@ public class RandomPackagesTest {
                     assertEquals(BACnetPropertyIdentifier.UTC_OFFSET, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagSignedInteger 
BACnetApplicationTagSignedInteger = (BACnetApplicationTagSignedInteger) value;
-                    assertEquals(BigInteger.ZERO, 
BACnetApplicationTagSignedInteger.getPayload().getActualValue());
+                    assertEquals(0, 
BACnetApplicationTagSignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 47 - Confirmed-REQ   readProperty[ 
47] device,201 daylights-savings-status",
                 () -> {
@@ -4040,7 +4040,7 @@ public class RandomPackagesTest {
                     assertEquals(BACnetPropertyIdentifier.PROTOCOL_VERSION, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagUnsignedInteger 
BACnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
value;
-                    assertEquals(1, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                    assertEquals(1, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 87 - Confirmed-REQ   readProperty[ 
67] device,61 protocol-conformance-class",
                 () -> {
@@ -4069,7 +4069,7 @@ public class RandomPackagesTest {
                     
assertEquals(BACnetPropertyIdentifier.PROTOCOL_CONFORMANCE_CLASS, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagUnsignedInteger 
BACnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
value;
-                    assertEquals(2, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                    assertEquals(2, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 89 - Confirmed-REQ   readProperty[ 
68] device,61 protocol-services-supported",
                 () -> {
@@ -4156,7 +4156,7 @@ public class RandomPackagesTest {
                     
assertEquals(BACnetPropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED, 
baCnetServiceAckReadProperty.getPropertyIdentifier().getPropertyIdentifier());
                     BACnetApplicationTag value = 
((BACnetConstructedDataUnspecified) 
baCnetServiceAckReadProperty.getValues()).getData().get(0).getApplicationTag();
                     BACnetApplicationTagUnsignedInteger 
BACnetApplicationTagUnsignedInteger = (BACnetApplicationTagUnsignedInteger) 
value;
-                    assertEquals(480, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue());
+                    assertEquals(480, 
BACnetApplicationTagUnsignedInteger.getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 95 - Confirmed-REQ   readProperty[ 
71] device,61 segmentation-supported",
                 () -> {
@@ -4842,8 +4842,8 @@ public class RandomPackagesTest {
                     BVLCOriginalBroadcastNPDU bvlcOriginalBroadcastNPDU = 
(BVLCOriginalBroadcastNPDU) bvlc;
                     APDUUnconfirmedRequest apduUnconfirmedRequest = 
(APDUUnconfirmedRequest) bvlcOriginalBroadcastNPDU.getNpdu().getApdu();
                     BACnetUnconfirmedServiceRequestWhoIs 
baCnetUnconfirmedServiceRequestWhoIs = (BACnetUnconfirmedServiceRequestWhoIs) 
apduUnconfirmedRequest.getServiceRequest();
-                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
+                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoIs.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
                 }),
             DynamicTest.dynamicTest("No. 2 - Unconfirmed-REQ who-Has 
device,133",
                 () -> {
@@ -4852,8 +4852,8 @@ public class RandomPackagesTest {
                     BVLCOriginalBroadcastNPDU bvlcOriginalBroadcastNPDU = 
(BVLCOriginalBroadcastNPDU) bvlc;
                     APDUUnconfirmedRequest apduUnconfirmedRequest = 
(APDUUnconfirmedRequest) bvlcOriginalBroadcastNPDU.getNpdu().getApdu();
                     BACnetUnconfirmedServiceRequestWhoHas 
baCnetUnconfirmedServiceRequestWhoHas = (BACnetUnconfirmedServiceRequestWhoHas) 
apduUnconfirmedRequest.getServiceRequest();
-                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoHas.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
-                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoHas.getDeviceInstanceRangeLowLimit().getPayload().getActualValue());
+                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoHas.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
+                    assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoHas.getDeviceInstanceRangeLowLimit().getPayload().getActualValue().longValue());
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestWhoHas.getObjectIdentifier().getObjectType());
                     assertEquals(133, 
baCnetUnconfirmedServiceRequestWhoHas.getObjectIdentifier().getInstanceNumber());
                 }),
@@ -4868,10 +4868,10 @@ public class RandomPackagesTest {
                     BACnetUnconfirmedServiceRequestIAm 
baCnetUnconfirmedServiceRequestIAm = (BACnetUnconfirmedServiceRequestIAm) 
apduUnconfirmedRequest.getServiceRequest();
                     assertEquals(BACnetObjectType.DEVICE, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getObjectType());
                     assertEquals(133, 
baCnetUnconfirmedServiceRequestIAm.getDeviceIdentifier().getInstanceNumber());
-                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue());
+                    assertEquals(480, 
baCnetUnconfirmedServiceRequestIAm.getMaximumApduLengthAcceptedLength().getPayload().getActualValue().longValue());
                     // TODO: we should use a enum here
                     
assertTrue(baCnetUnconfirmedServiceRequestIAm.getSegmentationSupported().getIsSegmentedBoth());
-                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue());
+                    assertEquals(42, 
baCnetUnconfirmedServiceRequestIAm.getVendorId().getPayload().getActualValue().longValue());
                 }),
             DynamicContainer.dynamicContainer("Confirmed-REQ atomicWriteFile 
1-30", () -> {
                 Collection<DynamicNode> nodes = new LinkedList<>();
diff --git 
a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec 
b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
index ac85676..1f5992f 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
@@ -1112,14 +1112,12 @@
         ['0x2' BACnetApplicationTagUnsignedInteger(BACnetTagHeader header)
             [simple BACnetTagPayloadUnsignedInteger('header.actualLength')
                                 payload                                        
                                         ]
-            // TODO: doesn't work in java as source value is already 
BigInteger and there is a BigInteger.valueOf() which doesn't like Big integers
-            //[virtual    uint 64 actualValue 'payload.actualValue'            
                                         ]
+            [virtual    uint 64 actualValue   'payload.actualValue'            
                                         ]
         ]
         ['0x3' BACnetApplicationTagSignedInteger(BACnetTagHeader header)
             [simple BACnetTagPayloadSignedInteger('header.actualLength')
                                 payload                                        
                                         ]
-            // TODO: doesn't work in java as source value is already 
BigInteger and there is a BigInteger.valueOf() which doesn't like Big integers
-            //[virtual    uint 64    actualValue 'payload.actualValue'         
                                         ]
+            [virtual    uint 64    actualValue   'payload.actualValue'         
                                         ]
         ]
         ['0x4' BACnetApplicationTagReal
             [simple BACnetTagPayloadReal
@@ -1193,15 +1191,13 @@
             [validation 'isNotOpeningOrClosingTag' "length 6 and 7 reserved 
for opening and closing tag"                ]
             [simple BACnetTagPayloadUnsignedInteger('header.actualLength')
                                 payload                                        
                                         ]
-            // TODO: doesn't work in java as source value is already 
BigInteger and there is a BigInteger.valueOf() which doesn't like Big integers
-            //[virtual    uint 64 actualValue 'payload.actualValue'            
                                         ]
+            [virtual    uint 64 actualValue 'payload.actualValue'              
                                       ]
         ]
         ['SIGNED_INTEGER' BACnetContextTagSignedInteger(bit 
isNotOpeningOrClosingTag, BACnetTagHeader header)
             [validation 'isNotOpeningOrClosingTag' "length 6 and 7 reserved 
for opening and closing tag"                ]
             [simple BACnetTagPayloadSignedInteger('header.actualLength')
                                 payload                                        
                                         ]
-            // TODO: doesn't work in java as source value is already 
BigInteger and there is a BigInteger.valueOf() which doesn't like Big integers
-            //[virtual    uint 64     actualValue 'payload.actualValue'        
                                         ]
+            [virtual    uint 64     actualValue 'payload.actualValue'          
                                       ]
         ]
         ['REAL' BACnetContextTagReal(bit isNotOpeningOrClosingTag)
             [validation 'isNotOpeningOrClosingTag' "length 6 and 7 reserved 
for opening and closing tag"]
@@ -1332,41 +1328,43 @@
 ]
 
 [type BACnetTagPayloadUnsignedInteger(uint 32 actualLength)
-    [virtual    bit     isUint8     'actualLength == 1' ]
-    [optional   uint  8 valueUint8  'isUint8'           ]
-    [virtual    bit     isUint16    'actualLength == 2' ]
-    [optional   uint 16 valueUint16 'isUint16'          ]
-    [virtual    bit     isUint24    'actualLength == 3' ]
-    [optional   uint 24 valueUint24 'isUint24'          ]
-    [virtual    bit     isUint32    'actualLength == 4' ]
-    [optional   uint 32 valueUint32 'isUint32'          ]
-    // TODO: we only go up to uint32 till we have the BigInteger stuff in java 
solved
-    [virtual    uint 32 actualValue 
'isUint8?valueUint8:(isUint16?valueUint16:(isUint24?valueUint24:(isUint32?valueUint32:0)))']
-    /*
-    [virtual    bit     isUint64    'actualLength == 4' ]
-    [optional   uint 64 valueUint64 'isUint64'          ]
-    [virtual    uint 64 actualValue 
'isUint8?valueUint8:(isUint16?valueUint16:(isUint32?valueUint32:(isUint64?valueUint64:0)))']
-    */
+    [virtual    bit         isUint8         'actualLength == 1'  ]
+    [optional   uint  8     valueUint8      'isUint8'            ]
+    [virtual    bit         isUint16        'actualLength == 2'  ]
+    [optional   uint 16     valueUint16     'isUint16'           ]
+    [virtual    bit         isUint24        'actualLength == 3'  ]
+    [optional   uint 24     valueUint24     'isUint24'           ]
+    [virtual    bit         isUint32        'actualLength == 4'  ]
+    [optional   uint 32     valueUint32     'isUint32'           ]
+    [virtual    bit         isUint40        'actualLength == 5'  ]
+    [optional   uint 40     valueUint40     'isUint40'           ]
+    [virtual    bit         isUint48        'actualLength == 6'  ]
+    [optional   uint 48     valueUint48     'isUint48'           ]
+    [virtual    bit         isUint56        'actualLength == 7'  ]
+    [optional   uint 56     valueUint56     'isUint56'           ]
+    [virtual    bit         isUint64        'actualLength == 8'  ]
+    [optional   uint 64     valueUint64     'isUint64'           ]
+    [virtual    uint 64     actualValue     
'isUint8?valueUint8:(isUint16?valueUint16:(isUint24?valueUint24:(isUint32?valueUint32:(isUint40?valueUint40:(isUint48?valueUint48:(isUint56?valueUint56:valueUint64))))))']
 ]
 
 [type BACnetTagPayloadSignedInteger(uint 32 actualLength)
-    [virtual    bit     isInt8          'actualLength == 1'  ]
-    [optional   int 8   valueInt8       'isInt8'             ]
-    [virtual    bit     isInt16         'actualLength == 2'  ]
-    [optional   int 16  valueInt16      'isInt16'            ]
-    [virtual    bit     isInt24         'actualLength == 3'  ]
-    [optional   int 24  valueInt24      'isInt24'            ]
-    [virtual    bit     isInt32         'actualLength == 4'  ]
-    [optional   int 32  valueInt32      'isInt32'            ]
-    [virtual    bit     isInt40         'actualLength == 5'  ]
-    [optional   int 40  valueInt40      'isInt40'            ]
-    [virtual    bit     isInt48         'actualLength == 6'  ]
-    [optional   int 48  valueInt48      'isInt48'            ]
-    [virtual    bit     isInt56         'actualLength == 7'  ]
-    [optional   int 56  valueInt56      'isInt56'            ]
-    [virtual    bit     isInt64         'actualLength == 8'  ]
-    [optional   int 64  valueInt64      'isInt64'            ]
-    [virtual    uint 64 actualValue     
'isInt8?valueInt8:(isInt16?valueInt16:(isInt24?valueInt24:(isInt32?valueInt32:(isInt40?valueInt40:(isInt48?valueInt48:(isInt56?valueInt56:(isInt64?valueInt64:0)))))))']
+    [virtual    bit         isInt8          'actualLength == 1'  ]
+    [optional   int 8       valueInt8       'isInt8'             ]
+    [virtual    bit         isInt16         'actualLength == 2'  ]
+    [optional   int 16      valueInt16      'isInt16'            ]
+    [virtual    bit         isInt24         'actualLength == 3'  ]
+    [optional   int 24      valueInt24      'isInt24'            ]
+    [virtual    bit         isInt32         'actualLength == 4'  ]
+    [optional   int 32      valueInt32      'isInt32'            ]
+    [virtual    bit         isInt40         'actualLength == 5'  ]
+    [optional   int 40      valueInt40      'isInt40'            ]
+    [virtual    bit         isInt48         'actualLength == 6'  ]
+    [optional   int 48      valueInt48      'isInt48'            ]
+    [virtual    bit         isInt56         'actualLength == 7'  ]
+    [optional   int 56      valueInt56      'isInt56'            ]
+    [virtual    bit         isInt64         'actualLength == 8'  ]
+    [optional   int 64      valueInt64      'isInt64'            ]
+    [virtual    uint 64     actualValue     
'isInt8?valueInt8:(isInt16?valueInt16:(isInt24?valueInt24:(isInt32?valueInt32:(isInt40?valueInt40:(isInt48?valueInt48:(isInt56?valueInt56:valueInt64))))))']
 ]
 
 [type BACnetTagPayloadReal

Reply via email to