Google is committed to advancing racial equity for Black communities. See how.

nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_FreeRTOS

#include <src/adaptations/device-layer/include/Weave/DeviceLayer/FreeRTOS/GenericThreadStackManagerImpl_FreeRTOS.h>

Provides a generic implementation of ThreadStackManager features that works on FreeRTOS platforms.

Summary

This template contains implementations of select features from the ThreadStackManager abstract interface that are suitable for use on FreeRTOS-based platforms. It is intended to be inherited, directly or indirectly, by the ThreadStackManagerImpl class, which also appears as the template's ImplClass parameter.

Protected attributes

mThreadStackLock
SemaphoreHandle_t
mThreadTask
TaskHandle_t

Protected functions

DoInit()
SignalThreadActivityPending()
void
SignalThreadActivityPendingFromISR()
BaseType_t
_LockThreadStack(void)
void
_StartThreadTask(void)
_TryLockThreadStack(void)
bool
_UnlockThreadStack(void)
void

Protected attributes

mThreadStackLock

SemaphoreHandle_t mThreadStackLock

mThreadTask

TaskHandle_t mThreadTask

Protected functions

DoInit

WEAVE_ERROR DoInit()

SignalThreadActivityPending

void SignalThreadActivityPending()

SignalThreadActivityPendingFromISR

BaseType_t SignalThreadActivityPendingFromISR()

_LockThreadStack

void _LockThreadStack(
  void
)

_StartThreadTask

WEAVE_ERROR _StartThreadTask(
  void
)

_TryLockThreadStack

bool _TryLockThreadStack(
  void
)

_UnlockThreadStack

void _UnlockThreadStack(
  void
)