#91 Protobufs: support communicating to buggy implementations

closed
None
2021-05-15
2020-11-17
i-campbell
No

Due to a bug in eclipse Tahu, most current Sparkplug Implementations cannot parse correctly formed Uint32 Metrics, Uint32 Parameters, Uint32 PropertyValues nor Uint32 DataSetValues.

It is not possible to communicate to devices with the buggy implementation at the same time as communicating according to the specification. As such we need a toggle to "conform to spec" or "work around Uint32 bugs in certain Sparkplug implementations".

Ignition MQTT Engine currently exhibits this bug (MQTT Engine 4.0.5 (b2020062917))

As workaround, don't use Uint32, use Uint64.

Perhaps a warning can be given in the log if any Uint32s are detected.

Discussion

  • i-campbell

    i-campbell - 2020-12-12

    Implemented in r597.
    GVL_sparkplugB.IWantBuggyUInt32s : BOOL; controls the behaviour
    The encoding for Parameters, PropertyValues, DataSetValues is not yet complete, so leaving this issue open until it is complete.

     
  • i-campbell

    i-campbell - 2020-12-19

    Parameters and Property values are done.
    Dataset values are more complex, as the data type is not stored with the data value.
    I am not even sure if the data type is mandatory.

    The other idea is for the bugginess to be handled at the point of adding the data type.

     
  • hermsen

    hermsen - 2020-12-27
    • labels: Protobufs, Improvement -->
    • status: open --> closed
     
  • hermsen

    hermsen - 2021-05-15

    Is this still valid or has eclipse solved this?

     

Log in to post a comment.