-
Notifications
You must be signed in to change notification settings - Fork 143
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
Protobuf integration with nanopb #640
Comments
Nice to see Protobuf/NanoPB used with modm!
Sounds good!
I think the best thing to do is look at @salkinium|s repo https://github.com/modm-io/Invensense-eMD (if you haven't already) and adopt the structure. Maybe @salkinium has more/better advice? |
|
Wouldn't this mean, that the generated protocol headers/sources are just available after running scons build or do I miss the point? Because this would impede intellisense (or similar) capabilities. |
Yes, that's true. In that case would also add an explicit The nanopb build system integrations look pretty useful at first glance, perhaps we can copy them over and call them from our existing build systems? Edit: I guess |
Yeah I thought that too, I will try to reuse them and see how far I get with these :D |
Why? I consider the separation of code generation and compilation, as well as the build system independence to be very advantageous. |
I tried to get a little bit more familiar with lbuild and scons. As far as I can tell, additional build targets that are running certain scripts instead of standard c/cpp compiling need to be specified via "Command" in the SContruct file, which would require to modify the SContruct generation within the modm scons module (correct me, if there is an easier solution). Additionally we cannot use "nanopb" as build target command, since this is already a build target (via the static library). Right now I tend to support the oppinion of @rleh since this is the much simpler solution with the only downside that the lbuild "build" have to be triggered everytime the .proto definition is changed. |
Ok, then let's do it this way. Even though I don't like to add more responsibilities to lbuild, it's better than not having nanobp at all and we can add build system support later. I've created a modm-ext/partial-nanopb repo and added you as maintainer. Copy an update script and the GitHub Actions ci from another repo to create a minimal nanobp git submodule that you can add to |
Are you sure I'm added as maintainer, because it seems like I'm not allowed to push branches right now. |
I've resent your invite. I accidentally created a |
There seems to be |
I checked the output from the github api call and it seems that the 0.x.x Tags are somehow only present in the ui, the api taglist contains only the nanopb-0.x.x tags. |
I renamed the repo again to |
Did you make progress with adding the nanopb module into modm/ext? |
I was pretty occupied by work the last weeks, so I couldnt find the time to progress with my private projects including the nanopb integration. I'll try to make the small PR for nanopb this week. |
Small update: I prepared everything so far for a pull-request to modm. Problem right now is that I cannot get protoc running with the current release tags of nanopv (cannot find correct python parser), so I guess their master (which is working) has some crucial bugfix. I keep digging into the problem. Update2: Yeah, its a hotfix for Windows from 13.04.2021 which fixed the problem, hopefully this gets into a new releasetag soon. |
Do you want to open a Draft PR regardless? I would like to see the nanopb failure integrated into the (Windows) CI for future refactorings. |
Sorry for the long wait - the PR is now online (#657) |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
For a project of mine I wrote a very crude (due to my limited experience) external lbuild-repository to integrate protocol buffers via nanopb into modm:
https://github.com/lmoesch/modm-nanopb
The reason to wrap it into a seperate repo, instead of direct modm-integration, is that this needs an additional python package installed (protobuf, suprise suprise).
Since I plan on refining the code for general public use, I wonder whats "best pratice" in this case, to provide it to all interested modm users.
The text was updated successfully, but these errors were encountered: