From 2d313e126b2683f3d8cf249caae5bf08cdd15b66 Mon Sep 17 00:00:00 2001 From: Daniel Fekete Date: Fri, 14 Apr 2017 07:32:31 +0200 Subject: [PATCH] Enable variant to set board default SPI --- STM32/libraries/SPI/src/SPI.cpp | 9 ++++++++- STM32/libraries/SPI/src/SPI.h | 7 +++++++ STM32/variants/BLACK_F407VE/variant.h | 5 +++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/STM32/libraries/SPI/src/SPI.cpp b/STM32/libraries/SPI/src/SPI.cpp index 6b76bc3..9234129 100644 --- a/STM32/libraries/SPI/src/SPI.cpp +++ b/STM32/libraries/SPI/src/SPI.cpp @@ -1,6 +1,13 @@ #include "SPI.h" -SPIClass SPI(SPI1); +#include "variant.h" + +#if defined(MOSI) || defined(MISO) || defined(SCK) + SPIClass SPI(SPI1, MOSI, MISO, SCK); +#else + SPIClass SPI(SPI1); +#endif + void SPIClass::begin() { apb_freq = stm32_apb_clock_freq((void*)spiHandle.Instance); diff --git a/STM32/libraries/SPI/src/SPI.h b/STM32/libraries/SPI/src/SPI.h index 4cc0566..a62860c 100644 --- a/STM32/libraries/SPI/src/SPI.h +++ b/STM32/libraries/SPI/src/SPI.h @@ -56,6 +56,13 @@ class SPIClass { SPIClass(SPI_TypeDef *instance) { spiHandle.Instance = instance; }; + SPIClass(SPI_TypeDef *instance, uint8_t mosi, uint8_t miso, uint8_t sck) { + spiHandle.Instance = instance; + + stm32_set_mosi(mosi); + stm32_set_miso(miso); + stm32_set_sck(sck); + }; void stm32_set_mosi(uint8_t mosi); void stm32_set_miso(uint8_t miso); diff --git a/STM32/variants/BLACK_F407VE/variant.h b/STM32/variants/BLACK_F407VE/variant.h index 97b02f3..a8f8aa0 100644 --- a/STM32/variants/BLACK_F407VE/variant.h +++ b/STM32/variants/BLACK_F407VE/variant.h @@ -1,6 +1,11 @@ #ifndef VARIANT_H #define VARIANT_H +// SPI board defaults +#define MOSI PA7 +#define MISO PA6 +#define SCK PA5 + enum { PA0 , PA1 ,