fsfw/tasks/FixedTimeslotTaskIF.h

36 lines
1018 B
C
Raw Permalink Normal View History

#ifndef FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
#define FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
2020-08-13 20:53:35 +02:00
#include "PeriodicTaskIF.h"
2020-12-14 11:49:30 +01:00
#include "../objectmanager/ObjectManagerIF.h"
/**
2020-12-14 11:49:30 +01:00
* @brief Following the same principle as the base class IF.
* This is the interface for a Fixed timeslot task
*/
class FixedTimeslotTaskIF : public PeriodicTaskIF {
public:
virtual ~FixedTimeslotTaskIF() {}
2020-12-14 11:49:30 +01:00
/**
* Add an object with a slot time and the execution step to the task.
2020-12-15 15:12:31 +01:00
* The execution step will be passed to the object (e.g. as an operation
* code in #performOperation)
2020-12-14 11:49:30 +01:00
* @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;
};
#endif /* FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_ */