Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CrazyflieROS Class Reference

Classes

struct  log2
 
struct  logImu
 
struct  logPose
 

Public Member Functions

 CrazyflieROS (const std::string &link_uri, const std::string &tf_prefix, float roll_trim, float pitch_trim, bool enable_logging, bool enable_parameters, std::vector< crazyflie_driver::LogBlock > &log_blocks, bool use_ros_time, bool enable_logging_imu, bool enable_logging_temperature, bool enable_logging_magnetic_field, bool enable_logging_pressure, bool enable_logging_battery, bool enable_logging_pose, bool enable_logging_packets)
 
bool sendPacket (crazyflie_driver::sendPacket::Request &req, crazyflie_driver::sendPacket::Response &res)
 
void stop ()
 

Private Member Functions

struct CrazyflieROS::logImu __attribute__ ((packed))
 
struct CrazyflieROS::log2 __attribute__ ((packed))
 
struct CrazyflieROS::logPose __attribute__ ((packed))
 
void cmdFullStateSetpoint (const crazyflie_driver::FullState::ConstPtr &msg)
 
void cmdHoverSetpoint (const crazyflie_driver::Hover::ConstPtr &msg)
 
void cmdPositionSetpoint (const crazyflie_driver::Position::ConstPtr &msg)
 
void cmdStop (const std_msgs::Empty::ConstPtr &msg)
 
void cmdVelChanged (const geometry_msgs::Twist::ConstPtr &msg)
 
void cmdVelocityWorldSetpoint (const crazyflie_driver::VelocityWorld::ConstPtr &msg)
 
bool emergency (std_srvs::Empty::Request &req, std_srvs::Empty::Response &res)
 
bool goTo (crazyflie_driver::GoTo::Request &req, crazyflie_driver::GoTo::Response &res)
 
bool land (crazyflie_driver::Land::Request &req, crazyflie_driver::Land::Response &res)
 
bool notifySetpointsStop (crazyflie_driver::NotifySetpointsStop::Request &req, crazyflie_driver::NotifySetpointsStop::Response &res)
 
void onConsole (const char *msg)
 
void onEmptyAck (const crtpPlatformRSSIAck *data)
 
void onGenericPacket (const ITransport::Ack &ack)
 
void onImuData (uint32_t time_in_ms, logImu *data)
 
void onLinkQuality (float linkQuality)
 
void onLog2Data (uint32_t time_in_ms, log2 *data)
 
void onLogCustom (uint32_t time_in_ms, std::vector< double > *values, void *userData)
 
void onPoseData (uint32_t time_in_ms, logPose *data)
 
void poseMeasurementChanged (const geometry_msgs::PoseStamped::ConstPtr &msg)
 
void positionMeasurementChanged (const geometry_msgs::PointStamped::ConstPtr &msg)
 
void run ()
 
bool setGroupMask (crazyflie_driver::SetGroupMask::Request &req, crazyflie_driver::SetGroupMask::Response &res)
 
bool startTrajectory (crazyflie_driver::StartTrajectory::Request &req, crazyflie_driver::StartTrajectory::Response &res)
 
bool stop (crazyflie_driver::Stop::Request &req, crazyflie_driver::Stop::Response &res)
 
bool takeoff (crazyflie_driver::Takeoff::Request &req, crazyflie_driver::Takeoff::Response &res)
 
template<class T , class U >
void updateParam (uint16_t id, const std::string &ros_param)
 
bool updateParams (crazyflie_driver::UpdateParams::Request &req, crazyflie_driver::UpdateParams::Response &res)
 
bool uploadTrajectory (crazyflie_driver::UploadTrajectory::Request &req, crazyflie_driver::UploadTrajectory::Response &res)
 

Private Attributes

ros::CallbackQueue m_callback_queue
 
Crazyflie m_cf
 
bool m_enable_logging_battery
 
bool m_enable_logging_imu
 
bool m_enable_logging_magnetic_field
 
bool m_enable_logging_packets
 
bool m_enable_logging_pose
 
bool m_enable_logging_pressure
 
bool m_enable_logging_temperature
 
bool m_enableLogging
 
bool m_enableParameters
 
bool m_isEmergency
 
std::vector< crazyflie_driver::LogBlock > m_logBlocks
 
float m_pitch_trim
 
ros::Publisher m_pubBattery
 
ros::Publisher m_pubImu
 
std::vector< ros::Publisherm_pubLogDataGeneric
 
ros::Publisher m_pubMag
 
ros::Publisher m_pubPackets
 
ros::Publisher m_pubPose
 
ros::Publisher m_pubPressure
 
ros::Publisher m_pubRssi
 
ros::Publisher m_pubTemp
 
float m_roll_trim
 
ros::ServiceServer m_sendPacketServer
 
bool m_sentExternalPosition
 
bool m_sentSetpoint
 
ros::ServiceServer m_serviceEmergency
 
ros::ServiceServer m_serviceGoTo
 
ros::ServiceServer m_serviceLand
 
ros::ServiceServer m_serviceNotifySetpointsStop
 
ros::ServiceServer m_serviceSetGroupMask
 
ros::ServiceServer m_serviceStartTrajectory
 
ros::ServiceServer m_serviceStop
 
ros::ServiceServer m_serviceTakeoff
 
ros::ServiceServer m_serviceUpdateParams
 
ros::ServiceServer m_serviceUploadTrajectory
 
ros::Subscriber m_subscribeCmdFullState
 
ros::Subscriber m_subscribeCmdHover
 
ros::Subscriber m_subscribeCmdPosition
 
ros::Subscriber m_subscribeCmdStop
 
ros::Subscriber m_subscribeCmdVel
 
ros::Subscriber m_subscribeCmdVelocityWorld
 
ros::Subscriber m_subscribeExternalPose
 
ros::Subscriber m_subscribeExternalPosition
 
std::string m_tf_prefix
 
std::thread m_thread
 
bool m_use_ros_time
 

Detailed Description

Definition at line 84 of file crazyflie_server.cpp.

Constructor & Destructor Documentation

CrazyflieROS::CrazyflieROS ( const std::string &  link_uri,
const std::string &  tf_prefix,
float  roll_trim,
float  pitch_trim,
bool  enable_logging,
bool  enable_parameters,
std::vector< crazyflie_driver::LogBlock > &  log_blocks,
bool  use_ros_time,
bool  enable_logging_imu,
bool  enable_logging_temperature,
bool  enable_logging_magnetic_field,
bool  enable_logging_pressure,
bool  enable_logging_battery,
bool  enable_logging_pose,
bool  enable_logging_packets 
)
inline

Definition at line 87 of file crazyflie_server.cpp.

Member Function Documentation

struct CrazyflieROS::logImu CrazyflieROS::__attribute__ ( (packed)  )
private
struct CrazyflieROS::log2 CrazyflieROS::__attribute__ ( (packed)  )
private
struct CrazyflieROS::logPose CrazyflieROS::__attribute__ ( (packed)  )
private
void CrazyflieROS::cmdFullStateSetpoint ( const crazyflie_driver::FullState::ConstPtr &  msg)
inlineprivate

Definition at line 324 of file crazyflie_server.cpp.

void CrazyflieROS::cmdHoverSetpoint ( const crazyflie_driver::Hover::ConstPtr &  msg)
inlineprivate

Definition at line 224 of file crazyflie_server.cpp.

void CrazyflieROS::cmdPositionSetpoint ( const crazyflie_driver::Position::ConstPtr &  msg)
inlineprivate

Definition at line 251 of file crazyflie_server.cpp.

void CrazyflieROS::cmdStop ( const std_msgs::Empty::ConstPtr &  msg)
inlineprivate

Definition at line 240 of file crazyflie_server.cpp.

void CrazyflieROS::cmdVelChanged ( const geometry_msgs::Twist::ConstPtr &  msg)
inlineprivate

Definition at line 310 of file crazyflie_server.cpp.

void CrazyflieROS::cmdVelocityWorldSetpoint ( const crazyflie_driver::VelocityWorld::ConstPtr &  msg)
inlineprivate

Definition at line 358 of file crazyflie_server.cpp.

bool CrazyflieROS::emergency ( std_srvs::Empty::Request &  req,
std_srvs::Empty::Response res 
)
inlineprivate

Definition at line 206 of file crazyflie_server.cpp.

bool CrazyflieROS::goTo ( crazyflie_driver::GoTo::Request &  req,
crazyflie_driver::GoTo::Response res 
)
inlineprivate

Definition at line 788 of file crazyflie_server.cpp.

bool CrazyflieROS::land ( crazyflie_driver::Land::Request &  req,
crazyflie_driver::Land::Response res 
)
inlineprivate

Definition at line 770 of file crazyflie_server.cpp.

bool CrazyflieROS::notifySetpointsStop ( crazyflie_driver::NotifySetpointsStop::Request &  req,
crazyflie_driver::NotifySetpointsStop::Response res 
)
inlineprivate

Definition at line 835 of file crazyflie_server.cpp.

void CrazyflieROS::onConsole ( const char *  msg)
inlineprivate

Definition at line 733 of file crazyflie_server.cpp.

void CrazyflieROS::onEmptyAck ( const crtpPlatformRSSIAck data)
inlineprivate

Definition at line 720 of file crazyflie_server.cpp.

void CrazyflieROS::onGenericPacket ( const ITransport::Ack ack)
inlineprivate

Definition at line 744 of file crazyflie_server.cpp.

void CrazyflieROS::onImuData ( uint32_t  time_in_ms,
logImu data 
)
inlineprivate

Definition at line 608 of file crazyflie_server.cpp.

void CrazyflieROS::onLinkQuality ( float  linkQuality)
inlineprivate

Definition at line 727 of file crazyflie_server.cpp.

void CrazyflieROS::onLog2Data ( uint32_t  time_in_ms,
log2 data 
)
inlineprivate

Definition at line 633 of file crazyflie_server.cpp.

void CrazyflieROS::onLogCustom ( uint32_t  time_in_ms,
std::vector< double > *  values,
void *  userData 
)
inlineprivate

Definition at line 704 of file crazyflie_server.cpp.

void CrazyflieROS::onPoseData ( uint32_t  time_in_ms,
logPose data 
)
inlineprivate

Definition at line 679 of file crazyflie_server.cpp.

void CrazyflieROS::poseMeasurementChanged ( const geometry_msgs::PoseStamped::ConstPtr &  msg)
inlineprivate

Definition at line 382 of file crazyflie_server.cpp.

void CrazyflieROS::positionMeasurementChanged ( const geometry_msgs::PointStamped::ConstPtr &  msg)
inlineprivate

Definition at line 375 of file crazyflie_server.cpp.

void CrazyflieROS::run ( )
inlineprivate

Definition at line 391 of file crazyflie_server.cpp.

bool CrazyflieROS::sendPacket ( crazyflie_driver::sendPacket::Request &  req,
crazyflie_driver::sendPacket::Response res 
)
inline

Service callback which transmits a packet to the crazyflie

Parameters
reqThe service request, which contains a crtpPacket to transmit.
resThe service response, which is not used.
Returns
returns true always

Convert the message struct to the packet struct

Definition at line 164 of file crazyflie_server.cpp.

bool CrazyflieROS::setGroupMask ( crazyflie_driver::SetGroupMask::Request &  req,
crazyflie_driver::SetGroupMask::Response res 
)
inlineprivate

Definition at line 752 of file crazyflie_server.cpp.

bool CrazyflieROS::startTrajectory ( crazyflie_driver::StartTrajectory::Request &  req,
crazyflie_driver::StartTrajectory::Response res 
)
inlineprivate

Definition at line 826 of file crazyflie_server.cpp.

void CrazyflieROS::stop ( )
inline

Definition at line 151 of file crazyflie_server.cpp.

bool CrazyflieROS::stop ( crazyflie_driver::Stop::Request &  req,
crazyflie_driver::Stop::Response res 
)
inlineprivate

Definition at line 779 of file crazyflie_server.cpp.

bool CrazyflieROS::takeoff ( crazyflie_driver::Takeoff::Request &  req,
crazyflie_driver::Takeoff::Response res 
)
inlineprivate

Definition at line 761 of file crazyflie_server.cpp.

template<class T , class U >
void CrazyflieROS::updateParam ( uint16_t  id,
const std::string &  ros_param 
)
inlineprivate

Definition at line 218 of file crazyflie_server.cpp.

bool CrazyflieROS::updateParams ( crazyflie_driver::UpdateParams::Request &  req,
crazyflie_driver::UpdateParams::Response res 
)
inlineprivate

Definition at line 265 of file crazyflie_server.cpp.

bool CrazyflieROS::uploadTrajectory ( crazyflie_driver::UploadTrajectory::Request &  req,
crazyflie_driver::UploadTrajectory::Response res 
)
inlineprivate

Definition at line 797 of file crazyflie_server.cpp.

Member Data Documentation

ros::CallbackQueue CrazyflieROS::m_callback_queue
private

Definition at line 897 of file crazyflie_server.cpp.

Crazyflie CrazyflieROS::m_cf
private

Definition at line 846 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_battery
private

Definition at line 858 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_imu
private

Definition at line 854 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_magnetic_field
private

Definition at line 856 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_packets
private

Definition at line 860 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_pose
private

Definition at line 859 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_pressure
private

Definition at line 857 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enable_logging_temperature
private

Definition at line 855 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enableLogging
private

Definition at line 850 of file crazyflie_server.cpp.

bool CrazyflieROS::m_enableParameters
private

Definition at line 851 of file crazyflie_server.cpp.

bool CrazyflieROS::m_isEmergency
private

Definition at line 847 of file crazyflie_server.cpp.

std::vector<crazyflie_driver::LogBlock> CrazyflieROS::m_logBlocks
private

Definition at line 852 of file crazyflie_server.cpp.

float CrazyflieROS::m_pitch_trim
private

Definition at line 849 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubBattery
private

Definition at line 888 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubImu
private

Definition at line 884 of file crazyflie_server.cpp.

std::vector<ros::Publisher> CrazyflieROS::m_pubLogDataGeneric
private

Definition at line 892 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubMag
private

Definition at line 886 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubPackets
private

Definition at line 890 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubPose
private

Definition at line 889 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubPressure
private

Definition at line 887 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubRssi
private

Definition at line 891 of file crazyflie_server.cpp.

ros::Publisher CrazyflieROS::m_pubTemp
private

Definition at line 885 of file crazyflie_server.cpp.

float CrazyflieROS::m_roll_trim
private

Definition at line 848 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_sendPacketServer
private

Definition at line 864 of file crazyflie_server.cpp.

bool CrazyflieROS::m_sentExternalPosition
private

Definition at line 894 of file crazyflie_server.cpp.

bool CrazyflieROS::m_sentSetpoint
private

Definition at line 894 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceEmergency
private

Definition at line 862 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceGoTo
private

Definition at line 871 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceLand
private

Definition at line 869 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceNotifySetpointsStop
private

Definition at line 874 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceSetGroupMask
private

Definition at line 867 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceStartTrajectory
private

Definition at line 873 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceStop
private

Definition at line 870 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceTakeoff
private

Definition at line 868 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceUpdateParams
private

Definition at line 863 of file crazyflie_server.cpp.

ros::ServiceServer CrazyflieROS::m_serviceUploadTrajectory
private

Definition at line 872 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeCmdFullState
private

Definition at line 877 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeCmdHover
private

Definition at line 878 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeCmdPosition
private

Definition at line 880 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeCmdStop
private

Definition at line 879 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeCmdVel
private

Definition at line 876 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeCmdVelocityWorld
private

Definition at line 883 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeExternalPose
private

Definition at line 882 of file crazyflie_server.cpp.

ros::Subscriber CrazyflieROS::m_subscribeExternalPosition
private

Definition at line 881 of file crazyflie_server.cpp.

std::string CrazyflieROS::m_tf_prefix
private

Definition at line 845 of file crazyflie_server.cpp.

std::thread CrazyflieROS::m_thread
private

Definition at line 896 of file crazyflie_server.cpp.

bool CrazyflieROS::m_use_ros_time
private

Definition at line 853 of file crazyflie_server.cpp.


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


crazyflie_driver
Author(s): Wolfgang Hoenig
autogenerated on Mon Sep 28 2020 03:40:13