54 const std::string& frame_id,
bool ,
59 const size_t LENGTH = 19;
60 if (sentence.get_body().size() != LENGTH)
62 std::stringstream error;
63 error <<
"Expected GPGSA length is " << LENGTH <<
". The actual length is "
64 << sentence.get_body().size();
70 msg.message_id = sentence.get_body()[0];
71 msg.auto_manual_mode = sentence.get_body()[1];
74 std::stringstream error;
75 error <<
"GPGSA fix_mode parsing error.";
81 msg.sv_ids.resize(12, 0);
83 for (std::vector<std::string>::const_iterator
id =
84 sentence.get_body().begin() + 3;
85 id < sentence.get_body().begin() + 15; ++
id)
91 std::stringstream error;
92 error <<
"GPGSA sv_ids parsing error.";
98 msg.sv_ids.resize(n_svs);
102 std::stringstream error;
103 error <<
"GPGSA pdop parsing error.";
108 std::stringstream error;
109 error <<
"GPGSA hdop parsing error.";
114 std::stringstream error;
115 error <<
"GPGSA vdop parsing error.";