camera.h
Go to the documentation of this file.
1 
25 #ifndef SPINNAKER_CAMERA_DRIVER_CAMERA_H
26 #define SPINNAKER_CAMERA_DRIVER_CAMERA_H
27 
28 #include <ros/ros.h>
29 
30 // Header generated by dynamic_reconfigure
31 #include <spinnaker_camera_driver/SpinnakerConfig.h>
33 
34 // Spinnaker SDK
35 #include "Spinnaker.h"
36 #include "SpinGenApi/SpinnakerGenApi.h"
37 
38 //*******************************************
39 // This Class contains camera control functions.
40 // This base Class is based on the BlackFly S.
41 // Different cameras can extend/ override
42 // this class for any specific differences.
43 //*******************************************
44 
46 {
47 class Camera
48 {
49 public:
50  explicit Camera(Spinnaker::GenApi::INodeMap* node_map);
52  {
53  }
54  virtual void setNewConfiguration(const spinnaker_camera_driver::SpinnakerConfig& config, const uint32_t& level);
55 
57  static const uint8_t LEVEL_RECONFIGURE_CLOSE = 3;
58 
60  static const uint8_t LEVEL_RECONFIGURE_STOP = 1;
61 
63  static const uint8_t LEVEL_RECONFIGURE_RUNNING = 0;
64 
65  virtual void setGain(const float& gain);
66  int getHeightMax();
67  int getWidthMax();
68 
69  Spinnaker::GenApi::CNodePtr
70  readProperty(const Spinnaker::GenICam::gcstring property_name);
71 
72 protected:
73  Spinnaker::GenApi::INodeMap* node_map_;
74 
75  virtual void init();
76 
79 
86  virtual void setFrameRate(const float frame_rate);
87  virtual void setImageControlFormats(const spinnaker_camera_driver::SpinnakerConfig& config);
94  // TODO(mhosmar): Implement later
95  // void setGigEParameters(bool auto_packet_size, unsigned int packet_size, unsigned int packet_delay);
96 
105  // TODO(mhosmar): Implement later
106  // void setupGigEPacketSize(FlyCapture2::PGRGuid & guid);
107 
117  // TODO(mhosmar): Implement later
118  // void setupGigEPacketSize(FlyCapture2::PGRGuid & guid, unsigned int packet_size);
119 
129  // TODO(mhosmar): Implement later
130  // void setupGigEPacketDelay(FlyCapture2::PGRGuid & guid, unsigned int packet_delay);
131 
139  // TODO(mhosmar): Implement later
140  // float getCameraFrameRate();
141 
149  // TODO(mhosmar): Implement later
150  // float getCameraTemperature();
151 
152  // TODO(mhosmar): Implement the following methods later
153  // void setBRWhiteBalance(bool auto_white_balance, uint16_t &blue, uint16_t &red);
154 
155  // uint getGain();
156 
157  // uint getShutter();
158 
159  // uint getBrightness();
160 
161  // uint getExposure();
162 
163  // uint getWhiteBalance();
164 
165  // uint getROIPosition();
166 };
167 } // namespace spinnaker_camera_driver
168 #endif // SPINNAKER_CAMERA_DRIVER_CAMERA_H
virtual void setNewConfiguration(const spinnaker_camera_driver::SpinnakerConfig &config, const uint32_t &level)
Definition: camera.cpp:68
Spinnaker::GenApi::INodeMap * node_map_
Definition: camera.h:73
static const uint8_t LEVEL_RECONFIGURE_STOP
Definition: camera.h:60
Camera(Spinnaker::GenApi::INodeMap *node_map)
Definition: camera.cpp:319
virtual void setImageControlFormats(const spinnaker_camera_driver::SpinnakerConfig &config)
Definition: camera.cpp:187
static const uint8_t LEVEL_RECONFIGURE_CLOSE
Definition: camera.h:57
virtual void setFrameRate(const float frame_rate)
Changes the video mode of the connected camera.
Definition: camera.cpp:49
static const uint8_t LEVEL_RECONFIGURE_RUNNING
Definition: camera.h:63
Spinnaker::GenApi::CNodePtr readProperty(const Spinnaker::GenICam::gcstring property_name)
Definition: camera.cpp:309
virtual void setGain(const float &gain)
Definition: camera.cpp:236


spinnaker_camera_driver
Author(s): Chad Rockey
autogenerated on Sun Feb 14 2021 03:47:26