36 #include "novatel_oem7_msgs/HEADING2.h" 37 #include "novatel_oem7_msgs/BESTGNSSPOS.h" 38 #include "novatel_oem7_msgs/BESTPOS.h" 39 #include "novatel_oem7_msgs/BESTVEL.h" 40 #include "novatel_oem7_msgs/BESTUTM.h" 41 #include "novatel_oem7_msgs/PPPPOS.h" 42 #include "novatel_oem7_msgs/TERRASTARINFO.h" 43 #include "novatel_oem7_msgs/TERRASTARSTATUS.h" 44 #include "novatel_oem7_msgs/INSPVA.h" 45 #include "novatel_oem7_msgs/INSPVAX.h" 46 #include "novatel_oem7_msgs/INSCONFIG.h" 47 #include "novatel_oem7_msgs/INSSTDEV.h" 48 #include "novatel_oem7_msgs/CORRIMU.h" 49 #include "novatel_oem7_msgs/RXSTATUS.h" 50 #include "novatel_oem7_msgs/TIME.h" 54 #define arr_size(_arr_) (sizeof(_arr_) / sizeof(_arr_[0])) 65 static uint32_t sequence_number = 0;
67 return ++sequence_number;
75 const Oem7RawMessageIf::ConstPtr& msg,
76 const std::string& name,
77 novatel_oem7_msgs::Oem7Header::Type& oem7_hdr
81 oem7_hdr.message_name = name;
89 const Oem7RawMessageIf::ConstPtr& msg,
90 const std::string& name,
91 novatel_oem7_msgs::Oem7Header::Type& oem7_hdr
95 oem7_hdr.message_name = name;
102 MakeROSMessage<novatel_oem7_msgs::HEADING2>(
103 const Oem7RawMessageIf::ConstPtr& msg,
109 heading2.reset(
new novatel_oem7_msgs::HEADING2);
111 heading2->sol_status.status = mem->sol_status;
112 heading2->pos_type.type = mem->pos_type;
113 heading2->length = mem->length;
114 heading2->heading = mem->heading;
115 heading2->pitch = mem->pitch;
116 heading2->reserved = mem->reserved;
117 heading2->heading_stdev = mem->heading_stdev;
118 heading2->pitch_stdev = mem->pitch_stdev;
119 heading2->rover_stn_id.assign( mem->rover_stn_id,
arr_size(mem->rover_stn_id));
120 heading2->master_stn_id.assign(mem->master_stn_id,
arr_size(mem->rover_stn_id));
121 heading2->num_sv_tracked = mem->num_sv_tracked;
122 heading2->num_sv_in_sol = mem->num_sv_in_sol;
123 heading2->num_sv_obs = mem->num_sv_obs;
124 heading2->num_sv_multi = mem->num_sv_multi;
125 heading2->sol_source.source = mem->sol_source;
126 heading2->ext_sol_status.status = mem->ext_sol_status;
127 heading2->galileo_beidou_sig_mask = mem->galileo_beidou_sig_mask;
128 heading2->gps_glonass_sig_mask = mem->gps_glonass_sig_mask;
130 static const std::string name =
"HEADING2";
136 MakeROSMessage<novatel_oem7_msgs::BESTGNSSPOS>(
137 const Oem7RawMessageIf::ConstPtr& msg,
142 const BESTGNSSPOSMem* bgp =
reinterpret_cast<const BESTGNSSPOSMem*
>(msg->getMessageData(
OEM7_BINARY_MSG_HDR_LEN));
143 bestgnsspos.reset(
new novatel_oem7_msgs::BESTGNSSPOS);
145 bestgnsspos->sol_status.status = bgp->sol_stat;
146 bestgnsspos->pos_type.type = bgp->pos_type;
147 bestgnsspos->lat = bgp->lat;
148 bestgnsspos->lon = bgp->lon;
149 bestgnsspos->hgt = bgp->hgt;
150 bestgnsspos->undulation = bgp->undulation;
151 bestgnsspos->datum_id = bgp->datum_id;
152 bestgnsspos->lat_stdev = bgp->lat_stdev;
153 bestgnsspos->lon_stdev = bgp->lon_stdev;
154 bestgnsspos->hgt_stdev = bgp->hgt_stdev;
155 bestgnsspos->stn_id.assign( bgp->stn_id,
arr_size(bgp->stn_id));
156 bestgnsspos->diff_age = bgp->diff_age;
157 bestgnsspos->sol_age = bgp->sol_age;
158 bestgnsspos->num_svs = bgp->num_svs;
159 bestgnsspos->num_sol_svs = bgp->num_sol_svs;
160 bestgnsspos->num_sol_l1_svs = bgp->num_sol_l1_svs;
161 bestgnsspos->num_sol_multi_svs = bgp->num_sol_multi_svs;
162 bestgnsspos->reserved = bgp->reserved;
163 bestgnsspos->ext_sol_stat.status = bgp->ext_sol_stat;
164 bestgnsspos->galileo_beidou_sig_mask= bgp->galileo_beidou_sig_mask;
165 bestgnsspos->gps_glonass_sig_mask = bgp->gps_glonass_sig_mask;
167 static const std::string name =
"BESTGNSSPOS";
173 MakeROSMessage<novatel_oem7_msgs::BESTPOS>(
174 const Oem7RawMessageIf::ConstPtr& msg,
180 bestpos.reset(
new novatel_oem7_msgs::BESTPOS);
182 bestpos->sol_status.status = bp->sol_stat;
183 bestpos->pos_type.type = bp->pos_type;
184 bestpos->lat = bp->lat;
185 bestpos->lon = bp->lon;
186 bestpos->hgt = bp->hgt;
187 bestpos->undulation = bp->undulation;
188 bestpos->datum_id = bp->datum_id;
189 bestpos->lat_stdev = bp->lat_stdev;
190 bestpos->lon_stdev = bp->lon_stdev;
191 bestpos->hgt_stdev = bp->hgt_stdev;
192 bestpos->stn_id.assign( bp->stn_id,
arr_size(bp->stn_id));
193 bestpos->diff_age = bp->diff_age;
194 bestpos->sol_age = bp->sol_age;
195 bestpos->num_svs = bp->num_svs;
196 bestpos->num_sol_svs = bp->num_sol_svs;
197 bestpos->num_sol_l1_svs = bp->num_sol_l1_svs;
198 bestpos->num_sol_multi_svs = bp->num_sol_multi_svs;
199 bestpos->reserved = bp->reserved;
200 bestpos->ext_sol_stat.status = bp->ext_sol_stat;
201 bestpos->galileo_beidou_sig_mask= bp->galileo_beidou_sig_mask;
202 bestpos->gps_glonass_sig_mask = bp->gps_glonass_sig_mask;
204 static const std::string name =
"BESTPOS";
210 MakeROSMessage<novatel_oem7_msgs::BESTVEL>(
211 const Oem7RawMessageIf::ConstPtr& msg,
217 bestvel.reset(
new novatel_oem7_msgs::BESTVEL);
219 bestvel->sol_status.status = bv->sol_stat;
220 bestvel->vel_type.type = bv->vel_type;
221 bestvel->latency = bv->latency;
222 bestvel->diff_age = bv->diff_age;
223 bestvel->hor_speed = bv->hor_speed;
224 bestvel->trk_gnd = bv->track_gnd;
225 bestvel->ver_speed = bv->ver_speed;
226 bestvel->reserved = bv->reserved;
228 static const std::string name =
"BESTVEL";
234 MakeROSMessage<novatel_oem7_msgs::BESTUTM>(
235 const Oem7RawMessageIf::ConstPtr& msg,
241 bestutm.reset(
new novatel_oem7_msgs::BESTUTM);
243 bestutm->pos_type.type = mem->pos_type;;
244 bestutm->lon_zone_number = mem->lon_zone_number;
245 bestutm->lat_zone_letter = mem->lat_zone_letter;
246 bestutm->northing = mem->northing;
247 bestutm->easting = mem->easting;
248 bestutm->height = mem->height;
249 bestutm->undulation = mem->undulation;
250 bestutm->datum_id = mem->datum_id;
251 bestutm->northing_stddev = mem->northing_stddev;
252 bestutm->easting_stddev = mem->easting_stddev;
253 bestutm->height_stddev = mem->height_stddev;
254 bestutm->stn_id.assign( mem->stn_id,
arr_size(mem->stn_id));
255 bestutm->diff_age = mem->diff_age;
256 bestutm->sol_age = mem->sol_age;
257 bestutm->num_svs = mem->num_svs;
258 bestutm->num_sol_svs = mem->num_sol_svs;
259 bestutm->num_sol_ggl1_svs = mem->num_sol_ggl1_svs;
260 bestutm->num_sol_multi_svs = mem->num_sol_multi_svs;
261 bestutm->reserved = mem->reserved;
262 bestutm->ext_sol_stat.status = mem->ext_sol_stat;
263 bestutm->galileo_beidou_sig_mask= mem->galileo_beidou_sig_mask;
264 bestutm->gps_glonass_sig_mask = mem->gps_glonass_sig_mask;
266 static const std::string name =
"BESTUTM";
272 MakeROSMessage<novatel_oem7_msgs::PPPPOS>(
273 const Oem7RawMessageIf::ConstPtr& msg,
279 ppppos.reset(
new novatel_oem7_msgs::PPPPOS);
281 ppppos->sol_status.status = pp->sol_stat;
282 ppppos->pos_type.type = pp->pos_type;
283 ppppos->lat = pp->lat;
284 ppppos->lon = pp->lon;
285 ppppos->hgt = pp->hgt;
286 ppppos->undulation = pp->undulation;
287 ppppos->datum_id = pp->datum_id;
288 ppppos->lat_stdev = pp->lat_stdev;
289 ppppos->lon_stdev = pp->lon_stdev;
290 ppppos->hgt_stdev = pp->hgt_stdev;
291 ppppos->stn_id.assign( pp->stn_id,
arr_size(pp->stn_id));
292 ppppos->diff_age = pp->diff_age;
293 ppppos->sol_age = pp->sol_age;
294 ppppos->num_svs = pp->num_svs;
295 ppppos->num_sol_svs = pp->num_sol_svs;
296 ppppos->num_sol_l1_svs = pp->num_sol_l1_svs;
297 ppppos->num_sol_multi_svs = pp->num_sol_multi_svs;
298 ppppos->reserved = pp->reserved;
299 ppppos->ext_sol_stat.status = pp->ext_sol_stat;
300 ppppos->reserved2 = pp->reserved2;
301 ppppos->gps_glonass_sig_mask = pp->gps_glonass_sig_mask;
303 static const std::string name =
"PPPPOS";
309 MakeROSMessage<novatel_oem7_msgs::TERRASTARINFO>(
310 const Oem7RawMessageIf::ConstPtr& msg,
315 const TERRASTARINFOMem* tsi =
reinterpret_cast<const TERRASTARINFOMem*
>(msg->getMessageData(
OEM7_BINARY_MSG_HDR_LEN));
316 terrastarinfo.reset(
new novatel_oem7_msgs::TERRASTARINFO);
318 terrastarinfo->product_activation_code = tsi->product_activation_code;
319 terrastarinfo->sub_type.type = tsi->sub_type;
320 terrastarinfo->sub_permission.permission = tsi->sub_permission;
321 terrastarinfo->service_end_day_of_year = tsi->service_end_day_of_year;
322 terrastarinfo->service_end_year = tsi->service_end_year;
323 terrastarinfo->reserved = tsi->reserved;
324 terrastarinfo->region_restriction.restriction = tsi->region_restriction;
325 terrastarinfo->center_point_latitude = tsi->center_point_latitude;
326 terrastarinfo->center_point_longitude = tsi->center_point_longitude;
327 terrastarinfo->radius = tsi->radius;
329 static const std::string name =
"TERRASTARINFO";
335 MakeROSMessage<novatel_oem7_msgs::TERRASTARSTATUS>(
336 const Oem7RawMessageIf::ConstPtr& msg,
341 const TERRASTARSTATUSMem* tss =
reinterpret_cast<const TERRASTARSTATUSMem*
>(msg->getMessageData(
OEM7_BINARY_MSG_HDR_LEN));
342 terrastarstatus.reset(
new novatel_oem7_msgs::TERRASTARSTATUS);
344 terrastarstatus->access_status.status = tss->access_status;
345 terrastarstatus->sync_state.state = tss->sync_state;
346 terrastarstatus->reserved = tss->reserved;
347 terrastarstatus->local_area_status.status = tss->local_area_status;
348 terrastarstatus->geo_status.status = tss->geo_status;
350 static const std::string name =
"TERRASTARSTATUS";
356 MakeROSMessage<novatel_oem7_msgs::INSPVA>(
357 const Oem7RawMessageIf::ConstPtr& msg,
363 pva.reset(
new novatel_oem7_msgs::INSPVA);
365 pva->latitude = pvamem->latitude;
366 pva->longitude = pvamem->longitude;
367 pva->height = pvamem->height;
368 pva->north_velocity = pvamem->north_velocity;
369 pva->east_velocity = pvamem->east_velocity;
370 pva->up_velocity = pvamem->up_velocity;
371 pva->roll = pvamem->roll;
372 pva->pitch = pvamem->pitch;
373 pva->azimuth = pvamem->azimuth;
374 pva->status.status = pvamem->status;
376 static const std::string name =
"INSPVA";
383 MakeROSMessage<novatel_oem7_msgs::INSCONFIG>(
384 const Oem7RawMessageIf::ConstPtr& msg,
389 const INSCONFIG_FixedMem* insconfigmem =
391 insconfig.reset(
new novatel_oem7_msgs::INSCONFIG);
393 insconfig->imu_type = insconfigmem->imu_type;
394 insconfig->mapping = insconfigmem->mapping;
395 insconfig->initial_alignment_velocity = insconfigmem->initial_alignment_velocity;
396 insconfig->heave_window = insconfigmem->heave_window;
397 insconfig->profile = insconfigmem->profile;
400 insconfigmem->enabled_updates,
401 insconfigmem->enabled_updates +
arr_size(insconfigmem->enabled_updates),
402 insconfig->enabled_updates.begin());
404 insconfig->alignment_mode.mode = insconfigmem->alignment_mode;
405 insconfig->relative_ins_output_frame.frame = insconfigmem->relative_ins_output_frame;
406 insconfig->relative_ins_output_direction = insconfigmem->relative_ins_output_direction;
409 insconfigmem->ins_receiver_status,
410 insconfigmem->ins_receiver_status +
arr_size(insconfigmem->ins_receiver_status),
411 insconfig->ins_receiver_status.status.begin());
413 insconfig->ins_seed_enabled = insconfigmem->ins_seed_enabled;
414 insconfig->ins_seed_validation = insconfigmem->ins_seed_validation;
415 insconfig->reserved_1 = insconfigmem->reserved_1;
416 insconfig->reserved_2 = insconfigmem->reserved_2;
417 insconfig->reserved_3 = insconfigmem->reserved_3;
418 insconfig->reserved_4 = insconfigmem->reserved_4;
419 insconfig->reserved_5 = insconfigmem->reserved_5;
420 insconfig->reserved_6 = insconfigmem->reserved_6;
421 insconfig->reserved_7 = insconfigmem->reserved_7;
429 novatel_oem7_msgs::Translation& tr = insconfig->translations[idx];
431 tr.translation.type = trmem->translation;
432 tr.frame.frame = trmem->frame;
433 tr.x_offset = trmem->x_offset;
434 tr.y_offset = trmem->y_offset;
435 tr.z_offset = trmem->z_offset;
436 tr.x_uncertainty = trmem->x_uncertainty;
437 tr.y_uncertainty = trmem->y_uncertainty;
438 tr.z_uncertainty = trmem->z_uncertainty;
439 tr.translation_source.status = trmem->translation_source;
448 novatel_oem7_msgs::Rotation& rt = insconfig->rotations[idx];
449 rt.rotation.offset = rtmem->rotation;
450 rt.frame.frame = rtmem->frame;
451 rt.x_rotation = rtmem->x_rotation;
452 rt.y_rotation = rtmem->y_rotation;
453 rt.z_rotation = rtmem->z_rotation;
454 rt.x_rotation_stdev = rtmem->x_rotation_stdev;
455 rt.y_rotation_stdev = rtmem->y_rotation_stdev;
456 rt.z_rotation_stdev = rtmem->z_rotation_stdev;
457 rt.rotation_source.status = rtmem->rotation_source;
460 static const std::string name =
"INSCONFIG";
467 MakeROSMessage<novatel_oem7_msgs::INSPVAX>(
468 const Oem7RawMessageIf::ConstPtr& msg,
474 inspvax.reset(
new novatel_oem7_msgs::INSPVAX);
476 inspvax->ins_status.status = mem->ins_status;
477 inspvax->pos_type.type = mem->pos_type;
478 inspvax->latitude = mem->latitude;
479 inspvax->longitude = mem->longitude;
480 inspvax->height = mem->height;
481 inspvax->undulation = mem->undulation;
482 inspvax->north_velocity = mem->north_velocity;
483 inspvax->east_velocity = mem->east_velocity;
484 inspvax->up_velocity = mem->up_velocity;
485 inspvax->roll = mem->roll;
486 inspvax->pitch = mem->pitch;
487 inspvax->azimuth = mem->azimuth;
488 inspvax->latitude_stdev = mem->latitude_stdev;
489 inspvax->longitude_stdev = mem->longitude_stdev;
490 inspvax->height_stdev = mem->height_stdev;
491 inspvax->north_velocity_stdev = mem->north_velocity_stdev;
492 inspvax->east_velocity_stdev = mem->east_velocity_stdev;
493 inspvax->up_velocity_stdev = mem->up_velocity_stdev;
494 inspvax->roll_stdev = mem->roll_stdev;
495 inspvax->pitch_stdev = mem->pitch_stdev;
496 inspvax->azimuth_stdev = mem->azimuth_stdev;
497 inspvax->ext_sol_status.status = mem->extended_status;
499 static const std::string name =
"INSPVAX";
507 MakeROSMessage<novatel_oem7_msgs::INSSTDEV>(
508 const Oem7RawMessageIf::ConstPtr& msg,
514 insstdev.reset(
new novatel_oem7_msgs::INSSTDEV);
516 insstdev->latitude_stdev = raw->latitude_stdev;
517 insstdev->longitude_stdev = raw->longitude_stdev;
518 insstdev->height_stdev = raw->height_stdev;
519 insstdev->north_velocity_stdev = raw->north_velocity_stdev;
520 insstdev->east_velocity_stdev = raw->east_velocity_stdev;
521 insstdev->up_velocity_stdev = raw->up_velocity_stdev;
522 insstdev->roll_stdev = raw->roll_stdev;
523 insstdev->pitch_stdev = raw->pitch_stdev;
524 insstdev->azimuth_stdev = raw->azimuth_stdev;
525 insstdev->ext_sol_status.status = raw->ext_sol_status;
526 insstdev->time_since_last_update = raw->time_since_last_update;
527 insstdev->reserved1 = raw->reserved1;
528 insstdev->reserved2 = raw->reserved2;
529 insstdev->reserved3 = raw->reserved3;
531 static const std::string name =
"INSSTDEV";
537 MakeROSMessage<novatel_oem7_msgs::CORRIMU>(
538 const Oem7RawMessageIf::ConstPtr& msg,
541 corrimu.reset(
new novatel_oem7_msgs::CORRIMU);
546 corrimu->imu_data_count = raw->imu_data_count;
547 corrimu->pitch_rate = raw->pitch_rate;
548 corrimu->roll_rate = raw->roll_rate;
549 corrimu->yaw_rate = raw->yaw_rate;
550 corrimu->lateral_acc = raw->lateral_acc;
551 corrimu->longitudinal_acc = raw->longitudinal_acc;
552 corrimu->vertical_acc = raw->vertical_acc;
556 const IMURATECORRIMUSMem* raw =
558 corrimu->imu_data_count = 1;
559 corrimu->pitch_rate = raw->pitch_rate;
560 corrimu->roll_rate = raw->roll_rate;
561 corrimu->yaw_rate = raw->yaw_rate;
562 corrimu->lateral_acc = raw->lateral_acc;
563 corrimu->longitudinal_acc = raw->longitudinal_acc;
564 corrimu->vertical_acc = raw->vertical_acc;
571 static const std::string name =
"CORRIMU";
577 MakeROSMessage<novatel_oem7_msgs::TIME>(
578 const Oem7RawMessageIf::ConstPtr& msg,
584 time.reset(
new novatel_oem7_msgs::TIME);
586 time->clock_status = mem->clock_status;
587 time->offset = mem->offset;
588 time->offset_std = mem->offset_std;
589 time->utc_offset = mem->utc_offset;
590 time->utc_year = mem->utc_year;
591 time->utc_month = mem->utc_month;
592 time->utc_day = mem->utc_day;
593 time->utc_hour = mem->utc_hour;
594 time->utc_min = mem->utc_min;
595 time->utc_msec = mem->utc_msec;
596 time->utc_status = mem->utc_status;
598 static const std::string name =
"TIME";
604 MakeROSMessage<novatel_oem7_msgs::RXSTATUS>(
605 const Oem7RawMessageIf::ConstPtr& msg,
611 rxstatus.reset(
new novatel_oem7_msgs::RXSTATUS);
613 rxstatus->error = mem->error;
614 rxstatus->num_status_codes = mem->num_status_codes;
615 rxstatus->rxstat = mem->rxstat;
616 rxstatus->rxstat_pri_mask = mem->rxstat_pri_mask;
617 rxstatus->rxstat_set_mask = mem->rxstat_set_mask;
618 rxstatus->rxstat_clr_mask = mem->rxstat_clr_mask;
619 rxstatus->aux1_stat = mem->aux1_stat;
620 rxstatus->aux1_stat_pri = mem->aux1_stat_pri;
621 rxstatus->aux1_stat_set = mem->aux1_stat_set;
622 rxstatus->aux1_stat_clr = mem->aux1_stat_clr;
623 rxstatus->aux2_stat = mem->aux2_stat;
624 rxstatus->aux2_stat_pri = mem->aux2_stat_pri;
625 rxstatus->aux2_stat_set = mem->aux2_stat_set;
626 rxstatus->aux2_stat_clr = mem->aux2_stat_clr;
627 rxstatus->aux3_stat = mem->aux3_stat;
628 rxstatus->aux3_stat_pri = mem->aux3_stat_pri;
629 rxstatus->aux3_stat_set = mem->aux3_stat_set;
630 rxstatus->aux3_stat_clr = mem->aux3_stat_clr;
631 rxstatus->aux4_stat = mem->aux4_stat;
632 rxstatus->aux4_stat_pri = mem->aux4_stat_pri;
633 rxstatus->aux4_stat_set = mem->aux4_stat_set;
634 rxstatus->aux4_stat_clr = mem->aux4_stat_clr;
637 static const std::string name =
"RXSTATUS";
706 const Oem7RawMessageIf::ConstPtr& msg,
707 uint32_t system_to_use,
714 const PSRDOP2_FixedMem* mem =
reinterpret_cast<const PSRDOP2_FixedMem*
>(msg->getMessageData(
OEM7_BINARY_MSG_HDR_LEN));
728 if(sys->system == system_to_use)
const int BESTUTM_OEM7_MSGID
const int TIME_OEM7_MSGID
const int RXSTATUS_OEM7_MSGID
const std::size_t OEM7_BINARY_MSG_SHORT_HDR_LEN
void SetOem7Header(const Oem7RawMessageIf::ConstPtr &msg, const std::string &name, novatel_oem7_msgs::Oem7Header::Type &oem7_hdr)
const int BESTPOS_OEM7_MSGID
const int BESTVEL_OEM7_MSGID
const int INSCONFIG_OEM7_MSGID
const PSRDOP2_SystemMem * Get_PSRDOP2_System(const PSRDOP2_FixedMem *psrdop2, size_t idx)
const int TERRASTARSTATUS_OEM7_MSGID
size_t Get_INSCONFIG_NumTranslations(const INSCONFIG_FixedMem *insconfig)
const int HEADING2_OEM7_MSGID
const int INSPVAX_OEM7_MSGID
const INSCONFIG_TranslationMem * Get_INSCONFIG_Translation(const INSCONFIG_FixedMem *insconfig, size_t idx)
const std::size_t OEM7_BINARY_MSG_HDR_LEN
size_t Get_PSRDOP2_NumSystems(const PSRDOP2_FixedMem *psrdop2)
const int INSPVAS_OEM7_MSGID
void SetOem7ShortHeader(const Oem7RawMessageIf::ConstPtr &msg, const std::string &name, novatel_oem7_msgs::Oem7Header::Type &oem7_hdr)
void getOem7ShortHeader(const Oem7RawMessageIf::ConstPtr &raw_msg, novatel_oem7_msgs::Oem7Header::Type &hdr)
size_t Get_INSCONFIG_NumRotations(const INSCONFIG_FixedMem *insconfig)
const int IMURATECORRIMUS_OEM7_MSGID
void getOem7Header(const Oem7RawMessageIf::ConstPtr &raw_msg, novatel_oem7_msgs::Oem7Header::Type &hdr)
void MakeROSMessage(const Oem7RawMessageIf::ConstPtr &msg, boost::shared_ptr< T > &rosmsg)
const int INSSTDEV_OEM7_MSGID
const int BESTGNSSPOS_OEM7_MSGID
const int CORRIMUS_OEM7_MSGID
const int PPPPOS_OEM7_MSGID
void GetDOPFromPSRDOP2(const Oem7RawMessageIf::ConstPtr &msg, uint32_t system_to_use, double &gdop, double &pdop, double &hdop, double &vdop, double &tdop)
const INSCONFIG_RotationMem * Get_INSCONFIG_Rotation(const INSCONFIG_FixedMem *insconfig, size_t idx)
const int TERRASTARINFO_OEM7_MSGID
uint32_t GetNextMsgSequenceNumber()