diff --git a/Adafruit_SPIDevice.h b/Adafruit_SPIDevice.h index 1d1f953..fad0fbd 100644 --- a/Adafruit_SPIDevice.h +++ b/Adafruit_SPIDevice.h @@ -58,6 +58,11 @@ typedef BitOrder BusIOBitOrder; // typedef uint32_t BusIO_PortMask; //#define BUSIO_USE_FAST_PINIO +#elif defined(__MBED__) || defined(__ZEPHYR__) +// Boards based on RTOS cores like mbed or Zephyr are not going to expose the +// low level registers needed for fast pin manipulation +#undef BUSIO_USE_FAST_PINIO + #elif defined(ARDUINO_ARCH_XMC) #undef BUSIO_USE_FAST_PINIO @@ -73,9 +78,8 @@ typedef uint32_t BusIO_PortMask; #define BUSIO_USE_FAST_PINIO #elif (defined(__arm__) || defined(ARDUINO_FEATHER52)) && \ - !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_RP2040) && \ - !defined(ARDUINO_SILABS) && !defined(ARDUINO_UNOR4_MINIMA) && \ - !defined(ARDUINO_UNOR4_WIFI) + !defined(ARDUINO_ARCH_RP2040) && !defined(ARDUINO_SILABS) && \ + !defined(ARDUINO_UNOR4_MINIMA) && !defined(ARDUINO_UNOR4_WIFI) typedef volatile uint32_t BusIO_PortReg; typedef uint32_t BusIO_PortMask; #if !defined(__ASR6501__) && !defined(__ASR6502__) diff --git a/CMakeLists.txt b/CMakeLists.txt index 880b1aa..ff6496c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,6 @@ cmake_minimum_required(VERSION 3.5) idf_component_register(SRCS "Adafruit_I2CDevice.cpp" "Adafruit_BusIO_Register.cpp" "Adafruit_SPIDevice.cpp" INCLUDE_DIRS "." - REQUIRES arduino) + REQUIRES arduino-esp32) project(Adafruit_BusIO)