2021-09-19 12:27:48 +02:00
|
|
|
#ifndef LINUX_OBC_VCINTERFACEIF_H_
|
|
|
|
#define LINUX_OBC_VCINTERFACEIF_H_
|
|
|
|
|
2023-03-09 12:20:13 +01:00
|
|
|
#include <mission/tmtc/DirectTmSinkIF.h>
|
2021-09-26 08:29:30 +02:00
|
|
|
#include <stddef.h>
|
2022-01-17 15:58:27 +01:00
|
|
|
|
2022-08-24 17:27:47 +02:00
|
|
|
#include "fsfw/returnvalues/returnvalue.h"
|
2021-09-19 12:27:48 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Interface class for managing different virtual channels of the PTME IP core implemented
|
|
|
|
* in the programmable logic.
|
2023-03-09 12:20:13 +01:00
|
|
|
* @details
|
|
|
|
* Also implements @DirectTmSinkIF to allow wiriting to the VC directly.
|
2021-09-19 12:27:48 +02:00
|
|
|
* @author J. Meier
|
|
|
|
*/
|
2023-03-09 17:44:05 +01:00
|
|
|
class VirtualChannelIF : public DirectTmSinkIF {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
2023-03-09 17:44:05 +01:00
|
|
|
virtual ~VirtualChannelIF(){};
|
2021-09-19 12:27:48 +02:00
|
|
|
|
2022-01-24 16:33:22 +01:00
|
|
|
virtual ReturnValue_t initialize() = 0;
|
2023-03-23 18:31:47 +01:00
|
|
|
virtual void cancelTransfer() = 0;
|
2021-09-19 12:27:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* LINUX_OBC_VCINTERFACEIF_H_ */
|