mirror of
https://github.com/PaulStoffregen/OneWire.git
synced 2026-07-27 19:57:07 +00:00
Support ESP32 critical sections
This commit is contained in:
@@ -189,5 +189,9 @@ class OneWire
|
||||
#undef DIRECT_MODE_OUTPUT
|
||||
#undef DIRECT_WRITE_LOW
|
||||
#undef DIRECT_WRITE_HIGH
|
||||
#ifdef ARDUINO_ARCH_ESP32
|
||||
#undef noInterrupts()
|
||||
#undef interrupts()
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -197,6 +197,10 @@ void directModeOutput(IO_REG_TYPE pin)
|
||||
#define DIRECT_WRITE_HIGH(base, pin) directWriteHigh(pin)
|
||||
#define DIRECT_MODE_INPUT(base, pin) directModeInput(pin)
|
||||
#define DIRECT_MODE_OUTPUT(base, pin) directModeOutput(pin)
|
||||
// https://github.com/PaulStoffregen/OneWire/pull/47
|
||||
// https://github.com/stickbreaker/OneWire/commit/6eb7fc1c11a15b6ac8c60e5671cf36eb6829f82c
|
||||
#define noInterrupts() {portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;portENTER_CRITICAL(&mux)
|
||||
#define interrupts() portEXIT_CRITICAL(&mux);}
|
||||
#warning "ESP32 OneWire testing"
|
||||
|
||||
#elif defined(__SAMD21G18A__)
|
||||
|
||||
Reference in New Issue
Block a user