ELEC-C7222
Libraries for ELEC C7222 Course Work
Loading...
Searching...
No Matches
BaseClass Class Reference

Singleton startup coordinator. More...

Collaboration diagram for BaseClass:
Collaboration graph

Public Member Functions

 BaseClass (const BaseClass &)=delete
 
BaseClassoperator= (const BaseClass &)=delete
 
 BaseClass (BaseClass &&)=delete
 
BaseClassoperator= (BaseClass &&)=delete
 
virtual ~BaseClass ()
 Destructor for diagnostics.
 
void startup ()
 Startup routine run as a one-shot FreeRTOS task.
 

Static Public Member Functions

static BaseClassinstance ()
 Get singleton instance.
 

Detailed Description

Singleton startup coordinator.

This class provides a controlled one-time startup point that runs as an initial FreeRTOS task. It then creates and detaches C++ worker threads.

Constructor & Destructor Documentation

◆ BaseClass() [1/2]

BaseClass::BaseClass ( const BaseClass )
delete

◆ BaseClass() [2/2]

BaseClass::BaseClass ( BaseClass &&  )
delete

◆ ~BaseClass()

virtual BaseClass::~BaseClass ( )
inlinevirtual

Destructor for diagnostics.

Member Function Documentation

◆ instance()

static BaseClass & BaseClass::instance ( )
inlinestatic

Get singleton instance.

Returns
Reference to the unique BaseClass object.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

BaseClass & BaseClass::operator= ( BaseClass &&  )
delete

◆ operator=() [2/2]

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

◆ startup()

void BaseClass::startup ( )
inline

Startup routine run as a one-shot FreeRTOS task.

Sequence:

  1. Wait briefly to allow scheduler/runtime stabilization.
  2. Create and detach LED and logger std::thread workers.
  3. Delete the current startup task with vTaskDelete(NULL).

Usage:

  • Invoked via a bootstrap xTaskCreate() in main().
  • Requires FreeRTOS scheduler to be active.
Here is the call graph for this function:
Here is the caller graph for this function:

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