24 #ifndef __FIREVISION_CAMS_FIREWIRE_H_ 25 #define __FIREVISION_CAMS_FIREWIRE_H_ 27 #include <fvcams/camera.h> 28 #include <fvcams/control/focus.h> 30 #include <dc1394/dc1394.h> 32 #ifndef __STDC_LIMIT_MACROS 33 #define __STDC_LIMIT_MACROS 42 class CameraArgumentParser;
52 dc1394video_mode_t mode = DC1394_VIDEO_MODE_640x480_YUV422,
53 dc1394speed_t speed = DC1394_ISO_SPEED_400,
70 virtual unsigned char*
buffer();
85 virtual unsigned int focus();
86 virtual void set_focus(
unsigned int focus);
99 virtual void white_balance(
unsigned int *ub,
unsigned int *vr);
102 virtual void set_gain(
unsigned int gain);
108 virtual uint64_t
guid()
const;
109 virtual const char *
model()
const;
bool _opened
true if camera has been opened, false otherwise
virtual bool ready()
Camera is ready for taking pictures.
bool _do_set_white_balance
true if the white balance should actually be set, false otherwise
dc1394speed_t _speed
DC1394 speed.
int _format7_width
Format7 width.
virtual void set_auto_shutter(bool enabled)
Set status of auto shutter.
virtual const char * model() const
Get camera model.
bool iso_mode_enabled()
Check if ISO mode is enabled.
virtual unsigned int pixel_width()
Width of image in pixels.
virtual colorspace_t colorspace()
Colorspace of returned image.
virtual void parse_set_focus(const char *focus)
Parse focus and set value.
virtual bool auto_white_balance()
Get status of auto white balance.
Camera interface for image aquiring devices in FireVision.
dc1394video_mode_t _mode
DC1394 video mode.
Camera focus control interface.
virtual void print_info()
Print out camera information.
virtual unsigned int pixel_height()
Height of image in pixels.
virtual void close()
Close camera.
virtual void set_auto_white_balance(bool enabled)
Set status of auto white balance.
bool _started
true if camera has been started, false otherwise
unsigned int _focus
Focus value.
virtual unsigned int buffer_size()
Size of buffer.
virtual void white_balance(unsigned int *ub, unsigned int *vr)
Get white balance values.
bool _auto_shutter
true if auto shutter is enabled, false if disabled
static void print_available_fwcams()
Print list of cameras.
virtual void dispose_buffer()
Dispose current buffer.
unsigned int _white_balance_ub
White balance U/B value.
dc1394video_frame_t * _frame
Last captured DC1394 video frame.
int _format7_bpp
Format7 bytes per packet.
virtual uint64_t guid() const
Get Firewire GUID of camera.
virtual void open_device()
Open the desired device.
unsigned int _shutter
Shutter value.
virtual unsigned char * buffer()
Get access to current image buffer.
virtual void parse_set_white_balance(const char *white_balance)
Parse white balance and set value.
virtual unsigned int focus_min()
Get minimum focus value.
bool _device_opened
true if device has been opened, false otherwise
virtual void flush()
Flush image queue.
unsigned int _white_balance_vr
White balance V/R value.
virtual void stop()
Stop image transfer from the camera.
bool _valid_frame_received
true, if a valid frame has been received, false otherwise
virtual void parse_set_shutter(const char *shutter)
Parse shutter and set value.
unsigned int _gain
Gain value.
virtual unsigned int focus_max()
Get maximum focus value.
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.
char * _model
Camera model, used in open to identify the camera, if empty first found camera is used...
virtual void set_white_balance(unsigned int ub, unsigned int vr)
Set white balance values.
bool _do_set_shutter
true if the shutter should actually be set, false otherwise
bool _auto_white_balance
true if auto white balance is enabled, false if disabled
virtual void set_gain(unsigned int gain)
Set the gain.
virtual void set_image_number(unsigned int n)
Set image number to retrieve.
bool _auto_focus
true if auto focus is enabled, false if disabled
virtual unsigned int focus()
Get current focus value.
virtual bool auto_focus()
Check if auto focus is enabled.
virtual bool auto_shutter()
Get status of auto shutter.
int _format7_height
Format7 height.
dc1394framerate_t _framerate
DC1394 framerate.
virtual void set_auto_focus(bool enabled)
Enable or disable auto focus.
dc1394_t * cobj() const
Get underlying libdc1394 C handle.
bool _auto_gain
True, if gain is set automatically.
dc1394color_coding_t _format7_coding
Format7 color coding.
virtual void open()
Open the camera.
bool _do_set_focus
true if the focus should actually be set, false otherwise
dc1394camera_t * _camera
DC1394 camera handle.
dc1394camera_t * camera_cobj() const
Get underlying libdc1394 camera C handle.
virtual void capture()
Capture an image.
virtual ~FirewireCamera()
Empty destructor.
int _format7_startx
Format7 ROI Start X coordinate.
int _num_buffers
Number of DMA buffers.
virtual void set_focus(unsigned int focus)
Set new focus value.
virtual unsigned int shutter()
Get shutter value.
dc1394_t * _dc1394
DC1394 main context.
bool _format7_mode_enabled
Indicator of Format7 status.
virtual void start()
Start image transfer from the camera.
virtual void set_shutter(unsigned int shutter)
Set shutter value.
int _format7_starty
Format7 ROI Start Y coordinate.