maliput / delphyne

Scenario and search based Ego/Ado Car traffic simulations
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Use ignition-blueprint dependencies (msgs4 / transport7) #733

Closed scpeters closed 3 years ago

scpeters commented 3 years ago

As part of https://github.com/ToyotaResearchInstitute/delphyne-gui/issues/332, migrate to ignition-msgs4 and ignition-transport7 (from ignition-blueprint collection) to support migration of delphyne-gui to ign-gui2.

There are some API changes between ign-msgs2 and ign-msgs4 caused by the change from proto2 syntax to proto3 (see ign-msgs bitbucket PR 69 and gazebo bitbucket PR 3160 for more discussion). One significant change is that fields with primitive types (numeric, string, bool for example) cannot be left unset in a message; these fields will be set with a default value instead (0, "", false). Without the changes in 33b75a1, compilation fails due to some fields missing the has_* method, since they are no longer optional. The change in data_logger.cc is straightforward, but the changes in simulation_runner.cc were a little more tricky since the pause field is always set to false unless the publisher affirmatively sets it to true. To handle this, I changed the order of the logic in ProcessWorldControlMessage so that the pause field is only checked if step and multi_step are false / 0. I've tested with the scpeters/ignition-blueprint branch of delphyne-gui, and it looks like it's still working to me.

scpeters commented 3 years ago

This must be merged at the same time as https://github.com/ToyotaResearchInstitute/delphyne-gui/pull/333

scpeters commented 3 years ago

I expect a sibling PR in dsim-repos-index to update the documentation.

here you go: https://github.com/ToyotaResearchInstitute/dsim-repos-index/pull/152