config_applier.cpp
Go to the documentation of this file.
1 // File header
2 #include <config_applier.h>
3 
5 
9 //---------------------------------------------------------------------//
10 //- Constructor -//
11 //---------------------------------------------------------------------//
12 
13 ConfigApplier::ConfigApplier(SbgEComHandle &ref_sbg_com_handle):
14 reboot_needed_(false),
15 ref_sbg_com_handle_(ref_sbg_com_handle)
16 {
17 
18 }
19 
20 //---------------------------------------------------------------------//
21 //- Private methods -//
22 //---------------------------------------------------------------------//
23 
24 void ConfigApplier::checkConfigurationGet(const SbgErrorCode& ref_sbg_error_code, const std::string& ref_conf_title) const
25 {
26  if (ref_sbg_error_code == SBG_INVALID_PARAMETER)
27  {
28  ROS_WARN("SBG_DRIVER - [Config] Configuration %s is not available for the connected device.", ref_conf_title.c_str());
29  }
30  else if (ref_sbg_error_code != SBG_NO_ERROR)
31  {
32  std::string error_message("[Config] Unable to get the ");
33  error_message.append(ref_conf_title);
34  error_message.append(" configuration : ");
35  error_message.append(sbgErrorCodeToString(ref_sbg_error_code));
36 
37  throw ros::Exception(error_message);
38  }
39 }
40 
41 void ConfigApplier::checkConfigurationApplied(const SbgErrorCode& ref_sbg_error_code, const std::string& ref_conf_title)
42 {
43  if (ref_sbg_error_code == SBG_INVALID_PARAMETER)
44  {
45  ROS_WARN("SBG_DRIVER - [Config] Configuration %s is not available for the connected device.", ref_conf_title.c_str());
46  }
47  else if (ref_sbg_error_code != SBG_NO_ERROR)
48  {
49  std::string error_message("[Config] Unable to set the ");
50  error_message.append(ref_conf_title);
51  error_message.append(" configuration : ");
52  error_message.append(sbgErrorCodeToString(ref_sbg_error_code));
53 
54  throw ros::Exception(error_message);
55  }
56  else
57  {
58  ROS_INFO("SBG_DRIVER - [Config] %s updated on the device.", ref_conf_title.c_str());
59  reboot_needed_ = true;
60  }
61 }
62 
64 {
65  //
66  // Get the initial condition of the device, compare with the loaded parameters.
67  // If the conditions are different, update the device configuration with the loaded parameters.
68  //
69  SbgEComInitConditionConf init_condition;
70  SbgErrorCode error_code;
71 
72  error_code = sbgEComCmdSensorGetInitCondition(&ref_sbg_com_handle_, &init_condition);
73 
74  checkConfigurationGet(error_code, std::string("Init conditions"));
75 
76  if ((init_condition.year != ref_init_condition.year)
77  || (init_condition.month != ref_init_condition.month)
78  || (init_condition.day != ref_init_condition.day)
79  || !areEquals(init_condition.altitude, ref_init_condition.altitude)
80  || !areEquals(init_condition.latitude, ref_init_condition.latitude)
81  || !areEquals(init_condition.longitude, ref_init_condition.longitude))
82  {
83  error_code = sbgEComCmdSensorSetInitCondition(&ref_sbg_com_handle_, &ref_init_condition);
84 
85  checkConfigurationApplied(error_code, std::string("Init conditions"));
86  }
87 }
88 
90 {
91  //
92  // Get the motion profile ID, and compare with the loaded one parameter.
93  // If the profiles are different, update the device with the loaded one.
94  //
95  SbgEComModelInfo motion_profile;
96  SbgErrorCode error_code;
97 
98  error_code = sbgEComCmdSensorGetMotionProfileInfo(&ref_sbg_com_handle_, &motion_profile);
99 
100  checkConfigurationGet(error_code, std::string("Motion profile"));
101 
102  if (motion_profile.id != ref_motion_profile.id)
103  {
104  error_code = sbgEComCmdSensorSetMotionProfileId(&ref_sbg_com_handle_, ref_motion_profile.id);
105 
106  checkConfigurationApplied(error_code, std::string("Motion profile"));
107  }
108 }
109 
111 {
112  //
113  // Get the IMU alignement and level arms, and compare with the parameters.
114  // If the alignement are differents, update the device with the loaded parameters.
115  //
116  SbgErrorCode error_code;
117  SbgEComSensorAlignmentInfo sensor_alignement;
118  float level_arms_device[3];
119 
120  error_code = sbgEComCmdSensorGetAlignmentAndLeverArm(&ref_sbg_com_handle_, &sensor_alignement, level_arms_device);
121 
122  checkConfigurationGet(error_code, std::string("IMU alignement"));
123 
124  SbgVector3<float> level_arms_vector = SbgVector3<float>(level_arms_device, 3);
125 
126  if ((level_arms_vector != ref_level_arms)
127  || (sensor_alignement.axisDirectionX != ref_sensor_align.axisDirectionX)
128  || (sensor_alignement.axisDirectionY != ref_sensor_align.axisDirectionY)
129  || !areEquals(sensor_alignement.misRoll, ref_sensor_align.misRoll)
130  || !areEquals(sensor_alignement.misPitch, ref_sensor_align.misPitch)
131  || !areEquals(sensor_alignement.misYaw, ref_sensor_align.misYaw))
132  {
133  error_code = sbgEComCmdSensorSetAlignmentAndLeverArm(&ref_sbg_com_handle_, &ref_sensor_align, level_arms_vector.data());
134 
135  checkConfigurationApplied(error_code, std::string("IMU alignement"));
136  }
137 }
138 
140 {
141  //
142  // Get the aiding assignement, and compare with the loaded parameters.
143  // If the assignement are differents, udpdate the device with the loaded parameters.
144  //
145  SbgEComAidingAssignConf aiding_assign;
146  SbgErrorCode error_code;
147 
148  error_code = sbgEComCmdSensorGetAidingAssignment(&ref_sbg_com_handle_, &aiding_assign);
149 
150  checkConfigurationGet(error_code, std::string("Aiding assignement"));
151 
152  if ((aiding_assign.gps1Port != ref_aiding_assign.gps1Port)
153  || (aiding_assign.gps1Sync != ref_aiding_assign.gps1Sync)
154  || (aiding_assign.odometerPinsConf != ref_aiding_assign.odometerPinsConf)
155  || (aiding_assign.rtcmPort != ref_aiding_assign.rtcmPort))
156  {
157  error_code = sbgEComCmdSensorSetAidingAssignment(&ref_sbg_com_handle_, &aiding_assign);
158 
159  checkConfigurationApplied(error_code, std::string("Aiding assignement"));
160  }
161 }
162 
164 {
165  //
166  // Get the magnetometer model, and compare with the loaded parameter.
167  // If the model are different, update the device with the loaded parameter.
168  //
169  SbgEComModelInfo model_info;
170  SbgErrorCode error_code;
171 
172  error_code = sbgEComCmdMagGetModelInfo(&ref_sbg_com_handle_, &model_info);
173 
174  checkConfigurationGet(error_code, std::string("Magnetometer model"));
175 
176  if (model_info.id != ref_mag_model.id)
177  {
178  error_code = sbgEComCmdMagSetModelId(&ref_sbg_com_handle_, ref_mag_model.id);
179 
180  checkConfigurationApplied(error_code, std::string("Magnetometer model"));
181  }
182 }
183 
185 {
186  //
187  // Get the magnetometer rejection model, and compare with the loaded parameter.
188  // If the model are different, update the device with the loaded parameter.
189  //
190  SbgEComMagRejectionConf mag_rejection;
191  SbgErrorCode error_code;
192 
193  error_code = sbgEComCmdMagGetRejection(&ref_sbg_com_handle_, &mag_rejection);
194 
195  checkConfigurationGet(error_code, std::string("Magnetometer rejection"));
196 
197  if (mag_rejection.magneticField != ref_mag_rejection.magneticField)
198  {
199  error_code = sbgEComCmdMagSetRejection(&ref_sbg_com_handle_, &ref_mag_rejection);
200 
201  checkConfigurationApplied(error_code, std::string("Magnetometer rejection"));
202  }
203 }
204 
206 {
207  //
208  // Get the Gnss model, and compare with the loaded model.
209  // If the models are different, update the device with the loaded model.
210  //
211  SbgEComModelInfo model_info;
212  SbgErrorCode error_code;
213 
214  error_code = sbgEComCmdGnss1GetModelInfo(&ref_sbg_com_handle_, &model_info);
215 
216  checkConfigurationGet(error_code, std::string("Gnss model"));
217 
218  if (model_info.id != ref_gnss_model.id)
219  {
220  error_code = sbgEComCmdGnss1SetModelId(&ref_sbg_com_handle_, ref_gnss_model.id);
221 
222  checkConfigurationApplied(error_code, std::string("Gnss model"));
223  }
224 }
225 
227 {
228  //
229  // Get the Gnss level arm, and compare with the loaded parameters.
230  // If the level arms are different, update the device with the loaded parameters.
231  //
232  SbgEComGnssInstallation gnss_installation;
233  SbgErrorCode error_code;
234  SbgVector3<float> gnss_device_primary;
235  SbgVector3<float> gnss_device_secondary;
236  SbgVector3<float> gnss_config_primary;
237  SbgVector3<float> gnss_config_secondary;
238 
239  error_code = sbgEComCmdGnss1InstallationGet(&ref_sbg_com_handle_, &gnss_installation);
240 
241  checkConfigurationGet(error_code, std::string("Gnss level arms"));
242 
243  gnss_device_primary = SbgVector3<float>(gnss_installation.leverArmPrimary, 3);
244  gnss_device_secondary = SbgVector3<float>(gnss_installation.leverArmSecondary, 3);
245  gnss_config_primary = SbgVector3<float>(ref_gnss_installation.leverArmPrimary, 3);
246  gnss_config_secondary = SbgVector3<float>(ref_gnss_installation.leverArmSecondary, 3);
247 
248  if ((gnss_device_primary != gnss_config_primary)
249  || (gnss_device_secondary != gnss_config_secondary)
250  || (gnss_installation.leverArmPrimaryPrecise != ref_gnss_installation.leverArmPrimaryPrecise)
251  || (gnss_installation.leverArmSecondaryMode != ref_gnss_installation.leverArmSecondaryMode))
252  {
253  error_code = sbgEComCmdGnss1InstallationSet(&ref_sbg_com_handle_, &ref_gnss_installation);
254 
255  checkConfigurationApplied(error_code, std::string("Gnss level arms"));
256  }
257 }
258 
260 {
261  //
262  // Get the Gnss rejection, and compare with the loaded parameters.
263  // If the rejection are different, update the device with the loaded parameters.
264  //
265  SbgEComGnssRejectionConf rejection;
266  SbgErrorCode error_code;
267 
268  error_code = sbgEComCmdGnss1GetRejection(&ref_sbg_com_handle_, &rejection);
269 
270  checkConfigurationGet(error_code, std::string("Gnss rejection"));
271 
272  if ((rejection.hdt != ref_gnss_rejection.hdt)
273  || (rejection.position != ref_gnss_rejection.position)
274  || (rejection.velocity != ref_gnss_rejection.velocity))
275  {
276  error_code = sbgEComCmdGnss1SetRejection(&ref_sbg_com_handle_, &ref_gnss_rejection);
277 
278  checkConfigurationApplied(error_code, std::string("Gnss rejection"));
279  }
280 }
281 
283 {
284  //
285  // Get the odometer configuration, and compare with the loaded parameters.
286  // If the conf are different, update the device with the loaded parameters.
287  //
288  SbgEComOdoConf odom_conf;
289  SbgErrorCode error_code;
290 
291  error_code = sbgEComCmdOdoGetConf(&ref_sbg_com_handle_, &odom_conf);
292 
293  checkConfigurationGet(error_code, std::string("Odometer"));
294 
295  if (!areEquals(odom_conf.gain, ref_odometer.gain)
296  || (odom_conf.gainError != ref_odometer.gainError)
297  || (odom_conf.reverseMode != ref_odometer.reverseMode))
298  {
299  error_code = sbgEComCmdOdoSetConf(&ref_sbg_com_handle_, &ref_odometer);
300 
301  checkConfigurationApplied(error_code, std::string("Odometer"));
302  }
303 }
304 
306 {
307  //
308  // Get the odometer level arm, and compare with the loaded parameters.
309  // If the level arms are different, update the device with the loaded parameters.
310  //
311  float lever_arm[3];
312  SbgErrorCode error_code;
313 
314  error_code = sbgEComCmdOdoGetLeverArm(&ref_sbg_com_handle_, lever_arm);
315 
316  checkConfigurationGet(error_code, std::string("Odometer level arms"));
317 
318  SbgVector3<float> lever_arm_device = SbgVector3<float>(lever_arm, 3);
319 
320  if (lever_arm_device != odometer_level_arms)
321  {
322  error_code = sbgEComCmdOdoSetLeverArm(&ref_sbg_com_handle_, lever_arm_device.data());
323 
324  checkConfigurationApplied(error_code, std::string("Odometer level arms"));
325  }
326 }
327 
329 {
330  //
331  // Get the odometer rejection mode, and compare with the loaded parameter.
332  // If the mode are different, update the device with the loaded parameter.
333  //
334  SbgEComOdoRejectionConf odom_rejection;
335  SbgErrorCode error_code;
336 
337  error_code = sbgEComCmdOdoGetRejection(&ref_sbg_com_handle_, &odom_rejection);
338 
339  checkConfigurationGet(error_code, std::string("Odometer rejection"));
340 
341  if (odom_rejection.velocity != ref_odometer_rejection.velocity)
342  {
343  error_code = sbgEComCmdOdoSetRejection(&ref_sbg_com_handle_, &ref_odometer_rejection);
344 
345  checkConfigurationApplied(error_code, std::string("Odometer rejection"));
346  }
347 }
348 
350 {
351  SbgErrorCode error_code;
352  SbgEComOutputMode current_output_mode;
353 
354  //
355  // Get the current output mode for the device and the selected log ID.
356  // If output modes are different, udpate the device mode with the one loaded from the parameters.
357  //
358  error_code = sbgEComCmdOutputGetConf(&ref_sbg_com_handle_, output_port, ref_log_output.message_class, ref_log_output.message_id, &current_output_mode);
359 
360  if (error_code == SBG_INVALID_PARAMETER)
361  {
362  ROS_WARN("SBG_DRIVER - [Config] Output is not available for this device : Class [%d] - Id [%d]", ref_log_output.message_class, ref_log_output.message_id);
363  }
364  else if (error_code != SBG_NO_ERROR)
365  {
366  std::string error_message("[Config] Unable to get output for the device : Class [");
367  error_message.append(std::to_string(ref_log_output.message_class));
368  error_message.append("] - Id [");
369  error_message.append(std::to_string(ref_log_output.message_id));
370  error_message.append("] : ");
371  error_message.append(sbgErrorCodeToString(error_code));
372 
373  throw ros::Exception(error_message);
374  }
375  else if (current_output_mode != ref_log_output.output_mode)
376  {
377  error_code = sbgEComCmdOutputSetConf(&ref_sbg_com_handle_, output_port, ref_log_output.message_class, ref_log_output.message_id, ref_log_output.output_mode);
378 
379  if (error_code != SBG_NO_ERROR)
380  {
381  std::string error_message("[Config] Unable to set the output configuration : Class[");
382  error_message.append(std::to_string(ref_log_output.message_class));
383  error_message.append("] - Id [");
384  error_message.append(std::to_string(ref_log_output.message_id));
385  error_message.append("] : ");
386  error_message.append(sbgErrorCodeToString(error_code));
387 
388  throw ros::Exception(error_message);
389  }
390  else
391  {
392  reboot_needed_ = true;
393  }
394  }
395 }
396 
397 //---------------------------------------------------------------------//
398 //- Parameters -//
399 //---------------------------------------------------------------------//
400 
401 //---------------------------------------------------------------------//
402 //- Operations -//
403 //---------------------------------------------------------------------//
404 
405 void ConfigApplier::applyConfiguration(const ConfigStore& ref_config_store)
406 {
407  //
408  // Configure the connected device.
409  //
410  configureInitCondition(ref_config_store.getInitialConditions());
411  configureMotionProfile(ref_config_store.getMotionProfile());
412  configureImuAlignement(ref_config_store.getSensorAlignement(), ref_config_store.getSensorLevelArms());
414  configureMagModel(ref_config_store.getMagnetometerModel());
416  configureGnssModel(ref_config_store.getGnssModel());
418  configureGnssRejection(ref_config_store.getGnssRejection());
419  configureOdometer(ref_config_store.getOdometerConf());
422 
423  //
424  // Configure the output, with all output defined in the store.
425  //
426  const std::vector<ConfigStore::SbgLogOutput>& ref_output_modes = ref_config_store.getOutputModes();
427 
428  for (const ConfigStore::SbgLogOutput& ref_output : ref_output_modes)
429  {
430  configureOutput(ref_config_store.getOutputPort(), ref_output);
431  }
432 
433  //
434  // Save configuration if needed.
435  //
436  if (reboot_needed_)
437  {
439  }
440 }
441 
443 {
444  SbgErrorCode error_code;
445 
447 
448  if (error_code != SBG_NO_ERROR)
449  {
450  ROS_ERROR("Unable to save the settings on the SBG device - %s", sbgErrorCodeToString(error_code));
451  }
452  else
453  {
454  ROS_INFO("SBG_DRIVER - Settings saved and device rebooted.");
455  }
456 }
sbg::ConfigApplier::configureOdometerLevelArm
void configureOdometerLevelArm(const SbgVector3< float > &odometer_level_arms)
Definition: config_applier.cpp:305
sbg::ConfigApplier::checkConfigurationApplied
void checkConfigurationApplied(const SbgErrorCode &ref_sbg_error_code, const std::string &ref_conf_title)
Definition: config_applier.cpp:41
_SbgEComGnssRejectionConf::velocity
SbgEComRejectionMode velocity
Definition: sbgEComCmdGnss.h:94
sbg::areEquals
bool areEquals(T firstValue, T secondValue)
Definition: sbg_vector3.h:60
sbg::ConfigStore::getGnssInstallation
const SbgEComGnssInstallation & getGnssInstallation() const
Definition: config_store.cpp:319
sbg::ConfigApplier::configureAidingAssignement
void configureAidingAssignement(const SbgEComAidingAssignConf &ref_aiding_assign)
Definition: config_applier.cpp:139
_SbgEComGnssInstallation::leverArmSecondaryMode
SbgEComGnssInstallationMode leverArmSecondaryMode
Definition: sbgEComCmdGnss.h:85
sbg::SbgVector3< float >
_SbgEComSensorAlignmentInfo::misYaw
float misYaw
Definition: sbgEComCmdSensor.h:109
sbg::ConfigApplier::configureImuAlignement
void configureImuAlignement(const SbgEComSensorAlignmentInfo &ref_sensor_align, const SbgVector3< float > &ref_level_arms)
Definition: config_applier.cpp:110
sbgErrorCodeToString
static const char * sbgErrorCodeToString(SbgErrorCode errorCode)
Definition: sbgErrorCodes.h:72
_SbgEComAidingAssignConf
Definition: sbgEComCmdSensor.h:89
sbgEComCmdMagGetModelInfo
SbgErrorCode sbgEComCmdMagGetModelInfo(SbgEComHandle *pHandle, SbgEComModelInfo *pModelInfo)
Definition: sbgEComCmdMag.c:29
_SbgEComGnssInstallation::leverArmPrimary
float leverArmPrimary[3]
Definition: sbgEComCmdGnss.h:81
_SbgEComSensorAlignmentInfo::axisDirectionX
SbgEComAxisDirection axisDirectionX
Definition: sbgEComCmdSensor.h:105
SBG_ECOM_SAVE_SETTINGS
@ SBG_ECOM_SAVE_SETTINGS
Definition: sbgEComCmdSettings.h:35
_SbgEComMagRejectionConf
Definition: sbgEComCmdMag.h:102
_SbgEComModelInfo
Definition: sbgEComCmdCommon.h:58
sbg::ConfigApplier::configureMagRejection
void configureMagRejection(const SbgEComMagRejectionConf &ref_mag_rejection)
Definition: config_applier.cpp:184
_SbgEComSensorAlignmentInfo::axisDirectionY
SbgEComAxisDirection axisDirectionY
Definition: sbgEComCmdSensor.h:106
_SbgEComOdoConf::gainError
uint8_t gainError
Definition: sbgEComCmdOdo.h:35
_SbgEComInitConditionConf::longitude
double longitude
Definition: sbgEComCmdSensor.h:118
_SbgEComSensorAlignmentInfo::misPitch
float misPitch
Definition: sbgEComCmdSensor.h:108
sbg::ConfigStore::getGnssRejection
const SbgEComGnssRejectionConf & getGnssRejection() const
Definition: config_store.cpp:324
sbg::ConfigStore::getSensorLevelArms
const SbgVector3< float > & getSensorLevelArms() const
Definition: config_store.cpp:284
sbgEComCmdOutputGetConf
SbgErrorCode sbgEComCmdOutputGetConf(SbgEComHandle *pHandle, SbgEComOutputPort outputPort, SbgEComClass classId, SbgEComMsgId msgId, SbgEComOutputMode *pConf)
Definition: sbgEComCmdOutput.c:17
sbg::ConfigApplier::saveConfiguration
void saveConfiguration()
Definition: config_applier.cpp:442
SbgEComOutputMode
enum _SbgEComOutputMode SbgEComOutputMode
sbgEComCmdOutputSetConf
SbgErrorCode sbgEComCmdOutputSetConf(SbgEComHandle *pHandle, SbgEComOutputPort outputPort, SbgEComClass classId, SbgEComMsgId msgId, SbgEComOutputMode conf)
Definition: sbgEComCmdOutput.c:119
sbgEComCmdSensorSetAlignmentAndLeverArm
SbgErrorCode sbgEComCmdSensorSetAlignmentAndLeverArm(SbgEComHandle *pHandle, const SbgEComSensorAlignmentInfo *pAlignConf, const float leverArm[3])
Definition: sbgEComCmdSensor.c:437
sbg::ConfigStore::SbgLogOutput::output_mode
SbgEComOutputMode output_mode
Definition: config_store.h:71
_SbgEComGnssRejectionConf::hdt
SbgEComRejectionMode hdt
Definition: sbgEComCmdGnss.h:95
sbgEComCmdOdoGetLeverArm
SbgErrorCode sbgEComCmdOdoGetLeverArm(SbgEComHandle *pHandle, float leverArm[3])
Definition: sbgEComCmdOdo.c:157
_SbgEComInitConditionConf
Definition: sbgEComCmdSensor.h:115
sbg::ConfigApplier::configureMotionProfile
void configureMotionProfile(const SbgEComModelInfo &ref_motion_profile)
Definition: config_applier.cpp:89
ros::Exception
_SbgEComOdoConf::reverseMode
bool reverseMode
Definition: sbgEComCmdOdo.h:36
sbg::ConfigApplier::ref_sbg_com_handle_
SbgEComHandle & ref_sbg_com_handle_
Definition: config_applier.h:55
_SbgEComMagRejectionConf::magneticField
SbgEComRejectionMode magneticField
Definition: sbgEComCmdMag.h:104
sbgEComCmdOdoSetLeverArm
SbgErrorCode sbgEComCmdOdoSetLeverArm(SbgEComHandle *pHandle, const float leverArm[3])
Definition: sbgEComCmdOdo.c:223
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
sbgEComCmdOdoSetConf
SbgErrorCode sbgEComCmdOdoSetConf(SbgEComHandle *pHandle, const SbgEComOdoConf *pOdometerConf)
Definition: sbgEComCmdOdo.c:92
sbg::ConfigStore::getMagnetometerRejection
const SbgEComMagRejectionConf & getMagnetometerRejection() const
Definition: config_store.cpp:299
_SbgEComOdoConf
Definition: sbgEComCmdOdo.h:32
sbgEComCmdGnss1SetModelId
SbgErrorCode sbgEComCmdGnss1SetModelId(SbgEComHandle *pHandle, uint32_t id)
Definition: sbgEComCmdGnss.c:364
sbg::ConfigApplier::configureOdometerRejection
void configureOdometerRejection(const SbgEComOdoRejectionConf &ref_odometer_rejection)
Definition: config_applier.cpp:328
sbgEComCmdSensorSetAidingAssignment
SbgErrorCode sbgEComCmdSensorSetAidingAssignment(SbgEComHandle *pHandle, const SbgEComAidingAssignConf *pConf)
Definition: sbgEComCmdSensor.c:273
sbg::ConfigStore
Definition: config_store.h:60
sbg::ConfigApplier
Definition: config_applier.h:50
_SbgEComAidingAssignConf::rtcmPort
SbgEComModulePortAssignment rtcmPort
Definition: sbgEComCmdSensor.h:95
sbg::ConfigStore::getOdometerConf
const SbgEComOdoConf & getOdometerConf() const
Definition: config_store.cpp:329
_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::SbgVector3::data
const T * data() const
Definition: sbg_vector3.h:176
_SbgEComAidingAssignConf::gps1Port
SbgEComModulePortAssignment gps1Port
Definition: sbgEComCmdSensor.h:91
_SbgEComGnssInstallation::leverArmSecondary
float leverArmSecondary[3]
Definition: sbgEComCmdGnss.h:84
sbgEComCmdMagSetRejection
SbgErrorCode sbgEComCmdMagSetRejection(SbgEComHandle *pHandle, const SbgEComMagRejectionConf *pRejectConf)
Definition: sbgEComCmdMag.c:201
_SbgEComModelInfo::id
uint32_t id
Definition: sbgEComCmdCommon.h:60
sbg::ConfigStore::getOdometerRejection
const SbgEComOdoRejectionConf & getOdometerRejection() const
Definition: config_store.cpp:339
sbg::ConfigApplier::configureGnssModel
void configureGnssModel(const SbgEComModelInfo &ref_gnss_model)
Definition: config_applier.cpp:205
_SbgEComInitConditionConf::latitude
double latitude
Definition: sbgEComCmdSensor.h:117
SbgEComOutputPort
enum _SbgEComOutputPort SbgEComOutputPort
This file implements SbgECom commands related to outputs.
sbgEComCmdMagSetModelId
SbgErrorCode sbgEComCmdMagSetModelId(SbgEComHandle *pHandle, uint32_t id)
Definition: sbgEComCmdMag.c:15
sbgEComCmdOdoGetConf
SbgErrorCode sbgEComCmdOdoGetConf(SbgEComHandle *pHandle, SbgEComOdoConf *pOdometerConf)
Definition: sbgEComCmdOdo.c:26
sbgEComCmdMagGetRejection
SbgErrorCode sbgEComCmdMagGetRejection(SbgEComHandle *pHandle, SbgEComMagRejectionConf *pRejectConf)
Definition: sbgEComCmdMag.c:131
SBG_INVALID_PARAMETER
@ SBG_INVALID_PARAMETER
Definition: sbgErrorCodes.h:47
ROS_WARN
#define ROS_WARN(...)
sbgEComCmdOdoGetRejection
SbgErrorCode sbgEComCmdOdoGetRejection(SbgEComHandle *pHandle, SbgEComOdoRejectionConf *pRejectConf)
Definition: sbgEComCmdOdo.c:288
sbg::ConfigStore::getAidingAssignement
const SbgEComAidingAssignConf & getAidingAssignement() const
Definition: config_store.cpp:289
sbg::ConfigStore::getSensorAlignement
const SbgEComSensorAlignmentInfo & getSensorAlignement() const
Definition: config_store.cpp:279
_SbgEComInitConditionConf::month
uint8_t month
Definition: sbgEComCmdSensor.h:121
sbgEComCmdGnss1InstallationGet
SbgErrorCode sbgEComCmdGnss1InstallationGet(SbgEComHandle *pHandle, SbgEComGnssInstallation *pGnssInstallation)
Definition: sbgEComCmdGnss.c:516
sbgEComCmdSensorSetInitCondition
SbgErrorCode sbgEComCmdSensorSetInitCondition(SbgEComHandle *pHandle, const SbgEComInitConditionConf *pConf)
Definition: sbgEComCmdSensor.c:119
_SbgEComAidingAssignConf::odometerPinsConf
SbgEComOdometerPinAssignment odometerPinsConf
Definition: sbgEComCmdSensor.h:97
sbg::ConfigStore::SbgLogOutput
Definition: config_store.h:67
sbg::ConfigApplier::applyConfiguration
void applyConfiguration(const ConfigStore &ref_config_store)
Definition: config_applier.cpp:405
sbgEComCmdOdoSetRejection
SbgErrorCode sbgEComCmdOdoSetRejection(SbgEComHandle *pHandle, const SbgEComOdoRejectionConf *pRejectConf)
Definition: sbgEComCmdOdo.c:352
_SbgEComHandle
Definition: sbgECom.h:70
_SbgEComGnssInstallation::leverArmPrimaryPrecise
bool leverArmPrimaryPrecise
Definition: sbgEComCmdGnss.h:82
sbg::ConfigApplier::reboot_needed_
bool reboot_needed_
Definition: config_applier.h:54
sbg::ConfigStore::SbgLogOutput::message_id
SbgEComMsgId message_id
Definition: config_store.h:70
_SbgEComGnssRejectionConf
Definition: sbgEComCmdGnss.h:91
_SbgEComInitConditionConf::altitude
double altitude
Definition: sbgEComCmdSensor.h:119
sbg::ConfigStore::getOutputModes
const std::vector< SbgLogOutput > & getOutputModes() const
Definition: config_store.cpp:344
SBG_NO_ERROR
@ SBG_NO_ERROR
Definition: sbgErrorCodes.h:35
sbg::ConfigStore::getInitialConditions
const SbgEComInitConditionConf & getInitialConditions() const
Definition: config_store.cpp:269
sbgEComCmdSettingsAction
SbgErrorCode sbgEComCmdSettingsAction(SbgEComHandle *pHandle, SbgEComSettingsAction action)
Definition: sbgEComCmdSettings.c:18
_SbgEComOdoRejectionConf
Definition: sbgEComCmdOdo.h:42
sbgEComCmdSensorGetInitCondition
SbgErrorCode sbgEComCmdSensorGetInitCondition(SbgEComHandle *pHandle, SbgEComInitConditionConf *pConf)
Definition: sbgEComCmdSensor.c:44
config_applier.h
Apply configuration to the device.
_SbgEComSensorAlignmentInfo::misRoll
float misRoll
Definition: sbgEComCmdSensor.h:107
ROS_ERROR
#define ROS_ERROR(...)
sbgEComCmdGnss1GetModelInfo
SbgErrorCode sbgEComCmdGnss1GetModelInfo(SbgEComHandle *pHandle, SbgEComModelInfo *pModelInfo)
Definition: sbgEComCmdGnss.c:371
sbg::ConfigApplier::checkConfigurationGet
void checkConfigurationGet(const SbgErrorCode &ref_sbg_error_code, const std::string &ref_conf_title) const
Definition: config_applier.cpp:24
sbgEComCmdGnss1GetRejection
SbgErrorCode sbgEComCmdGnss1GetRejection(SbgEComHandle *pHandle, SbgEComGnssRejectionConf *pRejectConf)
Definition: sbgEComCmdGnss.c:532
_SbgEComAidingAssignConf::gps1Sync
SbgEComModuleSyncAssignment gps1Sync
Definition: sbgEComCmdSensor.h:92
sbgEComCmdSensorGetAidingAssignment
SbgErrorCode sbgEComCmdSensorGetAidingAssignment(SbgEComHandle *pHandle, SbgEComAidingAssignConf *pConf)
Definition: sbgEComCmdSensor.c:193
SbgErrorCode
enum _SbgErrorCode SbgErrorCode
Header file that defines all error codes for SBG Systems libraries.
sbg::ConfigApplier::configureMagModel
void configureMagModel(const SbgEComModelInfo &ref_mag_model)
Definition: config_applier.cpp:163
sbg::ConfigApplier::configureOdometer
void configureOdometer(const SbgEComOdoConf &ref_odometer)
Definition: config_applier.cpp:282
_SbgEComSensorAlignmentInfo
Definition: sbgEComCmdSensor.h:103
_SbgEComGnssRejectionConf::position
SbgEComRejectionMode position
Definition: sbgEComCmdGnss.h:93
sbg::ConfigStore::getOdometerLevelArms
const SbgVector3< float > & getOdometerLevelArms() const
Definition: config_store.cpp:334
sbgEComCmdSensorGetMotionProfileInfo
SbgErrorCode sbgEComCmdSensorGetMotionProfileInfo(SbgEComHandle *pHandle, SbgEComModelInfo *pModelInfo)
Definition: sbgEComCmdSensor.c:30
sbg::ConfigStore::getMagnetometerModel
const SbgEComModelInfo & getMagnetometerModel() const
Definition: config_store.cpp:294
sbgEComCmdSensorSetMotionProfileId
SbgErrorCode sbgEComCmdSensorSetMotionProfileId(SbgEComHandle *pHandle, uint32_t id)
Definition: sbgEComCmdSensor.c:15
ROS_INFO
#define ROS_INFO(...)
sbg::ConfigApplier::configureGnssRejection
void configureGnssRejection(const SbgEComGnssRejectionConf &ref_gnss_rejection)
Definition: config_applier.cpp:259
sbg::ConfigApplier::configureGnssInstallation
void configureGnssInstallation(const SbgEComGnssInstallation &ref_gnss_installation)
Definition: config_applier.cpp:226
_SbgEComGnssInstallation
Definition: sbgEComCmdGnss.h:79
sbgEComCmdGnss1InstallationSet
SbgErrorCode sbgEComCmdGnss1InstallationSet(SbgEComHandle *pHandle, const SbgEComGnssInstallation *pGnssInstallation)
Definition: sbgEComCmdGnss.c:524
sbgEComCmdGnss1SetRejection
SbgErrorCode sbgEComCmdGnss1SetRejection(SbgEComHandle *pHandle, const SbgEComGnssRejectionConf *pRejectConf)
Definition: sbgEComCmdGnss.c:540
sbgEComCmdSensorGetAlignmentAndLeverArm
SbgErrorCode sbgEComCmdSensorGetAlignmentAndLeverArm(SbgEComHandle *pHandle, SbgEComSensorAlignmentInfo *pAlignConf, float leverArm[3])
Definition: sbgEComCmdSensor.c:358
sbg::ConfigApplier::configureInitCondition
void configureInitCondition(const SbgEComInitConditionConf &ref_init_condition)
Definition: config_applier.cpp:63
sbg::ConfigApplier::configureOutput
void configureOutput(SbgEComOutputPort output_port, const ConfigStore::SbgLogOutput &ref_log_output)
Definition: config_applier.cpp:349
sbg::ConfigStore::SbgLogOutput::message_class
SbgEComClass message_class
Definition: config_store.h:69
_SbgEComInitConditionConf::year
uint16_t year
Definition: sbgEComCmdSensor.h:120


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