2021-09-19 12:27:48 +02:00
|
|
|
#ifndef LINUX_OBC_PTMEIF_H_
|
|
|
|
#define LINUX_OBC_PTMEIF_H_
|
|
|
|
|
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 the PTME IP Core implemented in the programmable logic.
|
|
|
|
*
|
|
|
|
* @details PTME IP Core: https://www.esa.int/Enabling_Support/Space_Engineering_Technology/
|
|
|
|
* Microelectronics/PTME
|
|
|
|
* @author J. Meier
|
|
|
|
*/
|
|
|
|
class PtmeIF {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
virtual ~PtmeIF(){};
|
2021-09-19 12:27:48 +02:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
/**
|
|
|
|
* @brief Implements to function to write to a specific virtual channel.
|
|
|
|
*
|
|
|
|
* @param vcId Virtual channel to write to
|
|
|
|
* @param data Pointer to buffer holding the data to write
|
|
|
|
* @param size Number of bytes to write
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t writeToVc(uint8_t vcId, const uint8_t* data, size_t size) = 0;
|
2023-03-10 18:04:04 +01:00
|
|
|
virtual bool isBusy(uint8_t vcId) const = 0;
|
2021-09-19 12:27:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* LINUX_OBC_PTMEIF_H_ */
|