2020-10-20 17:38:41 +02:00
|
|
|
#ifndef POLLINGSEQUENCEFACTORY_H_
|
|
|
|
#define POLLINGSEQUENCEFACTORY_H_
|
|
|
|
|
|
|
|
#include <fsfw/returnvalues/HasReturnvaluesIF.h>
|
|
|
|
|
|
|
|
class FixedTimeslotTaskIF;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* All device handlers are scheduled by adding them into Polling Sequence Tables (PST)
|
|
|
|
* to satisfy stricter timing requirements of device communication,
|
|
|
|
* A device handler has four different communication steps:
|
|
|
|
* 1. DeviceHandlerIF::SEND_WRITE -> Send write via interface
|
|
|
|
* 2. DeviceHandlerIF::GET_WRITE -> Get confirmation for write
|
|
|
|
* 3. DeviceHandlerIF::SEND_READ -> Send read request
|
|
|
|
* 4. DeviceHandlerIF::GET_READ -> Read from interface
|
|
|
|
* The PST specifies precisely when the respective ComIF functions are called
|
|
|
|
* during the communication cycle time.
|
|
|
|
* The task is created using the FixedTimeslotTaskIF,
|
|
|
|
* which utilises the underlying Operating System Abstraction Layer (OSAL)
|
|
|
|
*
|
2022-02-02 10:29:30 +01:00
|
|
|
* @param thisSequence FixedTimeslotTaskIF * object is passed inside the Factory class when creating
|
|
|
|
* the PST
|
2020-10-20 17:38:41 +02:00
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
namespace pst {
|
|
|
|
|
|
|
|
/* Default PST */
|
|
|
|
ReturnValue_t pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence);
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
} // namespace pst
|
2020-10-20 17:38:41 +02:00
|
|
|
|
|
|
|
#endif /* POLLINGSEQUENCEINIT_H_ */
|