| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #ifndef __LUAT_AUDIO_CODEC_H__
- #define __LUAT_AUDIO_CODEC_H__
- typedef enum {
- LUAT_CODEC_SET_MUTE = 0, // 静音设置
- LUAT_CODEC_GET_MUTE, // 获取静音状态
- LUAT_CODEC_SET_VOICE_VOL, // 音量设置
- LUAT_CODEC_GET_VOICE_VOL, // 获取音量
- LUAT_CODEC_SET_MIC_VOL, // mic音量设置
- LUAT_CODEC_GET_MIC_VOL, // 获取mic音量
- LUAT_CODEC_SET_FORMAT, // codec数据格式设置
- LUAT_CODEC_SET_RATE, // 采样率设置
- LUAT_CODEC_SET_BITS, // 采样位设置
- LUAT_CODEC_SET_CHANNEL, // 通道设置
-
- LUAT_CODEC_MODE_RESUME,
- LUAT_CODEC_MODE_STANDBY,
- LUAT_CODEC_MODE_PWRDOWN,
- } luat_audio_codec_ctl_t;
- typedef enum {
- LUAT_CODEC_MODE_SLAVE = 0, // 默认从模式
- LUAT_CODEC_MODE_MASTER,
- LUAT_CODEC_MODE_ALL = 0,
- LUAT_CODEC_MODE_DAC,
- LUAT_CODEC_MODE_ADC,
- LUAT_CODEC_FORMAT_I2S = 0,
- LUAT_CODEC_FORMAT_LSB,
- LUAT_CODEC_FORMAT_MSB,
- LUAT_CODEC_FORMAT_PCMS,
- LUAT_CODEC_FORMAT_PCML,
- }luat_audio_codec_ctl_param_t;
- struct luat_audio_codec_opts;
- typedef struct luat_audio_codec_conf {
- int i2c_id; // i2c id
- int i2s_id; // i2s id
- const struct luat_audio_codec_opts* codec_opts; // codec 驱动函数
- uint8_t multimedia_id; // 多媒体id
- } luat_audio_codec_conf_t;
- typedef struct luat_audio_codec_opts{
- const char* name;
- int (*init)(luat_audio_codec_conf_t* conf,uint8_t mode); //初始化
- int (*deinit)(luat_audio_codec_conf_t* conf); //反初始化
- int (*control)(luat_audio_codec_conf_t* conf,luat_audio_codec_ctl_t cmd,uint32_t data); //控制函数
- int (*start)(luat_audio_codec_conf_t* conf); //停止
- int (*stop)(luat_audio_codec_conf_t* conf); //开始
- uint8_t no_control; //无法调节,只能开关
- } luat_audio_codec_opts_t;
- extern const luat_audio_codec_opts_t codec_opts_es8311;
- extern const luat_audio_codec_opts_t codec_opts_tm8211;
- extern const luat_audio_codec_opts_t codec_opts_common;
- #endif
|