esp32cam
OV2640 camera on ESP32-CAM
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
config.hpp
Go to the documentation of this file.
1 #ifndef ESP32CAM_CONFIG_HPP
2 #define ESP32CAM_CONFIG_HPP
3 
4 #include "pins.hpp"
5 #include "resolution.hpp"
6 
7 namespace esp32cam {
8 namespace detail {
9 
11 int
12 convertJpegQuality(int quality);
13 
14 } // namespace detail
15 
17 class Config {
18 public:
19  Config();
20 
21  ~Config();
22 
23  Config& setPins(const Pins& pins);
24 
25  Config& setResolution(const Resolution& resolution);
26 
31  Config& setBufferCount(int n);
32 
34  Config& setRgb();
35 
37  Config& setYuv();
38 
41 
46  Config& setJpeg(int quality);
47 
48 private:
49  class CameraConfigT;
50  CameraConfigT* m_cfg;
51 
52  friend class CameraClass;
53 };
54 
56 enum class LightMode {
57  NONE = -1,
58  AUTO = 0,
59  SUNNY = 1,
60  CLOUDY = 2,
61  OFFICE = 3,
62  HOME = 4,
63 };
64 
66 enum class SpecialEffect {
67  NONE = 0,
68  NEGATIVE = 1,
69  BLACKWHITE = 2,
70  REDDISH = 3,
71  GREENISH = 4,
72  BLUISH = 5,
73  ANTIQUE = 6,
74 };
75 
77 struct Settings {
80 
82  int8_t brightness;
83 
85  int8_t contrast;
86 
88  int8_t saturation;
89 
96  int8_t gain;
97 
100 
103 
105  bool hmirror = false;
106 
108  bool vflip = false;
109 
111  bool rawGma = false;
112 
114  bool lensCorrection = false;
115 };
116 
117 } // namespace esp32cam
118 
119 #endif // ESP32CAM_CONFIG_HPP
Definition: camera.hpp:10
Definition: config.cpp:19
Camera initialization configuration.
Definition: config.hpp:17
Config & setRgb()
Change pixel format to RGB565.
Definition: config.cpp:71
Config()
Definition: config.cpp:21
Config & setYuv()
Change pixel format to YUV422.
Definition: config.cpp:77
Config & setBufferCount(int n)
Set number of frame buffers.
Definition: config.cpp:65
Config & setJpeg(int quality)
Change pixel format to JPEG.
Definition: config.cpp:89
~Config()
Definition: config.cpp:33
Config & setGrayscale()
Change pixel format to grayscale.
Definition: config.cpp:83
Config & setResolution(const Resolution &resolution)
Definition: config.cpp:59
Config & setPins(const Pins &pins)
Definition: config.cpp:38
Picture width and height.
Definition: resolution.hpp:12
int convertJpegQuality(int quality)
Convert JPEG quality from 0-100 scale to 63-0 scale.
Definition: config.cpp:13
Definition: camera.cpp:6
LightMode
Light mode / white balance values.
Definition: config.hpp:56
SpecialEffect
Special effect values.
Definition: config.hpp:66
Camera pins definition.
Definition: pins.hpp:7
Camera runtime settings.
Definition: config.hpp:77
int8_t gain
Gain control, with or without Automatic Gain Control (AGC).
Definition: config.hpp:96
Resolution resolution
Picture resolution.
Definition: config.hpp:79
bool hmirror
Horizontal flip.
Definition: config.hpp:105
bool vflip
Vertical flip.
Definition: config.hpp:108
bool lensCorrection
Lens correction mode.
Definition: config.hpp:114
LightMode lightMode
Image light mode.
Definition: config.hpp:99
bool rawGma
Raw gamma mode.
Definition: config.hpp:111
SpecialEffect specialEffect
Image special effect.
Definition: config.hpp:102
int8_t contrast
Image contrast, between -2 and +2.
Definition: config.hpp:85
int8_t brightness
Image brightness, between -2 and +2.
Definition: config.hpp:82
int8_t saturation
Image saturation, between -2 and +2.
Definition: config.hpp:88