aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/ARMCM3-STM32F103-FATFS-GCC/main.c2
-rw-r--r--demos/ARMCM3-STM32F103-GCC/board.h3
-rw-r--r--demos/ARMCM3-STM32F103-GCC/main.c2
-rw-r--r--os/io/platforms/STM32/adc_lld.c3
-rw-r--r--os/io/platforms/STM32/adc_lld.h11
5 files changed, 13 insertions, 8 deletions
diff --git a/demos/ARMCM3-STM32F103-FATFS-GCC/main.c b/demos/ARMCM3-STM32F103-FATFS-GCC/main.c
index 2ddf02b3f..d46678a3b 100644
--- a/demos/ARMCM3-STM32F103-FATFS-GCC/main.c
+++ b/demos/ARMCM3-STM32F103-FATFS-GCC/main.c
@@ -66,7 +66,7 @@ uint8_t fbuff[1024];
/*
* Red LEDs blinker thread, times are in milliseconds.
*/
-static WORKING_AREA(waThread1, 512);
+static WORKING_AREA(waThread1, 128);
static msg_t Thread1(void *arg) {
(void)arg;
diff --git a/demos/ARMCM3-STM32F103-GCC/board.h b/demos/ARMCM3-STM32F103-GCC/board.h
index ac936f2a1..0f53e5b0e 100644
--- a/demos/ARMCM3-STM32F103-GCC/board.h
+++ b/demos/ARMCM3-STM32F103-GCC/board.h
@@ -83,6 +83,9 @@
* IO pins assignments.
*/
#define GPIOA_BUTTON 0
+#define GPIOA_SPI1NSS 4
+
+#define GPIOB_SPI2NSS 12
#define GPIOC_MMCWP 6
#define GPIOC_MMCCP 7
diff --git a/demos/ARMCM3-STM32F103-GCC/main.c b/demos/ARMCM3-STM32F103-GCC/main.c
index 116a0aaf1..46d947696 100644
--- a/demos/ARMCM3-STM32F103-GCC/main.c
+++ b/demos/ARMCM3-STM32F103-GCC/main.c
@@ -28,7 +28,7 @@
/*
* Red LEDs blinker thread, times are in milliseconds.
*/
-static WORKING_AREA(waThread1, 512);
+static WORKING_AREA(waThread1, 128);
static msg_t Thread1(void *arg) {
(void)arg;
diff --git a/os/io/platforms/STM32/adc_lld.c b/os/io/platforms/STM32/adc_lld.c
index 7a0fe64ea..9a482c045 100644
--- a/os/io/platforms/STM32/adc_lld.c
+++ b/os/io/platforms/STM32/adc_lld.c
@@ -51,7 +51,7 @@ CH_IRQ_HANDLER(Vector6C) {
CH_IRQ_PROLOGUE();
if ((DMA1->ISR & DMA_ISR_TEIF1) != 0)
- chEvtBroadcastI(&ADCD1.ad_dmaerror);
+ STM32_ADC1_DMA_ERROR_HOOK();
else {
/* */
}
@@ -76,7 +76,6 @@ void adc_lld_init(void) {
ADCD1.ad_adc = ADC1;
ADCD1.ad_dma = DMA1_Channel1;
ADCD1.ad_dmaprio = STM32_ADC1_DMA_PRIORITY << 12;
- chEvtInit(&ADCD1.ad_dmaerror);
#endif
}
diff --git a/os/io/platforms/STM32/adc_lld.h b/os/io/platforms/STM32/adc_lld.h
index 309981869..7c3249741 100644
--- a/os/io/platforms/STM32/adc_lld.h
+++ b/os/io/platforms/STM32/adc_lld.h
@@ -61,6 +61,13 @@
#define STM32_ADC1_IRQ_PRIORITY 0x70
#endif
+/**
+ * @brief ADC1 DMA error hook.
+ */
+#if !defined(STM32_ADC1_DMA_ERROR_HOOK) || defined(__DOXYGEN__)
+#define STM32_ADC1_DMA_ERROR_HOOK() chSysHalt()
+#endif
+
/*===========================================================================*/
/* Driver constants. */
/*===========================================================================*/
@@ -177,10 +184,6 @@ typedef struct {
* @brief DMA priority bit mask.
*/
uint32_t ad_dmaprio;
- /**
- * @brief DMA error event.
- */
- EventSource ad_dmaerror;
} ADCDriver;
/*===========================================================================*/