20 #include "../../include/esp3d_config.h"
21 #if defined (CAMERA_DEVICE)
22 #include "../commands.h"
23 #include "../esp3doutput.h"
24 #include "esp_camera.h"
25 #include "../settings_esp3d.h"
26 #include "../../modules/authentication/authentication_service.h"
27 #include "../../modules/camera/camera.h"
34 #ifdef AUTHENTICATION_FEATURE
36 output->
printERROR(
"Wrong authentication!", 401);
41 #endif //AUTHENTICATION_FEATURE
43 output->
printERROR(
"No camera initialized!", 401);
48 bool plain =
hastag (cmd_params,
"plain");
49 if ((parameter.length() == 0) || plain) {
50 sensor_t * s = esp_camera_sensor_get();
53 output->print (
"{\"status\":\"error\"}");
55 output->
printERROR(
"No camera initialized!", 401);
60 output->print (
"{\"status\":\"ok\",");
66 output->print (
"framesize");
68 output->print (
"\":\"");
70 output->print (
" : ");
72 output->print (s->status.framesize);
74 output->print (
"\",");
82 output->print (
"quality");
84 output->print (
"\":\"");
86 output->print (
" : ");
88 output->print (s->status.quality);
90 output->print (
"\",");
98 output->print (
"brightness");
100 output->print (
"\":\"");
102 output->print (
" : ");
104 output->print (s->status.brightness);
106 output->print (
"\",");
112 output->print (
"\"");
114 output->print (
"contrast");
116 output->print (
"\":\"");
118 output->print (
" : ");
120 output->print (s->status.contrast);
122 output->print (
"\",");
128 output->print (
"\"");
130 output->print (
"saturation");
132 output->print (
"\":\"");
134 output->print (
" : ");
136 output->print (s->status.saturation);
138 output->print (
"\",");
144 output->print (
"\"");
146 output->print (
"sharpness");
148 output->print (
"\":\"");
150 output->print (
" : ");
152 output->print (s->status.sharpness);
154 output->print (
"\",");
160 output->print (
"\"");
162 output->print (
"special_effect");
164 output->print (
"\":\"");
166 output->print (
" : ");
168 output->print (s->status.special_effect);
170 output->print (
"\",");
176 output->print (
"\"");
178 output->print (
"wb_mode");
180 output->print (
"\":\"");
182 output->print (
" : ");
184 output->print (s->status.wb_mode);
186 output->print (
"\",");
192 output->print (
"\"");
194 output->print (
"awb");
196 output->print (
"\":\"");
198 output->print (
" : ");
200 output->print (s->status.awb);
202 output->print (
"\",");
208 output->print (
"\"");
210 output->print (
"awb_gain");
212 output->print (
"\":\"");
214 output->print (
" : ");
216 output->print (s->status.awb_gain);
218 output->print (
"\",");
224 output->print (
"\"");
226 output->print (
"aec");
228 output->print (
"\":\"");
230 output->print (
" : ");
232 output->print (s->status.aec);
234 output->print (
"\",");
240 output->print (
"\"");
242 output->print (
"aec2");
244 output->print (
"\":\"");
246 output->print (
" : ");
248 output->print (s->status.aec2);
250 output->print (
"\",");
256 output->print (
"\"");
258 output->print (
"ae_level");
260 output->print (
"\":\"");
262 output->print (
" : ");
264 output->print (s->status.ae_level);
266 output->print (
"\",");
272 output->print (
"\"");
274 output->print (
"aec_value");
276 output->print (
"\":\"");
278 output->print (
" : ");
280 output->print (s->status.aec_value);
282 output->print (
"\",");
288 output->print (
"\"");
290 output->print (
"agc");
292 output->print (
"\":\"");
294 output->print (
" : ");
296 output->print (s->status.agc);
298 output->print (
"\",");
304 output->print (
"\"");
306 output->print (
"agc_gain");
308 output->print (
"\":\"");
310 output->print (
" : ");
312 output->print (s->status.agc_gain);
314 output->print (
"\",");
320 output->print (
"\"");
322 output->print (
"gainceiling");
324 output->print (
"\":\"");
326 output->print (
" : ");
328 output->print (s->status.gainceiling);
330 output->print (
"\",");
336 output->print (
"\"");
338 output->print (
"bpc");
340 output->print (
"\":\"");
342 output->print (
" : ");
344 output->print (s->status.bpc);
346 output->print (
"\",");
352 output->print (
"\"");
354 output->print (
"wpc");
356 output->print (
"\":\"");
358 output->print (
" : ");
360 output->print (s->status.wpc);
362 output->print (
"\",");
368 output->print (
"\"");
370 output->print (
"raw_gma");
372 output->print (
"\":\"");
374 output->print (
" : ");
376 output->print (s->status.raw_gma);
378 output->print (
"\",");
384 output->print (
"\"");
386 output->print (
"lenc");
388 output->print (
"\":\"");
390 output->print (
" : ");
392 output->print (s->status.lenc);
394 output->print (
"\",");
400 output->print (
"\"");
402 output->print (
"vflip");
404 output->print (
"\":\"");
406 output->print (
" : ");
408 output->print (s->status.vflip);
410 output->print (
"\",");
416 output->print (
"\"");
418 output->print (
"hmirror");
420 output->print (
"\":\"");
422 output->print (
" : ");
424 output->print (s->status.hmirror);
426 output->print (
"\",");
432 output->print (
"\"");
434 output->print (
"dcw");
436 output->print (
"\":\"");
438 output->print (
" : ");
440 output->print (s->status.dcw);
442 output->print (
"\",");
448 output->print (
"\"");
450 output->print (
"colorbar");
452 output->print (
"\":\"");
454 output->print (
" : ");
456 output->print (s->status.colorbar);
458 output->print (
"\"");
462 #if CAM_LED_PIN != -1
465 output->print (
",\"");
467 output->print (
"light");
469 output->print (
"\":\"");
471 output->print (
" : ");
473 output->print (digitalRead(
CAM_LED_PIN)==HIGH?1:0);
475 output->print (
"\"");
484 #ifdef AUTHENTICATION_FEATURE
486 output->
printERROR(
"Wrong authentication!", 401);
489 #endif //AUTHENTICATION_FEATURE
490 String label =
get_label (cmd_params,
"=");
491 if (label.length()==0) {
495 String labels = label+
"=";
496 String value =
get_param (cmd_params,labels.c_str());
497 if (value.length()==0) {
515 #endif //CAMERA_DEVICE