Grabber for DINAST devices (i.e., IPA-1002, IPA-1110, IPA-2001)
More...
#include <pcl/io/dinast_grabber.h>
Public Member Functions |
| | DinastGrabber (const int device_position=1) |
| | Constructor that sets up the grabber constants.
|
| virtual | ~DinastGrabber () throw () |
| | Destructor.
|
| virtual bool | isRunning () const |
| | Check if the grabber is running.
|
| virtual std::string | getName () const |
| | Returns the name of the concrete subclass, DinastGrabber.
|
| virtual void | start () |
| | Start the data acquisition process.
|
| virtual void | stop () |
| | Stop the data acquisition process.
|
| virtual float | getFramesPerSecond () const |
| | Obtain the number of frames per second (FPS).
|
| std::string | getDeviceVersion () |
| | Get the version number of the currently opened device.
|
| | Grabber () |
| | Constructor.
|
| virtual | ~Grabber () throw () |
| | virtual desctructor.
|
| template<typename T > |
| boost::signals2::connection | registerCallback (const boost::function< T > &callback) |
| | registers a callback function/method to a signal with the corresponding signature
|
| template<typename T > |
| bool | providesCallback () const |
| | indicates whether a signal with given parameter-type exists or not
|
Detailed Description
Grabber for DINAST devices (i.e., IPA-1002, IPA-1110, IPA-2001)
- Author
- Marco A. Gutierrez marco.nosp@m.g@un.nosp@m.ex.es
Definition at line 57 of file dinast_grabber.h.
Member Enumeration Documentation
Device command values.
- Enumerator:
| CMD_READ_START |
|
| CMD_READ_STOP |
|
| CMD_GET_VERSION |
|
| CMD_SEND_DATA |
|
Definition at line 201 of file dinast_grabber.h.
Constructor & Destructor Documentation
| pcl::DinastGrabber::DinastGrabber |
( |
const int |
device_position = 1 | ) |
|
Constructor that sets up the grabber constants.
- Parameters
-
| [in] | device_position | Number corresponding the device to grab |
| virtual pcl::DinastGrabber::~DinastGrabber |
( |
| ) |
throw () |
|
virtual |
Destructor.
It never throws.
Member Function Documentation
| void pcl::DinastGrabber::captureThreadFunction |
( |
| ) |
|
|
protected |
The function in charge of getting the data from the camera.
| int pcl::DinastGrabber::checkHeader |
( |
| ) |
|
|
protected |
Check if we have a header in the global buffer, and return the position of the next valid image.
- Note
- If the image in the buffer is partial, return -1, as we have to wait until we add more data to it.
- Returns
- the position of the next valid image (i.e., right after a valid header) or -1 in case the buffer either doesn't have an image or has a partial image
| std::string pcl::DinastGrabber::getDeviceVersion |
( |
| ) |
|
Get the version number of the currently opened device.
| virtual float pcl::DinastGrabber::getFramesPerSecond |
( |
| ) |
const |
|
virtual |
Obtain the number of frames per second (FPS).
Implements pcl::Grabber.
| virtual std::string pcl::DinastGrabber::getName |
( |
| ) |
const |
|
inlinevirtual |
Obtains XYZI Point Cloud from the image of the camera.
- Returns
- the point cloud from the image data
| virtual bool pcl::DinastGrabber::isRunning |
( |
| ) |
const |
|
virtual |
Check if the grabber is running.
- Returns
- true if grabber is running / streaming. False otherwise.
Implements pcl::Grabber.
| void pcl::DinastGrabber::onInit |
( |
const int |
device_id | ) |
|
|
protected |
On initialization processing.
| void pcl::DinastGrabber::readImage |
( |
| ) |
|
|
protected |
Read image data and leaves it on image_.
| void pcl::DinastGrabber::setupDevice |
( |
int |
device_position, |
|
|
const int |
id_vendor = 0x18d1, |
|
|
const int |
id_product = 0x1402 |
|
) |
| |
|
protected |
Setup a Dinast 3D camera device.
- Parameters
-
| [in] | device_position | Number corresponding the device to grab |
| [in] | id_vendor | The ID of the camera vendor (should be 0x18d1) |
| [in] | id_product | The ID of the product (should be 0x1402) |
| virtual void pcl::DinastGrabber::start |
( |
| ) |
|
|
virtual |
Start the data acquisition process.
Implements pcl::Grabber.
| virtual void pcl::DinastGrabber::stop |
( |
| ) |
|
|
virtual |
| bool pcl::DinastGrabber::USBRxControlData |
( |
const unsigned char |
req_code, |
|
|
unsigned char * |
buffer, |
|
|
int |
length |
|
) |
| |
|
protected |
Send a RX data packet request.
- Parameters
-
| [in] | req_code | the request to send (the request field for the setup packet) |
| buffer | |
| [in] | length | the length field for the setup packet. The data buffer should be at least this size. |
| bool pcl::DinastGrabber::USBTxControlData |
( |
const unsigned char |
req_code, |
|
|
unsigned char * |
buffer, |
|
|
int |
length |
|
) |
| |
|
protected |
Send a TX data packet request.
- Parameters
-
| [in] | req_code | the request to send (the request field for the setup packet) |
| buffer | |
| [in] | length | the length field for the setup packet. The data buffer should be at least this size. |
Member Data Documentation
| unsigned char pcl::DinastGrabber::bulk_ep_ |
|
protected |
| boost::mutex pcl::DinastGrabber::capture_mutex_ |
|
mutableprotected |
| boost::thread pcl::DinastGrabber::capture_thread_ |
|
protected |
| libusb_context* pcl::DinastGrabber::context_ |
|
protected |
| struct libusb_device_handle* pcl::DinastGrabber::device_handle_ |
|
protected |
| double pcl::DinastGrabber::dist_max_2d_ |
|
protected |
| double pcl::DinastGrabber::fov_ |
|
protected |
| boost::circular_buffer<unsigned char> pcl::DinastGrabber::g_buffer_ |
|
protected |
| unsigned char* pcl::DinastGrabber::image_ |
|
protected |
| int pcl::DinastGrabber::image_height_ |
|
protected |
| int pcl::DinastGrabber::image_size_ |
|
protected |
| int pcl::DinastGrabber::image_width_ |
|
protected |
| boost::signals2::signal<sig_cb_dinast_point_cloud>* pcl::DinastGrabber::point_cloud_signal_ |
|
protected |
| unsigned char* pcl::DinastGrabber::raw_buffer_ |
|
protected |
Temporary USB read buffer, since we read two RGB16 images at a time size is the double of two images plus a sync packet.
Definition at line 192 of file dinast_grabber.h.
| bool pcl::DinastGrabber::running_ |
|
protected |
| bool pcl::DinastGrabber::second_image_ |
|
protected |
Since there is no header after the first image, we need to save the state.
Definition at line 206 of file dinast_grabber.h.
| int pcl::DinastGrabber::sync_packet_size_ |
|
protected |
The documentation for this class was generated from the following file: