Select one of the symbols to view example projects that use it.
 
Outline
#define __MAIN_H
Includes
#include "stdio.h"
#include "usbh_core.h"
#include "usbh_msc.h"
#include "stm32f4xx_hal.h"
#include "stm32469i_discovery.h"
#include "stm32469i_discovery_audio.h"
#include "stm32469i_discovery_ts.h"
#include "lcd_log.h"
#include "ff.h"
#include "ff_gen_drv.h"
#include "usbh_diskio_dma.h"
Exported Defines
#define AUDIO_OUT_BUFFER_SIZE
#define AUDIO_IN_PCM_BUFFER_SIZE
#define AUDIO_IN_PDM_BUFFER_SIZE
#define FILEMGR_LIST_DEPDTH
#define FILEMGR_FILE_NAME_SIZE
#define FILEMGR_FULL_PATH_SIZE
#define FILEMGR_MAX_LEVEL
#define FILETYPE_DIR
#define FILETYPE_FILE
Exported types
AUDIO_ApplicationTypeDef
AUDIO_Demo_State
_DemoStateMachine
AUDIO_PLAYBACK_StateTypeDef
AUDIO_DEMO_SelectMode
BUFFER_StateTypeDef
AUDIO_OUT_BufferTypeDef
WR_BUFFER_StateTypeDef
AUDIO_IN_BufferTypeDef
WAVE_FormatTypeDef
_FILELIST_LineTypeDef
_FILELIST_FileTypeDef
AUDIO_ErrorTypeDef
hUSBHost;
AppliState;
AudioState;
USBH_fatfs;
WavFile;
Exported functions
Touchscreen_Calibration();
TouchScreen_Get_Calibrated_X(uint16_t);
TouchScreen_Get_Calibrated_Y(uint16_t);
TouchScreen_IsCalibrationDone();
AUDIO_MenuInit();
AUDIO_MenuProcess();
AUDIO_ShowWavFiles();
AUDIO_StorageInit();
AUDIO_StorageParse();
AUDIO_GetWavObjectNumber();
Toggle_Leds();
Files
loading...
CodeScopeSTM32 Libraries and SamplesAudio_playback_and_recordInc/main.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * @file Audio/Audio_playback_and_record/Inc/main.h * @author MCD Application Team * @brief Header for main.c module ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H /* Includes ------------------------------------------------------------------*/ #include "stdio.h" #include "usbh_core.h" #include "usbh_msc.h" #include "stm32f4xx_hal.h" #include "stm32469i_discovery.h" #include "stm32469i_discovery_audio.h" #include "stm32469i_discovery_ts.h" #include "lcd_log.h" #include "ff.h" #include "ff_gen_drv.h" #include "usbh_diskio_dma.h" 11 includes Includes/* Exported Defines ----------------------------------------------------------*/ #define AUDIO_OUT_BUFFER_SIZE 8192 #define AUDIO_IN_PCM_BUFFER_SIZE 4*2304 /* buffer size in half-word */ #define AUDIO_IN_PDM_BUFFER_SIZE INTERNAL_BUFF_SIZE #define FILEMGR_LIST_DEPDTH 24 #define FILEMGR_FILE_NAME_SIZE 40 #define FILEMGR_FULL_PATH_SIZE 256 #define FILEMGR_MAX_LEVEL 4 #define FILETYPE_DIR 0 #define FILETYPE_FILE 1 9 defines Exported Defines/* Exported types ------------------------------------------------------------*/ /* Application State Machine Structure */ typedef enum { APPLICATION_IDLE = 0, APPLICATION_START, APPLICATION_READY, APPLICATION_DISCONNECT, ...}AUDIO_ApplicationTypeDef; /* Audio Demo State Structure */ typedef enum { AUDIO_DEMO_IDLE = 0, AUDIO_DEMO_WAIT, AUDIO_DEMO_EXPLORE, AUDIO_DEMO_PLAYBACK, AUDIO_DEMO_IN, ...}AUDIO_Demo_State; /* Audio Demo State Machine Structure */ typedef struct _DemoStateMachine { __IO AUDIO_Demo_State state; __IO uint8_t select; ...}AUDIO_DEMO_StateMachine; typedef enum { AUDIO_STATE_IDLE = 0, AUDIO_STATE_WAIT, AUDIO_STATE_INIT, AUDIO_STATE_PLAY, AUDIO_STATE_PRERECORD, AUDIO_STATE_RECORD, AUDIO_STATE_NEXT, AUDIO_STATE_PREVIOUS, AUDIO_STATE_FORWARD, AUDIO_STATE_BACKWARD, AUDIO_STATE_STOP, AUDIO_STATE_PAUSE, AUDIO_STATE_RESUME, AUDIO_STATE_VOLUME_UP, AUDIO_STATE_VOLUME_DOWN, AUDIO_STATE_ERROR, ...}AUDIO_PLAYBACK_StateTypeDef; typedef enum { AUDIO_SELECT_MENU = 0, AUDIO_PLAYBACK_CONTROL, ...}AUDIO_DEMO_SelectMode; typedef enum { BUFFER_OFFSET_NONE = 0, BUFFER_OFFSET_HALF, BUFFER_OFFSET_FULL, ...}BUFFER_StateTypeDef; /* Audio buffer control struct */ typedef struct { uint8_t buff[AUDIO_OUT_BUFFER_SIZE]; BUFFER_StateTypeDef state; uint32_t fptr; ...}AUDIO_OUT_BufferTypeDef; typedef enum { BUFFER_EMPTY = 0, BUFFER_FULL, ...}WR_BUFFER_StateTypeDef; typedef struct { uint16_t pdm_buff[AUDIO_IN_PDM_BUFFER_SIZE]; uint16_t pcm_buff[AUDIO_IN_PCM_BUFFER_SIZE]; uint32_t pcm_ptr; WR_BUFFER_StateTypeDef wr_state; uint32_t offset; uint32_t fptr; ...}AUDIO_IN_BufferTypeDef; typedef struct { uint32_t ChunkID; /* 0 */ uint32_t FileSize; /* 4 */ uint32_t FileFormat; /* 8 */ uint32_t SubChunk1ID; /* 12 */ uint32_t SubChunk1Size; /* 16*/ uint16_t AudioFormat; /* 20 */ uint16_t NbrChannels; /* 22 */ uint32_t SampleRate; /* 24 */ uint32_t ByteRate; /* 28 */ uint16_t BlockAlign; /* 32 */ uint16_t BitPerSample; /* 34 */ uint32_t SubChunk2ID; /* 36 */ uint32_t SubChunk2Size; /* 40 */ ...}WAVE_FormatTypeDef; typedef struct _FILELIST_LineTypeDef { uint8_t type; uint8_t name[FILEMGR_FILE_NAME_SIZE]; ...}FILELIST_LineTypeDef; typedef struct _FILELIST_FileTypeDef { FILELIST_LineTypeDef file[FILEMGR_LIST_DEPDTH] ; uint16_t ptr; ...}FILELIST_FileTypeDef; typedef enum { AUDIO_ERROR_NONE = 0, AUDIO_ERROR_IO, AUDIO_ERROR_EOF, AUDIO_ERROR_INVALID_VALUE, ...}AUDIO_ErrorTypeDef; extern USBH_HandleTypeDef hUSBHost; extern AUDIO_ApplicationTypeDef AppliState; extern AUDIO_PLAYBACK_StateTypeDef AudioState; extern FATFS USBH_fatfs; extern FIL WavFile; Exported types /* Exported constants --------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */ /* TS API */ uint8_t Touchscreen_Calibration(void); uint16_t TouchScreen_Get_Calibrated_X(uint16_t x); uint16_t TouchScreen_Get_Calibrated_Y(uint16_t y); uint8_t TouchScreen_IsCalibrationDone(void); /* Menu API */ void AUDIO_MenuInit(void); void AUDIO_MenuProcess(void); uint8_t AUDIO_ShowWavFiles(void); /* Disk Explorer API */ uint8_t AUDIO_StorageInit(void); FRESULT AUDIO_StorageParse(void); uint16_t AUDIO_GetWavObjectNumber(void); /* Toggle LEDs */ void Toggle_Leds(void); Exported functions /* ... */#endif /* __MAIN_H */