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

Use C++ bindings for comms protocols in GUI #1300

Open
martukas opened this issue Aug 9, 2022 · 0 comments
Open

Use C++ bindings for comms protocols in GUI #1300

martukas opened this issue Aug 9, 2022 · 0 comments
Labels
GUI Graphical User Interface project Needs help Jump in on these bugs! (Often good for newcomers) Software Umbrella: GUI, Controller or CI
Milestone

Comments

@martukas
Copy link
Member

martukas commented Aug 9, 2022

With #1299, we have a sustainable way of generating, maintaining and improving on the communications protocol. There are a couple more improvements that can be done to further declutter the repository of third-party code as well as improve the robustness of application code.

Use C++ bindings for the communications protocol. The common.sh generate command now creates C++ bindings that it places in the GUI code tree. The GUI should use these bindings instead of the C-bindings found under common/generated_libs. They will have stronger typing and better static checks. It is also possible that ProtoTraits will be rendered unnecessary either because of this, or it may be doable by bringing in some protobuffer utilities via Conan. At least Nanopb appears to have a Conan recipe, though I have not found a ready-made package for linking.

@martukas martukas added GUI Graphical User Interface project Software Umbrella: GUI, Controller or CI labels Aug 9, 2022
@martukas martukas added the Needs help Jump in on these bugs! (Often good for newcomers) label Aug 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GUI Graphical User Interface project Needs help Jump in on these bugs! (Often good for newcomers) Software Umbrella: GUI, Controller or CI
Projects
None yet
Development

No branches or pull requests

1 participant