13 ConfigStore::ConfigStore(
void):
14 m_serial_communication_(false),
15 m_upd_communication_(false),
16 m_configure_through_ros_(false),
17 m_ros_standard_output_(false)
28 m_rate_frequency_ = getParameter<uint32_t>(ref_node_handle,
"driver/frequency", 400);
44 if (ref_node_handle.
hasParam(
"uartConf"))
49 m_uart_baud_rate_ = getParameter<uint32_t>(ref_node_handle,
"uartConf/baudRate", 0);
52 else if (ref_node_handle.
hasParam(
"ipConf"))
54 std::string ip_address;
55 ref_node_handle.
param<std::string>(
"ipConf/ipAddress", ip_address,
"0.0.0.0");
64 throw ros::Exception(
"SBG DRIVER - Invalid communication interface parameters.");
90 float sensor_level_arm[3];
91 ref_node_handle.param<
float>(
"imuAlignementLeverArm/leverArmX", sensor_level_arm[0], 0.0f);
92 ref_node_handle.param<
float>(
"imuAlignementLeverArm/leverArmY", sensor_level_arm[1], 0.0f);
93 ref_node_handle.param<
float>(
"imuAlignementLeverArm/leverArmZ", sensor_level_arm[2], 0.0f);
138 float odometer_level_arm_[3];
139 ref_node_handle.
param<
float>(
"odom/leverArmX", odometer_level_arm_[0], 0.0f);
140 ref_node_handle.
param<
float>(
"odom/leverArmY", odometer_level_arm_[1], 0.0f);
141 ref_node_handle.
param<
float>(
"odom/leverArmZ", odometer_level_arm_[2], 0.0f);
166 ref_node_handle.
param<std::string>(
"output/frame_id",
m_frame_id_,
"imu_link");
170 ref_node_handle.
param<std::string>(
"output/frame_id",
m_frame_id_,
"imu_link_ned");
176 std::string time_reference;
178 ref_node_handle.
param<std::string>(ref_key, time_reference,
"ros");
180 if (time_reference ==
"ros")
184 else if (time_reference ==
"ins_unix")
190 throw std::invalid_argument(
"unknown time reference: " + time_reference);
SbgEComAxisDirection axisDirectionX
SbgEComOutputPort m_output_port_
SbgEComSensorAlignmentInfo m_sensor_alignement_info_
SbgEComRejectionMode velocity
SbgEComOutputMode output_mode
const SbgEComMagCalibMode & getMagnetometerCalibMode(void) const
SbgEComModulePortAssignment gps1Port
bool isInterfaceUdp(void) const
void loadOutputFrameParameters(const ros::NodeHandle &ref_node_handle)
uint32_t getReadingRateFrequency(void) const
const std::string & getFrameId(void) const
const SbgEComModelInfo & getGnssModel(void) const
uint32_t m_out_port_address_
TimeReference getTimeReference(void) const
const SbgEComMagRejectionConf & getMagnetometerRejection(void) const
const std::string & getOdomBaseFrameId(void) const
const std::string & getOdomFrameId(void) const
SbgEComAxisDirection axisDirectionY
uint32_t m_uart_baud_rate_
bool isInterfaceSerial(void) const
enum _SbgEComMagCalibMode SbgEComMagCalibMode
void loadCommunicationParameters(const ros::NodeHandle &ref_node_handle)
bool getOdomEnable(void) const
void loadOdometerParameters(const ros::NodeHandle &ref_node_handle)
void loadOutputTimeReference(const ros::NodeHandle &ref_node_handle, const std::string &ref_key)
const SbgEComGnssInstallation & getGnssInstallation(void) const
SbgEComGnssRejectionConf m_gnss_rejection_conf_
void loadDriverParameters(const ros::NodeHandle &ref_node_handle)
bool checkConfigWithRos(void) const
SbgEComMagCalibBandwidth m_mag_calib_bandwidth_
SbgEComRejectionMode velocity
uint32_t getBaudRate(void) const
bool getOdomPublishTf(void) const
uint32_t m_in_port_address_
const std::string & getOdomInitFrameId(void) const
enum _SbgEComMagCalibBandwidth SbgEComMagCalibBandwidth
bool checkRosStandardMessages(void) const
SbgEComModelInfo m_gnss_model_info_
const SbgEComInitConditionConf & getInitialConditions(void) const
bool m_configure_through_ros_
SbgEComGnssInstallationMode leverArmSecondaryMode
SbgEComModuleSyncAssignment gps1Sync
const SbgVector3< float > & getSensorLevelArms(void) const
std::vector< SbgLogOutput > m_output_modes_
std::string m_odom_frame_id_
SbgEComOutputPort getOutputPort(void) const
void loadGnssParameters(const ros::NodeHandle &ref_node_handle)
bool m_upd_communication_
bool param(const std::string ¶m_name, T ¶m_val, const T &default_val) const
void loadAidingAssignementParameters(const ros::NodeHandle &ref_node_handle)
SbgEComModulePortAssignment rtcmPort
SbgVector3< float > m_odometer_level_arm_
SbgEComModelInfo m_motion_profile_model_info_
Class to handle the device configuration.
float leverArmSecondary[3]
SbgEComOdoRejectionConf m_odometer_rejection_conf_
bool m_serial_communication_
SbgEComOdoConf m_odometer_conf_
uint32_t getInputPortAddress(void) const
bool leverArmPrimaryPrecise
void loadOutputConfiguration(const ros::NodeHandle &ref_node_handle, const std::string &ref_key, SbgEComClass sbg_msg_class, SbgEComMsgId sbg_msg_id)
sbgIpAddress getIpAddress(void) const
const SbgEComOdoRejectionConf & getOdometerRejection(void) const
const SbgVector3< float > & getOdometerLevelArms(void) const
SbgEComMagRejectionConf m_mag_rejection_conf_
void loadSensorParameters(const ros::NodeHandle &ref_node_handle)
const SbgEComModelInfo & getMagnetometerModel(void) const
void loadFromRosNodeHandle(const ros::NodeHandle &ref_node_handle)
const std::string & getUartPortName(void) const
SbgEComOdometerPinAssignment odometerPinsConf
const SbgEComGnssRejectionConf & getGnssRejection(void) const
SbgVector3< float > m_sensor_lever_arm_
bool hasParam(const std::string &key) const
SbgEComMagCalibMode m_mag_calib_mode_
sbgIpAddress m_sbg_ip_address_
void loadMagnetometersParameters(const ros::NodeHandle &ref_node_handle)
const SbgEComOdoConf & getOdometerConf(void) const
const std::vector< SbgLogOutput > & getOutputModes(void) const
void loadImuAlignementParameters(const ros::NodeHandle &ref_node_handle)
bool getUseEnu(void) const
void loadOdomParameters(const ros::NodeHandle &ref_node_handle)
std::string m_odom_init_frame_id_
std::string m_uart_port_name_
std::string m_odom_base_frame_id_
enum _SbgEComOutputPort SbgEComOutputPort
SbgEComClass message_class
const SbgEComModelInfo & getMotionProfile(void) const
enum _SbgEComClass SbgEComClass
SbgEComAidingAssignConf m_aiding_assignement_conf_
SbgEComRejectionMode magneticField
SBG_COMMON_LIB_API sbgIpAddress sbgNetworkIpFromString(const char *pBuffer)
SbgEComRejectionMode position
bool m_ros_standard_output_
SbgEComGnssInstallation m_gnss_installation_
SbgEComInitConditionConf m_init_condition_conf_
const SbgEComAidingAssignConf & getAidingAssignement(void) const
const SbgEComMagCalibBandwidth & getMagnetometerCalibBandwidth(void) const
SbgEComModelInfo m_mag_model_info_
uint32_t getOutputPortAddress(void) const
const SbgEComSensorAlignmentInfo & getSensorAlignement(void) const
TimeReference m_time_reference_
uint32_t m_rate_frequency_