![]() |
WarpTwin
Documentation for WarpTwin models and classes.
|
Base class implementation of the scheduler. More...
#include <Scheduler.h>

Public Member Functions | |
| Scheduler () | |
| Constructor for the scheduler. | |
| virtual int16 | startup () |
| Function to start and configure the scheduler. | |
| virtual int16 | step (const clockwerk::Time &step_val) |
| Function to step the scheduler by a single step. | |
| virtual int16 | run () |
| Function to run the scheduler until pre-determined end conditions identified/calculated by the scheduler. | |
| virtual int16 | registerApp (App &app, int16 slot) |
| Function to register apps with the scheduler. Depending on the scheduler implementation these may be unused. | |
| virtual int16 | unregisterApp (int16 slot) |
| Function to unregister a certain schedule slot. | |
| void | terminate () |
| Terminate the scheduler. | |
| bool | isTerminated () |
| Get whether scheduler is terminated. | |
| void | setExecutive (FlightExecutive *exc) |
| Set the flight executive for the scheduler. | |
| Public Member Functions inherited from clockwerk::GraphTreeObject | |
| GraphTreeObject (const char *gt_nme="", GraphTreeObject **storage_array=nullptr, uint32 storage_size=0) | |
| Name-based constructor for GraphTreeObject which will have no children by default. | |
| virtual | ~GraphTreeObject () |
| Destructor. | |
| GraphTreeObject * | parent () |
| Functions to get object's parent/children. | |
| GraphTreeObject ** | children () |
| GraphTreeObject * | childAtIndex (uint8 i) const |
| int16 | parent (GraphTreeObject *new_parent) |
| Function to assign the node's parent via pointer. | |
| int16 | parent (GraphTreeObject &new_parent) |
| Function to assign the node's parent via reference. | |
| uint8 | nChildren () const |
| Getters for number of children and descendants. | |
| uint16 | nDescendants () const |
| uint8 | capacity () const |
| const char * | name () const |
| Getter and setter for object name. | |
| int16 | name (const char *new_name) |
| uint8 | rank () |
| Getter for the object rank. | |
| int8 | type () |
| Function to indicate type – -1 by default unless implemented downstream. | |
| bool | loggable () |
| Getter for object logability flag – note no setter because should only be set by this or a derived class in its definition. | |
| GraphTreeObject * | getRootDataPointer () |
| Get the pointer to the highest object in the graph tree. | |
| virtual int16 | str (char *output, size_t size) const |
| Get object represented as string. | |
| virtual int16 | fromStr (const char *val) |
| Set value of graphtreeobject from string. | |
Protected Attributes | |
| bool | _is_terminated = false |
| Flag to indicate whether the scheduler is terminated. | |
| FlightExecutive * | _exc_ptr |
| Pointer to the executive which may optionally be registered with scheduler. | |
| Protected Attributes inherited from clockwerk::GraphTreeObject | |
| GraphTreeObject * | _parent = nullptr |
| GraphTreeObject ** | _children_ptr = nullptr |
| uint32 | _max_num_children = 0 |
| uint16 | _num_descendants = 0 |
| char | _name [MAXIMUM_NAME_CHARS] = "" |
| String name for object. | |
| uint8 | _num_children = 0 |
| Number of direct children of the tree (not including the tree itself). | |
| uint8 | _rank = 0 |
| int8 | _graph_tree_type = BASE_GRAPH_TREE |
| Variable to store graph tree object type. | |
| bool | _loggable = false |
| Variable to indicate whether the selected object is loggable. Set to false by default. | |
| uint32 | _index = 0 |
| Index pointing to the next write location for the graph tree children. | |
Additional Inherited Members | |
| Protected Member Functions inherited from clockwerk::GraphTreeObject | |
| int16 | _setStorage (GraphTreeObject **storage_array, uint8 storage_size) |
| Getter for object's string address. | |
| void | _recalculateDescendants () |
| Function to recursively re-calculate the number of descendants of a given node on the tree. | |
| void | _recalculateRank () |
| Function to recursively re-calculate the rank of a given node on the tree. | |
| int16 | _addChild (GraphTreeObject *child) |
| Function to decompose a string into a series of substrings via indexing. | |
| int16 | _removeChild (GraphTreeObject *child) |
| Function to remove a child from the graph node's children. | |
Base class implementation of the scheduler.
This class is a base implementation of scheduler. It is an empty base class and cannot be used without implementation in a derived child class.
The scheduler is the engine that runs simulations and software. It defines the sequence and method of execution for models, tasks, monitors, and events and is tasked with their actual execution. It also manages faults and errors arising from them.
| warpos::Scheduler::Scheduler | ( | ) |
Constructor for the scheduler.
|
inline |
Get whether scheduler is terminated.
|
virtual |
Function to register apps with the scheduler. Depending on the scheduler implementation these may be unused.
| app | The app to register |
| slot | The slot to register the app to |
Reimplemented in warpos::TableScheduler< N >, and warptwin::SimScheduler.
|
virtual |
Function to run the scheduler until pre-determined end conditions identified/calculated by the scheduler.
Reimplemented in warpos::TableScheduler< N >, and warptwin::SimScheduler.
|
inline |
Set the flight executive for the scheduler.
| exc | The flight executive |
|
virtual |
Function to start and configure the scheduler.
Reimplemented in warpos::TableScheduler< N >, and warptwin::SimScheduler.
|
virtual |
Function to step the scheduler by a single step.
Reimplemented in warpos::TableScheduler< N >, and warptwin::SimScheduler.
|
inline |
Terminate the scheduler.
|
virtual |
Function to unregister a certain schedule slot.
| slot | Slot to unregister |
Reimplemented in warpos::TableScheduler< N >.
|
protected |
Pointer to the executive which may optionally be registered with scheduler.
|
protected |
Flag to indicate whether the scheduler is terminated.