summaryrefslogtreecommitdiff
path: root/components/drivers/include
diff options
context:
space:
mode:
authorwumingzi <[email protected]>2025-03-01 16:02:17 +0800
committerGitHub <[email protected]>2025-03-01 16:02:17 +0800
commitfb640527226b5f95befb2423ab7b9d0d968403dd (patch)
treef2a45971f5093a1eca2ba39dd3632763f9c2a4b6 /components/drivers/include
parentbb5be4d19ad0ea04ae78401d338d76850fb0ffc8 (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.h245
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