mn::system::basic_critical_section Class Reference
#include <mn_criticalsection.hpp>
Inheritance diagram for mn::system::basic_critical_section:
Collaboration diagram for mn::system::basic_critical_section:
Public Member Functions | |
basic_critical_section () | |
basic_critical_section (portMUX_TYPE type) | |
virtual int | lock (unsigned int timeout=0) |
virtual int | unlock () |
Public Member Functions inherited from mn::system::ISystemLockObject | |
virtual int | time_lock (const struct timespec *timeout) |
virtual bool | is_initialized () |
Public Member Functions inherited from mn::ILockObject | |
ILockObject () | |
virtual bool | try_lock () |
virtual bool | is_initialized () const =0 |
virtual bool | is_locked () const =0 |
Is locked? More... | |
Protected Attributes | |
portMUX_TYPE | m_pHandle |
Additional Inherited Members | |
Public Types inherited from mn::ILockObject | |
using | this_type = ILockObject |
Detailed Description
Wrapper class around FreeRTOS's implementation of a critical sections. Can you use im ISR Context
- Note
- Use the follow FreeRTOS macros: portENTER_CRITICAL_SAFE and portEXIT_CRITICAL_SAFE
Constructor & Destructor Documentation
◆ basic_critical_section() [1/2]
mn::system::basic_critical_section::basic_critical_section | ( | ) |
◆ basic_critical_section() [2/2]
mn::system::basic_critical_section::basic_critical_section | ( | portMUX_TYPE | type | ) |
Member Function Documentation
◆ lock()
|
virtual |
enter the critical section
- Parameters
-
timeout Not used
- Returns
- ERR_SYSTEM_NO_RETURN
Implements mn::ILockObject.
◆ unlock()
|
virtual |
Member Data Documentation
◆ m_pHandle
|
protected |
The documentation for this class was generated from the following files: