this is probably a flow of control problem.
But the code block below this resets some state variables before returning, and will also return false in the same case this removed block does.
Resetting that state might be very important to the caller.
- Add topic name and type to topic table.
- Use binary creation functions for participants and topics.
- Add constant for domain ID.
- Create publishers and datawriters by binary
- Create subscribers, datareaders and services by binary
- Add extra fields to the services table.
- Remove dds_xrce_profile.xml
- Document additional service table fields
- Add QoS struct to topic and service tables
- Replace profile labels with enums.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
- ROS expects quaternions to be normalised and the default message constructor does not enforce this.
- Fix normalisation for pose stamped.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
- Add ping test and attempt reconnect if connection dropped.
- Retry ping test max_attempts before exiting.
- Move `uxr_init_session` from transport init to session init for reconnect
- Tidy handling of transport.comm
- Fix codestyle
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
AP_DDS: use PONG_IN_SESSION_STATUS in status check
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
AP_DDS: add local variables to clarify arguments to uxr_ping_agent_session
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
- Use type and topic name mapping rules in the arm_motors service profile.
- Remove the integration service configuration file.
- Update the service section in the README and document the topic and service mapping rules.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
* Implement frame ID checking and test it
* Implement the visual odom function that does narrowing to floats
* Normalize quaternions from ROS
* Supply 0 error to EKF
* Handle external odomo only if HAL_VISUALODOM_ENABLED is defined
* Implement odom timestamping and improve docs
* Add unit tests
* Add a CONFIG file for DDS
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
* DDS is still disabled by default in all builds for the library level compile flag
* This parameter was blocking running ROS 2 automated testing in CI
* This can be changed once ENABLE_DDS compiler flag is enabled in SITL or for the 4.5 release
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>