@@ -42,6 +42,218 @@ CameraClass::changeResolution(const Resolution& resolution, int sleepFor)
4242 return true ;
4343}
4444
45+ bool
46+ CameraClass::changeContrast (int ilevel)
47+ {
48+ sensor_t * sensor = esp_camera_sensor_get ();
49+ if (sensor == nullptr ) {
50+ return false ;
51+ }
52+
53+ if (sensor->set_contrast (sensor, ilevel) == 0 ) {
54+ return true ;
55+ } else
56+ return false ;
57+ }
58+
59+ bool
60+ CameraClass::changeBrightness (int ilevel)
61+ {
62+ sensor_t * sensor = esp_camera_sensor_get ();
63+ if (sensor == nullptr ) {
64+ return false ;
65+ }
66+
67+ if (sensor->set_brightness (sensor, ilevel) == 0 ) {
68+ return true ;
69+ } else
70+ return false ;
71+ }
72+
73+ bool
74+ CameraClass::changeSaturation (int ilevel)
75+ {
76+ sensor_t * sensor = esp_camera_sensor_get ();
77+ if (sensor == nullptr ) {
78+ return false ;
79+ }
80+
81+ if (sensor->set_saturation (sensor, ilevel) == 0 ) {
82+ return true ;
83+ } else
84+ return false ;
85+ }
86+
87+ bool
88+ CameraClass::changeSpecialEffect (int ilevel)
89+ {
90+ sensor_t * sensor = esp_camera_sensor_get ();
91+ if (sensor == nullptr ) {
92+ return false ;
93+ }
94+
95+ if (sensor->set_special_effect (sensor, ilevel) == 0 ) {
96+ return true ;
97+ } else
98+ return false ;
99+ }
100+
101+ bool
102+ CameraClass::changeWbMode (int ilevel)
103+ {
104+ sensor_t * sensor = esp_camera_sensor_get ();
105+ if (sensor == nullptr ) {
106+ return false ;
107+ }
108+
109+ if (sensor->set_wb_mode (sensor, ilevel) == 0 ) {
110+ return true ;
111+ } else
112+ return false ;
113+ }
114+
115+ bool
116+ CameraClass::changeAeLevels (int ilevel)
117+ {
118+ sensor_t * sensor = esp_camera_sensor_get ();
119+ if (sensor == nullptr ) {
120+ return false ;
121+ }
122+
123+ if (sensor->set_ae_level (sensor, ilevel)) {
124+ return true ;
125+ } else
126+ return false ;
127+ }
128+
129+ bool
130+ CameraClass::changAgcGain (int ilevel)
131+ {
132+ sensor_t * sensor = esp_camera_sensor_get ();
133+ if (sensor == nullptr ) {
134+ return false ;
135+ }
136+
137+ if (sensor->set_agc_gain (sensor, ilevel) == 0 ) {
138+ return true ;
139+ } else
140+ return false ;
141+ }
142+
143+ bool
144+ CameraClass::changGainceilingSensor (int iGainCeiling)
145+ {
146+ sensor_t * sensor = esp_camera_sensor_get ();
147+ if (sensor == nullptr ) {
148+ return false ;
149+ }
150+
151+ if ((gainceiling_t )iGainCeiling < GAINCEILING_2X ||
152+ (gainceiling_t )iGainCeiling > GAINCEILING_128X) {
153+ return false ;
154+ }
155+
156+ if (sensor->set_gainceiling (sensor, (gainceiling_t )iGainCeiling) == 0 ) {
157+ return true ;
158+ } else
159+ return false ;
160+ }
161+
162+ bool
163+ CameraClass::changeGaincontrol (int iEnable)
164+ {
165+ sensor_t * sensor = esp_camera_sensor_get ();
166+ if (sensor == nullptr ) {
167+ return false ;
168+ }
169+
170+ if (sensor->set_gain_ctrl (sensor, iEnable) == 0 ) {
171+ return true ;
172+ } else
173+ return false ;
174+ }
175+
176+ bool
177+ CameraClass::changeColorbar (int iEnable)
178+ {
179+ sensor_t * sensor = esp_camera_sensor_get ();
180+ if (sensor == nullptr ) {
181+ return false ;
182+ }
183+
184+ if (sensor->set_colorbar (sensor, iEnable) == 0 ) {
185+ return true ;
186+ } else
187+ return false ;
188+ }
189+
190+ bool
191+ CameraClass::changeWhitebalance (int iEnable)
192+ {
193+ sensor_t * sensor = esp_camera_sensor_get ();
194+ if (sensor == nullptr ) {
195+ return false ;
196+ }
197+
198+ if (sensor->set_whitebal (sensor, iEnable) == 0 ) {
199+ return true ;
200+ } else
201+ return false ;
202+ }
203+
204+ bool
205+ CameraClass::changeQuality (int iQuality)
206+ {
207+ sensor_t * sensor = esp_camera_sensor_get ();
208+ if (sensor == nullptr ) {
209+ return false ;
210+ }
211+
212+ if (iQuality < 0 ||
213+ iQuality > 63 ) {
214+ return false ;
215+ }
216+
217+ if (sensor->set_quality (sensor, iQuality) == 0 ) {
218+ return true ;
219+ } else
220+ return false ;
221+ }
222+
223+ bool
224+ CameraClass::changAec2 (int iEnable)
225+ {
226+ sensor_t * sensor = esp_camera_sensor_get ();
227+ if (sensor == nullptr ) {
228+ return false ;
229+ }
230+
231+ if (sensor->set_aec2 (sensor, iEnable) == 0 ) {
232+ return true ;
233+ } else
234+ return false ;
235+ }
236+
237+ bool
238+ CameraClass::changeAecValue (int iValue)
239+ {
240+ sensor_t * sensor = esp_camera_sensor_get ();
241+ if (sensor == nullptr ) {
242+ return false ;
243+ }
244+
245+ if (iValue < 0 ||
246+ iValue > 1200 ) {
247+ return false ;
248+ }
249+
250+ if (sensor->set_agc_gain (sensor, iValue) == 0 ) {
251+ return true ;
252+ } else
253+ return false ;
254+ }
255+
256+
45257std::unique_ptr<Frame>
46258CameraClass::capture ()
47259{
0 commit comments