extern
porcupine
demo
mcu
stm32h735
stm32h735g-dk
AudioCapture
micCapture_task.c
Go to the documentation of this file.
1
/*
2
* This software component is licensed by ST under Ultimate Liberty license
3
* SLA0044, the "License"; You may not use this file except in compliance with
4
* the License. You may obtain a copy of the License at:
5
* www.st.com/SLA0044
6
*
7
*/
8
9
#include "
micCapture_task.h
"
10
#include "
main.h
"
11
#include "stdio.h"
12
#define mic_capture_processWrite_IRQHandler EXTI1_IRQHandler
13
#define mic_capture_processWrite_IRQ EXTI1_IRQn
14
15
/* The MIC_CAPTURE_PRIO is the priority of the task that triggers audio
16
processing , default is 8U because most of our examples have capture DMA IT = 7U*/
17
#ifndef MIC_CAPTURE_PRIO
18
#define MIC_CAPTURE_PRIO (8U)
19
#endif
20
21
#ifdef MIC_CAPTURE_NOTASK_USED
22
28
void
mic_capture_processTask
(
void
)
29
{
30
#error "user needs to implement the usr_pcm_process "
31
usr_pcm_process(
PCM_Buffer
);
32
}
33
34
40
void
mic_capture_createTask
(
void
)
41
{
42
43
}
44
50
void
mic_capture_terminateTask
(
void
)
51
{
52
53
}
54
55
#else
/*microphone processing done with low prio task*/
56
57
void
mic_capture_processWrite_IRQHandler
(
void
);
63
void
mic_capture_processTask
(
void
)
64
{
65
NVIC_SetPendingIRQ
(
mic_capture_processWrite_IRQ
);
66
}
67
73
void
mic_capture_processWrite_IRQHandler
(
void
)
74
{
75
NVIC_ClearPendingIRQ
(
mic_capture_processWrite_IRQ
);
76
//#error "user needs to implement the usr_pcm_process "
77
//usr_pcm_process(PCM_Buffer);
78
pv_pcm_process
(
PCM_Buffer
);
79
}
80
86
void
mic_capture_createTask
(
void
)
87
{
88
HAL_NVIC_SetPriority
(
mic_capture_processWrite_IRQ
, (int32_t)
MIC_CAPTURE_PRIO
, 0);
89
HAL_NVIC_EnableIRQ
(
mic_capture_processWrite_IRQ
);
90
}
91
97
void
mic_capture_terminateTask
(
void
)
98
{
99
HAL_NVIC_SetPriority
(
mic_capture_processWrite_IRQ
, 0x0F, 0);
100
HAL_NVIC_DisableIRQ
(
mic_capture_processWrite_IRQ
);
101
}
102
#endif
mic_capture_terminateTask
void mic_capture_terminateTask(void)
terminates task for AudioIn capture
Definition:
micCapture_task.c:97
HAL_NVIC_EnableIRQ
void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
mic_capture_processWrite_IRQ
#define mic_capture_processWrite_IRQ
Definition:
micCapture_task.c:13
HAL_NVIC_DisableIRQ
void HAL_NVIC_DisableIRQ(IRQn_Type IRQn)
NVIC_ClearPendingIRQ
#define NVIC_ClearPendingIRQ
Definition:
imxrt1050/imxrt1050-evkb/CMSIS/core_cm7.h:1833
PCM_Buffer
int16_t PCM_Buffer[]
mic_capture_createTask
void mic_capture_createTask(void)
creates task for AudioIn capture
Definition:
micCapture_task.c:86
MIC_CAPTURE_PRIO
#define MIC_CAPTURE_PRIO
Definition:
micCapture_task.c:18
mic_capture_processTask
void mic_capture_processTask(void)
sends AudioIn Pushed message
Definition:
micCapture_task.c:63
pv_pcm_process
void pv_pcm_process(int16_t *record_pcm_buffer)
Definition:
stm32h735/stm32h735g-dk/Src/pv_audio_rec.c:156
NVIC_SetPendingIRQ
#define NVIC_SetPendingIRQ
Definition:
imxrt1050/imxrt1050-evkb/CMSIS/core_cm7.h:1832
main.h
micCapture_task.h
HAL_NVIC_SetPriority
void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
mic_capture_processWrite_IRQHandler
#define mic_capture_processWrite_IRQHandler
AudioIn task.
Definition:
micCapture_task.c:12
picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:13:56