mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-05 15:15:29 +00:00
[doxygen][audio] Fix doxygen comments for audio component
Added comments for data structure and rt_audio_ops in dev_audio.h. Enriched comments for macro group. Moved and renamed folder audio. Signed-off-by: 1078249029 <1078249029@qq.com>
This commit is contained in:
@@ -7,6 +7,7 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017-05-09 Urey first version
|
* 2017-05-09 Urey first version
|
||||||
* 2019-07-09 Zero-Free improve device ops interface and data flows
|
* 2019-07-09 Zero-Free improve device ops interface and data flows
|
||||||
|
* 2025-03-04 wumingzi add doxygen comments.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup group_AudioPipe
|
* @addtogroup group_Audio
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @{ */
|
/** @{ */
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2012-09-30 Bernard first version.
|
* 2012-09-30 Bernard first version.
|
||||||
|
* 2025-03-04 wumingzi add doxygen comments.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rthw.h>
|
#include <rthw.h>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
|
* 2025-03-04 wumingzi add doxygen comments.
|
||||||
*/
|
*/
|
||||||
#ifndef __DEV_AUDIO_PIPE_H__
|
#ifndef __DEV_AUDIO_PIPE_H__
|
||||||
#define __DEV_AUDIO_PIPE_H__
|
#define __DEV_AUDIO_PIPE_H__
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017-05-09 Urey first version
|
* 2017-05-09 Urey first version
|
||||||
* 2019-07-09 Zero-Free improve device ops interface and data flows
|
* 2019-07-09 Zero-Free improve device ops interface and data flows
|
||||||
*
|
* 2025-03-04 wumingzi add doxygen comments.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DEV_AUDIO_H__
|
#ifndef __DEV_AUDIO_H__
|
||||||
@@ -21,10 +21,7 @@
|
|||||||
* @ingroup group_Drivers RT-Thread Drivers
|
* @ingroup group_Drivers RT-Thread Drivers
|
||||||
*
|
*
|
||||||
* @brief Audio driver API.
|
* @brief Audio driver API.
|
||||||
*/
|
*
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup group_Audio
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -32,10 +29,7 @@
|
|||||||
* @defgroup audio_control AUDIO_CTL
|
* @defgroup audio_control AUDIO_CTL
|
||||||
*
|
*
|
||||||
* @brief Control audio device.
|
* @brief Control audio device.
|
||||||
*/
|
*
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup audio_control
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -60,10 +54,7 @@
|
|||||||
* @defgroup audio_type AUDIO_TYPE
|
* @defgroup audio_type AUDIO_TYPE
|
||||||
*
|
*
|
||||||
* @brief Audio Device Types
|
* @brief Audio Device Types
|
||||||
*/
|
*
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup audio_type
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define AUDIO_TYPE_QUERY 0x00 /**< Query audio device type */
|
#define AUDIO_TYPE_QUERY 0x00 /**< Query audio device type */
|
||||||
@@ -76,10 +67,7 @@
|
|||||||
* @defgroup audio_samp_rates AUDIO_SAMP_RATES
|
* @defgroup audio_samp_rates AUDIO_SAMP_RATES
|
||||||
*
|
*
|
||||||
* @brief Supported audio sample rates for the audio device.
|
* @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_8K 0x0001 /**< Set audio device sample rate to 8K */
|
||||||
@@ -100,10 +88,7 @@
|
|||||||
* @defgroup audio_bit_rates AUDIO_BIT_RATES
|
* @defgroup audio_bit_rates AUDIO_BIT_RATES
|
||||||
*
|
*
|
||||||
* @brief Supported bit rates for the audio device.
|
* @brief Supported bit rates for the audio device.
|
||||||
*/
|
*
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup audio_bit_rates
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define AUDIO_BIT_RATE_22K 0x01 /**< Set audio device bit rates to 22K */
|
#define AUDIO_BIT_RATE_22K 0x01 /**< Set audio device bit rates to 22K */
|
||||||
@@ -120,11 +105,9 @@
|
|||||||
/**
|
/**
|
||||||
* @defgroup audio_dsp AUDIO_DSP
|
* @defgroup audio_dsp AUDIO_DSP
|
||||||
*
|
*
|
||||||
* @brief Support Dsp(input/output) Units controls
|
* @brief Support Dsp(input/output) Units controls. The macro group from application level, can
|
||||||
*/
|
* set audio mixer parameters including samplerate, channels etc.
|
||||||
|
*
|
||||||
/**
|
|
||||||
* @addtogroup audio_dsp
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define AUDIO_DSP_PARAM 0 /**< get/set all params */
|
#define AUDIO_DSP_PARAM 0 /**< get/set all params */
|
||||||
@@ -136,11 +119,9 @@
|
|||||||
/**
|
/**
|
||||||
* @defgroup audio_mixer AUDIO_MIXER
|
* @defgroup audio_mixer AUDIO_MIXER
|
||||||
*
|
*
|
||||||
* @brief Supported Mixer Units controls
|
* @brief Supported Mixer Units controls. The macro group from driver level, can set audio mixer
|
||||||
*/
|
* parameters including volume, frequence db, microphone etc.
|
||||||
|
*
|
||||||
/**
|
|
||||||
* @addtogroup audio_mixer
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define AUDIO_MIXER_QUERY 0x0000 /**< Query mixer capabilities */
|
#define AUDIO_MIXER_QUERY 0x0000 /**< Query mixer capabilities */
|
||||||
@@ -181,24 +162,35 @@ enum
|
|||||||
*/
|
*/
|
||||||
struct rt_audio_buf_info
|
struct rt_audio_buf_info
|
||||||
{
|
{
|
||||||
rt_uint8_t *buffer;
|
rt_uint8_t *buffer; /**< Audio buffer information */
|
||||||
rt_uint16_t block_size;
|
rt_uint16_t block_size; /**< Audio block_size information for replay function */
|
||||||
rt_uint16_t block_count;
|
rt_uint16_t block_count; /**< Audio block_count information for replay function */
|
||||||
rt_uint32_t total_size;
|
rt_uint32_t total_size; /**< Audio total_size which is equal to block_size multiplying
|
||||||
|
* block_count information for replay function */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct rt_audio_device;
|
struct rt_audio_device;
|
||||||
struct rt_audio_caps;
|
struct rt_audio_caps;
|
||||||
struct rt_audio_configure;
|
struct rt_audio_configure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Aduio device operators
|
||||||
|
*/
|
||||||
struct rt_audio_ops
|
struct rt_audio_ops
|
||||||
{
|
{
|
||||||
|
/** Get audio capabilities information */
|
||||||
rt_err_t (*getcaps)(struct rt_audio_device *audio, struct rt_audio_caps *caps);
|
rt_err_t (*getcaps)(struct rt_audio_device *audio, struct rt_audio_caps *caps);
|
||||||
|
/** Configure audio devices */
|
||||||
rt_err_t (*configure)(struct rt_audio_device *audio, struct rt_audio_caps *caps);
|
rt_err_t (*configure)(struct rt_audio_device *audio, struct rt_audio_caps *caps);
|
||||||
|
/** Initialize audio device */
|
||||||
rt_err_t (*init)(struct rt_audio_device *audio);
|
rt_err_t (*init)(struct rt_audio_device *audio);
|
||||||
|
/** Turn on the audio device */
|
||||||
rt_err_t (*start)(struct rt_audio_device *audio, int stream);
|
rt_err_t (*start)(struct rt_audio_device *audio, int stream);
|
||||||
|
/** Turn off the audio device */
|
||||||
rt_err_t (*stop)(struct rt_audio_device *audio, int stream);
|
rt_err_t (*stop)(struct rt_audio_device *audio, int stream);
|
||||||
|
/** Transmit data between application and device */
|
||||||
rt_ssize_t (*transmit)(struct rt_audio_device *audio, const void *writeBuf, void *readBuf, rt_size_t size);
|
rt_ssize_t (*transmit)(struct rt_audio_device *audio, const void *writeBuf, void *readBuf, rt_size_t size);
|
||||||
/* get page size of codec or private buffer's info */
|
/** Get page size of codec or private buffer's info */
|
||||||
void (*buffer_info)(struct rt_audio_device *audio, struct rt_audio_buf_info *info);
|
void (*buffer_info)(struct rt_audio_device *audio, struct rt_audio_buf_info *info);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -211,9 +203,9 @@ struct rt_audio_ops
|
|||||||
*/
|
*/
|
||||||
struct rt_audio_configure
|
struct rt_audio_configure
|
||||||
{
|
{
|
||||||
rt_uint32_t samplerate;
|
rt_uint32_t samplerate; /**< Audio samplerate information */
|
||||||
rt_uint16_t channels;
|
rt_uint16_t channels; /**< Audio channels information */
|
||||||
rt_uint16_t samplebits;
|
rt_uint16_t samplebits; /**< Audio samplebits information */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -221,15 +213,15 @@ struct rt_audio_configure
|
|||||||
*/
|
*/
|
||||||
struct rt_audio_caps
|
struct rt_audio_caps
|
||||||
{
|
{
|
||||||
int main_type;
|
int main_type; /**< Audio main type, one value of @ref audio_type */
|
||||||
int sub_type;
|
int sub_type; /**< Audio sub type, one value of @ref audio_dsp @ref audio_mixer */
|
||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
rt_uint32_t mask;
|
rt_uint32_t mask; /**< Capabilities mask */
|
||||||
int value;
|
int value; /**< Capabilities value */
|
||||||
struct rt_audio_configure config;
|
struct rt_audio_configure config; /**< Audio samplebits information */
|
||||||
} udata;
|
} udata; /**< User data */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -237,17 +229,19 @@ struct rt_audio_caps
|
|||||||
*/
|
*/
|
||||||
struct rt_audio_replay
|
struct rt_audio_replay
|
||||||
{
|
{
|
||||||
struct rt_mempool *mp;
|
struct rt_mempool *mp; /**< Memory pool for audio replay */
|
||||||
struct rt_data_queue queue;
|
struct rt_data_queue queue; /**< Replay data queue */
|
||||||
struct rt_mutex lock;
|
struct rt_mutex lock; /**< Replay mutex lock */
|
||||||
struct rt_completion cmp;
|
struct rt_completion cmp; /**< Replay completion, it will be */
|
||||||
struct rt_audio_buf_info buf_info;
|
struct rt_audio_buf_info buf_info; /**< Replay buffer information */
|
||||||
rt_uint8_t *write_data;
|
rt_uint8_t *write_data; /**< Pointer to the data to be written into data queue */
|
||||||
rt_uint16_t write_index;
|
rt_uint16_t write_index; /**< Index of pointer write_data.It records how much data
|
||||||
rt_uint16_t read_index;
|
* has been written in currently being played block */
|
||||||
rt_uint32_t pos;
|
rt_uint16_t read_index; /**< Index of replaying data for audio device, it indicates index
|
||||||
rt_uint8_t event;
|
* of replay in the blocks which is currently being played */
|
||||||
rt_bool_t activated;
|
rt_uint32_t pos; /**< Global position of audio replay */
|
||||||
|
rt_uint8_t event; /**< Event flag */
|
||||||
|
rt_bool_t activated; /**< Activaty flag */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -264,10 +258,10 @@ struct rt_audio_record
|
|||||||
*/
|
*/
|
||||||
struct rt_audio_device
|
struct rt_audio_device
|
||||||
{
|
{
|
||||||
struct rt_device parent;
|
struct rt_device parent; /**< Audio device parents */
|
||||||
struct rt_audio_ops *ops;
|
struct rt_audio_ops *ops; /**< Audio device operator */
|
||||||
struct rt_audio_replay *replay;
|
struct rt_audio_replay *replay; /**< Pointer to audio replay structure */
|
||||||
struct rt_audio_record *record;
|
struct rt_audio_record *record; /**< Pointer to audio record structure */
|
||||||
};
|
};
|
||||||
|
|
||||||
rt_err_t rt_audio_register(struct rt_audio_device *audio, const char *name, rt_uint32_t flag, void *data);
|
rt_err_t rt_audio_register(struct rt_audio_device *audio, const char *name, rt_uint32_t flag, void *data);
|
||||||
@@ -277,11 +271,9 @@ void rt_audio_rx_done(struct rt_audio_device *audio, rt_uint8_t *pbuf, rt
|
|||||||
/**
|
/**
|
||||||
* @defgroup audio_codec_cmd CODEC_CMD
|
* @defgroup audio_codec_cmd CODEC_CMD
|
||||||
*
|
*
|
||||||
* @brief Device Control Commands
|
* @brief Device Control Commands. The macro group from hardware level, can set codec
|
||||||
*/
|
* parametes including volume, EQ and 3D etc.
|
||||||
|
*
|
||||||
/**
|
|
||||||
* @addtogroup audio_codec_cmd
|
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define CODEC_CMD_RESET 0 /**< Reset audio device by codec */
|
#define CODEC_CMD_RESET 0 /**< Reset audio device by codec */
|
||||||
|
|||||||
Reference in New Issue
Block a user