/** * @file imp_codec.h * @author Alvin Young (impressionyang@outlook.com) * @brief * @version 0.1 * @date 2025-03-25 * * _ _ * (_)_ _ ___ _______ ___ ___ (_)__ ___ __ _____ ____ ___ _ * / / ' \/ _ \/ __/ -_|_-<(_- * Date Version Author Description * 2025-03-25 v1.0 Alvin Young 首次创建 * * */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __IMP_CODEC_H__ #define __IMP_CODEC_H__ #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include /* define --------------------------------------------------------------------*/ #define ESP_CODEC_DEV_OK (0) #define ESP_CODEC_DEV_DRV_ERR (ESP_FAIL) #define ESP_CODEC_DEV_INVALID_ARG (ESP_ERR_INVALID_ARG) #define ESP_CODEC_DEV_NO_MEM (ESP_ERR_NO_MEM) #define ESP_CODEC_DEV_NOT_SUPPORT (ESP_ERR_NOT_SUPPORTED) #define ESP_CODEC_DEV_NOT_FOUND (ESP_ERR_NOT_FOUND) #define ESP_CODEC_DEV_WRONG_STATE (ESP_ERR_INVALID_STATE) #define ESP_CODEC_DEV_WRITE_FAIL (0x10D) #define ESP_CODEC_DEV_READ_FAIL (0x10E) /* typedef -------------------------------------------------------------------*/ typedef enum { EM_IMP_CODEC_DEV_WORK_MODE_NONE, EM_IMP_CODEC_DEV_WORK_MODE_ADC = (1 << 0), /*!< Enable ADC, only support input */ EM_IMP_CODEC_DEV_WORK_MODE_DAC = (1 << 1), /*!< Enable DAC, only support output */ EM_IMP_CODEC_DEV_WORK_MODE_BOTH = (EM_IMP_CODEC_DEV_WORK_MODE_ADC | EM_IMP_CODEC_DEV_WORK_MODE_DAC), /*!< Support both DAC and ADC */ EM_IMP_CODEC_DEV_WORK_MODE_LINE = (1 << 2), /*!< Line mode */ } codec_work_mode_t; /* variables -----------------------------------------------------------------*/ /* Private function(only *.c) -----------------------------------------------*/ /* Exported functions --------------------------------------------------------*/ #ifdef __cplusplus } #endif #endif //__IMP_CODEC_H__ /* * EOF */