Public Member Functions | Private Member Functions | Private Attributes | List of all members
phidgets::SpatialRosI Class Referencefinal

#include <spatial_ros_i.h>

Public Member Functions

 SpatialRosI (ros::NodeHandle nh, ros::NodeHandle nh_private)
 

Private Member Functions

void attachCallback ()
 
void calibrate ()
 
bool calibrateService (std_srvs::Empty::Request &req, std_srvs::Empty::Response &res)
 
void detachCallback ()
 
void publishLatest ()
 
void spatialAlgorithmDataCallback (const double quaternion[4], double timestamp)
 
void spatialDataCallback (const double acceleration[3], const double angular_rate[3], const double magnetic_field[3], double timestamp)
 
void timerCallback (const ros::TimerEvent &event)
 

Private Attributes

double angular_velocity_variance_
 
ros::Publisher cal_publisher_
 
ros::ServiceServer cal_srv_
 
bool can_publish_ {false}
 
int64_t cb_delta_epsilon_ns_ {0}
 
int64_t data_interval_ns_ {0}
 
uint64_t data_time_zero_ns_ {0}
 
std::string frame_id_
 
ros::Publisher imu_pub_
 
double last_accel_x_
 
double last_accel_y_
 
double last_accel_z_
 
ros::Time last_cb_time_
 
uint64_t last_data_timestamp_ns_ {0}
 
double last_gyro_x_
 
double last_gyro_y_
 
double last_gyro_z_
 
double last_mag_x_
 
double last_mag_y_
 
double last_mag_z_
 
double last_quat_w_
 
double last_quat_x_
 
double last_quat_y_
 
double last_quat_z_
 
uint64_t last_ros_stamp_ns_ {0}
 
double linear_acceleration_variance_
 
ros::Publisher magnetic_field_pub_
 
double magnetic_field_variance_
 
ros::NodeHandle nh_
 
ros::NodeHandle nh_private_
 
int publish_rate_
 
ros::Time ros_time_zero_
 
std::string server_ip_
 
std::string server_name_
 
std::unique_ptr< Spatialspatial_
 
std::mutex spatial_mutex_
 
bool synchronize_timestamps_ {true}
 
int64_t time_resync_interval_ns_ {0}
 
ros::Timer timer_
 

Detailed Description

Definition at line 47 of file spatial_ros_i.h.

Constructor & Destructor Documentation

◆ SpatialRosI()

phidgets::SpatialRosI::SpatialRosI ( ros::NodeHandle  nh,
ros::NodeHandle  nh_private 
)
explicit

Definition at line 46 of file spatial_ros_i.cpp.

Member Function Documentation

◆ attachCallback()

void phidgets::SpatialRosI::attachCallback ( )
private

Definition at line 561 of file spatial_ros_i.cpp.

◆ calibrate()

void phidgets::SpatialRosI::calibrate ( )
private

Definition at line 325 of file spatial_ros_i.cpp.

◆ calibrateService()

bool phidgets::SpatialRosI::calibrateService ( std_srvs::Empty::Request &  req,
std_srvs::Empty::Response &  res 
)
private

Definition at line 316 of file spatial_ros_i.cpp.

◆ detachCallback()

void phidgets::SpatialRosI::detachCallback ( )
private

Definition at line 576 of file spatial_ros_i.cpp.

◆ publishLatest()

void phidgets::SpatialRosI::publishLatest ( )
private

Definition at line 342 of file spatial_ros_i.cpp.

◆ spatialAlgorithmDataCallback()

void phidgets::SpatialRosI::spatialAlgorithmDataCallback ( const double  quaternion[4],
double  timestamp 
)
private

Definition at line 551 of file spatial_ros_i.cpp.

◆ spatialDataCallback()

void phidgets::SpatialRosI::spatialDataCallback ( const double  acceleration[3],
const double  angular_rate[3],
const double  magnetic_field[3],
double  timestamp 
)
private

Definition at line 417 of file spatial_ros_i.cpp.

◆ timerCallback()

void phidgets::SpatialRosI::timerCallback ( const ros::TimerEvent event)
private

Definition at line 581 of file spatial_ros_i.cpp.

Member Data Documentation

◆ angular_velocity_variance_

double phidgets::SpatialRosI::angular_velocity_variance_
private

Definition at line 92 of file spatial_ros_i.h.

◆ cal_publisher_

ros::Publisher phidgets::SpatialRosI::cal_publisher_
private

Definition at line 62 of file spatial_ros_i.h.

◆ cal_srv_

ros::ServiceServer phidgets::SpatialRosI::cal_srv_
private

Definition at line 63 of file spatial_ros_i.h.

◆ can_publish_

bool phidgets::SpatialRosI::can_publish_ {false}
private

Definition at line 74 of file spatial_ros_i.h.

◆ cb_delta_epsilon_ns_

int64_t phidgets::SpatialRosI::cb_delta_epsilon_ns_ {0}
private

Definition at line 76 of file spatial_ros_i.h.

◆ data_interval_ns_

int64_t phidgets::SpatialRosI::data_interval_ns_ {0}
private

Definition at line 73 of file spatial_ros_i.h.

◆ data_time_zero_ns_

uint64_t phidgets::SpatialRosI::data_time_zero_ns_ {0}
private

Definition at line 69 of file spatial_ros_i.h.

◆ frame_id_

std::string phidgets::SpatialRosI::frame_id_
private

Definition at line 55 of file spatial_ros_i.h.

◆ imu_pub_

ros::Publisher phidgets::SpatialRosI::imu_pub_
private

Definition at line 64 of file spatial_ros_i.h.

◆ last_accel_x_

double phidgets::SpatialRosI::last_accel_x_
private

Definition at line 87 of file spatial_ros_i.h.

◆ last_accel_y_

double phidgets::SpatialRosI::last_accel_y_
private

Definition at line 88 of file spatial_ros_i.h.

◆ last_accel_z_

double phidgets::SpatialRosI::last_accel_z_
private

Definition at line 89 of file spatial_ros_i.h.

◆ last_cb_time_

ros::Time phidgets::SpatialRosI::last_cb_time_
private

Definition at line 75 of file spatial_ros_i.h.

◆ last_data_timestamp_ns_

uint64_t phidgets::SpatialRosI::last_data_timestamp_ns_ {0}
private

Definition at line 70 of file spatial_ros_i.h.

◆ last_gyro_x_

double phidgets::SpatialRosI::last_gyro_x_
private

Definition at line 93 of file spatial_ros_i.h.

◆ last_gyro_y_

double phidgets::SpatialRosI::last_gyro_y_
private

Definition at line 94 of file spatial_ros_i.h.

◆ last_gyro_z_

double phidgets::SpatialRosI::last_gyro_z_
private

Definition at line 95 of file spatial_ros_i.h.

◆ last_mag_x_

double phidgets::SpatialRosI::last_mag_x_
private

Definition at line 99 of file spatial_ros_i.h.

◆ last_mag_y_

double phidgets::SpatialRosI::last_mag_y_
private

Definition at line 100 of file spatial_ros_i.h.

◆ last_mag_z_

double phidgets::SpatialRosI::last_mag_z_
private

Definition at line 101 of file spatial_ros_i.h.

◆ last_quat_w_

double phidgets::SpatialRosI::last_quat_w_
private

Definition at line 104 of file spatial_ros_i.h.

◆ last_quat_x_

double phidgets::SpatialRosI::last_quat_x_
private

Definition at line 105 of file spatial_ros_i.h.

◆ last_quat_y_

double phidgets::SpatialRosI::last_quat_y_
private

Definition at line 106 of file spatial_ros_i.h.

◆ last_quat_z_

double phidgets::SpatialRosI::last_quat_z_
private

Definition at line 107 of file spatial_ros_i.h.

◆ last_ros_stamp_ns_

uint64_t phidgets::SpatialRosI::last_ros_stamp_ns_ {0}
private

Definition at line 71 of file spatial_ros_i.h.

◆ linear_acceleration_variance_

double phidgets::SpatialRosI::linear_acceleration_variance_
private

Definition at line 86 of file spatial_ros_i.h.

◆ magnetic_field_pub_

ros::Publisher phidgets::SpatialRosI::magnetic_field_pub_
private

Definition at line 65 of file spatial_ros_i.h.

◆ magnetic_field_variance_

double phidgets::SpatialRosI::magnetic_field_variance_
private

Definition at line 98 of file spatial_ros_i.h.

◆ nh_

ros::NodeHandle phidgets::SpatialRosI::nh_
private

Definition at line 53 of file spatial_ros_i.h.

◆ nh_private_

ros::NodeHandle phidgets::SpatialRosI::nh_private_
private

Definition at line 54 of file spatial_ros_i.h.

◆ publish_rate_

int phidgets::SpatialRosI::publish_rate_
private

Definition at line 59 of file spatial_ros_i.h.

◆ ros_time_zero_

ros::Time phidgets::SpatialRosI::ros_time_zero_
private

Definition at line 67 of file spatial_ros_i.h.

◆ server_ip_

std::string phidgets::SpatialRosI::server_ip_
private

Definition at line 61 of file spatial_ros_i.h.

◆ server_name_

std::string phidgets::SpatialRosI::server_name_
private

Definition at line 60 of file spatial_ros_i.h.

◆ spatial_

std::unique_ptr<Spatial> phidgets::SpatialRosI::spatial_
private

Definition at line 83 of file spatial_ros_i.h.

◆ spatial_mutex_

std::mutex phidgets::SpatialRosI::spatial_mutex_
private

Definition at line 56 of file spatial_ros_i.h.

◆ synchronize_timestamps_

bool phidgets::SpatialRosI::synchronize_timestamps_ {true}
private

Definition at line 68 of file spatial_ros_i.h.

◆ time_resync_interval_ns_

int64_t phidgets::SpatialRosI::time_resync_interval_ns_ {0}
private

Definition at line 72 of file spatial_ros_i.h.

◆ timer_

ros::Timer phidgets::SpatialRosI::timer_
private

Definition at line 58 of file spatial_ros_i.h.


The documentation for this class was generated from the following files:


phidgets_spatial
Author(s): Ivan Dryanovski
autogenerated on Sun May 11 2025 02:20:41