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
37 namespace firevision {
42 class CameraArgumentParser;
52 dc1394video_mode_t mode = DC1394_VIDEO_MODE_640x480_YUV422,
53 dc1394speed_t speed = DC1394_ISO_SPEED_400,
64 virtual void capture();
66 virtual void print_info();
69 virtual unsigned char* buffer();
70 virtual unsigned int buffer_size();
71 virtual void dispose_buffer();
73 virtual unsigned int pixel_width();
74 virtual unsigned int pixel_height();
75 virtual colorspace_t colorspace();
77 virtual void set_image_number(
unsigned int n);
79 bool iso_mode_enabled();
81 virtual bool auto_focus();
82 virtual void set_auto_focus(
bool enabled);
84 virtual unsigned int focus();
85 virtual void set_focus(
unsigned int focus);
86 virtual unsigned int focus_min();
87 virtual unsigned int focus_max();
89 virtual bool auto_shutter();
90 virtual void set_auto_shutter(
bool enabled);
92 virtual unsigned int shutter();
93 virtual void set_shutter(
unsigned int shutter);
95 virtual bool auto_white_balance();
96 virtual void set_auto_white_balance(
bool enabled);
98 virtual void white_balance(
unsigned int *ub,
unsigned int *vr);
99 virtual void set_white_balance(
unsigned int ub,
unsigned int vr);
101 virtual void set_gain(
unsigned int gain);
103 virtual void parse_set_focus(
const char *focus);
104 virtual void parse_set_white_balance(
const char *white_balance);
105 virtual void parse_set_shutter(
const char *shutter);
107 virtual uint64_t guid()
const;
108 virtual const char * model()
const;
110 static void print_available_fwcams();