Remove plugin interface and support custom sensors#90
Conversation
Signed-off-by: Louise Poubel <louise@openrobotics.org>
|
Did you try to run any test on ign-gazebo ? or Did you try to run All sensor plugins are failing When I run for example This is the issue why I think we should use GLOBAL instead of LOCAL. |
Argh, no I hadn't, and now I see it doesn't work. It was too good to be true. I'll look into it more. I'm having a hard time trying out #38 because it's outdated, so I'm pulling changes from it. I tried fixing conflicts but I must have done something wrong because it wasn't working for me 😕 |
|
I will update my PR |
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
|
I opened this for review.
|
|
Removing beta label, we won't have time to wrap this up before code freeze. Let's retarget at Ignition-F. |
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
ahcorde
left a comment
There was a problem hiding this comment.
ups still some style issues https://github.com/ignitionrobotics/ign-sensors/pull/90/checks?check_run_id=3293527185
Codecov Report
@@ Coverage Diff @@
## main #90 +/- ##
==========================================
+ Coverage 77.22% 77.51% +0.28%
==========================================
Files 23 24 +1
Lines 2358 2326 -32
==========================================
- Hits 1821 1803 -18
+ Misses 537 523 -14
Continue to review full report at Codecov.
|
Style issues are resolved and CI is all happy
|
As mentioned on the migration guide, it wasn't possible to tick-tock all of the API. So once this is merged, downstream (i.e.
|
Requires gazebosim/gz-plugin#35This does a lot of the same things as #38, except for:I got rid of theIGN_SENSORS_REGISTER_SENSORin favor of usingIGNITION_ADD_PLUGINdirectly. That matches better what we've been doing on other libraries and simplifies some registration details. The downside is that it isn't being tick-tocked yet. But I wonder if this was even usable by downstream users, considering Support custom sensors #9. What do you think, @iche033 ?I didn't need to change any tests or anything in theManagerThere's no assumption that the interface we want is the last one, we iterate until finding the correct interface.I only tested this locally, curious to see how it will work on CI.6 months later...
This PR now depends on gazebosim/sdformat#652
This pull request started as a migration from Ignition Common plugins to Ignition Plugins. As we iterated on it, it became clear that it wasn't feasible to link against the sensor plugins, and then load them at runtime one more time, which is what the old implementation was doing.
We can't escape linking against each sensor if we want to use their APIs in Gazebo systems. But we can live without the plugin interface. With that in mind, we decided to completely remove the plugin interface instead of migrating it to Ignition Plugin.
See the migration guide for more information on what has changed, and the new examples for how to use the current APIs, including an example of how to implement custom sensors.
Let me know what you think, @ahcorde