#ifndef LINUX_OBC_PTMECONFIG_H_
#define LINUX_OBC_PTMECONFIG_H_

#include <cstring>

#include "OBSWConfig.h"
#include "fsfw/returnvalues/HasReturnvaluesIF.h"

/**
 * @brief   PTME specific configuration parameters derived from FPGA design and device tree.
 *
 * @author  J. Meier
 */
namespace PtmeConfig {
/**
 * Offset of virtual channels mapped into address space
 * 0x10000 = (0x4000 * 4)
 */
static const uint32_t VC0_OFFSETT = 0;
static const uint32_t VC1_OFFSETT = 0x4000;
static const uint32_t VC2_OFFSETT = 0x8000;
static const uint32_t VC3_OFFSETT = 0xC000;
#if BOARD_TE0720 == 0
static const char UIO_DEVICE_FILE[] = "/dev/uio1";
#else
static const char UIO_DEVICE_FILE[] = "/dev/uio1";
#endif
// Bit clock frequency of PMTE IP core in Hz
static const uint32_t BIT_CLK_FREQ = 20000000;
};  // namespace PtmeConfig

#endif /* LINUX_OBC_PTMECONFIG_H_ */