Hi all,

when working on the "plc4x" protocol, Sebastian brought up a good point: The 
protocol I'm implementing might need changes in the future ... how do we ensure 
to support multiple versions of a protocol?

So, we extended the Protocol interface with a "getVersion()" (defaults to 
returning an empty optional).
The code generation now allows providing a "protocolVersion" tag to the 
execution.

If a protocol module defines a version, you need to specify the version to use 
(even if there is only one). If the protocol doesn't support versions, you 
shouldn't supply it.

So far it generally shouldn't have any effect on any of the existing protocols 
and drivers, but we'll be extending the code generation to generate the classes 
in different packages (One more level between the protocol-name and the variant.

Chris

Reply via email to