Compatibility with both Melodic and Noetic, properly done and tested with Mark III and Mark IV devices #124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes the driver compatible with both Melodic and Noetic. I've tested it with a Mark III device using MTData (MTi-G-28A53G35) and a Mark IV device using MTData2 (MTi-30-2A8G4) on both Melodic and Noetic. I've tested both mtnode and mtdevice (configuration, inspection, echo).
TL;DR: I'm willing to become a maintainer of the ROS 1 version of this package (if it's true it is no longer maintained) and do a binary release into Noetic. This PR is well tested and follows the best practices, while doing minimally invasive changes to the project code (eh, CMakeLists.txt got a cleanup). It fully retains backwards compatibility for existing code (except moving mtdef.py out of the nodes/ directory). It doesn't add or change any functionality or behavior.
I know there are already several PRs adding Noetic support. Yet in my view, none of them is perfect (except this one :-D )
This PR changes the file structure to properly separate library functionality (moved to a Python package) and script/CLI/node functionality (retained in nodes/ directory). To help keeping the Git history of mtdef.py and mtdevice.py, I've split this PR into multiple commits, which are easier reviewed separately:
git mv
) mtdef.py and mtdevice.py to a Python package (so that Git and Github figure out the files were moved and offer handy links when viewing history and blaming).