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

nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOS

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

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

Summary

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

Inheritance

Inherits from: nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl< ImplClass >

Protected attributes

mEventLoopTask
TaskHandle_t
mNextTimerBaseTime
TimeOut_t
mNextTimerDurationTicks
TickType_t
mWeaveEventQueue
QueueHandle_t
mWeaveStackLock
SemaphoreHandle_t
mWeaveTimerActive
bool

Protected functions

PostEventFromISR(const WeaveDeviceEvent *event, BaseType_t & yieldRequired)
void
_InitWeaveStack()
_LockWeaveStack(void)
void
_PostEvent(const WeaveDeviceEvent *event)
void
_RunEventLoop(void)
void
_StartEventLoopTask(void)
_StartWeaveTimer(uint32_t durationMS)
_TryLockWeaveStack(void)
bool
_UnlockWeaveStack(void)
void

Protected attributes

mEventLoopTask

TaskHandle_t mEventLoopTask

mNextTimerBaseTime

TimeOut_t mNextTimerBaseTime

mNextTimerDurationTicks

TickType_t mNextTimerDurationTicks

mWeaveEventQueue

QueueHandle_t mWeaveEventQueue

mWeaveStackLock

SemaphoreHandle_t mWeaveStackLock

mWeaveTimerActive

bool mWeaveTimerActive

Protected functions

PostEventFromISR

void PostEventFromISR(
  const WeaveDeviceEvent *event,
  BaseType_t & yieldRequired
)

_InitWeaveStack

WEAVE_ERROR _InitWeaveStack()

_LockWeaveStack

void _LockWeaveStack(
  void
)

_PostEvent

void _PostEvent(
  const WeaveDeviceEvent *event
)

_RunEventLoop

void _RunEventLoop(
  void
)

_StartEventLoopTask

WEAVE_ERROR _StartEventLoopTask(
  void
)

_StartWeaveTimer

WEAVE_ERROR _StartWeaveTimer(
  uint32_t durationMS
)

_TryLockWeaveStack

bool _TryLockWeaveStack(
  void
)

_UnlockWeaveStack

void _UnlockWeaveStack(
  void
)