CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 类型定义 | 枚举 | 函数
codec_manager.h 文件参考
#include "ci130x_system.h"
#include "ci130x_iis.h"
#include "ci130x_iic.h"
#include "ci130x_codec.h"

浏览源代码.

结构体

struct  cm_sound_info_t
 音频信息结构体 更多...
 
struct  cm_play_buffer_info_t
 音频buffer信息结构体 更多...
 
struct  cm_record_buffer_info_t
 音频buffer信息结构体 更多...
 
union  cm_pcm_buffer_info_t
 
struct  cm_codec_interface_t
 CODEC操作接口 更多...
 
struct  cm_iis_info_t
 
struct  codec_hw_info_str
 CODEC相关信息结构体 更多...
 
union  cm_iis_info_t.__unnamed__
 

宏定义

#define MAX_CODEC_NUM   2
 设置音频CODEC管理模块支持的最大CODEC数量。 更多...
 

类型定义

typedef struct codec_hw_info_str cm_codec_hw_info_t
 CODEC相关信息结构体 更多...
 

枚举

enum  audio_play_card_over_sample_t {
  AUDIO_PLAY_OVER_SAMPLE_128 = 128,
  AUDIO_PLAY_OVER_SAMPLE_192 = 192,
  AUDIO_PLAY_OVER_SAMPLE_256 = 256,
  AUDIO_PLAY_OVER_SAMPLE_384 = 384
}
 定义放音设备支持的过采样率。 更多...
 
enum  audio_play_card_clk_source_t {
  AUDIO_PLAY_CLK_SOURCE_IPCORE = 0,
  AUDIO_PLAY_CLK_SOURCE_EXT_OSC = 1,
  AUDIO_PLAY_CLK_SOURCE_INTER_RC = 2,
  AUDIO_PLAY_CLK_SOURCE_PAD_IN = 3,
  AUDIO_PLAY_CLK_SOURCE_OSC_OR_INEER_RC = 0xff
}
 定义放音设备可选择的时钟源。 更多...
 
enum  cm_iis_txrx_t {
  CM_IIS_TX,
  CM_IIS_RX
}
 
enum  io_direction_t {
  CODEC_INPUT,
  CODEC_OUTPUT
}
 
enum  cm_io_ctrl_cmd_t {
  CM_IOCTRL_SET_DAC_GAIN,
  CM_IOCTRL_SET_ADC_GAIN,
  CM_IOCTRL_ALC_ENABLE,
  CM_IOCTRL_ALC_DISABLE,
  CM_IOCTRL_DAC_ENABLE,
  CM_IOCTRL_MUTE
}
 
enum  cm_cha_sel_t {
  CM_CHA_LEFT = 1,
  CM_CHA_RIGHT = 2,
  CM_CHA_TWO_CHA = 3
}
 

函数

void cm_init ()
 初始化音频CODEC管理模块。 更多...
 
int cm_reg_codec (int codec_index, cm_codec_hw_info_t *p_codec_hw_info)
 向音频CODEC管理模块注册一个音频CODEC。 更多...
 
int cm_register_codec_callback (int codec_index, void(*callback_func)(void))
 注册指定音频CODEC的回调函数,用于异步调用方式,CODEC会在特定事件发生时,调用此函数与调用者通信。 更多...
 
int cm_config_pcm_buffer (int codec_index, io_direction_t io_dir, cm_pcm_buffer_info_t *pcm_buffer_info)
 配置指定音频CODEC的PCM数据buffer。 更多...
 
int cm_config_codec (int codec_index, io_direction_t io_dir, cm_sound_info_t *sound_info)
 配置指定音频CODEX的音频信息。 更多...
 
int cm_start_codec (int codec_index, io_direction_t io_dir)
 启动指定的音频CODEC播放或录音。 更多...
 
int cm_stop_codec (int codec_index, io_direction_t io_dir)
 停止指定的音频CODEC播放或录音。 更多...
 
int cm_read_codec (int codec_index, uint32_t *data_addr, uint32_t *data_size)
 从指定的音频CODEC读取录制的PCM数据,此接口为同步调用接口,如果当前没有PCM数据可以读取,此调用会被阻塞,直到有PCM数据可读取时才返回。 更多...
 
int cm_write_codec (int codec_index, void *pcm_buffer, uint32_t wait_tick)
 向指定的音频CODEC写入数据。 更多...
 
void cm_get_pcm_buffer (int codec_index, uint32_t *ret_buf, uint32_t wait_tick)
 从指定的音频CODEC获取空闲的PCM数据buffer,用于填充PCM数据后再通过cm_write_codec接口写入音频CODEC。 更多...
 
int cm_release_pcm_buffer (int codec_index, io_direction_t io_dir, void *pcm_buffer)
 向指定的音频CODEC释放一个PCM数据buffer,释放的PCM数据buffer必须是通过cm_read_codec读取到的数据buffer,用于循环录制音频数据。 更多...
 
int cm_set_codec_dac_gain (int codec_index, cm_cha_sel_t cha, int gain)
 设置指定的音频CODEC的DAC(播放)的指定通道的增益。 更多...
 
int cm_set_codec_adc_gain (int codec_index, cm_cha_sel_t cha, int gain)
 设置指定的音频CODEC的ADC(录音)的指定通道的增益。 更多...
 
int cm_set_codec_alc (int codec_index, cm_cha_sel_t cha, FunctionalState alc_enable)
 设置指定的音频CODEC录音时是否开启ALC功能。 更多...
 
int cm_set_codec_dac_enable (int codec_index, int channel, FunctionalState en)
 设置指定的音频CODEC的DAC功能是否使能。 更多...
 
int cm_get_codec_empty_buffer_number (int codec_index, io_direction_t io_dir)
 获取指定的音频CODEC的空闲buffer数量。 更多...
 
int cm_get_codec_busy_buffer_number (int codec_index, io_direction_t io_dir)
 获取指定的音频CODEC的忙buffer数量。 更多...
 
int cm_set_codec_mute (int codec_index, io_direction_t io_dir, int channel_flag, FunctionalState en)
 设置静音模式。 更多...
 
int icodec_init (cm_codec_hw_info_t *codec_hw_info)
 包括CODEC整个的初始化,ADC、DAC的初始化 更多...
 
int icodec_start (io_direction_t io_dir)
 ADC、DAC的启动 更多...
 
int icodec_config (cm_sound_info_t *audio_info, io_direction_t io_dir)
 配置CODEC ADC或者DAC的采样率、数据位宽以及通道选择 更多...
 
int icodec_stop (io_direction_t io_dir)
 ADC、DAC的关闭 更多...
 
int icodec_ioctl (io_direction_t io_dir, uint32_t param0, uint32_t param1, uint32_t param2)
 ADC、DAC的配置项,mute使能或关闭、配置增益等 更多...