Internal Interface Wrap
API reference
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
StmSpiBusLock Class Referencefinal

RAII exclusive ownership of one StmSpiBus (RTOS mutex). More...

#include <StmSpi.h>

Collaboration diagram for StmSpiBusLock:
[legend]

Public Member Functions

 StmSpiBusLock (StmSpiBus &bus, hf_u32_t timeout_ms) noexcept
 
 ~StmSpiBusLock () noexcept
 
 StmSpiBusLock (const StmSpiBusLock &)=delete
 
StmSpiBusLock & operator= (const StmSpiBusLock &)=delete
 
 StmSpiBusLock (StmSpiBusLock &&other) noexcept
 
StmSpiBusLock & operator= (StmSpiBusLock &&other) noexcept
 
bool OwnsLock () const noexcept
 

Private Attributes

StmSpiBus * bus_ {nullptr}
 
bool locked_ {false}
 

Detailed Description

RAII exclusive ownership of one StmSpiBus (RTOS mutex).

Higher-level threads may block here with a timeout — that is intentional. Do not disable interrupts across SPI frames; serialize with this lock. Direct HAL probes / wire-proof paths must take the same lock.

Constructor & Destructor Documentation

◆ StmSpiBusLock() [1/3]

StmSpiBusLock::StmSpiBusLock ( StmSpiBus &  bus,
hf_u32_t  timeout_ms 
)
noexcept

◆ ~StmSpiBusLock()

StmSpiBusLock::~StmSpiBusLock ( )
noexcept

◆ StmSpiBusLock() [2/3]

StmSpiBusLock::StmSpiBusLock ( const StmSpiBusLock &  )
delete

◆ StmSpiBusLock() [3/3]

StmSpiBusLock::StmSpiBusLock ( StmSpiBusLock &&  other)
noexcept

Member Function Documentation

◆ operator=() [1/2]

StmSpiBusLock & StmSpiBusLock::operator= ( const StmSpiBusLock &  )
delete

◆ operator=() [2/2]

StmSpiBusLock & StmSpiBusLock::operator= ( StmSpiBusLock &&  other)
noexcept

◆ OwnsLock()

bool StmSpiBusLock::OwnsLock ( ) const
inlinenoexcept

Member Data Documentation

◆ bus_

StmSpiBus* StmSpiBusLock::bus_ {nullptr}
private

◆ locked_

bool StmSpiBusLock::locked_ {false}
private

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