diff options
| author | wumingzi <[email protected]> | 2025-03-01 16:02:17 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-03-01 16:02:17 +0800 |
| commit | fb640527226b5f95befb2423ab7b9d0d968403dd (patch) | |
| tree | f2a45971f5093a1eca2ba39dd3632763f9c2a4b6 /components/drivers/include | |
| parent | bb5be4d19ad0ea04ae78401d338d76850fb0ffc8 (diff) | |
[RFC][doxygen]Doxygen comment standard processing (#10058)
Signed-off-by: 1078249029 <[email protected]>
Diffstat (limited to 'components/drivers/include')
| -rw-r--r-- | components/drivers/include/drivers/dev_audio.h | 245 |
1 files changed, 184 insertions, 61 deletions
diff --git a/components/drivers/include/drivers/dev_audio.h b/components/drivers/include/drivers/dev_audio.h index ef92a935ab..9d9e1af632 100644 --- a/components/drivers/include/drivers/dev_audio.h +++ b/components/drivers/include/drivers/dev_audio.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2023, RT-Thread Development Team + * Copyright (c) 2006-2025 RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -15,70 +15,156 @@ #include "dev_audio_pipe.h" -/* AUDIO command */ +/** + * @defgroup group_Audio Audio + * + * @ingroup group_Drivers RT-Thread Drivers + * + * @brief Audio driver API. + */ + +/** + * @addtogroup group_Audio + * @{ + */ + +/** + * @defgroup audio_control AUDIO_CTL + * + * @brief Control audio device. + */ + +/** + * @addtogroup audio_control + * @{ + */ + +/** + * @brief Generate audio command code with @a a + * + * @param[in] a offset of command. + * + * @return audio device control command code. + */ #define _AUDIO_CTL(a) (RT_DEVICE_CTRL_BASE(Sound) + a) -#define AUDIO_CTL_GETCAPS _AUDIO_CTL(1) -#define AUDIO_CTL_CONFIGURE _AUDIO_CTL(2) -#define AUDIO_CTL_START _AUDIO_CTL(3) -#define AUDIO_CTL_STOP _AUDIO_CTL(4) -#define AUDIO_CTL_GETBUFFERINFO _AUDIO_CTL(5) +#define AUDIO_CTL_GETCAPS _AUDIO_CTL(1) /**< Get audio device capabilities */ +#define AUDIO_CTL_CONFIGURE _AUDIO_CTL(2) /**< Get audio device configuration */ +#define AUDIO_CTL_START _AUDIO_CTL(3) /**< Start audio device */ +#define AUDIO_CTL_STOP _AUDIO_CTL(4) /**< Stop audio device */ +#define AUDIO_CTL_GETBUFFERINFO _AUDIO_CTL(5) /**< Get audio device buffer information */ + +/** @} */ /* End of audio_control*/ + +/** + * @defgroup audio_type AUDIO_TYPE + * + * @brief Audio Device Types + */ + +/** + * @addtogroup audio_type + * @{ + */ +#define AUDIO_TYPE_QUERY 0x00 /**< Query audio device type */ +#define AUDIO_TYPE_INPUT 0x01 /**< Set audio device type to input type */ +#define AUDIO_TYPE_OUTPUT 0x02 /**< Set audio device type to output type */ +#define AUDIO_TYPE_MIXER 0x04 /**< Set audio device type to mixer type */ +/** @} */ /* End of audio_type*/ + +/** + * @defgroup audio_samp_rates AUDIO_SAMP_RATES + * + * @brief Supported audio sample rates for the audio device. + */ + +/** + * @addtogroup audio_samp_rates + * @{ + */ +#define AUDIO_SAMP_RATE_8K 0x0001 /**< Set audio device sample rate to 8K */ +#define AUDIO_SAMP_RATE_11K 0x0002 /**< Set audio device sample rate to 11K */ +#define AUDIO_SAMP_RATE_16K 0x0004 /**< Set audio device sample rate to 16K */ +#define AUDIO_SAMP_RATE_22K 0x0008 /**< Set audio device sample rate to 22K */ +#define AUDIO_SAMP_RATE_32K 0x0010 /**< Set audio device sample rate to 32K */ +#define AUDIO_SAMP_RATE_44K 0x0020 /**< Set audio device sample rate to 44K */ +#define AUDIO_SAMP_RATE_48K 0x0040 /**< Set audio device sample rate to 48K */ +#define AUDIO_SAMP_RATE_96K 0x0080 /**< Set audio device sample rate to 96K */ +#define AUDIO_SAMP_RATE_128K 0x0100 /**< Set audio device sample rate to 128K */ +#define AUDIO_SAMP_RATE_160K 0x0200 /**< Set audio device sample rate to 160K */ +#define AUDIO_SAMP_RATE_172K 0x0400 /**< Set audio device sample rate to 172K */ +#define AUDIO_SAMP_RATE_192K 0x0800 /**< Set audio device sample rate to 192K */ +/** @} */ /* End of audio_samp_rates*/ + +/** + * @defgroup audio_bit_rates AUDIO_BIT_RATES + * + * @brief Supported bit rates for the audio device. + */ -/* Audio Device Types */ -#define AUDIO_TYPE_QUERY 0x00 -#define AUDIO_TYPE_INPUT 0x01 -#define AUDIO_TYPE_OUTPUT 0x02 -#define AUDIO_TYPE_MIXER 0x04 +/** + * @addtogroup audio_bit_rates + * @{ + */ +#define AUDIO_BIT_RATE_22K 0x01 /**< Set audio device bit rates to 22K */ +#define AUDIO_BIT_RATE_44K 0x02 /**< Set audio device bit rates to 44K */ +#define AUDIO_BIT_RATE_48K 0x04 /**< Set audio device bit rates to 48K */ +#define AUDIO_BIT_RATE_96K 0x08 /**< Set audio device bit rates to 96K */ +#define AUDIO_BIT_RATE_128K 0x10 /**< Set audio device bit rates to 128K */ +#define AUDIO_BIT_RATE_160K 0x20 /**< Set audio device bit rates to 160K */ +#define AUDIO_BIT_RATE_172K 0x40 /**< Set audio device bit rates to 172K */ +#define AUDIO_BIT_RATE_192K 0x80 /**< Set audio device bit rates to 192K */ +/** @} */ /* End of audio_bit_rates*/ -/* Supported Sampling Rates */ -#define AUDIO_SAMP_RATE_8K 0x0001 -#define AUDIO_SAMP_RATE_11K 0x0002 -#define AUDIO_SAMP_RATE_16K 0x0004 -#define AUDIO_SAMP_RATE_22K 0x0008 -#define AUDIO_SAMP_RATE_32K 0x0010 -#define AUDIO_SAMP_RATE_44K 0x0020 -#define AUDIO_SAMP_RATE_48K 0x0040 -#define AUDIO_SAMP_RATE_96K 0x0080 -#define AUDIO_SAMP_RATE_128K 0x0100 -#define AUDIO_SAMP_RATE_160K 0x0200 -#define AUDIO_SAMP_RATE_172K 0x0400 -#define AUDIO_SAMP_RATE_192K 0x0800 -/* Supported Bit Rates */ -#define AUDIO_BIT_RATE_22K 0x01 -#define AUDIO_BIT_RATE_44K 0x02 -#define AUDIO_BIT_RATE_48K 0x04 -#define AUDIO_BIT_RATE_96K 0x08 -#define AUDIO_BIT_RATE_128K 0x10 -#define AUDIO_BIT_RATE_160K 0x20 -#define AUDIO_BIT_RATE_172K 0x40 -#define AUDIO_BIT_RATE_192K 0x80 +/** + * @defgroup audio_dsp AUDIO_DSP + * + * @brief Support Dsp(input/output) Units controls + */ -/* Support Dsp(input/output) Units controls */ -#define AUDIO_DSP_PARAM 0 /* get/set all params */ -#define AUDIO_DSP_SAMPLERATE 1 /* samplerate */ -#define AUDIO_DSP_CHANNELS 2 /* channels */ -#define AUDIO_DSP_SAMPLEBITS 3 /* sample bits width */ +/** + * @addtogroup audio_dsp + * @{ + */ +#define AUDIO_DSP_PARAM 0 /**< get/set all params */ +#define AUDIO_DSP_SAMPLERATE 1 /**< samplerate */ +#define AUDIO_DSP_CHANNELS 2 /**< channels */ +#define AUDIO_DSP_SAMPLEBITS 3 /**< sample bits width */ +/** @} */ /* End of audio_dsp*/ -/* Supported Mixer Units controls */ -#define AUDIO_MIXER_QUERY 0x0000 -#define AUDIO_MIXER_MUTE 0x0001 -#define AUDIO_MIXER_VOLUME 0x0002 -#define AUDIO_MIXER_BASS 0x0004 -#define AUDIO_MIXER_MID 0x0008 -#define AUDIO_MIXER_TREBLE 0x0010 -#define AUDIO_MIXER_EQUALIZER 0x0020 -#define AUDIO_MIXER_LINE 0x0040 -#define AUDIO_MIXER_DIGITAL 0x0080 -#define AUDIO_MIXER_MIC 0x0100 -#define AUDIO_MIXER_VITURAL 0x0200 -#define AUDIO_MIXER_EXTEND 0x8000 /* extend mixer command */ +/** + * @defgroup audio_mixer AUDIO_MIXER + * + * @brief Supported Mixer Units controls + */ + +/** + * @addtogroup audio_mixer + * @{ + */ +#define AUDIO_MIXER_QUERY 0x0000 /**< Query mixer capabilities */ +#define AUDIO_MIXER_MUTE 0x0001 /**< Mute audio device */ +#define AUDIO_MIXER_VOLUME 0x0002 /**< Set mixer volume */ +#define AUDIO_MIXER_BASS 0x0004 /**< Set the low-frequency section of the mixer */ +#define AUDIO_MIXER_MID 0x0008 /**< Set the mid-frequency section of the mixer*/ +#define AUDIO_MIXER_TREBLE 0x0010 /**< Set the high-frequency section of the mixer */ +#define AUDIO_MIXER_EQUALIZER 0x0020 /**< Set equalizer option */ +#define AUDIO_MIXER_LINE 0x0040 /**< Set line control option */ +#define AUDIO_MIXER_DIGITAL 0x0080 /**< Set digital source */ +#define AUDIO_MIXER_MIC 0x0100 /**< Set microphone option */ +#define AUDIO_MIXER_VITURAL 0x0200 /**< Set virtual audio option */ +#define AUDIO_MIXER_EXTEND 0x8000 /**< Extend mixer command */ +/** @} */ /* End of audio_mixer*/ #define AUDIO_VOLUME_MAX (100) #define AUDIO_VOLUME_MIN (0) #define CFG_AUDIO_REPLAY_QUEUE_COUNT 4 +/** + * @brief Audio stream control command + */ enum { AUDIO_STREAM_REPLAY = 0, @@ -86,7 +172,13 @@ enum AUDIO_STREAM_LAST = AUDIO_STREAM_RECORD, }; -/* the preferred number and size of audio pipeline buffer for the audio device */ +/** + * @brief Audio buffer info + * + * The preferred number and size of audio pipeline buffer for the audio device, it + * will be used in rt_audio_replay struct. + * + */ struct rt_audio_buf_info { rt_uint8_t *buffer; @@ -110,6 +202,13 @@ struct rt_audio_ops void (*buffer_info)(struct rt_audio_device *audio, struct rt_audio_buf_info *info); }; +/** + * @brief Audio configuration + * + * The preferred number and size of audio pipeline buffer for the audio device, it + * will be used in rt_audio_caps struct. + * + */ struct rt_audio_configure { rt_uint32_t samplerate; @@ -117,6 +216,9 @@ struct rt_audio_configure rt_uint16_t samplebits; }; +/** + * @brief Audio capabilities + */ struct rt_audio_caps { int main_type; @@ -130,6 +232,9 @@ struct rt_audio_caps } udata; }; +/** + * @brief Audio replay + */ struct rt_audio_replay { struct rt_mempool *mp; @@ -145,12 +250,18 @@ struct rt_audio_replay rt_bool_t activated; }; +/** + * @brief Audio record, the audio device pipe container of ringbuffer + */ struct rt_audio_record { struct rt_audio_pipe pipe; rt_bool_t activated; }; +/** + * @brief Audio device + */ struct rt_audio_device { struct rt_device parent; @@ -163,14 +274,26 @@ rt_err_t rt_audio_register(struct rt_audio_device *audio, const char *name, r void rt_audio_tx_complete(struct rt_audio_device *audio); void rt_audio_rx_done(struct rt_audio_device *audio, rt_uint8_t *pbuf, rt_size_t len); -/* Device Control Commands */ -#define CODEC_CMD_RESET 0 -#define CODEC_CMD_SET_VOLUME 1 -#define CODEC_CMD_GET_VOLUME 2 -#define CODEC_CMD_SAMPLERATE 3 -#define CODEC_CMD_EQ 4 -#define CODEC_CMD_3D 5 +/** + * @defgroup audio_codec_cmd CODEC_CMD + * + * @brief Device Control Commands + */ + +/** + * @addtogroup audio_codec_cmd + * @{ + */ +#define CODEC_CMD_RESET 0 /**< Reset audio device by codec */ +#define CODEC_CMD_SET_VOLUME 1 /**< Set volume by codec */ +#define CODEC_CMD_GET_VOLUME 2 /**< Get volume by codec */ +#define CODEC_CMD_SAMPLERATE 3 /**< Set sample rate by codec */ +#define CODEC_CMD_EQ 4 /**< Set equalizer by codec */ +#define CODEC_CMD_3D 5 /**< Set 3D effect by codec */ #define CODEC_VOLUME_MAX (63) +/** @} */ /* End of audio_codec_cmd*/ + +/** @} group_Audio */ -#endif /* __DEV_AUDIO_H__ */ +#endif /* __DEV_AUDIO_H__ */
\ No newline at end of file |
