Merge branch 'develop' into acs-flp-safe
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit

This commit is contained in:
2023-03-23 17:05:30 +01:00
5 changed files with 16 additions and 7 deletions

View File

@ -3,6 +3,7 @@
#include <fsfw/subsystem/helper.h>
#include <linux/ipcore/PtmeConfig.h>
#include <mission/config/comCfg.h>
#include <unistd.h>
#include "eive/definitions.h"
#include "fsfw/ipc/QueueFactory.h"
@ -38,7 +39,7 @@ ReturnValue_t CcsdsIpCoreHandler::performOperation(uint8_t operationCode) {
}
ReturnValue_t CcsdsIpCoreHandler::initialize() {
ReturnValue_t result = returnvalue::OK;
AcceptsTelecommandsIF* tcDistributor =
ObjectManager::instance()->get<AcceptsTelecommandsIF>(tcDestination);
if (tcDistributor == nullptr) {
@ -50,7 +51,7 @@ ReturnValue_t CcsdsIpCoreHandler::initialize() {
tcDistributorQueueId = tcDistributor->getRequestQueue();
result = parameterHelper.initialize();
ReturnValue_t result = parameterHelper.initialize();
if (result != returnvalue::OK) {
return result;
}
@ -70,6 +71,7 @@ ReturnValue_t CcsdsIpCoreHandler::initialize() {
return ObjectManagerIF::CHILD_INIT_FAILED;
}
// This also pulls the PTME out of reset state.
if (batPriorityParam == 0) {
disablePrioritySelectMode();
} else {
@ -266,7 +268,6 @@ void CcsdsIpCoreHandler::startTransition(Mode_t mode, Submode_t submode) {
void CcsdsIpCoreHandler::announceMode(bool recursive) { triggerEvent(MODE_INFO, mode, submode); }
void CcsdsIpCoreHandler::disableTransmit() {
ptmeConfig.enableBatPriorityBit(false);
#ifndef TE0720_1CFA
gpioIF->pullLow(ptmeGpios.enableTxClock);
gpioIF->pullLow(ptmeGpios.enableTxData);
@ -296,6 +297,7 @@ void CcsdsIpCoreHandler::enablePrioritySelectMode() {
ptmeConfig.enableBatPriorityBit(true);
// Reset the PTME
gpioIF->pullLow(ptmeGpios.ptmeResetn);
usleep(10);
gpioIF->pullHigh(ptmeGpios.ptmeResetn);
}
@ -303,6 +305,7 @@ void CcsdsIpCoreHandler::disablePrioritySelectMode() {
ptmeConfig.enableBatPriorityBit(false);
// Reset the PTME
gpioIF->pullLow(ptmeGpios.ptmeResetn);
usleep(10);
gpioIF->pullHigh(ptmeGpios.ptmeResetn);
}