Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't understand the logic behind NodeStatus update code #165

Open
ADetilie opened this issue Aug 18, 2022 · 2 comments
Open

Can't understand the logic behind NodeStatus update code #165

ADetilie opened this issue Aug 18, 2022 · 2 comments

Comments

@ADetilie
Copy link

ADetilie commented Aug 18, 2022

Hello!

I am trying to adapt one BT library (not BehahaviorTree.cpp) to be compatible with Groot.
To make this, I need to understand how to encode BT and Node statuses changes in the format Groot can read.

With BT format, everything is more or less strait-forward:

  • BT.CPP packs behaviour tree in a byte array using generated flatbuffers code from the schema in fbs file and sends it to Groot via ZMQ.

But with Node Status changes, everything became more tricky:

  • From what I've seen, BT.CPP and Groot don't use StatusChangeLog table in from flatbuffer's types. And instead of this Groot uses some complex logic and byte arithmetic to decode needed info.
    const uint32_t header_size = flatbuffers::ReadScalar<uint32_t>( buffer );

My question:
Are there any solid reasons for not using flatbuffer and do some custom logic with manually encoding/decoding node status changes?

@facontidavide
Copy link
Contributor

Perfect timing, I am about to merge a branch that fix this

@ADetilie
Copy link
Author

Thank you for your answer!
When are you planning to introduce these changes to your repo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants