summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/megadongle-v0.1/ao_pins.h1
-rw-r--r--src/megametrum-v0.1/ao_pins.h2
-rw-r--r--src/stm-demo/ao_pins.h1
-rw-r--r--src/stm/ao_spi_stm.c15
-rw-r--r--src/telelco-v0.1/ao_pins.h7
-rw-r--r--src/telescience-v0.2/ao_pins.h7
6 files changed, 28 insertions, 5 deletions
diff --git a/src/megadongle-v0.1/ao_pins.h b/src/megadongle-v0.1/ao_pins.h
index c766a48c..d460a490 100644
--- a/src/megadongle-v0.1/ao_pins.h
+++ b/src/megadongle-v0.1/ao_pins.h
@@ -78,6 +78,7 @@
#define HAS_SPI_2 1
#define SPI_2_PB13_PB14_PB15 1 /* Flash, Companion */
#define SPI_2_PD1_PD3_PD4 0
+#define SPI_2_OSPEEDR STM_OSPEEDR_10MHz
#define SPI_2_PORT (&stm_gpiob)
#define SPI_2_SCK_PIN 13
diff --git a/src/megametrum-v0.1/ao_pins.h b/src/megametrum-v0.1/ao_pins.h
index 64da41a9..4c645871 100644
--- a/src/megametrum-v0.1/ao_pins.h
+++ b/src/megametrum-v0.1/ao_pins.h
@@ -76,10 +76,12 @@
#define SPI_1_PA5_PA6_PA7 1 /* Barometer */
#define SPI_1_PB3_PB4_PB5 0
#define SPI_1_PE13_PE14_PE15 1 /* Accelerometer */
+#define SPI_1_OSPEEDR STM_OSPEEDR_10MHz
#define HAS_SPI_2 1
#define SPI_2_PB13_PB14_PB15 1 /* Flash, Companion */
#define SPI_2_PD1_PD3_PD4 0
+#define SPI_2_OSPEEDR STM_OSPEEDR_10MHz
#define SPI_2_PORT (&stm_gpiob)
#define SPI_2_SCK_PIN 13
diff --git a/src/stm-demo/ao_pins.h b/src/stm-demo/ao_pins.h
index c9c7446e..07b4a19d 100644
--- a/src/stm-demo/ao_pins.h
+++ b/src/stm-demo/ao_pins.h
@@ -60,6 +60,7 @@
#define HAS_SPI_1 1
#define SPI_1_PB3_PB4_PB5 1
+#define SPI_1_OSPEEDR STM_OSPEEDR_10MHz
#define HAS_SPI_2 0
diff --git a/src/stm/ao_spi_stm.c b/src/stm/ao_spi_stm.c
index 599d7ee0..7b4af964 100644
--- a/src/stm/ao_spi_stm.c
+++ b/src/stm/ao_spi_stm.c
@@ -425,12 +425,21 @@ ao_spi_init(void)
#if HAS_SPI_1
# if SPI_1_PA5_PA6_PA7
stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOAEN);
+ stm_ospeedr_set(&stm_gpioa, 5, SPI_1_OSPEEDR);
+ stm_ospeedr_set(&stm_gpioa, 6, SPI_1_OSPEEDR);
+ stm_ospeedr_set(&stm_gpioa, 7, SPI_1_OSPEEDR);
# endif
# if SPI_1_PB3_PB4_PB5
stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOBEN);
+ stm_ospeedr_set(&stm_gpiob, 3, SPI_1_OSPEEDR);
+ stm_ospeedr_set(&stm_gpiob, 4, SPI_1_OSPEEDR);
+ stm_ospeedr_set(&stm_gpiob, 5, SPI_1_OSPEEDR);
# endif
# if SPI_1_PE13_PE14_PE15
stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOEEN);
+ stm_ospeedr_set(&stm_gpioe, 13, SPI_1_OSPEEDR);
+ stm_ospeedr_set(&stm_gpioe, 14, SPI_1_OSPEEDR);
+ stm_ospeedr_set(&stm_gpioe, 15, SPI_1_OSPEEDR);
# endif
stm_rcc.apb2enr |= (1 << STM_RCC_APB2ENR_SPI1EN);
ao_spi_index[0] = AO_SPI_CONFIG_NONE;
@@ -440,9 +449,15 @@ ao_spi_init(void)
#if HAS_SPI_2
# if SPI_2_PB13_PB14_PB15
stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOBEN);
+ stm_ospeedr_set(&stm_gpiob, 13, SPI_2_OSPEEDR);
+ stm_ospeedr_set(&stm_gpiob, 14, SPI_2_OSPEEDR);
+ stm_ospeedr_set(&stm_gpiob, 15, SPI_2_OSPEEDR);
# endif
# if SPI_2_PD1_PD3_PD4
stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIODEN);
+ stm_ospeedr_set(&stm_gpiod, 1, SPI_2_OSPEEDR);
+ stm_ospeedr_set(&stm_gpiod, 3, SPI_2_OSPEEDR);
+ stm_ospeedr_set(&stm_gpiod, 4, SPI_2_OSPEEDR);
# endif
stm_rcc.apb1enr |= (1 << STM_RCC_APB1ENR_SPI2EN);
ao_spi_index[1] = AO_SPI_CONFIG_NONE;
diff --git a/src/telelco-v0.1/ao_pins.h b/src/telelco-v0.1/ao_pins.h
index 60cf018f..970f9bd1 100644
--- a/src/telelco-v0.1/ao_pins.h
+++ b/src/telelco-v0.1/ao_pins.h
@@ -49,18 +49,19 @@
#define HAS_TELEMETRY 0
#define HAS_AES 1
-#define HAS_SPI_1 1
-#define SPI_1_PA5_PA6_PA7 1
+#define HAS_SPI_1 0
+#define SPI_1_PA5_PA6_PA7 0
#define SPI_1_PB3_PB4_PB5 0
#define SPI_1_PE13_PE14_PE15 0
-#define HAS_SPI_2 1
+#define HAS_SPI_2 1 /* CC1111 */
#define SPI_2_PB13_PB14_PB15 1
#define SPI_2_PD1_PD3_PD4 0
#define SPI_2_GPIO (&stm_gpiob)
#define SPI_2_SCK 13
#define SPI_2_MISO 14
#define SPI_2_MOSI 15
+#define SPI_2_OSPEEDR STM_OSPEEDR_10MHz
#define HAS_I2C_1 0
diff --git a/src/telescience-v0.2/ao_pins.h b/src/telescience-v0.2/ao_pins.h
index cb86fcb6..7b974506 100644
--- a/src/telescience-v0.2/ao_pins.h
+++ b/src/telescience-v0.2/ao_pins.h
@@ -67,14 +67,17 @@
#define HAS_TELEMETRY 0
#define PACKET_HAS_SLAVE 0
-#define HAS_SPI_1 1
-#define SPI_1_PA5_PA6_PA7 1
+#define HAS_SPI_1 0
+#define HAS_SPI_SLAVE_1 1
+#define SPI_1_PA5_PA6_PA7 1
#define SPI_1_PB3_PB4_PB5 0
#define SPI_1_PE13_PE14_PE15 0
+#define SPI_1_OSPEEDR STM_OSPEEDR_10MHz
#define HAS_SPI_2 1
#define SPI_2_PB13_PB14_PB15 1
#define SPI_2_PD1_PD3_PD4 0
+#define SPI_2_OSPEEDR STM_OSPEEDR_10MHz
#define SPI_2_PORT (&stm_gpiob)
#define SPI_2_SCK_PIN 13