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-18 11:41:19 +01:00
|
|
|
|
2021-09-19 12:27:48 +02:00
|
|
|
#include "fsfw/returnvalues/HasReturnvaluesIF.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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-18 11:41:19 +01:00
|
|
|
public:
|
|
|
|
virtual ~VcInterfaceIF(){};
|
2021-09-19 12:27:48 +02:00
|
|
|
|
2022-01-18 11:41:19 +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-18 11:41:19 +01:00
|
|
|
virtual void setRegisterAddress(uint32_t* ptmeBaseAddress) = 0;
|
2021-09-19 12:27:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* LINUX_OBC_VCINTERFACEIF_H_ */
|