Conversation
There was a problem hiding this comment.
Other comments (2)
- eagleye_util/gnss_converter/src/gnss_converter_node.cpp (111-111) The pvtgeodetic_callback function doesn't include accuracy validation like the navpvt_callback function does with s_acc. Consider adding a similar check for the Septentrio data to ensure accuracy requirements are met before processing.
- eagleye_core/coordinate/CMakeLists.txt (50-50) The GeographicLib include directory is being added in multiple places (include_directories(), target_include_directories(), and ament_export_include_directories()). This is redundant and can lead to confusion. Consider using only target_include_directories() with proper visibility specifiers as it's the modern CMake approach.
💡 To request another review, post a new comment with "/windsurf-review".
| void pvtgeodetic_callback(const septentrio_gnss_driver::msg::PVTGeodetic::ConstSharedPtr msg) | ||
| { | ||
| rtklib_msgs::msg::RtklibNav r; | ||
| r.header.frame_id = "gps"; | ||
| r.header.stamp = msg->header.stamp; | ||
| if (nav_msg_ptr != nullptr) |
There was a problem hiding this comment.
Unlike other callback functions, pvtgeodetic_callback doesn't return early when nav_msg_ptr is nullptr. This could lead to publishing incomplete data. Consider adding an early return like in the other callbacks:
| void pvtgeodetic_callback(const septentrio_gnss_driver::msg::PVTGeodetic::ConstSharedPtr msg) | |
| { | |
| rtklib_msgs::msg::RtklibNav r; | |
| r.header.frame_id = "gps"; | |
| r.header.stamp = msg->header.stamp; | |
| if (nav_msg_ptr != nullptr) | |
| void pvtgeodetic_callback(const septentrio_gnss_driver::msg::PVTGeodetic::ConstSharedPtr msg) | |
| { | |
| if (nav_msg_ptr == nullptr) | |
| { | |
| RCLCPP_WARN(rclcpp::get_logger(node_name),"nav_msg_ptr is nullptr"); | |
| return; | |
| } | |
| rtklib_msgs::msg::RtklibNav r; |
|
|
||
| sub_ = create_subscription<sensor_msgs::msg::Imu>(subscribe_imu_topic_name, rclcpp::QoS(10), std::bind(&TFConvertedIMU::imu_callback, this, std::placeholders::_1)); | ||
| sub_ = create_subscription<sensor_msgs::msg::Imu>(subscribe_imu_topic_name, rclcpp::QoS(10), std::bind(&TFConvertedIMU::imu_callback, this, std::placeholders::_1)); | ||
| pub_ = create_publisher<sensor_msgs::msg::Imu>("imu/data_tf_converted", rclcpp::QoS(10)); |
There was a problem hiding this comment.
The publisher is using a hardcoded topic name "imu/data_tf_converted" instead of the publish_imu_topic_name parameter that was read earlier. This makes the parameter ineffective.
| pub_ = create_publisher<sensor_msgs::msg::Imu>("imu/data_tf_converted", rclcpp::QoS(10)); | |
| pub_ = create_publisher<sensor_msgs::msg::Imu>(publish_imu_topic_name, rclcpp::QoS(10)); |
| ) | ||
|
|
||
| ament_auto_find_build_dependencies() | ||
| target_link_libraries(eagleye_navigation yaml-cpp) |
There was a problem hiding this comment.
The ament_auto_find_build_dependencies() call is being removed and replaced with target_link_libraries(eagleye_navigation yaml-cpp). However, ament_auto_find_build_dependencies() does more than just linking libraries - it also sets up include directories and other build properties for all dependencies.
Consider keeping both lines to ensure all dependencies are properly configured:
| target_link_libraries(eagleye_navigation yaml-cpp) | |
| ament_auto_find_build_dependencies() | |
| target_link_libraries(eagleye_navigation yaml-cpp) |
for v1.7.3
jazzy support