Skip to content

Commit 204e349

Browse files
committed
STM32F723xx
1 parent ef1c2df commit 204e349

File tree

3 files changed

+67
-74
lines changed

3 files changed

+67
-74
lines changed

src/stm32-config-i2s.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
#define STM32_I2S_WITH_OBJECT
55
#define USE_FULL_ASSERT
66

7+
#ifndef I2S_FULLDUPLEXMODE_DISABLE
8+
# define I2S_FULLDUPLEXMODE_DISABLE (0x00000000U)
9+
#endif
10+
#ifndef I2S_FULLDUPLEXMODE_ENABLE
11+
# define I2S_FULLDUPLEXMODE_ENABLE (0x00000001U)
12+
#endif
13+
714
#ifdef ARDUINO_BLACKPILL_F411CE
815
#define SPI_INSTANCE_FOR_I2S SPI3
916
#define STM_I2S_PINS \
@@ -19,7 +26,6 @@
1926
#define PLLN 192
2027
#define PLLR 2
2128
#define IS_F4
22-
#define IS_READWRITE
2329

2430
#endif
2531

@@ -38,7 +44,6 @@
3844
#define PLLN 100
3945
#define PLLR 2
4046
#define IS_F4
41-
#define IS_READWRITE
4247

4348
#endif
4449

@@ -53,7 +58,6 @@
5358
{data_in, PC_11, GPIO_AF6_SPI3}\
5459
};
5560
#define IS_H7
56-
#define IS_READWRITE
5761
#endif
5862

5963
#ifdef STM32H743xx
@@ -67,7 +71,6 @@
6771
{data_in, PB_4, GPIO_AF6_SPI3}\
6872
};
6973
#define IS_H7
70-
#define IS_READWRITE
7174
#endif
7275

7376
#ifdef STM32F723xx
@@ -76,9 +79,10 @@
7679
{ \
7780
{mclk, PC_7, GPIO_AF6_SPI3},\
7881
{bck, PC_10, GPIO_AF6_SPI3},\
79-
{ws, PA_15, GPIO_AF6_SPI3},\
82+
{ws, PA_4, GPIO_AF6_SPI3},\
8083
{data_out, PC_12, GPIO_AF6_SPI3},\
8184
{data_in, PC_11, GPIO_AF6_SPI3}\
8285
};
8386
#define IS_F7
87+
#define SPI_CLOCK_SOURCE LL_RCC_SPI123_CLKSOURCE_PLL1Q
8488
#endif

src/stm32-i2s.cpp

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
namespace stm32_i2s {
55

66
//Stm32I2sClass I2S;
7+
Stm32I2sClass *self_I2S = nullptr;
78

89
bool stm32_i2s_is_error = false;
910

@@ -23,7 +24,7 @@ extern "C" void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s) {
2324
self_I2S->cb_TxRxHalfComplete(hi2s);
2425
}
2526

26-
extern "C" void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s) { Report_Error(); }
27+
extern "C" void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s) { Report_Error(10); }
2728

2829
/**
2930
* @brief This function handles DMA1 stream0 global interrupt.
@@ -54,28 +55,22 @@ extern "C" void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s) { self_I2S->cb_HAL_I2
5455
* @brief This function is executed in case of error occurrence.
5556
* @retval None
5657
*/
57-
void Report_Error() {
58+
void Report_Error(int no) {
5859
stm32_i2s_is_error = true;
59-
STM32_LOG("%s", "stm32-i2s: Error");
60+
STM32_LOG("%s %d", "stm32-i2s: Error", no);
6061
}
6162

6263
/**
6364
* @brief Write log output to Serial
6465
*/
6566
void STM32_LOG(const char *fmt, ...) {
66-
// char log_buffer[200];
67-
// strcpy(log_buffer, "STM32: ");
68-
// va_list arg;
69-
// va_start(arg, fmt);
70-
// int len = vsnprintf(log_buffer + 7, 200, fmt, arg);
71-
// va_end(arg);
72-
// Serial.println(log_buffer);
73-
// Serial.flush();
74-
75-
// minimize progmem when not used
67+
char log_buffer[200];
68+
strcpy(log_buffer, "STM32: ");
7669
va_list arg;
7770
va_start(arg, fmt);
78-
self_I2S->STM32_LOG(fmt, arg);
71+
int len = vsnprintf(log_buffer + 7, 200, fmt, arg);
72+
va_end(arg);
73+
self_I2S->STM32_LOG(log_buffer);
7974
va_end(arg);
8075
}
8176

0 commit comments

Comments
 (0)