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)