From 1fe8191663e2e737b503c20a5cfb3918ddb2c7b0 Mon Sep 17 00:00:00 2001 From: Felix Rusu Date: Tue, 31 Mar 2020 11:53:58 -0400 Subject: [PATCH] SAMD21 faster SPI clk, SAMD51 IRQ_PIN --- RFM69.cpp | 6 ++++-- RFM69.h | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/RFM69.cpp b/RFM69.cpp index 8466887..ac5e835 100644 --- a/RFM69.cpp +++ b/RFM69.cpp @@ -484,8 +484,10 @@ void RFM69::select() { // set RFM69 SPI settings explicitly SPI.setDataMode(SPI_MODE0); SPI.setBitOrder(MSBFIRST); -#ifdef __arm__ - SPI.setClockDivider(SPI_CLOCK_DIV16); +#ifdef defined(__SAMD21__) + SPI.setClockDivider(SPI_CLOCK_DIV2); +#elif defined(__SAMD51__) + SPI.setClockDivider(SPI_CLOCK_DIV16); #else SPI.setClockDivider(SPI_CLOCK_DIV4); // decided to slow down from DIV2 after SPI stalling in some instances, especially visible on mega1284p when RFM69 and FLASH chip both present #endif diff --git a/RFM69.h b/RFM69.h index 4f4defc..7105111 100644 --- a/RFM69.h +++ b/RFM69.h @@ -129,6 +129,8 @@ #define RF69_IRQ_PIN PA3 #elif defined(MOTEINO_M0) #define RF69_IRQ_PIN 9 +#elif defined(__SAMD51__) + #define RF69_IRQ_PIN 18 #elif defined(ARDUINO_SAMD_ZERO) //includes Feather SAMD #define RF69_IRQ_PIN 3 #elif defined(ESP8266)