.. _program_listing_file__tmp_ws_src_ublox_ublox_gps_include_ublox_gps_fix_diagnostic.hpp: Program Listing for File fix_diagnostic.hpp =========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/ublox/ublox_gps/include/ublox_gps/fix_diagnostic.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef UBLOX_GPS_FIX_DIAGNOSTIC_HPP #define UBLOX_GPS_FIX_DIAGNOSTIC_HPP #include #include #include #include namespace ublox_node { class FixDiagnostic { public: explicit FixDiagnostic(const std::string & name, double freq_tol, int freq_window, double stamp_min, uint16_t nav_rate, uint16_t meas_rate, std::shared_ptr updater) { const double target_freq = 1.0 / (meas_rate * 1e-3 * nav_rate); // Hz min_freq = target_freq; max_freq = target_freq; diagnostic_updater::FrequencyStatusParam freq_param(&min_freq, &max_freq, freq_tol, freq_window); double stamp_max = meas_rate * 1e-3 * (1 + freq_tol); diagnostic_updater::TimeStampStatusParam time_param(stamp_min, stamp_max); diagnostic = std::make_shared(name, *updater, freq_param, time_param); } // Must not copy this struct (would confuse FrequencyStatusParam pointers) FixDiagnostic(FixDiagnostic &&c) = delete; FixDiagnostic &operator=(FixDiagnostic &&c) = delete; FixDiagnostic(const FixDiagnostic &c) = delete; FixDiagnostic &operator=(const FixDiagnostic &c) = delete; ~FixDiagnostic() = default; std::shared_ptr diagnostic; private: double min_freq; double max_freq; }; } // namespace ublox_node #endif