Public Member Functions | Static Public Member Functions | Protected Attributes

firevision::FirewireCamera Class Reference

Firewire camera. More...

#include <>>

Inheritance diagram for firevision::FirewireCamera:
Inheritance graph
[legend]

List of all members.

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.

Detailed Description

Firewire camera.

This camera implementation allows for access to IEEE1394 cameras via libdc1394.

Author:
Tim Niemueller

Definition at line 44 of file firewire.h.


Constructor & Destructor Documentation

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.

Parameters:
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:

  • mode=MODE where MODE is one of
    • 640x480_YUV422
    • 640x480_MONO16
    • FORMAT7_0
    • FORMAT7_1
    • FORMAT7_2
    • FORMAT7_3
    • FORMAT7_4
    • FORMAT7_5
    • FORMAT7_6
    • FORMAT7_7
  • coding=CODING, color coding for Format7, CODING is one of:
    • YUV422
    • MONO8
    • MONO16
    • RAW16
  • isospeed=SPEED, ISO speed, SPEED is one of:
    • 400
    • 800
  • framerate=FPS, desired rate in frames per second, FPS is one of:
    • 15
    • 30
    • 60
    • 120
  • nbufs=NBUFS, number of DMA buffers, integer, 0 < n <= 32
  • width=WIDTH, width in pixels of Format7 ROI
  • height=HEIGHT, height in pixels of Format7 ROI
  • startx=STARTX, X start of Format7 ROI
  • starty=STARTY, Y start of Format7 ROI
  • packetsize=BYTES, packet size in BYTES
  • white_balance=(auto|U,V), white balance value, either auto for auto white balance or U/B and V/R values for adjustment
  • shutter=auto, determine the shutter time automatically
  • focus=MODE, MODE is either auto for auto focus, manual for manual focus without actually setting (for example set from external application) or a number for the focus.
    Parameters:
    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]

Empty destructor.

Definition at line 97 of file firewire.cpp.

References _model.


Member Function Documentation

bool firevision::FirewireCamera::auto_focus (  )  [virtual]

Check if auto focus is enabled.

Returns:
true, if the camera is in auto focus mode, false otherwise
Exceptions:
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.

Returns:
true if auto shutter is enabled, false otherwise

Definition at line 610 of file firewire.cpp.

References _auto_shutter.

bool firevision::FirewireCamera::auto_white_balance (  )  [virtual]

Get status of auto white balance.

Returns:
true if white balance is enabled, false otherwise

Definition at line 660 of file firewire.cpp.

References _auto_white_balance.

unsigned int firevision::FirewireCamera::focus (  )  [virtual]

Get current focus value.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
IEEE1394 GUID

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.

Returns:
true if isochronous transfer is running, false otherwise.
Exceptions:
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.

Returns:
string with the camera model name

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
enabled if true, enable auto focus, otherwise disable
Exceptions:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
ub U/B value
vr V/R value

Definition at line 687 of file firewire.cpp.

References _camera.

unsigned int firevision::FirewireCamera::shutter (  )  [virtual]

Get shutter value.

Returns:
the current shutter value

Definition at line 632 of file firewire.cpp.

References _camera, and _shutter.

void firevision::FirewireCamera::white_balance ( unsigned int *  ub,
unsigned int *  vr 
) [virtual]

Get white balance values.

Parameters:
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.


Member Data Documentation

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().

True, if gain is set automatically.

Definition at line 175 of file firewire.h.

Referenced by FirewireCamera().

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().

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_t* firevision::FirewireCamera::_dc1394 [protected]

DC1394 main context.

Definition at line 135 of file firewire.h.

Referenced by FirewireCamera().

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().

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().

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]

Focus value.

Definition at line 170 of file firewire.h.

Referenced by parse_set_focus().

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().

Format7 height.

Definition at line 155 of file firewire.h.

Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().

Indicator of Format7 status.

Definition at line 139 of file firewire.h.

Referenced by FirewireCamera().

Format7 ROI Start X coordinate.

Definition at line 157 of file firewire.h.

Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().

Format7 ROI Start Y coordinate.

Definition at line 159 of file firewire.h.

Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().

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]

DC1394 framerate.

Definition at line 143 of file firewire.h.

Referenced by FirewireCamera().

unsigned int firevision::FirewireCamera::_gain [protected]

Gain value.

Definition at line 173 of file firewire.h.

Referenced by FirewireCamera().

dc1394video_mode_t firevision::FirewireCamera::_mode [protected]

DC1394 video mode.

Definition at line 137 of file firewire.h.

Referenced by FirewireCamera().

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().

Number of DMA buffers.

Definition at line 114 of file firewire.h.

Referenced by firevision::Bumblebee2Camera::Bumblebee2Camera(), and FirewireCamera().

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]

DC1394 speed.

Definition at line 141 of file firewire.h.

Referenced by FirewireCamera().

true if camera has been started, false otherwise

Definition at line 118 of file firewire.h.

Referenced by FirewireCamera().

true, if a valid frame has been received, false otherwise

Definition at line 126 of file firewire.h.

Referenced by FirewireCamera().

White balance U/B value.

Definition at line 162 of file firewire.h.

Referenced by FirewireCamera(), parse_set_white_balance(), and white_balance().

White balance V/R value.

Definition at line 164 of file firewire.h.

Referenced by FirewireCamera(), parse_set_white_balance(), and white_balance().


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