/* * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #include #include "sdkconfig.h" #include "esp_log.h" #include "esp_err.h" #include "freertos/FreeRTOS.h" bool dvp_signal_used; static portMUX_TYPE s_spinlock = portMUX_INITIALIZER_UNLOCKED; esp_err_t dvp_shared_ctrl_claim_io_signals(void) { esp_err_t ret = ESP_ERR_NOT_FOUND; portENTER_CRITICAL(&s_spinlock); if (!dvp_signal_used) { dvp_signal_used = true; ret = ESP_OK; } portEXIT_CRITICAL(&s_spinlock); return ret; } esp_err_t dvp_shared_ctrl_declaim_io_signals(void) { portENTER_CRITICAL(&s_spinlock); dvp_signal_used = false; portEXIT_CRITICAL(&s_spinlock); return ESP_OK; }