pure sdk for main
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
#ifndef _AUEQ_H
|
||||
#define _AUEQ_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @brief AUEQ ioctl_cmd type
|
||||
*/
|
||||
enum aueq_ioctl_cmd {
|
||||
|
||||
/*!
|
||||
* @brief:
|
||||
*
|
||||
*/
|
||||
AUEQ_IOCTL_CMD_NONE,
|
||||
};
|
||||
|
||||
|
||||
/*!
|
||||
* @brief coefficient configuration
|
||||
* @note
|
||||
* a example of coefficient for 5 band:
|
||||
* struct aueq_cfg cfg[5];
|
||||
* cfg[0].b[0] = 0.1;
|
||||
* cfg[0].b[1] = 0.3;
|
||||
* ...
|
||||
* cfg[1].b[1] = 0.6;
|
||||
*/
|
||||
struct aueq_cfg{
|
||||
double b[3];
|
||||
double a[2];
|
||||
};
|
||||
|
||||
|
||||
/* AUEQ api for user */
|
||||
|
||||
struct aueq_device {
|
||||
struct dev_obj dev;
|
||||
};
|
||||
|
||||
struct aueq_hal_ops {
|
||||
struct devobj_ops ops;
|
||||
int32(*open)(struct aueq_device *aueq, struct aueq_cfg *p_cfg);
|
||||
int32(*close)(struct aueq_device *aueq);
|
||||
int32(*run)(struct aueq_device *aueq, void* dat_buf, uint32 bytes);
|
||||
int32(*ioctl)(struct aueq_device *aueq, enum aueq_ioctl_cmd ioctl_cmd, uint32 param1, uint32 param2);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* AUEQ API functions */
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief aueq_open
|
||||
*
|
||||
*
|
||||
* @note .
|
||||
*
|
||||
* @param aueq The address of aueq device in the RTOS.
|
||||
* @param .
|
||||
* @param .
|
||||
*
|
||||
* @return
|
||||
* - RET_OK Success
|
||||
* - RET_ERR Fail
|
||||
*/
|
||||
int32 aueq_open(struct aueq_device *aueq, struct aueq_cfg *p_cfg);
|
||||
|
||||
/**
|
||||
* @brief aueq_close
|
||||
*
|
||||
*
|
||||
* @note .
|
||||
*
|
||||
* @param aueq The address of aueq device in the RTOS.
|
||||
* @param .
|
||||
* @param .
|
||||
*
|
||||
* @return
|
||||
* - RET_OK Success
|
||||
* - RET_ERR Fail
|
||||
*/
|
||||
int32 aueq_close(struct aueq_device *aueq);
|
||||
|
||||
/**
|
||||
* @brief aueq_encode
|
||||
*
|
||||
*
|
||||
* @note .
|
||||
*
|
||||
* @param aueq The address of aueq device in the RTOS.
|
||||
* @param .
|
||||
* @param .
|
||||
*
|
||||
* @return
|
||||
* - RET_OK Success
|
||||
* - RET_ERR Fail
|
||||
*/
|
||||
int32 aueq_run(struct aueq_device *aueq, void* dat_buf, uint32 bytes);
|
||||
|
||||
|
||||
/**
|
||||
* @brief aueq_ioctl
|
||||
*
|
||||
*
|
||||
* @note .
|
||||
*
|
||||
* @param aueq The address of aueq device in the RTOS.
|
||||
* @param .
|
||||
* @param .
|
||||
*
|
||||
* @return
|
||||
* - RET_OK Success
|
||||
* - RET_ERR Fail
|
||||
*/
|
||||
int32 aueq_ioctl(struct aueq_device *aueq, enum aueq_ioctl_cmd ioctl_cmd, uint32 param1, uint32 param2);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user