-
Notifications
You must be signed in to change notification settings - Fork 503
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
Many fixes to CMakeLists and dsdl compiler #212
Many fixes to CMakeLists and dsdl compiler #212
Conversation
Modenizing the build script and making the dsdl compiler more flexible. Switching to pydsdl for code generation This is a partial fix. The generator is junk now and needs a complete rewrite. This change does prove out the makefile and interface to the generator.
8b98e75
to
7a89898
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh boy
(You may have noticed that I am using this PR as an opportunity to criticize some of my own code that I wrote years ago) |
This is cool but there's more to life than CMake. Could you please briefly describe in a few sentences how would one integrate libuavcan v2.0 into a Make-based build process? I am picturing this:
Am I missing anything here? Please let's not get unnecessarily consumed by CMake. |
For your cmake comment: your bullet points are correct; that's basically what you need to do as a library consumer. I think there's a lot more user-facing documentation to be produced along this line in the future. I could also add a Makefile integration section below the section on pydsdlgen cmake integration (you can pronounce it /pie-d'ess-delshen/ if you want to claim it's French). |
7a89898
to
d080087
Compare
I'd like to merge this so I can finish hooking up CI. Can we agree this change isn't toxic and then we can continue the review with follow-up pull requests? |
I forgot to ask: what do we need this for? |
I needed it for the duration math and then I went down a hole implementing it. I'm assuming it will become important for supporting saturated integer types in dsdl? |
Not sure. Maybe not, unless you have a different approach to their support than what I have in mind. Basically, saturation is performed during serialization once per field, unless the field is of a standard bit length (8, 16, 32, 64) in which case it requires no additional handling. |
Crap, I forgot about #187 One more push with the removal of the C-only flags in native and changing the nascent "porting" namespace to be "platform" |
d080087
to
60a608c
Compare
Massive integration here, sorry. These changes are to kick start CI builds and other formal mechanisms which will govern on going development. Included are:
Goodies
A working ST32H build of our unit tests – The tests don't yet actually work on target but they are compiling and we have very little work left to make this a complete solution. I'm currently working with an NXP FAE to enable this on the S32K146 per our plans to use that as our official embedded test platform. When I do that I'll remove the ST32H files.mkdir build; cd build, cmake ..
to get a full set of working makefiles and all our dependent sources.Still TODO
Things I still want to accomplish from a build and test standpoint are: