add parameter command to change the transmitter timeout
This commit is contained in:
parent
1ad30f33a5
commit
c0f936b757
@ -24,7 +24,7 @@ enum class CcsdsSubmode : uint8_t {
|
||||
DATARATE_HIGH = 2,
|
||||
DATARATE_DEFAULT = 3
|
||||
};
|
||||
enum class ParameterId : uint8_t { DATARATE = 0 };
|
||||
enum class ParameterId : uint8_t { DATARATE = 0, TRANSMITTER_TIMEOUT = 1 };
|
||||
|
||||
} // namespace com
|
||||
|
||||
|
@ -47,6 +47,16 @@ ReturnValue_t ComSubsystem::getParameter(uint8_t domainId, uint8_t uniqueIdentif
|
||||
com::setCurrentDatarate(static_cast<com::Datarate>(newVal));
|
||||
return returnvalue::OK;
|
||||
}
|
||||
else if ((domainId == 0) and (uniqueIdentifier == static_cast<uint8_t>(com::ParameterId::TRANSMITTER_TIMEOUT))) {
|
||||
uint8_t newVal = 0;
|
||||
ReturnValue_t result = newValues->getElement(&newVal);
|
||||
if (result != returnvalue::OK) {
|
||||
return result;
|
||||
}
|
||||
parameterWrapper->set(transmitterTimeout);
|
||||
transmitterTimeout = newVal;
|
||||
return returnvalue::OK;
|
||||
}
|
||||
return returnvalue::OK;
|
||||
}
|
||||
|
||||
|
@ -47,16 +47,15 @@ class ComSubsystem : public Subsystem, public ReceivesParameterMessagesIF {
|
||||
void startRxAndTxDefaultSeq();
|
||||
|
||||
uint8_t datarateCfg = static_cast<uint8_t>(com::Datarate::LOW_RATE_MODULATION_BPSK);
|
||||
// Maximum time after which the transmitter will be turned of. This is a
|
||||
// protection mechanism due prevent the syrlinks from overheating
|
||||
uint32_t transmitterTimeout = 0;
|
||||
ParameterHelper paramHelper;
|
||||
|
||||
MessageQueueIF* eventQueue = nullptr;
|
||||
|
||||
bool enableTxWhenCarrierLock = false;
|
||||
|
||||
// Maximum time after which the transmitter will be turned of. This is a
|
||||
// protection mechanism due prevent the syrlinks from overheating
|
||||
uint32_t transmitterTimeout = 0;
|
||||
|
||||
// Countdown will be started as soon as the transmitter was enabled
|
||||
Countdown transmitterCountdown;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user