FreeRTOScpp
Loading...
Searching...
No Matches
FreeRTOS C++ Wrapper

Files

file  CallBack.cpp
 FreeRTOS Call back wrapper.
 
file  CallBack.h
 FreeRTOS CallBack Wrapper.
 
file  EventCPP.h
 FreeRTOS Event Group Wrapper.
 
file  FreeRTOScpp.h
 FreeRTOS Wrapper.
 
file  Lock.cpp
 FreeRTOS Lock wrapper.
 
file  Lock.h
 FreeRTOS Lock wrapper.
 
file  MessageBufferCPP.h
 FreeRTOS MessageBuffer wrapper.
 
file  MutexCPP.h
 FreeRTOS Mutex Wrapper.
 
file  QueueCPP.h
 FreeRTOS Queue Wrapper.
 
file  ReadWrite.cpp
 FreeRTOS Read/Write Lock Wrapper.
 
file  ReadWrite.h
 FreeRTOS Read/Write Lock Wrapper.
 
file  SemaphoreCPP.h
 FreeRTOS Semaphore Wrapper.
 
file  StreamBufferCPP.h
 FreeRTOS Streambuffer wrapper.
 
file  TaskCpp.cpp
 FreeRTOS Task Wrapper.
 
file  TaskCPP.h
 FreeRTOS Task Wrapper.
 
file  TimerCPP.h
 FreeRTOS Timer Wrapper.
 

Classes

class  BinarySemaphore
 Binary Semaphore Wrapper. More...
 
class  Lock
 Class to hold a block based lock. More...
 
class  Lockable
 A Base class to provide block based locking capability. More...
 
class  Mutex
 Mutex Wrapper. More...
 
class  Queue< T, queueLength >
 Queue Wrapper. More...
 
class  QueueBase
 Base Queue Wrapper. More...
 
class  QueueTypeBase< T >
 Typed Queue Wrapper. More...
 
class  RecursiveMutex
 Recursive Mutex Wrapper. More...
 
class  TaskBase
 Lowest Level Wrapper. More...
 
class  TaskClassS< stackDepth >
 Make a class based task. More...
 
class  TaskS< stackDepth >
 Statically Created Task Wrapper. More...
 
class  Timer
 
class  TimerMember< T >
 

Macros

#define EVENT_BITS   8
 Number of Bits usable as Event Bits.
 
#define EVENT_MASK   0x00FFU
 Mask of bits usable as Event Bits.
 
#define FREERTOS_USE_NAMESPACE   2
 If non-zero, put FreeRTOScpp library into namespace FreeRTOScpp.
 
#define FREERTOSCPP_USE_CHRONO   1
 Enable the use of C++ chrono time values.
 

Enumerations

enum  TaskPriority {
  TaskPrio_Idle = 0 , TaskPrio_Low = ((configMAX_PRIORITIES)>1) , TaskPrio_HMI = (TaskPrio_Low + ((configMAX_PRIORITIES)>5)) , TaskPrio_Mid = ((configMAX_PRIORITIES)/2) ,
  TaskPrio_High = ((configMAX_PRIORITIES)-1-((configMAX_PRIORITIES)>4)) , TaskPrio_Highest = ((configMAX_PRIORITIES)-1)
}
 Names for Base set of Priorities. More...
 

Detailed Description

See FreeRTOS C++ Wrappers

Macro Definition Documentation

◆ EVENT_BITS

#define EVENT_BITS   8

Number of Bits usable as Event Bits.

◆ EVENT_MASK

#define EVENT_MASK   0x00FFU

Mask of bits usable as Event Bits.

◆ FREERTOS_USE_NAMESPACE

#define FREERTOS_USE_NAMESPACE   2

If non-zero, put FreeRTOScpp library into namespace FreeRTOScpp.

If 2, adds a using namespace FreeRTOScpp, so code doesn't need to use that namespace unless conflicts arise.

◆ FREERTOSCPP_USE_CHRONO

#define FREERTOSCPP_USE_CHRONO   1

Enable the use of C++ chrono time values.

Enumeration Type Documentation

◆ TaskPriority

Names for Base set of Priorities.

Assigns used based names to priority levels, optimized for configMAX_PRIORITIES = 6 for maximal distinctions with reasonable collapsing for smaller values. If configMAX_PRIORITIES is >6 then some values won't have names here, but values could be created and cast to the enum type.

configMAX_PRIORITIES: 1 2 3 4 5 6 N>6 Use
TaskPrio_Idle 0 0 0 0 0 0 0 Non-Real Time operations, Tasks that don't block
TaskPrio_Low 0 1 1 1 1 1 1 Non-Critical operations
TaskPrio_HMI 0 1 1 1 1 2 2 Normal User Interface
TaskPrio_Mid 0 1 1 2 2 3 N/2 Semi-Critical, Deadlines, not much processing
TaskPrio_High 0 1 2 3 3 4 N-2 Urgent, Short Deadlines, not much processing
TaskPrio_Highest 0 1 2 3 4 5 N-1 Critical, do NOW, must be quick (Used by FreeRTOS)
Enumerator
TaskPrio_Idle 

Non-Real Time operations. tasks that don't block.

TaskPrio_Low 

Non-Critical operations.

TaskPrio_HMI 

Normal User Interface Level.

TaskPrio_Mid 

Semi-Critical, have deadlines, not a lot of processing.

TaskPrio_High 

Urgent tasks, short deadlines, not much processing.

TaskPrio_Highest 

Critical Tasks, Do NOW, must be quick (Used by FreeRTOS)