.. _program_listing_file__tmp_ws_src_ublox_ublox_gps_include_ublox_gps_hpg_rov_product.hpp: Program Listing for File hpg_rov_product.hpp ============================================ |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/ublox/ublox_gps/include/ublox_gps/hpg_rov_product.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef UBLOX_GPS_HPG_ROV_PRODUCT_HPP #define UBLOX_GPS_HPG_ROV_PRODUCT_HPP #include #include #include #include #include #include #include namespace ublox_node { class HpgRovProduct final : public virtual ComponentInterface { public: // Constants for diagnostic updater const double kRtcmFreqMin = 1; const double kRtcmFreqMax = 10; const double kRtcmFreqTol = 0.1; const int kRtcmFreqWindow = 25; explicit HpgRovProduct(uint16_t nav_rate, std::shared_ptr updater, rclcpp::Node* node); void getRosParams() override; bool configureUblox(std::shared_ptr gps) override; void initializeRosDiagnostics() override; void subscribe(std::shared_ptr gps) override; private: void carrierPhaseDiagnostics( diagnostic_updater::DiagnosticStatusWrapper& stat); void callbackNavRelPosNed(const ublox_msgs::msg::NavRELPOSNED &m); ublox_msgs::msg::NavRELPOSNED last_rel_pos_; uint8_t dgnss_mode_; std::unique_ptr freq_rtcm_; rclcpp::Publisher::SharedPtr nav_rel_pos_ned_pub_; uint16_t nav_rate_; std::shared_ptr updater_; rclcpp::Node* node_; }; } // namespace ublox_node #endif // UBLOX_GPS_HPG_ROV_PRODUCT_HPP