/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2022, Raspberry Pi Ltd * * AF control algorithm status */ #pragma once #include <optional> /* * The AF algorithm should post the following structure into the image's * "af.status" metadata. lensSetting should control the lens. */ enum class AfState { Idle = 0, Scanning, Focused, Failed }; enum class AfPauseState { Running = 0, Pausing, Paused }; struct AfStatus { /* state for reporting */ AfState state; AfPauseState pauseState; /* lensSetting should be sent to the lens driver, when valid */ std::optional<int> lensSetting; };