CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
类型定义 | 枚举 | 函数 | 变量
audio_play_os_port.h 文件参考

播放器组件OS移植层 更多...

#include <stdint.h>
#include <string.h>
#include <stdbool.h>
#include "audio_play_config.h"

浏览源代码.

类型定义

typedef void(* audio_play_os_task_fun_t) (void *)
 任务入口函数句柄类型 更多...
 
typedef void * audio_play_os_task_t
 任务句柄类型 更多...
 
typedef void * audio_play_os_sem_t
 信号量句柄类型 更多...
 
typedef void * audio_play_os_queue_t
 队列句柄类型 更多...
 
typedef void * audio_play_os_stream_t
 数据流句柄类型 更多...
 
typedef void * audio_play_os_event_group_t
 事件标志组类型 更多...
 

枚举

enum  audio_play_os_state_t {
  AUDIO_PLAY_OS_SUCCESS = 0,
  AUDIO_PLAY_OS_FAIL = -1
}
 错误类型 更多...
 

函数

audio_play_os_state_t audio_play_task_create (audio_play_os_task_fun_t pxTaskCode, const char *const pcName, const uint16_t usStackDepth, void *const pvParameters, uint32_t uxPriority, audio_play_os_task_t *pxCreatedTask)
 任务创建 更多...
 
void audio_play_task_delete (audio_play_os_task_t xTaskToDelete)
 删除任务 更多...
 
void audio_play_task_suspend (audio_play_os_task_t xTaskToSuspend)
 挂起任务 更多...
 
void audio_play_task_resume (audio_play_os_task_t xTaskToResume)
 恢复任务 更多...
 
void audio_play_task_delay (const uint32_t xTicksToDelay)
 任务休眠 更多...
 
audio_play_os_sem_t audio_play_semaphore_create_binary (void)
 创建二值信号量 更多...
 
void audio_play_semaphore_delete (audio_play_os_sem_t xSemaphore)
 删除信号量 更多...
 
audio_play_os_state_t audio_play_semaphore_give (audio_play_os_sem_t xQueue)
 发送信号量 更多...
 
audio_play_os_state_t audio_play_semaphore_take (audio_play_os_sem_t xSemaphore, uint32_t xTicksToWait)
 获取信号量 更多...
 
audio_play_os_queue_t audio_play_queue_create (const uint32_t uxQueueLength, const uint32_t uxItemSize)
 创建队列 更多...
 
audio_play_os_state_t audio_play_queue_send (audio_play_os_queue_t xQueue, const void *const pvItemToQueue, uint32_t xTicksToWait)
 发送队列消息 更多...
 
audio_play_os_state_t audio_play_queue_peek (audio_play_os_queue_t xQueue, void *const pvBuffer, uint32_t xTicksToWait)
 复制队列头部消息 更多...
 
audio_play_os_state_t audio_play_queue_overwrite (audio_play_os_queue_t xQueue, const void *const pvItemToQueue)
 覆盖写入队列消息 更多...
 
audio_play_os_state_t audio_play_queue_delete (audio_play_os_queue_t xQueue)
 销毁队列 更多...
 
audio_play_os_state_t audio_play_queue_receive (audio_play_os_queue_t xQueue, void *const pvBuffer, uint32_t xTicksToWait)
 接受队列消息 更多...
 
audio_play_os_state_t audio_play_queue_reset (audio_play_os_queue_t xQueue)
 复位队列 更多...
 
audio_play_os_state_t audio_play_queue_is_full (audio_play_os_queue_t xQueue)
 查询队列是否满 更多...
 
audio_play_os_state_t audio_play_queue_is_empty (audio_play_os_queue_t xQueue)
 查询队列是否为空 更多...
 
audio_play_os_stream_t audio_play_stream_buffer_create (size_t xBufferSizeBytes, size_t xTriggerLevelBytes)
 创建数据缓存流 更多...
 
void audio_play_stream_buffer_delete (audio_play_os_stream_t xStreamBuffer)
 删除数据缓存流 更多...
 
size_t audio_play_stream_buffer_send (audio_play_os_stream_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, uint32_t xTicksToWait)
 向缓存流写入数据 更多...
 
size_t audio_play_stream_buffer_receive (audio_play_os_stream_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, uint32_t xTicksToWait)
 从缓存流获取数据 更多...
 
audio_play_os_state_t audio_play_stream_buffer_reset (audio_play_os_stream_t xStreamBuffer)
 缓存流复位 更多...
 
audio_play_os_state_t audio_play_stream_buffer_is_empty (audio_play_os_stream_t xStreamBuffer)
 查询缓存流是否为空 更多...
 
size_t audio_play_stream_buffer_get_spaces_size (audio_play_os_stream_t xStreamBuffer)
 查询缓冲流中的剩余空间大小 更多...
 
audio_play_os_event_group_t audio_play_event_group_create (void)
 创建事件标志组 更多...
 
uint32_t audio_play_event_group_wait_bits (audio_play_os_event_group_t xEventGroup, const uint32_t uxBitsToWaitFor, const audio_play_os_state_t xClearOnExit, const audio_play_os_state_t xWaitForAllBits, uint32_t xTicksToWait)
 等待事件标志组bit置位 更多...
 
uint32_t audio_play_event_group_set_bits (audio_play_os_event_group_t xEventGroup, const uint32_t uxBitsToSet)
 设置事件标志组bit位 更多...
 
audio_play_os_state_t audio_play_event_group_set_bits_isr (audio_play_os_event_group_t xEventGroup, const uint32_t uxBitsToSet, void *pxHigherPriorityTaskWoken)
 设置事件标志组bit位(中断安全) 更多...
 
void * audio_play_malloc (size_t xWantedSize)
 申请内存malloc 更多...
 
void * audio_play_calloc (size_t nmemb, size_t size)
 申请内存calloc 更多...
 
void audio_play_free (void *pv)
 释放内存 更多...
 
void * audio_play_realloc (void *pv, size_t size)
 重新分配内存 更多...
 

变量

const uint32_t audio_play_os_block
 
const uint32_t audio_play_os_unblock
 

详细描述

播放器组件OS移植层

版本
1.0
日期
2019-05-08

类型定义说明

◆ audio_play_os_event_group_t

事件标志组类型

◆ audio_play_os_queue_t

typedef void* audio_play_os_queue_t

队列句柄类型

◆ audio_play_os_sem_t

typedef void* audio_play_os_sem_t

信号量句柄类型

◆ audio_play_os_stream_t

typedef void* audio_play_os_stream_t

数据流句柄类型

◆ audio_play_os_task_fun_t

typedef void(* audio_play_os_task_fun_t) (void *)

任务入口函数句柄类型

◆ audio_play_os_task_t

typedef void* audio_play_os_task_t

任务句柄类型

枚举类型说明

◆ audio_play_os_state_t

错误类型

枚举值
AUDIO_PLAY_OS_SUCCESS 

无错误

AUDIO_PLAY_OS_FAIL 

未知错误

函数说明

◆ audio_play_calloc()

void* audio_play_calloc ( size_t  nmemb,
size_t  size 
)

申请内存calloc

参数
nmemb内存大小
size类型大小
返回
void* 内存地址

◆ audio_play_event_group_create()

audio_play_os_event_group_t audio_play_event_group_create ( void  )

创建事件标志组

返回
audio_play_os_event_group_t 事件标志组句柄

◆ audio_play_event_group_set_bits()

uint32_t audio_play_event_group_set_bits ( audio_play_os_event_group_t  xEventGroup,
const uint32_t  uxBitsToSet 
)

设置事件标志组bit位

参数
xEventGroup事件标志组句柄
uxBitsToSet要设置的bit位
返回
uint32_t 设置的bit位

◆ audio_play_event_group_set_bits_isr()

audio_play_os_state_t audio_play_event_group_set_bits_isr ( audio_play_os_event_group_t  xEventGroup,
const uint32_t  uxBitsToSet,
void *  pxHigherPriorityTaskWoken 
)

设置事件标志组bit位(中断安全)

参数
xEventGroup事件标志组句柄
uxBitsToSet要设置的bit位
pxHigherPriorityTaskWoken任务切换标志指针
返回值
AUDIO_PLAY_OS_SUCCESS设置成功
AUDIO_PLAY_OS_FAIL设置失败

◆ audio_play_event_group_wait_bits()

uint32_t audio_play_event_group_wait_bits ( audio_play_os_event_group_t  xEventGroup,
const uint32_t  uxBitsToWaitFor,
const audio_play_os_state_t  xClearOnExit,
const audio_play_os_state_t  xWaitForAllBits,
uint32_t  xTicksToWait 
)

等待事件标志组bit置位

参数
xEventGroup事件标志组句柄
uxBitsToWaitFor等待bit位
xClearOnExit是否退出时清除bit位
xWaitForAllBits是否等待所有要等待的位均发生
xTicksToWait等待tick数
返回
uint32_t 等待到的bit位

◆ audio_play_free()

void audio_play_free ( void *  pv)

释放内存

参数
pv内存地址

◆ audio_play_malloc()

void* audio_play_malloc ( size_t  xWantedSize)

申请内存malloc

参数
xWantedSize内存大小
返回
void* 内存地址

◆ audio_play_queue_create()

audio_play_os_queue_t audio_play_queue_create ( const uint32_t  uxQueueLength,
const uint32_t  uxItemSize 
)

创建队列

参数
uxQueueLength消息大小
uxItemSize队列长度
返回
audio_play_os_queue_t 队列句柄

◆ audio_play_queue_delete()

audio_play_os_state_t audio_play_queue_delete ( audio_play_os_queue_t  xQueue)

销毁队列

参数
xQueue队列句柄
返回值
AUDIO_PLAY_OS_SUCCESS队列销毁成功
AUDIO_PLAY_OS_FAIL队列销毁失败

◆ audio_play_queue_is_empty()

audio_play_os_state_t audio_play_queue_is_empty ( audio_play_os_queue_t  xQueue)

查询队列是否为空

参数
xQueue队列句柄
返回值
AUDIO_PLAY_OS_SUCCESS队列已空
AUDIO_PLAY_OS_FAIL队列未空

◆ audio_play_queue_is_full()

audio_play_os_state_t audio_play_queue_is_full ( audio_play_os_queue_t  xQueue)

查询队列是否满

参数
xQueue队列句柄
返回值
AUDIO_PLAY_OS_SUCCESS队列已满
AUDIO_PLAY_OS_FAIL队列未满

◆ audio_play_queue_overwrite()

audio_play_os_state_t audio_play_queue_overwrite ( audio_play_os_queue_t  xQueue,
const void *const  pvItemToQueue 
)

覆盖写入队列消息

参数
xQueue队列句柄
pvItemToQueue消息
返回值
AUDIO_PLAY_OS_SUCCESS写入成功
AUDIO_PLAY_OS_FAIL写入失败

◆ audio_play_queue_peek()

audio_play_os_state_t audio_play_queue_peek ( audio_play_os_queue_t  xQueue,
void *const  pvBuffer,
uint32_t  xTicksToWait 
)

复制队列头部消息

参数
xQueue队列句柄
pvBuffer消息buff
xTicksToWait等待tick数
返回值
AUDIO_PLAY_OS_SUCCESS复制成功
AUDIO_PLAY_OS_FAIL复制失败

◆ audio_play_queue_receive()

audio_play_os_state_t audio_play_queue_receive ( audio_play_os_queue_t  xQueue,
void *const  pvBuffer,
uint32_t  xTicksToWait 
)

接受队列消息

参数
xQueue队列句柄
pvBuffer消息buff
xTicksToWait等待tick数
返回值
AUDIO_PLAY_OS_SUCCESS接受成功
AUDIO_PLAY_OS_FAIL接受失败

◆ audio_play_queue_reset()

audio_play_os_state_t audio_play_queue_reset ( audio_play_os_queue_t  xQueue)

复位队列

参数
xQueue队列句柄
返回值
AUDIO_PLAY_OS_SUCCESS复位成功
AUDIO_PLAY_OS_FAIL复位失败

◆ audio_play_queue_send()

audio_play_os_state_t audio_play_queue_send ( audio_play_os_queue_t  xQueue,
const void *const  pvItemToQueue,
uint32_t  xTicksToWait 
)

发送队列消息

参数
xQueue队列句柄
pvItemToQueue消息
xTicksToWait等待tick数
返回值
AUDIO_PLAY_OS_SUCCESS发送成功
AUDIO_PLAY_OS_FAIL发送失败

◆ audio_play_realloc()

void* audio_play_realloc ( void *  pv,
size_t  size 
)

重新分配内存

参数
pv内存地址
size新的大小
返回
void* 内存地址

◆ audio_play_semaphore_create_binary()

audio_play_os_sem_t audio_play_semaphore_create_binary ( void  )

创建二值信号量

返回
audio_play_os_sem_t 信号量句柄

◆ audio_play_semaphore_delete()

void audio_play_semaphore_delete ( audio_play_os_sem_t  xSemaphore)

删除信号量

参数
xSemaphore信号量句柄

◆ audio_play_semaphore_give()

audio_play_os_state_t audio_play_semaphore_give ( audio_play_os_sem_t  xSemaphore)

发送信号量

参数
xSemaphore信号量句柄
返回值
AUDIO_PLAY_OS_SUCCESS发送成功
AUDIO_PLAY_OS_FAIL发送失败

◆ audio_play_semaphore_take()

audio_play_os_state_t audio_play_semaphore_take ( audio_play_os_sem_t  xSemaphore,
uint32_t  xTicksToWait 
)

获取信号量

参数
xSemaphore信号量句柄
xTicksToWait等待tick数
返回值
AUDIO_PLAY_OS_SUCCESS获取成功
AUDIO_PLAY_OS_FAIL获取失败

◆ audio_play_stream_buffer_create()

audio_play_os_stream_t audio_play_stream_buffer_create ( size_t  xBufferSizeBytes,
size_t  xTriggerLevelBytes 
)

创建数据缓存流

参数
xBufferSizeBytes缓冲区大小
xTriggerLevelBytes触发深度
返回
audio_play_os_stream_t 缓存流句柄

◆ audio_play_stream_buffer_delete()

void audio_play_stream_buffer_delete ( audio_play_os_stream_t  xStreamBuffer)

删除数据缓存流

参数
xStreamBuffer缓存流句柄

◆ audio_play_stream_buffer_get_spaces_size()

size_t audio_play_stream_buffer_get_spaces_size ( audio_play_os_stream_t  xStreamBuffer)

查询缓冲流中的剩余空间大小

参数
xStreamBuffer缓存流句柄
返回
size_t 剩余空间大小

◆ audio_play_stream_buffer_is_empty()

audio_play_os_state_t audio_play_stream_buffer_is_empty ( audio_play_os_stream_t  xStreamBuffer)

查询缓存流是否为空

参数
xStreamBuffer缓存流句柄
返回值
AUDIO_PLAY_OS_SUCCESS缓存流已空
AUDIO_PLAY_OS_FAIL缓存流不空

◆ audio_play_stream_buffer_receive()

size_t audio_play_stream_buffer_receive ( audio_play_os_stream_t  xStreamBuffer,
void *  pvRxData,
size_t  xBufferLengthBytes,
uint32_t  xTicksToWait 
)

从缓存流获取数据

参数
xStreamBuffer缓存流句柄
pvRxData数据buf地址
xBufferLengthBytes数据大小
xTicksToWait等待tick数
返回
size_t 读出大小

◆ audio_play_stream_buffer_reset()

audio_play_os_state_t audio_play_stream_buffer_reset ( audio_play_os_stream_t  xStreamBuffer)

缓存流复位

参数
xStreamBuffer缓存流句柄
返回值
AUDIO_PLAY_OS_SUCCESS复位成功
AUDIO_PLAY_OS_FAIL复位失败

◆ audio_play_stream_buffer_send()

size_t audio_play_stream_buffer_send ( audio_play_os_stream_t  xStreamBuffer,
const void *  pvTxData,
size_t  xDataLengthBytes,
uint32_t  xTicksToWait 
)

向缓存流写入数据

参数
xStreamBuffer缓存流句柄
pvTxData数据地址
xDataLengthBytes数据大小
xTicksToWait等待tick数
返回
size_t 成功写入大小

◆ audio_play_task_create()

audio_play_os_state_t audio_play_task_create ( audio_play_os_task_fun_t  pxTaskCode,
const char *const  pcName,
const uint16_t  usStackDepth,
void *const  pvParameters,
uint32_t  uxPriority,
audio_play_os_task_t pxCreatedTask 
)

任务创建

参数
pxTaskCode任务函数入口
pcName任务名称
usStackDepth栈大小
pvParameters参数
uxPriority优先级
pxCreatedTask任务句柄指针
返回值
AUDIO_PLAY_OS_SUCCESS创建成功
AUDIO_PLAY_OS_FAIL创建失败

◆ audio_play_task_delay()

void audio_play_task_delay ( const uint32_t  xTicksToDelay)

任务休眠

参数
xTicksToDelay休眠tick数

◆ audio_play_task_delete()

void audio_play_task_delete ( audio_play_os_task_t  xTaskToDelete)

删除任务

参数
xTaskToDelete任务句柄

◆ audio_play_task_resume()

void audio_play_task_resume ( audio_play_os_task_t  xTaskToResume)

恢复任务

参数
xTaskToResume任务句柄

◆ audio_play_task_suspend()

void audio_play_task_suspend ( audio_play_os_task_t  xTaskToSuspend)

挂起任务

参数
xTaskToSuspend任务句柄

变量说明

◆ audio_play_os_block

const uint32_t audio_play_os_block

阻塞等待delay

◆ audio_play_os_unblock

const uint32_t audio_play_os_unblock