41 const std::shared_ptr<apollo::cyber::Node>& node);
59 void StreamStatusCheck();
60 void PublishRtkData(
size_t length);
61 void PushGpgga(
size_t length);
63 void GpsbinCallback(
const std::shared_ptr<RawData const>& raw_data);
64 void OnWheelVelocityTimer();
66 std::unique_ptr<cyber::Timer> wheel_velocity_timer_ =
nullptr;
67 std::shared_ptr<apollo::canbus::Chassis> chassis_ptr_ =
nullptr;
68 static constexpr size_t BUFFER_SIZE = 2048;
72 std::shared_ptr<Stream> data_stream_;
73 std::shared_ptr<Stream> command_stream_;
74 std::shared_ptr<Stream> in_rtk_stream_;
75 std::shared_ptr<Stream> out_rtk_stream_;
77 std::shared_ptr<Status> data_stream_status_;
78 std::shared_ptr<Status> command_stream_status_;
79 std::shared_ptr<Status> in_rtk_stream_status_;
80 std::shared_ptr<Status> out_rtk_stream_status_;
82 bool rtk_software_solution_ =
false;
83 bool push_location_ =
false;
84 bool is_healthy_ =
true;
85 config::Config config_;
87 const std::string raw_data_topic_;
88 const std::string rtcm_data_topic_;
90 StreamStatus stream_status_;
91 std::unique_ptr<std::thread> data_thread_ptr_;
92 std::unique_ptr<std::thread> rtk_thread_ptr_;
93 std::unique_ptr<DataParser> data_parser_ptr_;
94 std::unique_ptr<RtcmParser> rtcm_parser_ptr_;
95 std::unique_ptr<std::thread> gpsbin_thread_ptr_;
96 std::unique_ptr<std::ofstream> gpsbin_stream_ =
nullptr;
98 std::shared_ptr<apollo::cyber::Node> node_ =
nullptr;
99 std::shared_ptr<apollo::cyber::Writer<StreamStatus>> stream_writer_ =
nullptr;
100 std::shared_ptr<apollo::cyber::Writer<RawData>> raw_writer_ =
nullptr;
101 std::shared_ptr<apollo::cyber::Writer<RawData>> rtcm_writer_ =
nullptr;
102 std::shared_ptr<apollo::cyber::Reader<RawData>> gpsbin_reader_ =
nullptr;
103 std::shared_ptr<apollo::cyber::Reader<apollo::canbus::Chassis>>
104 chassis_reader_ =
nullptr;