Merge remote-tracking branch 'origin/develop' into pdec_possible_fixes_and_fdir
This commit is contained in:
commit
c9f16b223a
12
CHANGELOG.md
12
CHANGELOG.md
@ -28,6 +28,18 @@ change warranting a new major release:
|
|||||||
an event is triggered and the task is delayed for 400 ms.
|
an event is triggered and the task is delayed for 400 ms.
|
||||||
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/393
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/393
|
||||||
|
|
||||||
|
# [v1.29.1]
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- Limit number of handled messages for core TM handlers:
|
||||||
|
- https://egit.irs.uni-stuttgart.de/eive/eive-obsw/issues/391
|
||||||
|
- https://egit.irs.uni-stuttgart.de/eive/eive-obsw/issues/390
|
||||||
|
- https://egit.irs.uni-stuttgart.de/eive/eive-obsw/issues/389
|
||||||
|
- HeaterHandler better handling for faulty message reception
|
||||||
|
Issue: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/issues/388
|
||||||
|
- Disable stopwatch in MAX31865 polling task
|
||||||
|
|
||||||
# [v1.29.0]
|
# [v1.29.0]
|
||||||
|
|
||||||
eive-tmtc: v2.13.0
|
eive-tmtc: v2.13.0
|
||||||
|
@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13)
|
|||||||
|
|
||||||
set(OBSW_VERSION_MAJOR 1)
|
set(OBSW_VERSION_MAJOR 1)
|
||||||
set(OBSW_VERSION_MINOR 29)
|
set(OBSW_VERSION_MINOR 29)
|
||||||
set(OBSW_VERSION_REVISION 0)
|
set(OBSW_VERSION_REVISION 1)
|
||||||
|
|
||||||
# set(CMAKE_VERBOSE TRUE)
|
# set(CMAKE_VERBOSE TRUE)
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ ReturnValue_t Max31865RtdPolling::performOperation(uint8_t operationCode) {
|
|||||||
using namespace MAX31865;
|
using namespace MAX31865;
|
||||||
ReturnValue_t result = returnvalue::OK;
|
ReturnValue_t result = returnvalue::OK;
|
||||||
static_cast<void>(result);
|
static_cast<void>(result);
|
||||||
Stopwatch watch;
|
// Stopwatch watch;
|
||||||
if (periodicInitHandling()) {
|
if (periodicInitHandling()) {
|
||||||
#if OBSW_RTD_AUTO_MODE == 0
|
#if OBSW_RTD_AUTO_MODE == 0
|
||||||
// 10 ms delay for VBIAS startup
|
// 10 ms delay for VBIAS startup
|
||||||
|
@ -108,6 +108,7 @@ void HeaterHandler::readCommandQueue() {
|
|||||||
break;
|
break;
|
||||||
} else if (result != returnvalue::OK) {
|
} else if (result != returnvalue::OK) {
|
||||||
sif::warning << "HeaterHandler::readCommandQueue: Message reception error" << std::endl;
|
sif::warning << "HeaterHandler::readCommandQueue: Message reception error" << std::endl;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
result = actionHelper.handleActionMessage(&command);
|
result = actionHelper.handleActionMessage(&command);
|
||||||
if (result == returnvalue::OK) {
|
if (result == returnvalue::OK) {
|
||||||
|
@ -12,6 +12,7 @@ const char* CfdpTmFunnel::getName() const { return "CFDP TM Funnel"; }
|
|||||||
|
|
||||||
ReturnValue_t CfdpTmFunnel::performOperation(uint8_t) {
|
ReturnValue_t CfdpTmFunnel::performOperation(uint8_t) {
|
||||||
TmTcMessage currentMessage;
|
TmTcMessage currentMessage;
|
||||||
|
unsigned int count = 0;
|
||||||
ReturnValue_t status = tmQueue->receiveMessage(¤tMessage);
|
ReturnValue_t status = tmQueue->receiveMessage(¤tMessage);
|
||||||
while (status == returnvalue::OK) {
|
while (status == returnvalue::OK) {
|
||||||
status = handlePacket(currentMessage);
|
status = handlePacket(currentMessage);
|
||||||
@ -19,6 +20,11 @@ ReturnValue_t CfdpTmFunnel::performOperation(uint8_t) {
|
|||||||
sif::warning << "CfdpTmFunnel packet handling failed" << std::endl;
|
sif::warning << "CfdpTmFunnel packet handling failed" << std::endl;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
count++;
|
||||||
|
if(count == 500) {
|
||||||
|
sif::error << "CfdpTmFunnel: Possible message storm detected" << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
status = tmQueue->receiveMessage(¤tMessage);
|
status = tmQueue->receiveMessage(¤tMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ PusTmFunnel::~PusTmFunnel() = default;
|
|||||||
|
|
||||||
ReturnValue_t PusTmFunnel::performOperation(uint8_t) {
|
ReturnValue_t PusTmFunnel::performOperation(uint8_t) {
|
||||||
TmTcMessage currentMessage;
|
TmTcMessage currentMessage;
|
||||||
|
unsigned int count = 0;
|
||||||
ReturnValue_t status = tmQueue->receiveMessage(¤tMessage);
|
ReturnValue_t status = tmQueue->receiveMessage(¤tMessage);
|
||||||
while (status == returnvalue::OK) {
|
while (status == returnvalue::OK) {
|
||||||
status = handlePacket(currentMessage);
|
status = handlePacket(currentMessage);
|
||||||
@ -19,6 +20,11 @@ ReturnValue_t PusTmFunnel::performOperation(uint8_t) {
|
|||||||
sif::warning << "TmFunnel packet handling failed" << std::endl;
|
sif::warning << "TmFunnel packet handling failed" << std::endl;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
count++;
|
||||||
|
if(count == 500) {
|
||||||
|
sif::error << "PusTmFunnel: Possible message storm detected" << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
status = tmQueue->receiveMessage(¤tMessage);
|
status = tmQueue->receiveMessage(¤tMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ ReturnValue_t VirtualChannel::performOperation() {
|
|||||||
ReturnValue_t result = returnvalue::OK;
|
ReturnValue_t result = returnvalue::OK;
|
||||||
TmTcMessage message;
|
TmTcMessage message;
|
||||||
|
|
||||||
|
unsigned int count = 0;
|
||||||
while (tmQueue->receiveMessage(&message) == returnvalue::OK) {
|
while (tmQueue->receiveMessage(&message) == returnvalue::OK) {
|
||||||
store_address_t storeId = message.getStorageId();
|
store_address_t storeId = message.getStorageId();
|
||||||
const uint8_t* data = nullptr;
|
const uint8_t* data = nullptr;
|
||||||
@ -43,12 +44,16 @@ ReturnValue_t VirtualChannel::performOperation() {
|
|||||||
if (linkIsUp) {
|
if (linkIsUp) {
|
||||||
result = ptme->writeToVc(vcId, data, size);
|
result = ptme->writeToVc(vcId, data, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
tmStore->deleteData(storeId);
|
tmStore->deleteData(storeId);
|
||||||
|
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
if(count == 500) {
|
||||||
|
sif::error << "VirtualChannel: Possible message storm detected" << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user