Skip to content

Commit 9eeac1d

Browse files
committed
Avoid fast pins IO on RTOS based boards
Better fix than arduino/ArduinoCore-zephyr@80943e6
1 parent ddf66b4 commit 9eeac1d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Adafruit_SPIDevice.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ typedef BitOrder BusIOBitOrder;
5858
// typedef uint32_t BusIO_PortMask;
5959
//#define BUSIO_USE_FAST_PINIO
6060

61+
#elif defined(__MBED__) || defined(__ZEPHYR__)
62+
// Boards based on RTOS cores like mbed or Zephyr are not going to expose the
63+
// low level registers needed for fast pin manipulation
64+
#undef BUSIO_USE_FAST_PINIO
65+
6166
#elif defined(ARDUINO_ARCH_XMC)
6267
#undef BUSIO_USE_FAST_PINIO
6368

@@ -73,7 +78,7 @@ typedef uint32_t BusIO_PortMask;
7378
#define BUSIO_USE_FAST_PINIO
7479

7580
#elif (defined(__arm__) || defined(ARDUINO_FEATHER52)) && \
76-
!defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_RP2040) && \
81+
!defined(ARDUINO_ARCH_RP2040) && \
7782
!defined(ARDUINO_SILABS) && !defined(ARDUINO_UNOR4_MINIMA) && \
7883
!defined(ARDUINO_UNOR4_WIFI)
7984
typedef volatile uint32_t BusIO_PortReg;

0 commit comments

Comments
 (0)