Merge pull request #136 from facchinm/improve_fast_pin_io

Avoid fast pins IO on RTOS based boards
This commit is contained in:
Limor "Ladyada" Fried 2025-01-08 09:38:46 -05:00 committed by GitHub
commit 17506175b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -58,6 +58,11 @@ typedef BitOrder BusIOBitOrder;
// typedef uint32_t BusIO_PortMask; // typedef uint32_t BusIO_PortMask;
//#define BUSIO_USE_FAST_PINIO //#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) #elif defined(ARDUINO_ARCH_XMC)
#undef BUSIO_USE_FAST_PINIO #undef BUSIO_USE_FAST_PINIO
@ -73,9 +78,8 @@ typedef uint32_t BusIO_PortMask;
#define BUSIO_USE_FAST_PINIO #define BUSIO_USE_FAST_PINIO
#elif (defined(__arm__) || defined(ARDUINO_FEATHER52)) && \ #elif (defined(__arm__) || defined(ARDUINO_FEATHER52)) && \
!defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_RP2040) && \ !defined(ARDUINO_ARCH_RP2040) && !defined(ARDUINO_SILABS) && \
!defined(ARDUINO_SILABS) && !defined(ARDUINO_UNOR4_MINIMA) && \ !defined(ARDUINO_UNOR4_MINIMA) && !defined(ARDUINO_UNOR4_WIFI)
!defined(ARDUINO_UNOR4_WIFI)
typedef volatile uint32_t BusIO_PortReg; typedef volatile uint32_t BusIO_PortReg;
typedef uint32_t BusIO_PortMask; typedef uint32_t BusIO_PortMask;
#if !defined(__ASR6501__) && !defined(__ASR6502__) #if !defined(__ASR6501__) && !defined(__ASR6502__)