26 #include "modules/canbus/proto/chassis.pb.h" 27 #include "modules/drivers/gnss/proto/config.pb.h" 28 #include "modules/drivers/gnss/proto/gnss_status.pb.h" 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;
69 uint8_t buffer_[BUFFER_SIZE] = {0};
70 uint8_t buffer_rtk_[BUFFER_SIZE] = {0};
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;
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: raw_stream.h:45
RawStream(const config::Config &config, const std::shared_ptr< apollo::cyber::Node > &node)
Stream::Status status
Definition: raw_stream.h:47
static constexpr size_t NUM_STATUS
Definition: stream.h:64
Definition: raw_stream.h:38
bool filter[Stream::NUM_STATUS]
Definition: raw_stream.h:46
Status
Definition: stream.h:58