Merge pull request 'task convergence' (#307) from KSat/fsfw:mueller/tasks-update into development
Reviewed-on: fsfw/fsfw#307
This commit is contained in:
commit
5ba1932076
@ -1,16 +1,32 @@
|
|||||||
#ifndef FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
|
#ifndef FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
|
||||||
#define FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
|
#define FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
|
||||||
|
|
||||||
#include "../objectmanager/ObjectManagerIF.h"
|
|
||||||
#include "PeriodicTaskIF.h"
|
#include "PeriodicTaskIF.h"
|
||||||
|
#include "../objectmanager/ObjectManagerIF.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Following the same principle as the base class IF. This is the interface for a Fixed timeslot task
|
* @brief Following the same principle as the base class IF.
|
||||||
|
* This is the interface for a Fixed timeslot task
|
||||||
*/
|
*/
|
||||||
class FixedTimeslotTaskIF : public PeriodicTaskIF {
|
class FixedTimeslotTaskIF : public PeriodicTaskIF {
|
||||||
public:
|
public:
|
||||||
virtual ~FixedTimeslotTaskIF() {}
|
virtual ~FixedTimeslotTaskIF() {}
|
||||||
virtual ReturnValue_t addSlot(object_id_t componentId, uint32_t slotTimeMs, int8_t executionStep) = 0;
|
|
||||||
|
/**
|
||||||
|
* Add an object with a slot time and the execution step to the task.
|
||||||
|
* The execution step will be passed to the object (e.g. as an operation
|
||||||
|
* code in #performOperation)
|
||||||
|
* @param componentId
|
||||||
|
* @param slotTimeMs
|
||||||
|
* @param executionStep
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
virtual ReturnValue_t addSlot(object_id_t componentId, uint32_t slotTimeMs,
|
||||||
|
int8_t executionStep) = 0;
|
||||||
|
/**
|
||||||
|
* Check whether the sequence is valid and perform all other required
|
||||||
|
* initialization steps which are needed after task creation
|
||||||
|
*/
|
||||||
virtual ReturnValue_t checkSequence() const = 0;
|
virtual ReturnValue_t checkSequence() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#ifndef FRAMEWORK_TASKS_TASKFACTORY_H_
|
#ifndef FSFW_TASKS_TASKFACTORY_H_
|
||||||
#define FRAMEWORK_TASKS_TASKFACTORY_H_
|
#define FSFW_TASKS_TASKFACTORY_H_
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "FixedTimeslotTaskIF.h"
|
#include "FixedTimeslotTaskIF.h"
|
||||||
#include "Typedef.h"
|
#include "Typedef.h"
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Singleton Class that produces Tasks.
|
* Singleton Class that produces Tasks.
|
||||||
*/
|
*/
|
||||||
@ -48,10 +49,11 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to be called to delete a task
|
* Function to be called to delete a task
|
||||||
* @param task The pointer to the task that shall be deleted, NULL specifies current Task
|
* @param task The pointer to the task that shall be deleted,
|
||||||
|
* nullptr specifies current Task
|
||||||
* @return Success of deletion
|
* @return Success of deletion
|
||||||
*/
|
*/
|
||||||
static ReturnValue_t deleteTask(PeriodicTaskIF* task = NULL);
|
static ReturnValue_t deleteTask(PeriodicTaskIF* task = nullptr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to be called to delay current task
|
* Function to be called to delay current task
|
||||||
@ -69,4 +71,4 @@ private:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* FRAMEWORK_TASKS_TASKFACTORY_H_ */
|
#endif /* FSFW_TASKS_TASKFACTORY_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user