21#include "modules/common_msgs/sensor_msgs/gnss_raw_observation.pb.h"
32using ::apollo::drivers::gnss::EpochObservation;
33using ::apollo::drivers::gnss::GnssEphemeris;
36 const std::shared_ptr<apollo::cyber::Node>& node)
37 : config_(config), node_(node) {}
43 AERROR <<
"Failed to create rtcm parser.";
47 gnssephemeris_writer_ =
49 epochobservation_writer_ =
60 rtcm_parser_->Update(msg);
65 type = rtcm_parser_->GetMessage(&msg_ptr);
69 DispatchMessage(type, msg_ptr);
76 PublishEphemeris(message);
80 PublishObservation(message);
88void RtcmParser::PublishEphemeris(
const MessagePtr& message) {
89 auto eph = std::make_shared<GnssEphemeris>(*As<GnssEphemeris>(message));
90 gnssephemeris_writer_->Write(eph);
93void RtcmParser::PublishObservation(
const MessagePtr& message) {
95 std::make_shared<EpochObservation>(*As<EpochObservation>(message));
96 epochobservation_writer_->Write(observation);
::google::protobuf::Message * MessagePtr
void ParseRtcmData(const std::string &msg)
RtcmParser(const config::Config &config, const std::shared_ptr< apollo::cyber::Node > &node)
::google::protobuf::Message * MessagePtr