Closed maetulj closed 6 years ago
Hi @maetulj. I agree that the includes would better be prefixed with the package name to avoid name clashes. Still, we need to make sure that existing code won't be broken and also keep in mind that KaCanOpen is also used in non-Catkin projects. I just committed an untested and optional fix based on symlinks in the following branch: https://github.com/KITmedical/kacanopen/tree/include_structure Maybe this helps you? P.S. If there are any better ideas - contributions are always welcome ;-)
Hey @thk1. Thank you very much for your answer! Yeah, I thought this change is too big for a project already this big, but hey, I tried :) And thank you for the branch! Sadly I was already doing field tests so I couldn't implement it, but as soon as I have some spare time I'll check it and even try to contribute something. I need to thank you again for this great library, if I'm not wrong it's meant for robotic arms, but I successfully used it in a mobile robot. For optimal driving I needed to expand your library with possibility to do velocity control so this is one thing that I think you can expect ;)
Hey. First of all I need to say this is a great library.
But the File/Folder structure should be done in accordance with ROS best practices.
Currently it is possible to include this package in Catkin Workspace. Adding this package as a dependency to another package then enables to do this in the new package to get kacanopen/master/include/master.h as:
#include <master.h>
This is ambiguous since the origin package cannot be seen as well as it could cause conflicts with other packages that are also not structured according to the best practices.
I think it would be better to do it according to ROS best practices and restructure the files/folders. This way the package could then be easily included as a git-submodule to a ROS project. Ideally one could then do:
#include <kacanopen/master/master.h>