v1.9.0 #175
@ -75,10 +75,10 @@
|
|||||||
#include "linux/boardtest/LibgpiodTest.h"
|
#include "linux/boardtest/LibgpiodTest.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <linux/obc/AxiPtmeConfig.h>
|
||||||
#include <linux/obc/PapbVcInterface.h>
|
#include <linux/obc/PapbVcInterface.h>
|
||||||
#include <linux/obc/PdecHandler.h>
|
#include <linux/obc/PdecHandler.h>
|
||||||
#include <linux/obc/Ptme.h>
|
#include <linux/obc/Ptme.h>
|
||||||
#include <linux/obc/AxiPtmeConfig.h>
|
|
||||||
#include <linux/obc/PtmeConfig.h>
|
#include <linux/obc/PtmeConfig.h>
|
||||||
|
|
||||||
ResetArgs resetArgsGnss0;
|
ResetArgs resetArgsGnss0;
|
||||||
|
@ -109,8 +109,8 @@ ReturnValue_t AxiPtmeConfig::writeBit(uint32_t regOffset, bool bitVal, BitPos bi
|
|||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
uint32_t writeVal = (readVal & ~(1 << static_cast<uint32_t>(bitPos))) |
|
uint32_t writeVal =
|
||||||
bitVal << static_cast<uint32_t>(bitPos);
|
(readVal & ~(1 << static_cast<uint32_t>(bitPos))) | bitVal << static_cast<uint32_t>(bitPos);
|
||||||
result = writeReg(regOffset, writeVal);
|
result = writeReg(regOffset, writeVal);
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
return result;
|
return result;
|
||||||
|
@ -58,10 +58,7 @@ class AxiPtmeConfig : public SystemObject {
|
|||||||
static const uint32_t COMMON_CONFIG_REG = 0x4;
|
static const uint32_t COMMON_CONFIG_REG = 0x4;
|
||||||
static const uint32_t ADRESS_DIVIDER = 4;
|
static const uint32_t ADRESS_DIVIDER = 4;
|
||||||
|
|
||||||
enum class BitPos : uint32_t {
|
enum class BitPos : uint32_t { EN_TX_CLK_MANIPULATOR, INVERT_CLOCK };
|
||||||
EN_TX_CLK_MANIPULATOR,
|
|
||||||
INVERT_CLOCK
|
|
||||||
};
|
|
||||||
|
|
||||||
std::string axiUio;
|
std::string axiUio;
|
||||||
std::string uioMap;
|
std::string uioMap;
|
||||||
|
@ -30,8 +30,7 @@ ReturnValue_t PtmeConfig::invertTxClock(bool invert) {
|
|||||||
ReturnValue_t result = RETURN_OK;
|
ReturnValue_t result = RETURN_OK;
|
||||||
if (invert) {
|
if (invert) {
|
||||||
result = axiPtmeConfig->enableTxclockInversion();
|
result = axiPtmeConfig->enableTxclockInversion();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
result = axiPtmeConfig->disableTxclockInversion();
|
result = axiPtmeConfig->disableTxclockInversion();
|
||||||
}
|
}
|
||||||
if (result != RETURN_OK) {
|
if (result != RETURN_OK) {
|
||||||
@ -44,8 +43,7 @@ ReturnValue_t PtmeConfig::configTxManipulator(bool enable) {
|
|||||||
ReturnValue_t result = RETURN_OK;
|
ReturnValue_t result = RETURN_OK;
|
||||||
if (enable) {
|
if (enable) {
|
||||||
result = axiPtmeConfig->enableTxclockManipulator();
|
result = axiPtmeConfig->enableTxclockManipulator();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
result = axiPtmeConfig->disableTxclockManipulator();
|
result = axiPtmeConfig->disableTxclockManipulator();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#ifndef LINUX_OBC_PTMECONFIG_H_
|
#ifndef LINUX_OBC_PTMECONFIG_H_
|
||||||
#define LINUX_OBC_PTMECONFIG_H_
|
#define LINUX_OBC_PTMECONFIG_H_
|
||||||
|
|
||||||
|
#include "AxiPtmeConfig.h"
|
||||||
#include "fsfw/objectmanager/SystemObject.h"
|
#include "fsfw/objectmanager/SystemObject.h"
|
||||||
#include "fsfw/returnvalues/HasReturnvaluesIF.h"
|
#include "fsfw/returnvalues/HasReturnvaluesIF.h"
|
||||||
#include "linux/obc/PtmeConfig.h"
|
#include "linux/obc/PtmeConfig.h"
|
||||||
#include "AxiPtmeConfig.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Class to configure donwlink specific parameters in the PTME IP core.
|
* @brief Class to configure donwlink specific parameters in the PTME IP core.
|
||||||
@ -59,7 +59,8 @@ class PtmeConfig : public SystemObject, public HasReturnvaluesIF {
|
|||||||
static const ReturnValue_t RATE_NOT_SUPPORTED = MAKE_RETURN_CODE(0xA0);
|
static const ReturnValue_t RATE_NOT_SUPPORTED = MAKE_RETURN_CODE(0xA0);
|
||||||
//! [EXPORT] : [COMMENT] Bad bitrate has been commanded (e.g. 0)
|
//! [EXPORT] : [COMMENT] Bad bitrate has been commanded (e.g. 0)
|
||||||
static const ReturnValue_t BAD_BIT_RATE = MAKE_RETURN_CODE(0xA1);
|
static const ReturnValue_t BAD_BIT_RATE = MAKE_RETURN_CODE(0xA1);
|
||||||
//! [EXPORT] : [COMMENT] Failed to invert clock and thus change the time the data is updated with respect to the tx clock
|
//! [EXPORT] : [COMMENT] Failed to invert clock and thus change the time the data is updated with
|
||||||
|
//! respect to the tx clock
|
||||||
static const ReturnValue_t CLK_INVERSION_FAILED = MAKE_RETURN_CODE(0xA2);
|
static const ReturnValue_t CLK_INVERSION_FAILED = MAKE_RETURN_CODE(0xA2);
|
||||||
//! [EXPORT] : [COMMENT] Failed to change configuration bit of tx clock manipulator
|
//! [EXPORT] : [COMMENT] Failed to change configuration bit of tx clock manipulator
|
||||||
static const ReturnValue_t TX_MANIPULATOR_CONFIG_FAILED = MAKE_RETURN_CODE(0xA3);
|
static const ReturnValue_t TX_MANIPULATOR_CONFIG_FAILED = MAKE_RETURN_CODE(0xA3);
|
||||||
|
@ -51,8 +51,7 @@ class CCSDSHandler : public SystemObject,
|
|||||||
* @param enTxData GPIO ID of RS485 tx data enable
|
* @param enTxData GPIO ID of RS485 tx data enable
|
||||||
*/
|
*/
|
||||||
CCSDSHandler(object_id_t objectId, object_id_t ptmeId, object_id_t tcDestination,
|
CCSDSHandler(object_id_t objectId, object_id_t ptmeId, object_id_t tcDestination,
|
||||||
PtmeConfig* ptmeConfig, GpioIF* gpioIF, gpioId_t enTxClock,
|
PtmeConfig* ptmeConfig, GpioIF* gpioIF, gpioId_t enTxClock, gpioId_t enTxData);
|
||||||
gpioId_t enTxData);
|
|
||||||
|
|
||||||
~CCSDSHandler();
|
~CCSDSHandler();
|
||||||
|
|
||||||
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
|||||||
Subproject commit c50ef12729309f9851d91621e2f289d574735ab8
|
Subproject commit 2e326da175bb0e806b460507ddcf2977cd1a2372
|
Loading…
x
Reference in New Issue
Block a user