config_store.cpp
Go to the documentation of this file.
1 // File header
2 #include "config_store.h"
3 
4 using sbg::ConfigStore;
5 
9 //---------------------------------------------------------------------//
10 //- Constructor -//
11 //---------------------------------------------------------------------//
12 
13 ConfigStore::ConfigStore():
14 serial_communication_(false),
15 upd_communication_(false),
16 configure_through_ros_(false),
17 ros_standard_output_(false),
18 rtcm_subscribe_(false),
19 nmea_publish_(false)
20 {
21 
22 }
23 
24 //---------------------------------------------------------------------//
25 //- Private methods -//
26 //---------------------------------------------------------------------//
27 
29 {
30  rate_frequency_ = getParameter<uint32_t>(ref_node_handle, "driver/frequency", 400);
31 }
32 
34 {
35  ref_node_handle.param<bool> ("odometry/enable" , odom_enable_ , false);
36  ref_node_handle.param<bool> ("odometry/publishTf", odom_publish_tf_ , false);
37  ref_node_handle.param<std::string>("odometry/odomFrameId", odom_frame_id_ , "odom");
38  ref_node_handle.param<std::string>("odometry/baseFrameId", odom_base_frame_id_ , "base_link");
39  ref_node_handle.param<std::string>("odometry/initFrameId", odom_init_frame_id_ , "map");
40 }
41 
43 {
44  ref_node_handle.param<bool>("confWithRos", configure_through_ros_, false);
45 
46  if (ref_node_handle.hasParam("uartConf"))
47  {
48  serial_communication_ = true;
49  ref_node_handle.param<std::string>("uartConf/portName", uart_port_name_, "/dev/ttyUSB0");
50 
51  uart_baud_rate_ = getParameter<uint32_t>(ref_node_handle, "uartConf/baudRate", 0);
52  output_port_ = getParameter<SbgEComOutputPort>(ref_node_handle, "uartConf/portID", SBG_ECOM_OUTPUT_PORT_A);
53  }
54  else if (ref_node_handle.hasParam("ipConf"))
55  {
56  std::string ip_address;
57  ref_node_handle.param<std::string>("ipConf/ipAddress", ip_address, "0.0.0.0");
58 
59  upd_communication_ = true;
60  sbg_ip_address_ = sbgNetworkIpFromString(ip_address.c_str());
61  out_port_address_ = getParameter<uint32_t>(ref_node_handle, "ipConf/out_port", 0);
62  in_port_address_ = getParameter<uint32_t>(ref_node_handle, "ipConf/in_port", 0);
63  }
64  else
65  {
66  throw ros::Exception("SBG DRIVER - Invalid communication interface parameters.");
67  }
68 }
69 
71 {
72  ref_node_handle.param<double>("sensorParameters/initLat", init_condition_conf_.latitude, 48.419727);
73  ref_node_handle.param<double>("sensorParameters/initLong", init_condition_conf_.longitude, -4.472119);
74  ref_node_handle.param<double>("sensorParameters/initAlt", init_condition_conf_.altitude, 100);
75 
76  init_condition_conf_.year = getParameter<uint16_t>(ref_node_handle, "sensorParameters/year", 2018);
77  init_condition_conf_.month = getParameter<uint8_t>(ref_node_handle, "sensorParameters/year", 03);
78  init_condition_conf_.day = getParameter<uint8_t>(ref_node_handle, "sensorParameters/year", 10);
79 
80  motion_profile_model_info_.id = getParameter<uint32>(ref_node_handle, "sensorParameters/motionProfile", SBG_ECOM_MOTION_PROFILE_GENERAL_PURPOSE);
81 }
82 
84 {
85  sensor_alignement_info_.axisDirectionX = getParameter<SbgEComAxisDirection>(ref_node_handle, "imuAlignementLeverArm/axisDirectionX", SBG_ECOM_ALIGNMENT_FORWARD);
86  sensor_alignement_info_.axisDirectionY = getParameter<SbgEComAxisDirection>(ref_node_handle, "imuAlignementLeverArm/axisDirectionY", SBG_ECOM_ALIGNMENT_FORWARD);
87 
88  ref_node_handle.param<float>("imuAlignementLeverArm/misRoll", sensor_alignement_info_.misRoll, 0.0f);
89  ref_node_handle.param<float>("imuAlignementLeverArm/misPitch", sensor_alignement_info_.misPitch, 0.0f);
90  ref_node_handle.param<float>("imuAlignementLeverArm/misYaw", sensor_alignement_info_.misYaw, 0.0f);
91 
92  float sensor_level_arm[3];
93  ref_node_handle.param<float>("imuAlignementLeverArm/leverArmX", sensor_level_arm[0], 0.0f);
94  ref_node_handle.param<float>("imuAlignementLeverArm/leverArmY", sensor_level_arm[1], 0.0f);
95  ref_node_handle.param<float>("imuAlignementLeverArm/leverArmZ", sensor_level_arm[2], 0.0f);
96 
97  sensor_lever_arm_ = SbgVector3<float>(sensor_level_arm, 3);
98 }
99 
101 {
102  aiding_assignement_conf_.gps1Port = getParameter<SbgEComModulePortAssignment>(ref_node_handle, "aidingAssignment/gnss1ModulePortAssignment", SBG_ECOM_MODULE_PORT_B);
103  aiding_assignement_conf_.gps1Sync = getParameter<SbgEComModuleSyncAssignment>(ref_node_handle, "aidingAssignment/gnss1ModuleSyncAssignment", SBG_ECOM_MODULE_SYNC_DISABLED);
104  aiding_assignement_conf_.rtcmPort = getParameter<SbgEComModulePortAssignment>(ref_node_handle, "aidingAssignment/rtcmPortAssignment", SBG_ECOM_MODULE_DISABLED);
105  aiding_assignement_conf_.odometerPinsConf = getParameter<SbgEComOdometerPinAssignment>(ref_node_handle, "aidingAssignment/odometerPinAssignment", SBG_ECOM_MODULE_ODO_DISABLED);
106 }
107 
109 {
110  mag_model_info_.id = getParameter<uint32_t>(ref_node_handle, "magnetometer/magnetometerModel", SBG_ECOM_MAG_MODEL_NORMAL);
111  mag_rejection_conf_.magneticField = getParameter<SbgEComRejectionMode>(ref_node_handle, "magnetometer/magnetometerRejectMode", SBG_ECOM_AUTOMATIC_MODE);
112 
113  mag_calib_mode_ = getParameter<SbgEComMagCalibMode>(ref_node_handle, "magnetometer/calibration/mode", SBG_ECOM_MAG_CALIB_MODE_2D);
114  mag_calib_bandwidth_ = getParameter<SbgEComMagCalibBandwidth>(ref_node_handle, "magnetometer/calibration/bandwidth", SBG_ECOM_MAG_CALIB_HIGH_BW);
115 }
116 
118 {
119  gnss_model_info_.id = getParameter<uint32_t>(ref_node_handle, "gnss/gnss_model_id", SBG_ECOM_GNSS_MODEL_NMEA);
120 
121  ref_node_handle.param<float>("gnss/primaryLeverArmX", gnss_installation_.leverArmPrimary[0], 0.0f);
122  ref_node_handle.param<float>("gnss/primaryLeverArmY", gnss_installation_.leverArmPrimary[1], 0.0f);
123  ref_node_handle.param<float>("gnss/primaryLeverArmZ", gnss_installation_.leverArmPrimary[2], 0.0f);
124  ref_node_handle.param<bool>("gnss/primaryLeverPrecise", gnss_installation_.leverArmPrimaryPrecise, true);
125  ref_node_handle.param<float>("gnss/secondaryLeverArmX", gnss_installation_.leverArmSecondary[0], 0.0f);
126  ref_node_handle.param<float>("gnss/secondaryLeverArmY", gnss_installation_.leverArmSecondary[1], 0.0f);
127  ref_node_handle.param<float>("gnss/secondaryLeverArmZ", gnss_installation_.leverArmSecondary[2], 0.0f);
128  gnss_installation_.leverArmSecondaryMode = getParameter<SbgEComGnssInstallationMode>(ref_node_handle, "gnss/secondaryLeverMode", SBG_ECOM_GNSS_INSTALLATION_MODE_SINGLE);
129 
130  gnss_rejection_conf_.position = getParameter<SbgEComRejectionMode>(ref_node_handle, "gnss/posRejectMode", SBG_ECOM_AUTOMATIC_MODE);
131  gnss_rejection_conf_.velocity = getParameter<SbgEComRejectionMode>(ref_node_handle, "gnss/velRejectMode", SBG_ECOM_AUTOMATIC_MODE);
132  gnss_rejection_conf_.hdt = getParameter<SbgEComRejectionMode>(ref_node_handle, "gnss/hdtRejectMode", SBG_ECOM_AUTOMATIC_MODE);
133 }
134 
136 {
137  ref_node_handle.param<float>("odom/gain", odometer_conf_.gain, 4800.0f);
138  ref_node_handle.param<bool>("odom/direction", odometer_conf_.reverseMode, false);
139 
140  float array_odometer_level_arm[3];
141  ref_node_handle.param<float>("odom/leverArmX", array_odometer_level_arm[0], 0.0f);
142  ref_node_handle.param<float>("odom/leverArmY", array_odometer_level_arm[1], 0.0f);
143  ref_node_handle.param<float>("odom/leverArmZ", array_odometer_level_arm[2], 0.0f);
144 
145  odometer_level_arm_ = SbgVector3<float>(array_odometer_level_arm, 3);
146 
147  odometer_conf_.gainError = getParameter<uint8_t>(ref_node_handle, "odom/gain_error", 0.1);
148  odometer_rejection_conf_.velocity = getParameter<SbgEComRejectionMode>(ref_node_handle, "odom/rejectMode", SBG_ECOM_AUTOMATIC_MODE);
149 }
150 
151 void ConfigStore::loadOutputConfiguration(const ros::NodeHandle& ref_node_handle, const std::string& ref_key, SbgEComClass sbg_msg_class, SbgEComMsgId sbg_msg_id)
152 {
153  SbgLogOutput log_output;
154 
155  log_output.message_class = sbg_msg_class;
156  log_output.message_id = sbg_msg_id;
157  log_output.output_mode = getParameter<SbgEComOutputMode>(ref_node_handle, ref_key, SBG_ECOM_OUTPUT_MODE_DISABLED);
158 
159  output_modes_.push_back(log_output);
160 }
161 
163 {
164  ref_node_handle.param<bool>("output/use_enu", use_enu_, false);
165 
166  if (use_enu_)
167  {
168  ref_node_handle.param<std::string>("output/frame_id", frame_id_, "imu_link");
169  }
170  else
171  {
172  ref_node_handle.param<std::string>("output/frame_id", frame_id_, "imu_link_ned");
173  }
174 }
175 
176 void ConfigStore::loadOutputTimeReference(const ros::NodeHandle& ref_node_handle, const std::string& ref_key)
177 {
178  std::string time_reference;
179 
180  ref_node_handle.param<std::string>(ref_key, time_reference, "ros");
181 
182  if (time_reference == "ros")
183  {
185  }
186  else if (time_reference == "ins_unix")
187  {
189  }
190  else
191  {
192  throw std::invalid_argument("unknown time reference: " + time_reference);
193  }
194 }
195 
197 {
198  std::string topic_name;
199  std::string rtcm_namespace;
200 
201  ref_node_handle.param<bool>("rtcm/subscribe", rtcm_subscribe_, false);
202  ref_node_handle.param<std::string>("rtcm/topic_name", topic_name, "rtcm");
203  ref_node_handle.param<std::string>("rtcm/namespace", rtcm_namespace, "ntrip_client");
204 
205  rtcm_full_topic_ = rtcm_namespace + "/" + topic_name;
206 }
207 
209 {
210  std::string topic_name;
211  std::string nmea_namespace;
212 
213  ref_node_handle.param<bool>("nmea/publish", nmea_publish_, false);
214  ref_node_handle.param<std::string>("nmea/topic_name", topic_name, "nmea");
215  ref_node_handle.param<std::string>("nmea/namespace", nmea_namespace, "ntrip_client");
216 
217  nmea_full_topic_ = nmea_namespace + "/" + topic_name;
218 }
219 
220 //---------------------------------------------------------------------//
221 //- Parameters -//
222 //---------------------------------------------------------------------//
223 
225 {
226  return configure_through_ros_;
227 }
228 
230 {
231  return serial_communication_;
232 }
233 
234 const std::string &ConfigStore::getUartPortName() const
235 {
236  return uart_port_name_;
237 }
238 
239 uint32_t ConfigStore::getBaudRate() const
240 {
241  return uart_baud_rate_;
242 }
243 
245 {
246  return output_port_;
247 }
248 
250 {
251  return upd_communication_;
252 }
253 
255 {
256  return sbg_ip_address_;
257 }
258 
260 {
261  return out_port_address_;
262 }
263 
265 {
266  return in_port_address_;
267 }
268 
270 {
271  return init_condition_conf_;
272 }
273 
275 {
277 }
278 
280 {
282 }
283 
285 {
286  return sensor_lever_arm_;
287 }
288 
290 {
292 }
293 
295 {
296  return mag_model_info_;
297 }
298 
300 {
301  return mag_rejection_conf_;
302 }
303 
305 {
306  return mag_calib_mode_;
307 }
308 
310 {
311  return mag_calib_bandwidth_;
312 }
313 
315 {
316  return gnss_model_info_;
317 }
318 
320 {
321  return gnss_installation_;
322 }
323 
325 {
326  return gnss_rejection_conf_;
327 }
328 
330 {
331  return odometer_conf_;
332 }
333 
335 {
336  return odometer_level_arm_;
337 }
338 
340 {
342 }
343 
344 const std::vector<ConfigStore::SbgLogOutput> &ConfigStore::getOutputModes() const
345 {
346  return output_modes_;
347 }
348 
350 {
351  return ros_standard_output_;
352 }
353 
355 {
356  return rate_frequency_;
357 }
358 
359 const std::string &ConfigStore::getFrameId() const
360 {
361  return frame_id_;
362 }
363 
365 {
366  return use_enu_;
367 }
368 
370 {
371  return time_reference_;
372 }
373 
375 {
376  return odom_enable_;
377 }
378 
380 {
381  return odom_publish_tf_;
382 }
383 
384 const std::string &ConfigStore::getOdomFrameId() const
385 {
386  return odom_frame_id_;
387 }
388 
389 const std::string &ConfigStore::getOdomBaseFrameId() const
390 {
391  return odom_base_frame_id_;
392 }
393 
394 const std::string &ConfigStore::getOdomInitFrameId() const
395 {
396  return odom_init_frame_id_;
397 }
398 
400 {
401  return rtcm_subscribe_;
402 }
403 
404 const std::string &ConfigStore::getRtcmFullTopic() const
405 {
406  return rtcm_full_topic_;
407 }
408 
410 {
411  return nmea_publish_;
412 }
413 
414 const std::string &ConfigStore::getNmeaFullTopic() const
415 {
416  return nmea_full_topic_;
417 }
418 
419 //---------------------------------------------------------------------//
420 //- Operations -//
421 //---------------------------------------------------------------------//
422 
424 {
425  loadDriverParameters(ref_node_handle);
426  loadOdomParameters(ref_node_handle);
427  loadCommunicationParameters(ref_node_handle);
428  loadSensorParameters(ref_node_handle);
429  loadImuAlignementParameters(ref_node_handle);
430  loadAidingAssignementParameters(ref_node_handle);
431  loadMagnetometersParameters(ref_node_handle);
432  loadGnssParameters(ref_node_handle);
433  loadOdometerParameters(ref_node_handle);
434  loadOutputFrameParameters(ref_node_handle);
435  loadRtcmParameters(ref_node_handle);
436  loadNmeaParameters(ref_node_handle);
437 
438  loadOutputTimeReference(ref_node_handle, "output/time_reference");
439 
440  loadOutputConfiguration(ref_node_handle, "output/log_status", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_STATUS);
441  loadOutputConfiguration(ref_node_handle, "output/log_imu_data", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_IMU_DATA);
442  loadOutputConfiguration(ref_node_handle, "output/log_ekf_euler", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EKF_EULER);
443  loadOutputConfiguration(ref_node_handle, "output/log_ekf_quat", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EKF_QUAT);
444  loadOutputConfiguration(ref_node_handle, "output/log_ekf_nav", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EKF_NAV);
445  loadOutputConfiguration(ref_node_handle, "output/log_ship_motion", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_SHIP_MOTION);
446  loadOutputConfiguration(ref_node_handle, "output/log_utc_time", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_UTC_TIME);
447  loadOutputConfiguration(ref_node_handle, "output/log_mag", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_MAG);
448  loadOutputConfiguration(ref_node_handle, "output/log_mag_calib", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_MAG_CALIB);
449  loadOutputConfiguration(ref_node_handle, "output/log_gps1_vel", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_GPS1_VEL);
450  loadOutputConfiguration(ref_node_handle, "output/log_gps1_pos", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_GPS1_POS);
451  loadOutputConfiguration(ref_node_handle, "output/log_gps1_hdt", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_GPS1_HDT);
452  loadOutputConfiguration(ref_node_handle, "output/log_gps1_raw", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_GPS1_RAW);
453  loadOutputConfiguration(ref_node_handle, "output/log_odo_vel", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_ODO_VEL);
454  loadOutputConfiguration(ref_node_handle, "output/log_event_a", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EVENT_A);
455  loadOutputConfiguration(ref_node_handle, "output/log_event_b", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EVENT_B);
456  loadOutputConfiguration(ref_node_handle, "output/log_event_c", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EVENT_C);
457  loadOutputConfiguration(ref_node_handle, "output/log_event_d", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EVENT_D);
458  loadOutputConfiguration(ref_node_handle, "output/log_event_e", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_EVENT_E);
459  loadOutputConfiguration(ref_node_handle, "output/log_air_data", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_AIR_DATA);
460  loadOutputConfiguration(ref_node_handle, "output/log_imu_short", SBG_ECOM_CLASS_LOG_ECOM_0, SBG_ECOM_LOG_IMU_SHORT);
461 
462  ref_node_handle.param<bool>("output/ros_standard", ros_standard_output_, false);
463 }
SBG_ECOM_MAG_CALIB_HIGH_BW
@ SBG_ECOM_MAG_CALIB_HIGH_BW
Definition: sbgEComCmdMag.h:49
SBG_ECOM_MOTION_PROFILE_GENERAL_PURPOSE
@ SBG_ECOM_MOTION_PROFILE_GENERAL_PURPOSE
Definition: sbgEComCmdSensor.h:73
_SbgEComGnssRejectionConf::velocity
SbgEComRejectionMode velocity
Definition: sbgEComCmdGnss.h:94
sbg::ConfigStore::getGnssInstallation
const SbgEComGnssInstallation & getGnssInstallation() const
Definition: config_store.cpp:319
SBG_ECOM_OUTPUT_MODE_DISABLED
@ SBG_ECOM_OUTPUT_MODE_DISABLED
Definition: sbgEComCmdOutput.h:63
sbg::ConfigStore::getOdomFrameId
const std::string & getOdomFrameId() const
Definition: config_store.cpp:384
sbg::ConfigStore::nmea_full_topic_
std::string nmea_full_topic_
Definition: config_store.h:128
_SbgEComGnssInstallation::leverArmSecondaryMode
SbgEComGnssInstallationMode leverArmSecondaryMode
Definition: sbgEComCmdGnss.h:85
sbg::SbgVector3< float >
_SbgEComSensorAlignmentInfo::misYaw
float misYaw
Definition: sbgEComCmdSensor.h:109
sbg::ConfigStore::getIpAddress
sbgIpAddress getIpAddress() const
Definition: config_store.cpp:254
sbg::ConfigStore::init_condition_conf_
SbgEComInitConditionConf init_condition_conf_
Definition: config_store.h:88
SBG_ECOM_LOG_UTC_TIME
@ SBG_ECOM_LOG_UTC_TIME
Definition: sbgEComIds.h:73
sbg::ConfigStore::gnss_model_info_
SbgEComModelInfo gnss_model_info_
Definition: config_store.h:101
_SbgEComAidingAssignConf
Definition: sbgEComCmdSensor.h:89
sbg::ConfigStore::sensor_lever_arm_
SbgVector3< float > sensor_lever_arm_
Definition: config_store.h:92
SBG_ECOM_LOG_GPS1_RAW
@ SBG_ECOM_LOG_GPS1_RAW
Definition: sbgEComIds.h:89
sbg::ConfigStore::upd_communication_
bool upd_communication_
Definition: config_store.h:84
SBG_ECOM_LOG_GPS1_POS
@ SBG_ECOM_LOG_GPS1_POS
Definition: sbgEComIds.h:87
_SbgEComGnssInstallation::leverArmPrimary
float leverArmPrimary[3]
Definition: sbgEComCmdGnss.h:81
sbg::ConfigStore::out_port_address_
uint32_t out_port_address_
Definition: config_store.h:82
_SbgEComSensorAlignmentInfo::axisDirectionX
SbgEComAxisDirection axisDirectionX
Definition: sbgEComCmdSensor.h:105
_SbgEComMagRejectionConf
Definition: sbgEComCmdMag.h:102
sbg::ConfigStore::loadNmeaParameters
void loadNmeaParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:208
_SbgEComModelInfo
Definition: sbgEComCmdCommon.h:58
_SbgEComSensorAlignmentInfo::axisDirectionY
SbgEComAxisDirection axisDirectionY
Definition: sbgEComCmdSensor.h:106
_SbgEComOdoConf::gainError
uint8_t gainError
Definition: sbgEComCmdOdo.h:35
SBG_ECOM_LOG_EVENT_C
@ SBG_ECOM_LOG_EVENT_C
Definition: sbgEComIds.h:100
sbg::ConfigStore::time_reference_
TimeReference time_reference_
Definition: config_store.h:112
_SbgEComInitConditionConf::longitude
double longitude
Definition: sbgEComCmdSensor.h:118
SBG_ECOM_MODULE_SYNC_DISABLED
@ SBG_ECOM_MODULE_SYNC_DISABLED
Definition: sbgEComCmdSensor.h:47
_SbgEComSensorAlignmentInfo::misPitch
float misPitch
Definition: sbgEComCmdSensor.h:108
SBG_ECOM_LOG_GPS1_HDT
@ SBG_ECOM_LOG_GPS1_HDT
Definition: sbgEComIds.h:88
sbg::ConfigStore::getGnssRejection
const SbgEComGnssRejectionConf & getGnssRejection() const
Definition: config_store.cpp:324
sbg::ConfigStore::use_enu_
bool use_enu_
Definition: config_store.h:116
sbg::ConfigStore::configure_through_ros_
bool configure_through_ros_
Definition: config_store.h:86
sbg::ConfigStore::getSensorLevelArms
const SbgVector3< float > & getSensorLevelArms() const
Definition: config_store.cpp:284
sbg::ConfigStore::sensor_alignement_info_
SbgEComSensorAlignmentInfo sensor_alignement_info_
Definition: config_store.h:91
sbg::ConfigStore::nmea_publish_
bool nmea_publish_
Definition: config_store.h:127
SBG_ECOM_AUTOMATIC_MODE
@ SBG_ECOM_AUTOMATIC_MODE
Definition: sbgEComCmdCommon.h:37
sbg::ConfigStore::SbgLogOutput::output_mode
SbgEComOutputMode output_mode
Definition: config_store.h:71
sbg::ConfigStore::loadGnssParameters
void loadGnssParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:117
sbg::ConfigStore::loadOutputFrameParameters
void loadOutputFrameParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:162
sbg::ConfigStore::getNmeaFullTopic
const std::string & getNmeaFullTopic() const
Definition: config_store.cpp:414
SBG_ECOM_GNSS_INSTALLATION_MODE_SINGLE
@ SBG_ECOM_GNSS_INSTALLATION_MODE_SINGLE
Definition: sbgEComCmdGnss.h:70
sbg::ConfigStore::odom_frame_id_
std::string odom_frame_id_
Definition: config_store.h:120
_SbgEComGnssRejectionConf::hdt
SbgEComRejectionMode hdt
Definition: sbgEComCmdGnss.h:95
sbg::ConfigStore::loadAidingAssignementParameters
void loadAidingAssignementParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:100
_SbgEComInitConditionConf
Definition: sbgEComCmdSensor.h:115
SBG_ECOM_LOG_GPS1_VEL
@ SBG_ECOM_LOG_GPS1_VEL
Definition: sbgEComIds.h:86
SBG_ECOM_LOG_EKF_NAV
@ SBG_ECOM_LOG_EKF_NAV
Definition: sbgEComIds.h:82
sbg::ConfigStore::getReadingRateFrequency
uint32_t getReadingRateFrequency() const
Definition: config_store.cpp:354
SBG_ECOM_LOG_AIR_DATA
@ SBG_ECOM_LOG_AIR_DATA
Definition: sbgEComIds.h:109
ros::Exception
_SbgEComOdoConf::reverseMode
bool reverseMode
Definition: sbgEComCmdOdo.h:36
SBG_ECOM_LOG_EVENT_E
@ SBG_ECOM_LOG_EVENT_E
Definition: sbgEComIds.h:102
sbg::ConfigStore::output_port_
SbgEComOutputPort output_port_
Definition: config_store.h:77
_SbgEComMagRejectionConf::magneticField
SbgEComRejectionMode magneticField
Definition: sbgEComCmdMag.h:104
sbg::ConfigStore::getMotionProfile
const SbgEComModelInfo & getMotionProfile() const
Definition: config_store.cpp:274
sbg::ConfigStore::getGnssModel
const SbgEComModelInfo & getGnssModel() const
Definition: config_store.cpp:314
sbg::ConfigStore::getOutputPort
SbgEComOutputPort getOutputPort() const
Definition: config_store.cpp:244
sbg::ConfigStore::getMagnetometerRejection
const SbgEComMagRejectionConf & getMagnetometerRejection() const
Definition: config_store.cpp:299
_SbgEComOdoConf
Definition: sbgEComCmdOdo.h:32
sbg::ConfigStore::sbg_ip_address_
sbgIpAddress sbg_ip_address_
Definition: config_store.h:81
sbg::ConfigStore::in_port_address_
uint32_t in_port_address_
Definition: config_store.h:83
SBG_ECOM_ALIGNMENT_FORWARD
@ SBG_ECOM_ALIGNMENT_FORWARD
Definition: sbgEComCmdCommon.h:46
sbg::ConfigStore
Definition: config_store.h:60
SBG_ECOM_MAG_MODEL_NORMAL
@ SBG_ECOM_MAG_MODEL_NORMAL
Definition: sbgEComCmdMag.h:90
sbg::ConfigStore::getOdomPublishTf
bool getOdomPublishTf() const
Definition: config_store.cpp:379
sbg::ConfigStore::loadDriverParameters
void loadDriverParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:28
sbg::ConfigStore::loadCommunicationParameters
void loadCommunicationParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:42
SBG_ECOM_LOG_SHIP_MOTION
@ SBG_ECOM_LOG_SHIP_MOTION
Definition: sbgEComIds.h:84
_SbgEComAidingAssignConf::rtcmPort
SbgEComModulePortAssignment rtcmPort
Definition: sbgEComCmdSensor.h:95
sbg::ConfigStore::getOdometerConf
const SbgEComOdoConf & getOdometerConf() const
Definition: config_store.cpp:329
sbg::ConfigStore::motion_profile_model_info_
SbgEComModelInfo motion_profile_model_info_
Definition: config_store.h:89
SBG_ECOM_LOG_EKF_EULER
@ SBG_ECOM_LOG_EKF_EULER
Definition: sbgEComIds.h:80
sbg::ConfigStore::odometer_level_arm_
SbgVector3< float > odometer_level_arm_
Definition: config_store.h:106
_SbgEComOdoRejectionConf::velocity
SbgEComRejectionMode velocity
Definition: sbgEComCmdOdo.h:44
_SbgEComInitConditionConf::day
uint8_t day
Definition: sbgEComCmdSensor.h:122
_SbgEComOdoConf::gain
float gain
Definition: sbgEComCmdOdo.h:34
sbg::ConfigStore::loadOdometerParameters
void loadOdometerParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:135
sbg::ConfigStore::loadOutputTimeReference
void loadOutputTimeReference(const ros::NodeHandle &ref_node_handle, const std::string &ref_key)
Definition: config_store.cpp:176
sbg::ConfigStore::odom_enable_
bool odom_enable_
Definition: config_store.h:118
sbg::ConfigStore::getRtcmFullTopic
const std::string & getRtcmFullTopic() const
Definition: config_store.cpp:404
sbg::ConfigStore::getFrameId
const std::string & getFrameId() const
Definition: config_store.cpp:359
sbg::ConfigStore::mag_model_info_
SbgEComModelInfo mag_model_info_
Definition: config_store.h:96
sbg::ConfigStore::gnss_rejection_conf_
SbgEComGnssRejectionConf gnss_rejection_conf_
Definition: config_store.h:103
_SbgEComAidingAssignConf::gps1Port
SbgEComModulePortAssignment gps1Port
Definition: sbgEComCmdSensor.h:91
sbg::ConfigStore::odometer_rejection_conf_
SbgEComOdoRejectionConf odometer_rejection_conf_
Definition: config_store.h:107
_SbgEComGnssInstallation::leverArmSecondary
float leverArmSecondary[3]
Definition: sbgEComCmdGnss.h:84
_SbgEComModelInfo::id
uint32_t id
Definition: sbgEComCmdCommon.h:60
SBG_ECOM_GNSS_MODEL_NMEA
@ SBG_ECOM_GNSS_MODEL_NMEA
Definition: sbgEComCmdGnss.h:54
sbg::ConfigStore::mag_calib_mode_
SbgEComMagCalibMode mag_calib_mode_
Definition: config_store.h:98
sbg::TimeReference
TimeReference
Definition: config_store.h:51
sbg::ConfigStore::checkConfigWithRos
bool checkConfigWithRos() const
Definition: config_store.cpp:224
SbgEComClass
enum _SbgEComClass SbgEComClass
sbg::ConfigStore::getOutputPortAddress
uint32_t getOutputPortAddress() const
Definition: config_store.cpp:259
sbg::ConfigStore::rtcm_full_topic_
std::string rtcm_full_topic_
Definition: config_store.h:125
SBG_ECOM_CLASS_LOG_ECOM_0
@ SBG_ECOM_CLASS_LOG_ECOM_0
Definition: sbgEComIds.h:48
sbg::ConfigStore::getOdometerRejection
const SbgEComOdoRejectionConf & getOdometerRejection() const
Definition: config_store.cpp:339
sbg::ConfigStore::isInterfaceSerial
bool isInterfaceSerial() const
Definition: config_store.cpp:229
_SbgEComInitConditionConf::latitude
double latitude
Definition: sbgEComCmdSensor.h:117
SbgEComOutputPort
enum _SbgEComOutputPort SbgEComOutputPort
This file implements SbgECom commands related to outputs.
sbg::ConfigStore::getTimeReference
TimeReference getTimeReference() const
Definition: config_store.cpp:369
SBG_ECOM_MAG_CALIB_MODE_2D
@ SBG_ECOM_MAG_CALIB_MODE_2D
Definition: sbgEComCmdMag.h:34
sbg::TimeReference::ROS
@ ROS
ros::NodeHandle::hasParam
bool hasParam(const std::string &key) const
sbg::ConfigStore::loadOdomParameters
void loadOdomParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:33
SBG_ECOM_LOG_EVENT_A
@ SBG_ECOM_LOG_EVENT_A
Definition: sbgEComIds.h:98
SBG_ECOM_LOG_MAG
@ SBG_ECOM_LOG_MAG
Definition: sbgEComIds.h:77
sbg::ConfigStore::odom_publish_tf_
bool odom_publish_tf_
Definition: config_store.h:119
sbg::ConfigStore::getAidingAssignement
const SbgEComAidingAssignConf & getAidingAssignement() const
Definition: config_store.cpp:289
sbgNetworkIpFromString
SBG_COMMON_LIB_API sbgIpAddress sbgNetworkIpFromString(const char *pBuffer)
Definition: sbgNetwork.c:35
sbg::ConfigStore::getSensorAlignement
const SbgEComSensorAlignmentInfo & getSensorAlignement() const
Definition: config_store.cpp:279
_SbgEComInitConditionConf::month
uint8_t month
Definition: sbgEComCmdSensor.h:121
_SbgEComAidingAssignConf::odometerPinsConf
SbgEComOdometerPinAssignment odometerPinsConf
Definition: sbgEComCmdSensor.h:97
sbg::ConfigStore::SbgLogOutput
Definition: config_store.h:67
sbg::ConfigStore::uart_port_name_
std::string uart_port_name_
Definition: config_store.h:76
sbg::ConfigStore::rtcm_subscribe_
bool rtcm_subscribe_
Definition: config_store.h:124
sbg::ConfigStore::getInputPortAddress
uint32_t getInputPortAddress() const
Definition: config_store.cpp:264
sbg::ConfigStore::loadRtcmParameters
void loadRtcmParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:196
SBG_ECOM_LOG_EVENT_D
@ SBG_ECOM_LOG_EVENT_D
Definition: sbgEComIds.h:101
_SbgEComGnssInstallation::leverArmPrimaryPrecise
bool leverArmPrimaryPrecise
Definition: sbgEComCmdGnss.h:82
SBG_ECOM_LOG_EVENT_B
@ SBG_ECOM_LOG_EVENT_B
Definition: sbgEComIds.h:99
SBG_ECOM_LOG_MAG_CALIB
@ SBG_ECOM_LOG_MAG_CALIB
Definition: sbgEComIds.h:78
sbg::ConfigStore::checkRosStandardMessages
bool checkRosStandardMessages() const
Definition: config_store.cpp:349
sbg::ConfigStore::SbgLogOutput::message_id
SbgEComMsgId message_id
Definition: config_store.h:70
SBG_ECOM_LOG_IMU_DATA
@ SBG_ECOM_LOG_IMU_DATA
Definition: sbgEComIds.h:75
_SbgEComGnssRejectionConf
Definition: sbgEComCmdGnss.h:91
sbg::ConfigStore::frame_id_
std::string frame_id_
Definition: config_store.h:115
_SbgEComInitConditionConf::altitude
double altitude
Definition: sbgEComCmdSensor.h:119
sbg::ConfigStore::odometer_conf_
SbgEComOdoConf odometer_conf_
Definition: config_store.h:105
sbg::ConfigStore::getOutputModes
const std::vector< SbgLogOutput > & getOutputModes() const
Definition: config_store.cpp:344
SbgEComMagCalibMode
enum _SbgEComMagCalibMode SbgEComMagCalibMode
This file implements SbgECom commands related to Magnetometer module.
sbg::ConfigStore::rate_frequency_
uint32_t rate_frequency_
Definition: config_store.h:114
sbg::ConfigStore::isInterfaceUdp
bool isInterfaceUdp() const
Definition: config_store.cpp:249
sbg::ConfigStore::getInitialConditions
const SbgEComInitConditionConf & getInitialConditions() const
Definition: config_store.cpp:269
sbg::ConfigStore::loadOutputConfiguration
void loadOutputConfiguration(const ros::NodeHandle &ref_node_handle, const std::string &ref_key, SbgEComClass sbg_msg_class, SbgEComMsgId sbg_msg_id)
Definition: config_store.cpp:151
SBG_ECOM_LOG_EKF_QUAT
@ SBG_ECOM_LOG_EKF_QUAT
Definition: sbgEComIds.h:81
SBG_ECOM_LOG_STATUS
@ SBG_ECOM_LOG_STATUS
Definition: sbgEComIds.h:71
sbg::ConfigStore::ros_standard_output_
bool ros_standard_output_
Definition: config_store.h:110
sbg::ConfigStore::serial_communication_
bool serial_communication_
Definition: config_store.h:79
_SbgEComOdoRejectionConf
Definition: sbgEComCmdOdo.h:42
sbg::ConfigStore::loadSensorParameters
void loadSensorParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:70
SBG_ECOM_LOG_ODO_VEL
@ SBG_ECOM_LOG_ODO_VEL
Definition: sbgEComIds.h:96
sbg::ConfigStore::getUseEnu
bool getUseEnu() const
Definition: config_store.cpp:364
_SbgEComSensorAlignmentInfo::misRoll
float misRoll
Definition: sbgEComCmdSensor.h:107
SbgEComMsgId
uint8_t SbgEComMsgId
Definition: sbgEComIds.h:289
sbg::ConfigStore::odom_base_frame_id_
std::string odom_base_frame_id_
Definition: config_store.h:121
sbg::ConfigStore::shouldSubscribeToRtcm
bool shouldSubscribeToRtcm() const
Definition: config_store.cpp:399
sbgIpAddress
uint32_t sbgIpAddress
Definition: sbgTypes.h:64
sbg::ConfigStore::getMagnetometerCalibBandwidth
const SbgEComMagCalibBandwidth & getMagnetometerCalibBandwidth() const
Definition: config_store.cpp:309
_SbgEComAidingAssignConf::gps1Sync
SbgEComModuleSyncAssignment gps1Sync
Definition: sbgEComCmdSensor.h:92
ros::NodeHandle::param
T param(const std::string &param_name, const T &default_val) const
sbg::TimeReference::INS_UNIX
@ INS_UNIX
sbg::ConfigStore::loadFromRosNodeHandle
void loadFromRosNodeHandle(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:423
SBG_ECOM_MODULE_ODO_DISABLED
@ SBG_ECOM_MODULE_ODO_DISABLED
Definition: sbgEComCmdSensor.h:62
sbg::ConfigStore::mag_calib_bandwidth_
SbgEComMagCalibBandwidth mag_calib_bandwidth_
Definition: config_store.h:99
SBG_ECOM_MODULE_PORT_B
@ SBG_ECOM_MODULE_PORT_B
Definition: sbgEComCmdSensor.h:34
SBG_ECOM_OUTPUT_PORT_A
@ SBG_ECOM_OUTPUT_PORT_A
Definition: sbgEComCmdOutput.h:35
sbg::ConfigStore::uart_baud_rate_
uint32_t uart_baud_rate_
Definition: config_store.h:78
sbg::ConfigStore::loadMagnetometersParameters
void loadMagnetometersParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:108
sbg::ConfigStore::getUartPortName
const std::string & getUartPortName() const
Definition: config_store.cpp:234
sbg::ConfigStore::getOdomEnable
bool getOdomEnable() const
Definition: config_store.cpp:374
_SbgEComSensorAlignmentInfo
Definition: sbgEComCmdSensor.h:103
sbg::ConfigStore::loadImuAlignementParameters
void loadImuAlignementParameters(const ros::NodeHandle &ref_node_handle)
Definition: config_store.cpp:83
sbg::ConfigStore::output_modes_
std::vector< SbgLogOutput > output_modes_
Definition: config_store.h:109
_SbgEComGnssRejectionConf::position
SbgEComRejectionMode position
Definition: sbgEComCmdGnss.h:93
sbg::ConfigStore::getOdometerLevelArms
const SbgVector3< float > & getOdometerLevelArms() const
Definition: config_store.cpp:334
sbg::ConfigStore::getMagnetometerCalibMode
const SbgEComMagCalibMode & getMagnetometerCalibMode() const
Definition: config_store.cpp:304
sbg::ConfigStore::getMagnetometerModel
const SbgEComModelInfo & getMagnetometerModel() const
Definition: config_store.cpp:294
sbg::ConfigStore::aiding_assignement_conf_
SbgEComAidingAssignConf aiding_assignement_conf_
Definition: config_store.h:94
sbg::ConfigStore::odom_init_frame_id_
std::string odom_init_frame_id_
Definition: config_store.h:122
sbg::ConfigStore::getBaudRate
uint32_t getBaudRate() const
Definition: config_store.cpp:239
sbg::ConfigStore::getOdomInitFrameId
const std::string & getOdomInitFrameId() const
Definition: config_store.cpp:394
_SbgEComGnssInstallation
Definition: sbgEComCmdGnss.h:79
sbg::ConfigStore::shouldPublishNmea
bool shouldPublishNmea() const
Definition: config_store.cpp:409
SbgEComMagCalibBandwidth
enum _SbgEComMagCalibBandwidth SbgEComMagCalibBandwidth
sbg::ConfigStore::mag_rejection_conf_
SbgEComMagRejectionConf mag_rejection_conf_
Definition: config_store.h:97
config_store.h
Class to handle the device configuration.
sbg::ConfigStore::gnss_installation_
SbgEComGnssInstallation gnss_installation_
Definition: config_store.h:102
SBG_ECOM_MODULE_DISABLED
@ SBG_ECOM_MODULE_DISABLED
Definition: sbgEComCmdSensor.h:39
ros::NodeHandle
SBG_ECOM_LOG_IMU_SHORT
@ SBG_ECOM_LOG_IMU_SHORT
Definition: sbgEComIds.h:119
sbg::ConfigStore::SbgLogOutput::message_class
SbgEComClass message_class
Definition: config_store.h:69
sbg::ConfigStore::getOdomBaseFrameId
const std::string & getOdomBaseFrameId() const
Definition: config_store.cpp:389
_SbgEComInitConditionConf::year
uint16_t year
Definition: sbgEComCmdSensor.h:120


sbg_driver
Author(s): SBG Systems
autogenerated on Fri Oct 11 2024 02:13:40