From 1f5262afd8a54899529ddd61e944b09c723c09de Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Thu, 7 Jul 2022 12:08:56 +0200 Subject: [PATCH] Add `-camera-auto-focus` option --- cmd/camera-streamer.c | 5 +++-- device/camera/camera.c | 4 ++++ device/camera/camera.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/camera-streamer.c b/cmd/camera-streamer.c index 0adc78c..88064a4 100644 --- a/cmd/camera-streamer.c +++ b/cmd/camera-streamer.c @@ -56,8 +56,7 @@ camera_options_t camera_options = { .high_res_factor = 1.0, .low_res_factor = 0.0, .auto_reconnect = 0, - .options = - "aftrigger=1", + .options = "", .h264 = { .options = "video_bitrate_mode=0" OPTION_VALUE_LIST_SEP @@ -97,6 +96,7 @@ option_value_t camera_formats[] = { { "RGBP", V4L2_PIX_FMT_RGB565 }, { "RGB24", V4L2_PIX_FMT_RGB24 }, { "RGB", V4L2_PIX_FMT_RGB24 }, + { "BGR", V4L2_PIX_FMT_BGR24 }, {} }; @@ -119,6 +119,7 @@ option_t all_options[] = { DEFINE_OPTION(camera, low_res_factor, float), DEFINE_OPTION_PTR(camera, options, list), DEFINE_OPTION(camera, auto_reconnect, uint), + DEFINE_OPTION(camera, auto_focus, bool, "1"), DEFINE_OPTION_PTR(camera, isp.options, list), DEFINE_OPTION_PTR(camera, jpeg.options, list), diff --git a/device/camera/camera.c b/device/camera/camera.c index 087b901..49a9410 100644 --- a/device/camera/camera.c +++ b/device/camera/camera.c @@ -88,6 +88,10 @@ int camera_set_params(camera_t *camera) device_set_option_list(camera->camera, camera->options.options); device_set_option_list(camera->isp, camera->options.isp.options); + if (camera->options.auto_focus) { + device_set_option_string(camera->camera, "AfTrigger", "1"); + } + // Set some defaults for (int i = 0; i < 2; i++) { device_set_option_list(camera->legacy_isp[i], camera->options.isp.options); diff --git a/device/camera/camera.h b/device/camera/camera.h index db429de..4ceaa67 100644 --- a/device/camera/camera.h +++ b/device/camera/camera.h @@ -22,6 +22,7 @@ typedef struct camera_options_s { bool allow_dma; float high_res_factor; float low_res_factor; + bool auto_focus; unsigned auto_reconnect; char options[CAMERA_OPTIONS_LENGTH];