12 #include "hpm_vad_regs.h"
24 #define VAD_EVENT_VAD (1U << 7)
25 #define VAD_EVENT_FIFO_DATA_AVAILABLE (1U << 6)
26 #define VAD_EVENT_MEMBUF_EMPTY (1U << 5)
27 #define VAD_EVENT_FIFO_OVERFLOW (1U << 4)
28 #define VAD_EVENT_IIR_OVERLOAD (1U << 3)
29 #define VAD_EVENT_IIR_OVERFLOW (1U << 2)
30 #define VAD_EVENT_CIC_OVERLOAD_ERROR (1U << 1)
31 #define VAD_EVENT_CIC_STA_ERROR (1U << 0)
83 ptr->
CTRL |= irq_mask;
94 ptr->
CTRL &= ~irq_mask;
278 return ptr->
COEF[index];
#define VAD_CIC_CFG_POST_SCALE_MASK
Definition: hpm_vad_regs.h:420
#define VAD_CTRL_PDM_CLK_HFDIV_MASK
Definition: hpm_vad_regs.h:49
#define VAD_CTRL_CH_POL_MASK
Definition: hpm_vad_regs.h:179
#define VAD_CTRL_PDM_CLK_OE_MASK
Definition: hpm_vad_regs.h:169
#define VAD_RUN_VAD_EN_MASK
Definition: hpm_vad_regs.h:398
#define VAD_CTRL_PDM_CLK_HFDIV_SET(x)
Definition: hpm_vad_regs.h:51
#define VAD_CTRL_FIFO_THRSH_SET(x)
Definition: hpm_vad_regs.h:151
#define VAD_RUN_SFTRST_MASK
Definition: hpm_vad_regs.h:388
#define VAD_CTRL_CH_POL_SET(x)
Definition: hpm_vad_regs.h:181
#define VAD_CTRL_CAPT_DLY_SET(x)
Definition: hpm_vad_regs.h:37
#define VAD_OFIFO_CTRL_EN_MASK
Definition: hpm_vad_regs.h:409
#define VAD_CTRL_CAPT_DLY_MASK
Definition: hpm_vad_regs.h:35
#define VAD_CTRL_CHNUM_MASK
Definition: hpm_vad_regs.h:189
#define VAD_CIC_CFG_POST_SCALE_SET(x)
Definition: hpm_vad_regs.h:422
#define VAD_CTRL_MEMBUF_DISABLE_MASK
Definition: hpm_vad_regs.h:139
#define VAD_CTRL_FIFO_THRSH_MASK
Definition: hpm_vad_regs.h:149
#define VAD_DEC_CTRL2_AMP_HIGH_SET(x)
Definition: hpm_vad_regs.h:276
#define VAD_DEC_CTRL2_AMP_LOW_SET(x)
Definition: hpm_vad_regs.h:286
static void vad_set_capture_delay(VAD_Type *ptr, uint8_t delay)
set capture deplay cycle
Definition: hpm_vad_drv.h:57
static void vad_set_post_scale(VAD_Type *ptr, uint8_t post_scale)
set ouptput value post scale
Definition: hpm_vad_drv.h:287
void vad_reset(VAD_Type *ptr)
reset
Definition: hpm_vad_drv.c:43
static void vad_stop(VAD_Type *ptr)
stop
Definition: hpm_vad_drv.h:234
void vad_get_default_config(VAD_Type *ptr, vad_config_t *config)
get default config
Definition: hpm_vad_drv.c:10
void vad_init(VAD_Type *ptr, vad_config_t *config)
initialization
Definition: hpm_vad_drv.c:24
static void vad_software_reset(VAD_Type *ptr)
software reset
Definition: hpm_vad_drv.h:213
static void vad_disable_buffer(VAD_Type *ptr)
disable buffer
Definition: hpm_vad_drv.h:102
static void vad_set_fifo_threshold(VAD_Type *ptr, uint8_t threshold)
set fifo threshold
Definition: hpm_vad_drv.h:123
static void vad_start(VAD_Type *ptr)
start
Definition: hpm_vad_drv.h:224
static void vad_disable_irq(VAD_Type *ptr, uint32_t irq_mask)
disable irq
Definition: hpm_vad_drv.h:92
static void vad_clear_status(VAD_Type *ptr, uint32_t mask)
slear status
Definition: hpm_vad_drv.h:192
static uint32_t vad_get_status(VAD_Type *ptr)
get status
Definition: hpm_vad_drv.h:181
static void vad_set_channel_number(VAD_Type *ptr, bool two_channels)
set channel number
Definition: hpm_vad_drv.h:169
struct vad_config vad_config_t
vad config
static uint32_t vad_get_data(VAD_Type *ptr)
get data
Definition: hpm_vad_drv.h:203
static void vad_enable_pdm_clock_out(VAD_Type *ptr)
enable pdm clock out
Definition: hpm_vad_drv.h:134
static void vad_enable_buffer(VAD_Type *ptr)
enable buffer
Definition: hpm_vad_drv.h:112
static void vad_set_amplify(VAD_Type *ptr, uint16_t high, uint16_t low)
set sampling signal amplitude limits
Definition: hpm_vad_drv.h:300
static void vad_disable_fifo(VAD_Type *ptr)
disable fifo
Definition: hpm_vad_drv.h:265
static uint32_t vad_get_coef_value(VAD_Type *ptr, uint32_t index)
get coefficient value
Definition: hpm_vad_drv.h:276
static void vad_enable_irq(VAD_Type *ptr, uint32_t irq_mask)
enable irq
Definition: hpm_vad_drv.h:81
static void vad_enable_fifo(VAD_Type *ptr)
enable fifo
Definition: hpm_vad_drv.h:255
static void vad_set_pdm_clock_half_div(VAD_Type *ptr, uint8_t div)
set pdm clock hald_divider
Definition: hpm_vad_drv.h:69
static void vad_set_pdm_clock_capture_level(VAD_Type *ptr, uint8_t level)
set pdm clock polarity
Definition: hpm_vad_drv.h:155
static void vad_disable_pdm_clock_out(VAD_Type *ptr)
disable pdm clock out
Definition: hpm_vad_drv.h:144
static bool vad_is_running(VAD_Type *ptr)
check whether vad is running
Definition: hpm_vad_drv.h:245
Definition: hpm_vad_regs.h:12
__RW uint32_t CTRL
Definition: hpm_vad_regs.h:13
__RW uint32_t RUN
Definition: hpm_vad_regs.h:21
__RW uint32_t CIC_CFG
Definition: hpm_vad_regs.h:23
__RW uint32_t OFIFO
Definition: hpm_vad_regs.h:20
__RW uint32_t ST
Definition: hpm_vad_regs.h:19
__RW uint32_t OFIFO_CTRL
Definition: hpm_vad_regs.h:22
__RW uint32_t DEC_CTRL2
Definition: hpm_vad_regs.h:17
__R uint32_t COEF[1]
Definition: hpm_vad_regs.h:25
vad config
Definition: hpm_vad_drv.h:36
uint8_t post_scale
Definition: hpm_vad_drv.h:43
bool channel_polarity_high[2]
Definition: hpm_vad_drv.h:44
bool enable_pdm_clock_out
Definition: hpm_vad_drv.h:38
uint8_t capture_delay
Definition: hpm_vad_drv.h:40
uint8_t pdm_half_div
Definition: hpm_vad_drv.h:41
bool enable_buffer
Definition: hpm_vad_drv.h:37
uint8_t fifo_threshold
Definition: hpm_vad_drv.h:42
bool enable_two_channels
Definition: hpm_vad_drv.h:39