From 18c0b66b4cb41fed97c617fd74208b7fba43b21c Mon Sep 17 00:00:00 2001 From: Trevor Makes Date: Tue, 27 Jun 2023 18:18:53 -0700 Subject: [PATCH 1/2] Fix SPI mode and bit order settings --- libraries/SPI/SPI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp index ed1b1db84..cdcbeb02a 100644 --- a/libraries/SPI/SPI.cpp +++ b/libraries/SPI/SPI.cpp @@ -383,7 +383,7 @@ void ArduinoSPI::configSpi(arduino::SPISettings const & settings) spcmd0 |= (uint32_t) bit_order << 12; /* Configure the Bit Rate Division Setting */ - spcmd0 &= !(((uint32_t)0xFF) << 2); + spcmd0 &= ~(((uint32_t)0xFF) << 2); spcmd0 |= (uint32_t) spck_div.brdv << 2; /* Update settings. */ From 1c26024f73af49c82161e0493eca0480548d3088 Mon Sep 17 00:00:00 2001 From: Trevor Makes Date: Wed, 28 Jun 2023 03:33:03 -0700 Subject: [PATCH 2/2] Mask-off just the BRDV bits --- libraries/SPI/SPI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp index cdcbeb02a..d383473a4 100644 --- a/libraries/SPI/SPI.cpp +++ b/libraries/SPI/SPI.cpp @@ -383,7 +383,7 @@ void ArduinoSPI::configSpi(arduino::SPISettings const & settings) spcmd0 |= (uint32_t) bit_order << 12; /* Configure the Bit Rate Division Setting */ - spcmd0 &= ~(((uint32_t)0xFF) << 2); + spcmd0 &= ~(((uint32_t) 3) << 2); spcmd0 |= (uint32_t) spck_div.brdv << 2; /* Update settings. */