OneWire_direct_regtype.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef OneWire_Direct_RegType_h
  2. #define OneWire_Direct_RegType_h
  3. #include <stdint.h>
  4. // Platform specific I/O register type
  5. #if defined(__AVR__)
  6. #define IO_REG_TYPE uint8_t
  7. #elif defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MK66FX1M0__) || defined(__MK64FX512__)
  8. #define IO_REG_TYPE uint8_t
  9. #elif defined(__IMXRT1052__) || defined(__IMXRT1062__)
  10. #define IO_REG_TYPE uint32_t
  11. #elif defined(__MKL26Z64__)
  12. #define IO_REG_TYPE uint8_t
  13. #elif defined(__SAM3X8E__) || defined(__SAM3A8C__) || defined(__SAM3A4C__)
  14. #define IO_REG_TYPE uint32_t
  15. #elif defined(__PIC32MX__)
  16. #define IO_REG_TYPE uint32_t
  17. #elif defined(ARDUINO_ARCH_ESP8266)
  18. #define IO_REG_TYPE uint32_t
  19. #elif defined(ARDUINO_ARCH_ESP32)
  20. #define IO_REG_TYPE uint32_t
  21. #define IO_REG_MASK_ATTR
  22. #elif defined(ARDUINO_ARCH_STM32)
  23. #define IO_REG_TYPE uint32_t
  24. #elif defined(__SAMD21G18A__)
  25. #define IO_REG_TYPE uint32_t
  26. #elif defined(__ASR6501__)
  27. #define IO_REG_TYPE uint32_t
  28. #elif defined(RBL_NRF51822)
  29. #define IO_REG_TYPE uint32_t
  30. #elif defined(__arc__) /* Arduino101/Genuino101 specifics */
  31. #define IO_REG_TYPE uint32_t
  32. #elif defined(__riscv)
  33. #define IO_REG_TYPE uint32_t
  34. #else
  35. #define IO_REG_TYPE unsigned int
  36. #endif
  37. #endif