Skip to content

Commit e233ae0

Browse files
giulcioffipennam
authored andcommitted
Rearrange PDM subfolders according to functionality instead of boards
1 parent 91f5462 commit e233ae0

File tree

10 files changed

+183
-821
lines changed

10 files changed

+183
-821
lines changed

libraries/PDM/src/giga/PDM.cpp renamed to libraries/PDM/src/STM32H747_dfsdm/PDM.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Boston, MA 02111-1307 USA
2121
*/
2222

23-
#ifdef ARDUINO_GIGA
23+
#if defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_GIGA)
2424

2525
#include "PDM.h"
2626
#include "mbed.h"

libraries/PDM/src/nicla_vision/audio.c renamed to libraries/PDM/src/STM32H747_dfsdm/audio.c

+103-119
Large diffs are not rendered by default.
+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#if defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_GIGA)
2+
3+
#include "stdbool.h"
4+
5+
// DFSDM1
6+
7+
#if defined(ARDUINO_NICLA_VISION)
8+
9+
#define AUDIO_DFSDM (DFSDM1_Channel2)
10+
#define AUDIO_DFSDM1_CHANNEL (DFSDM_CHANNEL_2)
11+
#define AUDIO_DFSDM1_NBR_CHANNELS (8) // Default number of channels.
12+
13+
#define AUDIO_DFSDM1_CK_PORT (GPIOD)
14+
#define AUDIO_DFSDM1_CK_PIN (GPIO_PIN_10)
15+
#define AUDIO_DFSDM1_CK_AF (GPIO_AF3_DFSDM1)
16+
17+
#define AUDIO_DFSDM1_D1_PORT (GPIOE)
18+
#define AUDIO_DFSDM1_D1_PIN (GPIO_PIN_7)
19+
#define AUDIO_DFSDM1_D1_AF (GPIO_AF3_DFSDM1)
20+
21+
/*
22+
DFSDM1 GPIO Configuration
23+
PD10 ------> DFSDM1_CKOUT
24+
PE7 ------> DFSDM1_DATIN4
25+
*/
26+
#define AUDIO_DFSDM1_CK_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
27+
#define AUDIO_DFSDM1_D1_CLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE()
28+
29+
#define AUDIO_DFSDM1_CLK_DIVIDER (40)
30+
31+
#elif defined(ARDUINO_GIGA)
32+
33+
#define AUDIO_DFSDM (DFSDM1_Channel0)
34+
#define AUDIO_DFSDM1_CHANNEL (DFSDM_CHANNEL_0)
35+
#define AUDIO_DFSDM1_NBR_CHANNELS (8) // Default number of channels.
36+
37+
#define AUDIO_DFSDM1_CK_PORT (GPIOD)
38+
#define AUDIO_DFSDM1_CK_PIN (GPIO_PIN_3)
39+
#define AUDIO_DFSDM1_CK_AF (GPIO_AF3_DFSDM1)
40+
41+
#define AUDIO_DFSDM1_D1_PORT (GPIOC)
42+
#define AUDIO_DFSDM1_D1_PIN (GPIO_PIN_1)
43+
#define AUDIO_DFSDM1_D1_AF (GPIO_AF3_DFSDM1)
44+
45+
/*
46+
DFSDM1 GPIO Configuration
47+
PD3 ------> DFSDM1_CKOUT
48+
PC1 ------> DFSDM1_DATIN0
49+
*/
50+
#define AUDIO_DFSDM1_CK_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
51+
#define AUDIO_DFSDM1_D1_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
52+
53+
#define AUDIO_DFSDM1_CLK_DIVIDER (30)
54+
55+
#endif
56+
57+
#define AUDIO_DFSDM1_DMA_STREAM DMA1_Stream0
58+
#define AUDIO_DFSDM1_DMA_REQUEST DMA_REQUEST_DFSDM1_FLT0
59+
#define AUDIO_DFSDM1_DMA_IRQ DMA1_Stream0_IRQn
60+
#define AUDIO_DFSDM1_DMA_IRQHandler DMA1_Stream0_IRQHandler
61+
62+
63+
#define AUDIO_DFSDM1_CLK_ENABLE() __HAL_RCC_C1_DFSDM1_CLK_ENABLE()
64+
#define AUDIO_DFSDM1_CLK_DISABLE() __HAL_RCC_C1_DFSDM1_CLK_DISABLE()
65+
#define AUDIO_DFSDM1_DMA_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
66+
67+
#define AUDIO_IN_IRQ_PREPRIO ((uint32_t)0x0F)
68+
69+
#define PDM_BUFFER_SIZE (512)
70+
71+
void py_audio_deinit();
72+
int py_audio_init(size_t g_channels, uint32_t frequency);
73+
void py_audio_gain_set(int gain_db);
74+
void audio_pendsv_callback(void);
75+
int py_audio_start_streaming();
76+
void py_audio_stop_streaming();
77+
int get_filter_state();
78+
79+
#endif

0 commit comments

Comments
 (0)