diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index e37c06cc11..46daeca0a6 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -75,7 +75,8 @@ #endif #if HAL_USE_SPI -extern bool isSpiInitialized[SPI_TOTAL_COUNT]; +/* zero index is SPI_NONE */ +extern bool isSpiInitialized[SPI_TOTAL_COUNT + 1]; /** * Only one consumer can use SPI bus at a given time diff --git a/firmware/hw_layer/ports/at32/at32_spi.cpp b/firmware/hw_layer/ports/at32/at32_spi.cpp index 65fc89b925..db26fa5991 100644 --- a/firmware/hw_layer/ports/at32/at32_spi.cpp +++ b/firmware/hw_layer/ports/at32/at32_spi.cpp @@ -9,7 +9,8 @@ #include "pch.h" #if HAL_USE_SPI -bool isSpiInitialized[SPI_TOTAL_COUNT] = { false, false, false, false, false, false }; +/* zero index is SPI_NONE */ +bool isSpiInitialized[SPI_TOTAL_COUNT + 1] = { true, false, false, false, false, false, false }; struct af_pairs { brain_pin_e pin; diff --git a/firmware/hw_layer/ports/cypress/mpu_util.cpp b/firmware/hw_layer/ports/cypress/mpu_util.cpp index 9b9c40d528..0a4728328a 100644 --- a/firmware/hw_layer/ports/cypress/mpu_util.cpp +++ b/firmware/hw_layer/ports/cypress/mpu_util.cpp @@ -65,7 +65,8 @@ void HardFaultVector(void) { } #if HAL_USE_SPI || defined(__DOXYGEN__) -bool isSpiInitialized[SPI_TOTAL_COUNT] = { false, false, false, false, false, false }; +/* zero index is SPI_NONE */ +bool isSpiInitialized[SPI_TOTAL_COUNT + 1] = { true, false, false, false, false, false, false }; static int getSpiAf(SPIDriver *driver) { #if STM32_SPI_USE_SPI1 diff --git a/firmware/hw_layer/ports/kinetis/mpu_util.cpp b/firmware/hw_layer/ports/kinetis/mpu_util.cpp index 4b19c7922c..8a69b7eb7c 100644 --- a/firmware/hw_layer/ports/kinetis/mpu_util.cpp +++ b/firmware/hw_layer/ports/kinetis/mpu_util.cpp @@ -58,7 +58,8 @@ void HardFaultVector(void) { } #if HAL_USE_SPI || defined(__DOXYGEN__) -bool isSpiInitialized[SPI_TOTAL_COUNT] = { false, false, false, false, false, false }; +/* zero index is SPI_NONE */ +bool isSpiInitialized[SPI_TOTAL_COUNT + 1] = { true, false, false, false, false, false, false }; static int getSpiAf(SPIDriver *driver) { #if STM32_SPI_USE_SPI1 diff --git a/firmware/hw_layer/ports/stm32/stm32_spi.cpp b/firmware/hw_layer/ports/stm32/stm32_spi.cpp index 48573d5d3b..08acb3006a 100644 --- a/firmware/hw_layer/ports/stm32/stm32_spi.cpp +++ b/firmware/hw_layer/ports/stm32/stm32_spi.cpp @@ -9,7 +9,8 @@ #include "pch.h" #if HAL_USE_SPI -bool isSpiInitialized[SPI_TOTAL_COUNT] = { false, false, false, false, false, false }; +/* zero index is SPI_NONE */ +bool isSpiInitialized[SPI_TOTAL_COUNT + 1] = { true, false, false, false, false, false, false }; static int getSpiAf(SPIDriver *driver) { #if STM32_SPI_USE_SPI1