67 lines
2.3 KiB
C
67 lines
2.3 KiB
C
/**
|
|
* @file imp_codec.h
|
|
* @author Alvin Young (impressionyang@outlook.com)
|
|
* @brief
|
|
* @version 0.1
|
|
* @date 2025-03-25
|
|
*
|
|
* _ _
|
|
* (_)_ _ ___ _______ ___ ___ (_)__ ___ __ _____ ____ ___ _
|
|
* / / ' \/ _ \/ __/ -_|_-<(_-</ / _ \/ _ \/ // / _ `/ _ \/ _ `/
|
|
* /_/_/_/_/ .__/_/ \__/___/___/_/\___/_//_/\_, /\_,_/_//_/\_, /
|
|
* /_/ /___/ /___/
|
|
* @copyright Copyright (c) 2025 impressionyang
|
|
*
|
|
* @par 修改日志:
|
|
* <table>
|
|
* <tr><th>Date <th>Version <th>Author <th>Description
|
|
* <tr><td>2025-03-25 <td>v1.0 <td>Alvin Young <td>首次创建
|
|
* </table>
|
|
*
|
|
*/
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef __IMP_CODEC_H__
|
|
#define __IMP_CODEC_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include <esp_err.h>
|
|
/* 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
|
|
*/ |