2021-12-03 15:37:49 +01:00
|
|
|
#ifndef FSFW_SRC_FSFW_CFDP_PDU_PDUCONFIG_H_
|
|
|
|
#define FSFW_SRC_FSFW_CFDP_PDU_PDUCONFIG_H_
|
|
|
|
|
|
|
|
#include "VarLenField.h"
|
2022-08-09 14:55:08 +02:00
|
|
|
#include "fsfw/cfdp/definitions.h"
|
2021-12-03 15:37:49 +01:00
|
|
|
|
|
|
|
namespace cfdp {
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
struct EntityId : public VarLenField {
|
|
|
|
public:
|
|
|
|
EntityId() : VarLenField() {}
|
2022-08-08 17:53:42 +02:00
|
|
|
template <typename T>
|
|
|
|
explicit EntityId(UnsignedByteField<T> byteField) : VarLenField(byteField) {}
|
2022-02-02 10:29:30 +01:00
|
|
|
EntityId(cfdp::WidthInBytes width, size_t entityId) : VarLenField(width, entityId) {}
|
2021-12-03 15:37:49 +01:00
|
|
|
};
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
struct TransactionSeqNum : public VarLenField {
|
|
|
|
public:
|
|
|
|
TransactionSeqNum() : VarLenField() {}
|
2022-08-08 17:53:42 +02:00
|
|
|
template <typename T>
|
|
|
|
explicit TransactionSeqNum(UnsignedByteField<T> byteField) : VarLenField(byteField) {}
|
2022-02-02 10:29:30 +01:00
|
|
|
TransactionSeqNum(cfdp::WidthInBytes width, size_t seqNum) : VarLenField(width, seqNum) {}
|
2021-12-03 15:37:49 +01:00
|
|
|
};
|
|
|
|
|
2022-08-09 14:55:08 +02:00
|
|
|
} // namespace cfdp
|
2021-12-03 15:37:49 +01:00
|
|
|
|
|
|
|
class PduConfig {
|
2022-02-02 10:29:30 +01:00
|
|
|
public:
|
2022-08-03 13:15:49 +02:00
|
|
|
PduConfig(cfdp::EntityId sourceId, cfdp::EntityId destId, cfdp::TransmissionModes mode,
|
|
|
|
cfdp::TransactionSeqNum seqNum, bool crcFlag = false, bool largeFile = false,
|
2022-02-02 10:29:30 +01:00
|
|
|
cfdp::Direction direction = cfdp::Direction::TOWARDS_RECEIVER);
|
|
|
|
cfdp::TransmissionModes mode;
|
|
|
|
cfdp::TransactionSeqNum seqNum;
|
|
|
|
cfdp::EntityId sourceId;
|
|
|
|
cfdp::EntityId destId;
|
|
|
|
bool crcFlag;
|
|
|
|
bool largeFile;
|
|
|
|
cfdp::Direction direction;
|
2021-12-03 15:37:49 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* FSFW_SRC_FSFW_CFDP_PDU_PDUCONFIG_H_ */
|