1 #ifndef _CAMERA_ARAVIS_CAMERAARAVIS_HPP_
2 #define _CAMERA_ARAVIS_CAMERAARAVIS_HPP_
6 #include <camera_interface/CamInterface.h>
10 #include <camera_interface/BrightnessIndicator.h>
11 #include <camera_interface/ExposureController.h>
12 #include <boost/shared_ptr.hpp>
15 #include <semaphore.h>
25 bool grab(
const GrabMode mode = SingleFrame,
const int buffer_len=1);
26 void openCamera(std::string camera_name,
unsigned packet_size = 1500);
27 static void resetCamera(
const std::string& camera_name);
30 bool retrieveFrame(base::samples::frame::Frame &frame,
const int timeout=1000);
32 bool setCallbackFcn(
void (*pcallback_function)(
const void* p),
void *p);
40 bool setAttrib(
const int_attrib::CamAttrib attrib,
const int value);
41 int getAttrib(
const int_attrib::CamAttrib attrib);
42 bool setAttrib(
const enum_attrib::CamAttrib attrib);
43 bool setAttrib(
const double_attrib::CamAttrib attrib,
const double value);
44 bool isAttribSet(
const enum_attrib::CamAttrib attrib);
46 const base::samples::frame::frame_mode_t mode,
47 const uint8_t color_depth,
48 const bool resize_frames);
51 std::string getBufferStatusString(ArvBufferStatus status);
52 void printBufferStatus();
55 void prepareBuffer(
const size_t bufferLen);
56 base::samples::frame::frame_mode_t convertArvToFrameMode(ArvPixelFormat format);
67 void (*callbackFcn)(
const void* p);
68 void (*errorCallbackFcn)(
const void* p);
70 void *errorCallbackData;
71 pthread_mutex_t buffer_counter_lock;
72 base::Time start_time;
74 std::vector<base::samples::frame::Frame> camera_buffer;
76 unsigned long callback_handler;
77 unsigned long error_callback_handler;
bool setCallbackFcn(void(*pcallback_function)(const void *p), void *p)
Definition: CameraAravis.cpp:435
std::string doDiagnose()
Definition: CameraAravis.cpp:570
bool setErrorCallbackFcn(void(*pcallback_function)(const void *p), void *p)
Definition: CameraAravis.cpp:441
bool retrieveFrame(base::samples::frame::Frame &frame, const int timeout=1000)
Definition: CameraAravis.cpp:141
bool close()
Definition: CameraAravis.cpp:566
bool setAttrib(const int_attrib::CamAttrib attrib, const int value)
Definition: CameraAravis.cpp:273
int getAttrib(const int_attrib::CamAttrib attrib)
Definition: CameraAravis.cpp:372
bool grab(const GrabMode mode=SingleFrame, const int buffer_len=1)
Definition: CameraAravis.cpp:227
bool isAttribAvail(const int_attrib::CamAttrib attrib)
Definition: CameraAravis.cpp:447
bool isFrameAvailable()
Definition: CameraAravis.cpp:574
void resetTimestamp()
Definition: CameraAravis.cpp:85
void openCamera(std::string camera_name, unsigned packet_size=1500)
Definition: CameraAravis.cpp:46
Definition: CameraAravis.hpp:20
bool setFrameSettings(const base::samples::frame::frame_size_t size, const base::samples::frame::frame_mode_t mode, const uint8_t color_depth, const bool resize_frames)
Definition: CameraAravis.cpp:383
friend void controlLostCallback(CameraAravis *driver)
Definition: CameraAravis.cpp:20
bool isAttribSet(const enum_attrib::CamAttrib attrib)
Definition: CameraAravis.cpp:528
CameraAravis()
Definition: CameraAravis.cpp:27
ArvPixelFormat getBayerFormat()
Definition: CameraAravis.cpp:253
static void resetCamera(const std::string &camera_name)
Definition: CameraAravis.cpp:68
~CameraAravis()
Definition: CameraAravis.cpp:38
friend void aravisCameraCallback(ArvStream *stream, CameraAravis *driver)
Definition: CameraAravis.cpp:11