#include <stdbool.h>#include <stdint.h>#include <stdlib.h>#include "stm32f769i_discovery_audio.h"#include "picovoice.h"
Go to the source code of this file.
Macros | |
| #define | AUDIO_IN_PCM_BUFFER_SIZE (PV_AUDIO_REC_RECORD_BUFFER_SIZE) |
| #define | AUDIO_IN_PDM_BUFFER_SIZE (AUDIO_IN_PCM_BUFFER_SIZE / 4) |
| #define | PV_AUDIO_REC_AUDIO_FREQUENCY (16000U) |
| #define | PV_AUDIO_REC_CHANNEL_NUMBER (2) |
| #define | PV_AUDIO_REC_RECORD_BUFFER_SIZE (512) |
| #define | PV_AUDIO_REC_VOLUME_LEVEL (100) |
| #define | PV_INT16_MAX (32767) |
| #define | PV_INT16_MIN (-32767 - 1) |
| #define | pv_int32_to_int16(N) (((N)<(PV_INT16_MIN))?(PV_INT16_MIN):(((N)>(PV_INT16_MAX))?(PV_INT16_MAX):(N))) |
Functions | |
| ALIGN_32BYTES (static int16_t ping_pong_buffer[2][PV_AUDIO_REC_RECORD_BUFFER_SIZE]) | |
| ALIGN_32BYTES (static int32_t record_pdm_buffer[AUDIO_IN_PDM_BUFFER_SIZE]) | |
| ALIGN_32BYTES (static uint16_t record_pcm_buffer[AUDIO_IN_PCM_BUFFER_SIZE]) | |
| void | BSP_AUDIO_IN_Error_CallBack (void) |
| Audio IN Error callback function. More... | |
| void | BSP_AUDIO_IN_HalfTransfer_CallBack (void) |
| Manages the DMA Half Transfer complete event. More... | |
| void | BSP_AUDIO_IN_TransferComplete_CallBack (void) |
| User callback when record buffer is filled. More... | |
| void | pv_audio_rec_deinit (void) |
| const int16_t * | pv_audio_rec_get_new_buffer (void) |
| pv_status_t | pv_audio_rec_init (void) |
| pv_status_t | pv_audio_rec_start (void) |
| pv_status_t | pv_audio_rec_stop (void) |
| static int16_t | pv_hpf (int16_t s_int16, int16_t s_old_int16) |
Variables | |
| static int32_t | buffer_index = 0 |
| static int32_t | last_read_index = -1 |
| struct { | |
| uint32_t audio_frequency | |
| uint32_t channel_number | |
| int32_t filter_old_output | |
| bool is_recording | |
| uint32_t record_buffer_size | |
| uint16_t * record_pcm_buffer | |
| } | pv_audio_rec |
| static int32_t | read_index = 1 |
| __IO uint32_t | SdmmcTest = 0 |
| __IO uint32_t | SdramTest = 0 |
| static int32_t | write_index = 0 |
| #define AUDIO_IN_PCM_BUFFER_SIZE (PV_AUDIO_REC_RECORD_BUFFER_SIZE) |
Definition at line 33 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define AUDIO_IN_PDM_BUFFER_SIZE (AUDIO_IN_PCM_BUFFER_SIZE / 4) |
Definition at line 34 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_AUDIO_FREQUENCY (16000U) |
Definition at line 28 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_CHANNEL_NUMBER (2) |
Definition at line 29 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_RECORD_BUFFER_SIZE (512) |
Definition at line 30 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_VOLUME_LEVEL (100) |
Definition at line 31 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define PV_INT16_MAX (32767) |
Definition at line 20 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define PV_INT16_MIN (-32767 - 1) |
Definition at line 21 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| #define pv_int32_to_int16 | ( | N | ) | (((N)<(PV_INT16_MIN))?(PV_INT16_MIN):(((N)>(PV_INT16_MAX))?(PV_INT16_MAX):(N))) |
Definition at line 23 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| ALIGN_32BYTES | ( | static int16_t | ping_pong_buffer[2][PV_AUDIO_REC_RECORD_BUFFER_SIZE] | ) |
| ALIGN_32BYTES | ( | static int32_t | record_pdm_buffer[AUDIO_IN_PDM_BUFFER_SIZE] | ) |
| ALIGN_32BYTES | ( | static uint16_t | record_pcm_buffer[AUDIO_IN_PCM_BUFFER_SIZE] | ) |
| void pv_audio_rec_deinit | ( | void | ) |
Definition at line 137 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| const int16_t* pv_audio_rec_get_new_buffer | ( | void | ) |
Definition at line 85 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| pv_status_t pv_audio_rec_init | ( | void | ) |
Definition at line 54 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| pv_status_t pv_audio_rec_start | ( | void | ) |
Definition at line 68 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| pv_status_t pv_audio_rec_stop | ( | void | ) |
Definition at line 77 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
|
inlinestatic |
Definition at line 99 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| uint32_t audio_frequency |
Definition at line 47 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
|
static |
Definition at line 43 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| uint32_t channel_number |
Definition at line 46 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| int32_t filter_old_output |
Definition at line 51 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| bool is_recording |
Definition at line 50 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
|
static |
Definition at line 40 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| struct { ... } pv_audio_rec |
|
static |
Definition at line 41 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| uint32_t record_buffer_size |
Definition at line 48 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| uint16_t* record_pcm_buffer |
Definition at line 49 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| __IO uint32_t SdmmcTest = 0 |
Definition at line 25 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
| __IO uint32_t SdramTest = 0 |
Definition at line 26 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.
|
static |
Definition at line 42 of file stm32f769/stm32f769i-disco/Src/pv_audio_rec.c.