Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | Static Private Attributes
ProsilicaNode Class Reference

List of all members.

Public Member Functions

void attributeTest (diagnostic_updater::DiagnosticStatusWrapper &status)
void configure (Config &config, uint32_t level)
void frameStatistics (diagnostic_updater::DiagnosticStatusWrapper &status)
void freqStatus (diagnostic_updater::DiagnosticStatusWrapper &status)
void imageTest (diagnostic_updater::DiagnosticStatusWrapper &status)
void infoTest (diagnostic_updater::DiagnosticStatusWrapper &status)
void loadIntrinsics ()
void normalizeCallback (tPvFrame *frame)
void normalizeExposure ()
void packetErrorStatus (diagnostic_updater::DiagnosticStatusWrapper &status)
void packetStatistics (diagnostic_updater::DiagnosticStatusWrapper &status)
void pollCallback (polled_camera::GetPolledImage::Request &req, polled_camera::GetPolledImage::Response &rsp, sensor_msgs::Image &image, sensor_msgs::CameraInfo &info)
bool processFrame (tPvFrame *frame, sensor_msgs::Image &img, sensor_msgs::CameraInfo &cam_info)
 ProsilicaNode (const ros::NodeHandle &node_handle)
void publishImage (tPvFrame *frame)
void runDiagnostics ()
bool setCameraInfo (sensor_msgs::SetCameraInfo::Request &req, sensor_msgs::SetCameraInfo::Response &rsp)
void start ()
void stop ()
void syncInCallback (const std_msgs::HeaderConstPtr &msg)
 ~ProsilicaNode ()

Static Public Member Functions

static bool frameToImage (tPvFrame *frame, sensor_msgs::Image &image)

Private Types

typedef
prosilica_camera::ProsilicaCameraConfig 
Config
typedef
dynamic_reconfigure::Server
< Config
ReconfigureServer

Private Attributes

bool auto_adjust_stream_bytes_per_second_
boost::scoped_ptr
< prosilica::Camera
cam_
sensor_msgs::CameraInfo cam_info_
int consecutive_stable_exposures_
int count_
double desired_freq_
diagnostic_updater::Updater diagnostic_
ros::Timer diagnostic_timer_
RollingSum< unsigned long > frames_completed_acc_
unsigned long frames_completed_total_
RollingSum< unsigned long > frames_dropped_acc_
unsigned long frames_dropped_total_
std::string hw_id_
sensor_msgs::Image img_
image_transport::ImageTransport it_
unsigned long last_exposure_value_
unsigned long max_data_rate_
ros::NodeHandle nh_
RollingSum< unsigned long > packets_missed_acc_
unsigned long packets_missed_total_
RollingSum< unsigned long > packets_received_acc_
unsigned long packets_received_total_
polled_camera::PublicationServer poll_srv_
ReconfigureServer reconfigure_server_
bool running_
boost::shared_ptr
< self_test::TestRunner
self_test_
tPvUint32 sensor_height_
tPvUint32 sensor_width_
ros::ServiceServer set_camera_info_srv_
image_transport::CameraPublisher streaming_pub_
ros::Time trig_time_
std::string trig_timestamp_topic_
prosilica::FrameStartTriggerMode trigger_mode_
ros::Subscriber trigger_sub_

Static Private Attributes

static const int WINDOW_SIZE = 5

Detailed Description

Todo:
Only stream when subscribed to

Definition at line 67 of file prosilica_node.cpp.


Member Typedef Documentation

typedef prosilica_camera::ProsilicaCameraConfig ProsilicaNode::Config [private]

Definition at line 94 of file prosilica_node.cpp.

typedef dynamic_reconfigure::Server<Config> ProsilicaNode::ReconfigureServer [private]

Definition at line 95 of file prosilica_node.cpp.


Constructor & Destructor Documentation

ProsilicaNode::ProsilicaNode ( const ros::NodeHandle node_handle) [inline]

Definition at line 116 of file prosilica_node.cpp.

Definition at line 339 of file prosilica_node.cpp.


Member Function Documentation

Definition at line 825 of file prosilica_node.cpp.

void ProsilicaNode::configure ( Config config,
uint32_t  level 
) [inline]
Todo:
Tighter bound than this minimal check
Todo:
Replicating logic from polledCallback
Todo:
If exception thrown due to bad settings, will fail to start camera

Definition at line 195 of file prosilica_node.cpp.

Definition at line 662 of file prosilica_node.cpp.

static bool ProsilicaNode::frameToImage ( tPvFrame *  frame,
sensor_msgs::Image &  image 
) [inline, static]

Definition at line 451 of file prosilica_node.cpp.

Definition at line 642 of file prosilica_node.cpp.

Definition at line 854 of file prosilica_node.cpp.

Definition at line 807 of file prosilica_node.cpp.

void ProsilicaNode::loadIntrinsics ( ) [inline]

Definition at line 533 of file prosilica_node.cpp.

void ProsilicaNode::normalizeCallback ( tPvFrame *  frame) [inline]

Definition at line 601 of file prosilica_node.cpp.

Todo:
assert(stopped)
Todo:
thread safety

Definition at line 615 of file prosilica_node.cpp.

Definition at line 788 of file prosilica_node.cpp.

Todo:
Something that doesn't oscillate

Definition at line 701 of file prosilica_node.cpp.

void ProsilicaNode::pollCallback ( polled_camera::GetPolledImage::Request &  req,
polled_camera::GetPolledImage::Response &  rsp,
sensor_msgs::Image &  image,
sensor_msgs::CameraInfo &  info 
) [inline]
Todo:
Would be nice if grab() gave more info

Definition at line 390 of file prosilica_node.cpp.

bool ProsilicaNode::processFrame ( tPvFrame *  frame,
sensor_msgs::Image &  img,
sensor_msgs::CameraInfo &  cam_info 
) [inline]
Todo:
Better trigger timestamp matching
Todo:
Match time stamp from frame to ROS time?
Todo:
Binning values retrieved here may differ from the ones used to actually capture the frame! Maybe need to clear queue when changing binning and/or stuff binning values into context?

Definition at line 485 of file prosilica_node.cpp.

void ProsilicaNode::publishImage ( tPvFrame *  frame) [inline]

Definition at line 527 of file prosilica_node.cpp.

void ProsilicaNode::runDiagnostics ( ) [inline]

Definition at line 636 of file prosilica_node.cpp.

bool ProsilicaNode::setCameraInfo ( sensor_msgs::SetCameraInfo::Request &  req,
sensor_msgs::SetCameraInfo::Response &  rsp 
) [inline]

Definition at line 547 of file prosilica_node.cpp.

void ProsilicaNode::start ( ) [inline]
Todo:
add the setting of output sync1 and sync2?

Definition at line 354 of file prosilica_node.cpp.

void ProsilicaNode::stop ( ) [inline]

Definition at line 378 of file prosilica_node.cpp.

Todo:
Replace this with robust trigger matching

Definition at line 346 of file prosilica_node.cpp.


Member Data Documentation

Definition at line 83 of file prosilica_node.cpp.

boost::scoped_ptr<prosilica::Camera> ProsilicaNode::cam_ [private]

Definition at line 78 of file prosilica_node.cpp.

sensor_msgs::CameraInfo ProsilicaNode::cam_info_ [private]

Definition at line 91 of file prosilica_node.cpp.

Definition at line 113 of file prosilica_node.cpp.

int ProsilicaNode::count_ [private]

Definition at line 103 of file prosilica_node.cpp.

double ProsilicaNode::desired_freq_ [private]

Definition at line 104 of file prosilica_node.cpp.

Definition at line 101 of file prosilica_node.cpp.

Definition at line 99 of file prosilica_node.cpp.

Definition at line 107 of file prosilica_node.cpp.

unsigned long ProsilicaNode::frames_completed_total_ [private]

Definition at line 106 of file prosilica_node.cpp.

Definition at line 107 of file prosilica_node.cpp.

unsigned long ProsilicaNode::frames_dropped_total_ [private]

Definition at line 106 of file prosilica_node.cpp.

std::string ProsilicaNode::hw_id_ [private]

Definition at line 102 of file prosilica_node.cpp.

sensor_msgs::Image ProsilicaNode::img_ [private]

Definition at line 90 of file prosilica_node.cpp.

Definition at line 71 of file prosilica_node.cpp.

unsigned long ProsilicaNode::last_exposure_value_ [private]

Definition at line 112 of file prosilica_node.cpp.

unsigned long ProsilicaNode::max_data_rate_ [private]

Definition at line 81 of file prosilica_node.cpp.

Definition at line 70 of file prosilica_node.cpp.

Definition at line 109 of file prosilica_node.cpp.

unsigned long ProsilicaNode::packets_missed_total_ [private]

Definition at line 108 of file prosilica_node.cpp.

Definition at line 109 of file prosilica_node.cpp.

unsigned long ProsilicaNode::packets_received_total_ [private]

Definition at line 108 of file prosilica_node.cpp.

Definition at line 73 of file prosilica_node.cpp.

Definition at line 96 of file prosilica_node.cpp.

bool ProsilicaNode::running_ [private]
Todo:
Make this property of Camera

Definition at line 80 of file prosilica_node.cpp.

boost::shared_ptr<self_test::TestRunner> ProsilicaNode::self_test_ [private]

Definition at line 100 of file prosilica_node.cpp.

tPvUint32 ProsilicaNode::sensor_height_ [private]

Definition at line 82 of file prosilica_node.cpp.

tPvUint32 ProsilicaNode::sensor_width_ [private]

Definition at line 82 of file prosilica_node.cpp.

Definition at line 74 of file prosilica_node.cpp.

Definition at line 72 of file prosilica_node.cpp.

Definition at line 87 of file prosilica_node.cpp.

std::string ProsilicaNode::trig_timestamp_topic_ [private]

Definition at line 86 of file prosilica_node.cpp.

Definition at line 79 of file prosilica_node.cpp.

Definition at line 75 of file prosilica_node.cpp.

const int ProsilicaNode::WINDOW_SIZE = 5 [static, private]

Definition at line 105 of file prosilica_node.cpp.


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


prosilica_camera
Author(s): Maintained by William Woodall - wwoodall@willowgarage.com
autogenerated on Mon Oct 6 2014 03:56:56