eive-obsw/linux/ipcore/VcInterfaceIF.h

31 lines
762 B
C
Raw Normal View History

2021-09-19 12:27:48 +02:00
#ifndef LINUX_OBC_VCINTERFACEIF_H_
#define LINUX_OBC_VCINTERFACEIF_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.
*
* @author J. Meier
*/
class VcInterfaceIF {
2022-01-17 15:58:27 +01:00
public:
virtual ~VcInterfaceIF(){};
2021-09-19 12:27:48 +02:00
2022-01-17 15:58:27 +01:00
/**
* @brief Implememts the functionality to write data in the virtual channel of the PTME IP
* Core.
*
* @param data Pointer to buffer holding the data to write
* @param size Number of bytes to write
*/
virtual ReturnValue_t write(const uint8_t* data, size_t size) = 0;
2021-09-26 08:29:30 +02:00
2022-01-24 16:33:22 +01:00
virtual ReturnValue_t initialize() = 0;
2021-09-19 12:27:48 +02:00
};
#endif /* LINUX_OBC_VCINTERFACEIF_H_ */