config BR2_PACKAGE_OPEN62541
	bool "open62541"
	help
	  open62541 is an open source and free implementation of OPC UA.

	  http://open62541.org

if BR2_PACKAGE_OPEN62541

choice
	prompt "namespace zero nodes"
	help
	  Namespace zero contains the standard-defined nodes. The full
	  namespace zero may not be required for all applications.

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_DEFAULT
	bool "default"
	help
	  Use the default namespace zero contents.

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL
	bool "minimal"
	help
	  A barebones namespace zero that is compatible with most
	  clients.  But this namespace 0 is so small that it does not
	  pass the CTT (Conformance Testing Tools of the OPC
	  Foundation).

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED
	bool "reduced"
	help
	  Small namespace zero that passes the CTT.

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
	bool "full"
	help
	  Full namespace zero generated from the official XML
	  definitions.

endchoice

config BR2_PACKAGE_OPEN62541_JSON_ENCODING
	bool "json encoding"

config BR2_PACKAGE_OPEN62541_PUBSUB
	bool "publish/subscribe"
	help
	  Enable the experimental OPC UA PubSub support. The option
	  will include the PubSub UDP multicast plugin.

if BR2_PACKAGE_OPEN62541_PUBSUB

config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
	bool "publish/subscribe deltaframes"
	help
	  The PubSub messages differentiate between keyframe (all
	  published values contained) and deltaframe (only changed
	  values contained) messages. Deltaframe messages creation
	  consumes some additional ressources.

config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
	bool "publish/subscribe information model"
	depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || \
		BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
	help
	  Enable the information model representation of the PubSub
	  configuration.

endif # BR2_PACKAGE_OPEN62541_PUBSUB

endif
