Firewire camera. More...
#include <>>
Public Member Functions | |
FirewireCamera (dc1394framerate_t framerate=DC1394_FRAMERATE_30, dc1394video_mode_t mode=DC1394_VIDEO_MODE_640x480_YUV422, dc1394speed_t speed=DC1394_ISO_SPEED_400, int num_buffers=8) | |
Constructor. | |
FirewireCamera (const CameraArgumentParser *cap) | |
Constructor. | |
virtual | ~FirewireCamera () |
Empty destructor. | |
virtual void | open () |
virtual void | start () |
virtual void | stop () |
virtual void | close () |
virtual void | flush () |
virtual void | capture () |
virtual void | print_info () |
virtual bool | ready () |
virtual unsigned char * | buffer () |
virtual unsigned int | buffer_size () |
virtual void | dispose_buffer () |
virtual unsigned int | pixel_width () |
virtual unsigned int | pixel_height () |
virtual colorspace_t | colorspace () |
virtual void | set_image_number (unsigned int n) |
bool | iso_mode_enabled () |
Check if ISO mode is enabled. | |
virtual bool | auto_focus () |
Check if auto focus is enabled. | |
virtual void | set_auto_focus (bool enabled) |
Enable or disable auto focus. | |
virtual unsigned int | focus () |
Get current focus value. | |
virtual void | set_focus (unsigned int focus) |
Set new focus value. | |
virtual unsigned int | focus_min () |
Get minimum focus value. | |
virtual unsigned int | focus_max () |
Get maximum focus value. | |
virtual bool | auto_shutter () |
Get status of auto shutter. | |
virtual void | set_auto_shutter (bool enabled) |
Set status of auto shutter. | |
virtual unsigned int | shutter () |
Get shutter value. | |
virtual void | set_shutter (unsigned int shutter) |
Set shutter value. | |
virtual bool | auto_white_balance () |
Get status of auto white balance. | |
virtual void | set_auto_white_balance (bool enabled) |
Set status of auto white balance. | |
virtual void | white_balance (unsigned int *ub, unsigned int *vr) |
Get white balance values. | |
virtual void | set_white_balance (unsigned int ub, unsigned int vr) |
Set white balance values. | |
virtual void | set_gain (unsigned int gain) |
Set the gain. | |
virtual void | parse_set_focus (const char *focus) |
Parse focus and set value. | |
virtual void | parse_set_white_balance (const char *white_balance) |
Parse white balance and set value. | |
virtual void | parse_set_shutter (const char *shutter) |
Parse shutter and set value. | |
virtual uint64_t | guid () const |
Get Firewire GUID of camera. | |
virtual const char * | model () const |
Get camera model. | |
Static Public Member Functions | |
static void | print_available_fwcams () |
Print list of cameras. | |
Protected Attributes | |
int | _num_buffers |
Number of DMA buffers. | |
bool | _opened |
true if camera has been opened, false otherwise | |
bool | _started |
true if camera has been started, false otherwise | |
bool | _auto_focus |
true if auto focus is enabled, false if disabled | |
bool | _auto_shutter |
true if auto shutter is enabled, false if disabled | |
bool | _auto_white_balance |
true if auto white balance is enabled, false if disabled | |
bool | _valid_frame_received |
true, if a valid frame has been received, false otherwise | |
bool | _do_set_shutter |
true if the shutter should actually be set, false otherwise | |
bool | _do_set_white_balance |
true if the white balance should actually be set, false otherwise | |
bool | _do_set_focus |
true if the focus should actually be set, false otherwise | |
dc1394_t * | _dc1394 |
DC1394 main context. | |
dc1394video_mode_t | _mode |
DC1394 video mode. | |
bool | _format7_mode_enabled |
Indicator of Format7 status. | |
dc1394speed_t | _speed |
DC1394 speed. | |
dc1394framerate_t | _framerate |
DC1394 framerate. | |
dc1394camera_t * | _camera |
DC1394 camera handle. | |
dc1394video_frame_t * | _frame |
Last captured DC1394 video frame. | |
dc1394color_coding_t | _format7_coding |
Format7 color coding. | |
int | _format7_bpp |
Format7 bytes per packet. | |
int | _format7_width |
Format7 width. | |
int | _format7_height |
Format7 height. | |
int | _format7_startx |
Format7 ROI Start X coordinate. | |
int | _format7_starty |
Format7 ROI Start Y coordinate. | |
unsigned int | _white_balance_ub |
White balance U/B value. | |
unsigned int | _white_balance_vr |
White balance V/R value. | |
unsigned int | _shutter |
Shutter value. | |
unsigned int | _focus |
Focus value. | |
unsigned int | _gain |
Gain value. | |
bool | _auto_gain |
True, if gain is set automatically. | |
char * | _model |
Camera model, used in open to identify the camera, if empty first found camera is used. |
Firewire camera.
This camera implementation allows for access to IEEE1394 cameras via libdc1394.
Definition at line 44 of file firewire.h.
firevision::FirewireCamera::FirewireCamera | ( | dc1394framerate_t | framerate = DC1394_FRAMERATE_30 , |
|
dc1394video_mode_t | mode = DC1394_VIDEO_MODE_640x480_YUV422 , |
|||
dc1394speed_t | speed = DC1394_ISO_SPEED_400 , |
|||
int | num_buffers = 8 | |||
) |
Constructor.
framerate | desired framerate | |
mode | desired mode | |
speed | IEEE 1394 speed | |
num_buffers | number of DMA buffers |
Definition at line 60 of file firewire.cpp.
References _auto_focus, _auto_gain, _auto_shutter, _auto_white_balance, _camera, _dc1394, _do_set_focus, _do_set_shutter, _do_set_white_balance, _format7_bpp, _format7_height, _format7_mode_enabled, _format7_startx, _format7_starty, _format7_width, _framerate, _gain, _mode, _model, _num_buffers, _opened, _speed, _started, _valid_frame_received, _white_balance_ub, and _white_balance_vr.
firevision::FirewireCamera::FirewireCamera | ( | const CameraArgumentParser * | cap | ) |
Constructor.
Initialize and take parameters from camera argument parser. The following arguments are supported:
cap | camera argument parser |
Definition at line 854 of file firewire.cpp.
References _auto_focus, _auto_gain, _auto_shutter, _auto_white_balance, _camera, _dc1394, _do_set_focus, _do_set_shutter, _do_set_white_balance, _format7_bpp, _format7_coding, _format7_height, _format7_mode_enabled, _format7_startx, _format7_starty, _format7_width, _framerate, _gain, _mode, _model, _num_buffers, _opened, _shutter, _speed, _started, _valid_frame_received, _white_balance_ub, _white_balance_vr, firevision::CameraArgumentParser::cam_id(), firevision::CameraArgumentParser::get(), firevision::CameraArgumentParser::has(), parse_set_focus(), parse_set_shutter(), and parse_set_white_balance().
firevision::FirewireCamera::~FirewireCamera | ( | ) | [virtual] |
bool firevision::FirewireCamera::auto_focus | ( | ) | [virtual] |
Check if auto focus is enabled.
NotImplementedException | Not implemented by this control |
Implements firevision::CameraControlFocus.
Definition at line 540 of file firewire.cpp.
References _auto_focus.
bool firevision::FirewireCamera::auto_shutter | ( | ) | [virtual] |
Get status of auto shutter.
Definition at line 610 of file firewire.cpp.
References _auto_shutter.
bool firevision::FirewireCamera::auto_white_balance | ( | ) | [virtual] |
Get status of auto white balance.
Definition at line 660 of file firewire.cpp.
References _auto_white_balance.
unsigned int firevision::FirewireCamera::focus | ( | ) | [virtual] |
Get current focus value.
Implements firevision::CameraControlFocus.
Definition at line 547 of file firewire.cpp.
References _camera.
unsigned int firevision::FirewireCamera::focus_max | ( | ) | [virtual] |
Get maximum focus value.
Implements firevision::CameraControlFocus.
Definition at line 580 of file firewire.cpp.
References _camera.
unsigned int firevision::FirewireCamera::focus_min | ( | ) | [virtual] |
Get minimum focus value.
Implements firevision::CameraControlFocus.
Definition at line 567 of file firewire.cpp.
References _camera.
uint64_t firevision::FirewireCamera::guid | ( | ) | const [virtual] |
Get Firewire GUID of camera.
Definition at line 291 of file firewire.cpp.
References _camera, and _opened.
Referenced by firevision::TriclopsStereoProcessor::generate_rectification_lut(), and firevision::Bumblebee2Camera::verify_guid().
bool firevision::FirewireCamera::iso_mode_enabled | ( | ) |
Check if ISO mode is enabled.
Exception | thrown if the transmission status could not be determined |
Definition at line 255 of file firewire.cpp.
References _camera.
const char * firevision::FirewireCamera::model | ( | ) | const [virtual] |
Get camera model.
Definition at line 305 of file firewire.cpp.
References _camera, and _opened.
Referenced by firevision::TriclopsStereoProcessor::generate_rectification_lut().
void firevision::FirewireCamera::parse_set_focus | ( | const char * | focus | ) | [virtual] |
Parse focus and set value.
Parses the given string for a valid focus value and sets it.
focus | string representation of value |
Definition at line 724 of file firewire.cpp.
References _auto_focus, _do_set_focus, and _focus.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
void firevision::FirewireCamera::parse_set_shutter | ( | const char * | shutter | ) | [virtual] |
Parse shutter and set value.
Parses the given string for a valid shutter value and sets it.
shutter | string representation of value |
Definition at line 793 of file firewire.cpp.
References _auto_shutter, _do_set_shutter, and _shutter.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
void firevision::FirewireCamera::parse_set_white_balance | ( | const char * | white_balance | ) | [virtual] |
Parse white balance and set value.
Parses the given string for a valid white balance value and sets it.
white_balance | string representation of value |
Definition at line 751 of file firewire.cpp.
References _auto_white_balance, _do_set_white_balance, _white_balance_ub, and _white_balance_vr.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
void firevision::FirewireCamera::print_available_fwcams | ( | ) | [static] |
Print list of cameras.
Prints a list of available cameras to stdout.
Definition at line 998 of file firewire.cpp.
void firevision::FirewireCamera::set_auto_focus | ( | bool | enabled | ) | [virtual] |
Enable or disable auto focus.
enabled | if true, enable auto focus, otherwise disable |
NotImplementedException | Not implemented by this control |
Implements firevision::CameraControlFocus.
Definition at line 525 of file firewire.cpp.
References _auto_focus, _camera, and _model.
void firevision::FirewireCamera::set_auto_shutter | ( | bool | enabled | ) | [virtual] |
Set status of auto shutter.
enabled | true to enable auto shutter, false to disable. |
Definition at line 596 of file firewire.cpp.
References _auto_shutter, and _camera.
void firevision::FirewireCamera::set_auto_white_balance | ( | bool | enabled | ) | [virtual] |
Set status of auto white balance.
enabled | true to enable auto white balance, false to disable. |
Definition at line 646 of file firewire.cpp.
References _auto_white_balance, and _camera.
void firevision::FirewireCamera::set_focus | ( | unsigned int | focus | ) | [virtual] |
Set new focus value.
focus | new focus value |
Implements firevision::CameraControlFocus.
Definition at line 560 of file firewire.cpp.
References _camera.
void firevision::FirewireCamera::set_gain | ( | unsigned int | gain | ) | [virtual] |
Set the gain.
gain | the gain value |
Definition at line 698 of file firewire.cpp.
References _camera.
void firevision::FirewireCamera::set_shutter | ( | unsigned int | shutter | ) | [virtual] |
Set shutter value.
shutter | shutter value |
Definition at line 620 of file firewire.cpp.
References _camera.
void firevision::FirewireCamera::set_white_balance | ( | unsigned int | ub, | |
unsigned int | vr | |||
) | [virtual] |
Set white balance values.
ub | U/B value | |
vr | V/R value |
Definition at line 687 of file firewire.cpp.
References _camera.
unsigned int firevision::FirewireCamera::shutter | ( | ) | [virtual] |
void firevision::FirewireCamera::white_balance | ( | unsigned int * | ub, | |
unsigned int * | vr | |||
) | [virtual] |
Get white balance values.
ub | contains U/B value upon return | |
vr | contains V/R value upon return |
Definition at line 671 of file firewire.cpp.
References _camera, _white_balance_ub, and _white_balance_vr.
bool firevision::FirewireCamera::_auto_focus [protected] |
true if auto focus is enabled, false if disabled
Definition at line 120 of file firewire.h.
Referenced by auto_focus(), FirewireCamera(), parse_set_focus(), and set_auto_focus().
bool firevision::FirewireCamera::_auto_gain [protected] |
True, if gain is set automatically.
Definition at line 175 of file firewire.h.
Referenced by FirewireCamera().
bool firevision::FirewireCamera::_auto_shutter [protected] |
true if auto shutter is enabled, false if disabled
Definition at line 122 of file firewire.h.
Referenced by auto_shutter(), FirewireCamera(), parse_set_shutter(), and set_auto_shutter().
bool firevision::FirewireCamera::_auto_white_balance [protected] |
true if auto white balance is enabled, false if disabled
Definition at line 124 of file firewire.h.
Referenced by auto_white_balance(), FirewireCamera(), parse_set_white_balance(), and set_auto_white_balance().
dc1394camera_t* firevision::FirewireCamera::_camera [protected] |
DC1394 camera handle.
Definition at line 145 of file firewire.h.
Referenced by FirewireCamera(), focus(), focus_max(), focus_min(), guid(), firevision::Bumblebee2Camera::is_bumblebee2(), iso_mode_enabled(), model(), firevision::Bumblebee2Camera::serial_no(), set_auto_focus(), set_auto_shutter(), set_auto_white_balance(), firevision::PikeCamera::set_autofunction_aoi(), set_focus(), set_gain(), set_shutter(), set_white_balance(), shutter(), white_balance(), and firevision::Bumblebee2Camera::write_triclops_config_from_camera_to_file().
dc1394_t* firevision::FirewireCamera::_dc1394 [protected] |
bool firevision::FirewireCamera::_do_set_focus [protected] |
true if the focus should actually be set, false otherwise
Definition at line 132 of file firewire.h.
Referenced by FirewireCamera(), and parse_set_focus().
bool firevision::FirewireCamera::_do_set_shutter [protected] |
true if the shutter should actually be set, false otherwise
Definition at line 128 of file firewire.h.
Referenced by FirewireCamera(), and parse_set_shutter().
bool firevision::FirewireCamera::_do_set_white_balance [protected] |
true if the white balance should actually be set, false otherwise
Definition at line 130 of file firewire.h.
Referenced by FirewireCamera(), and parse_set_white_balance().
unsigned int firevision::FirewireCamera::_focus [protected] |
int firevision::FirewireCamera::_format7_bpp [protected] |
Format7 bytes per packet.
Definition at line 151 of file firewire.h.
Referenced by FirewireCamera().
dc1394color_coding_t firevision::FirewireCamera::_format7_coding [protected] |
Format7 color coding.
Definition at line 149 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
int firevision::FirewireCamera::_format7_height [protected] |
Format7 height.
Definition at line 155 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
bool firevision::FirewireCamera::_format7_mode_enabled [protected] |
Indicator of Format7 status.
Definition at line 139 of file firewire.h.
Referenced by FirewireCamera().
int firevision::FirewireCamera::_format7_startx [protected] |
Format7 ROI Start X coordinate.
Definition at line 157 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
int firevision::FirewireCamera::_format7_starty [protected] |
Format7 ROI Start Y coordinate.
Definition at line 159 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
int firevision::FirewireCamera::_format7_width [protected] |
Format7 width.
Definition at line 153 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
dc1394video_frame_t* firevision::FirewireCamera::_frame [protected] |
Last captured DC1394 video frame.
Definition at line 147 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::deinterlace_stereo().
dc1394framerate_t firevision::FirewireCamera::_framerate [protected] |
unsigned int firevision::FirewireCamera::_gain [protected] |
dc1394video_mode_t firevision::FirewireCamera::_mode [protected] |
char* firevision::FirewireCamera::_model [protected] |
Camera model, used in open to identify the camera, if empty first found camera is used.
Definition at line 178 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), FirewireCamera(), set_auto_focus(), and ~FirewireCamera().
int firevision::FirewireCamera::_num_buffers [protected] |
Number of DMA buffers.
Definition at line 114 of file firewire.h.
Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().
bool firevision::FirewireCamera::_opened [protected] |
true if camera has been opened, false otherwise
Definition at line 116 of file firewire.h.
Referenced by FirewireCamera(), guid(), firevision::Bumblebee2Camera::is_bumblebee2(), model(), firevision::Bumblebee2Camera::serial_no(), firevision::PikeCamera::set_autofunction_aoi(), and firevision::Bumblebee2Camera::verify_guid().
unsigned int firevision::FirewireCamera::_shutter [protected] |
Shutter value.
Definition at line 167 of file firewire.h.
Referenced by FirewireCamera(), parse_set_shutter(), and shutter().
dc1394speed_t firevision::FirewireCamera::_speed [protected] |
bool firevision::FirewireCamera::_started [protected] |
true if camera has been started, false otherwise
Definition at line 118 of file firewire.h.
Referenced by FirewireCamera().
bool firevision::FirewireCamera::_valid_frame_received [protected] |
true, if a valid frame has been received, false otherwise
Definition at line 126 of file firewire.h.
Referenced by FirewireCamera().
unsigned int firevision::FirewireCamera::_white_balance_ub [protected] |
White balance U/B value.
Definition at line 162 of file firewire.h.
Referenced by FirewireCamera(), parse_set_white_balance(), and white_balance().
unsigned int firevision::FirewireCamera::_white_balance_vr [protected] |
White balance V/R value.
Definition at line 164 of file firewire.h.
Referenced by FirewireCamera(), parse_set_white_balance(), and white_balance().