On Sat, Apr 25, 2020 at 8:13 AM James Kulp <jek_at_parera.com> wrote:
> I'll put forth a more restricted answer. The ACI can read volatile
> property values of all types, whole and in part.
> In all cases you can get the value returned as a formatted string
> according to the documented textual format.
> When the values being read (whole or part) are scalars or
> arrays/sequences of scalars, they can also be read directly as binary
> values.
>
> These restrictions come down to the fact that OpenCPI does not perform
> data type code generation for the ACI.
>
Sure - that's very understandable.
> One idea that has been floated is to use Google's flatbuffers for this
> purpose.
>
I won't comment on the binary reading part, but I would definitely
recommend changing the string data exchange format to be JSON instead of
what you have. There is a great JSON library for C++11 which makes super
easy to use objects and is MIT licensed:
https://github.com/nlohmann/json
Now, for something back on topic. I had setup the readsync functionality,
but forgot to set it to volatile. When I did this, the read() method was
called for syncing, but the data was never updated. Is this expected
behavior? I would think that readsync would imply volatile. Are there
cases where readsync would be set, but volatile shouldn't be assumed?
Lastly, there's a lot of XML happening for all these different devices,
workers, platforms, etc. Is there a comprehensive XML schema that can be
referenced for each of the XML data types?
Thanks,
Brian
Received on Mon Apr 27 2020 - 14:03:48 CDT