ESPHome  2024.11.3
Public Member Functions | Protected Attributes
esphome::InterruptLock Class Reference

Helper class to disable interrupts. More...

#include <helpers.h>

Public Member Functions

 InterruptLock ()
 
 ~InterruptLock ()
 

Protected Attributes

uint32_t state_
 

Detailed Description

Helper class to disable interrupts.

This behaves like std::lock_guard: as long as the object is alive, all interrupts are disabled.

Please note all functions called when the interrupt lock must be marked IRAM_ATTR (loading code into instruction cache is done via interrupts; disabling interrupts prevents data not already in cache from being pulled from flash).

Example usage:

// interrupts are enabled
{
// do something
// interrupts are disabled
}
// interrupts are enabled

Definition at line 605 of file helpers.h.

Constructor & Destructor Documentation

◆ InterruptLock()

IRAM_ATTR esphome::InterruptLock::InterruptLock ( )

Definition at line 652 of file helpers.cpp.

◆ ~InterruptLock()

IRAM_ATTR esphome::InterruptLock::~InterruptLock ( )

Definition at line 653 of file helpers.cpp.

Field Documentation

◆ state_

uint32_t esphome::InterruptLock::state_
protected

Definition at line 612 of file helpers.h.


The documentation for this class was generated from the following files: