Bi-directional properties: Add support for specifying intended property values in command
An idea that came up during discussion with Paul and Raghu (HGCal). Being able to specify the intended values of properties would be useful when configuring certain FW modules (e.g. the TCDS2 signal generator). The current parameter set is a flat (single-level) map of properties to values, and so it can be difficult to shoe-horn some complex configuration settings into this flat structure; instead some settings are specified using a YAML file parameter, which conforms to a simple schema (two or three layers deep). Putting these parameters in a file right now completely hides them from the framework. If we add the ability to specify the intended values of (a subset of) properties then we could better integrate these configuration settings into the UIs, validate them off of the board, and also directly compare the intended values with those read back later; however to support this we may need to make the structure of the properties slightly more complex (e.g. supporting lists).
Need to review different use cases and devise a suitable C++ API, network API & config file extension.