fixed PCDU memory leak

This commit is contained in:
Jakob Meier 2021-02-08 14:12:36 +01:00
parent f4249e82e3
commit d602912364
6 changed files with 20 additions and 17 deletions

2
fsfw

@ -1 +1 @@
Subproject commit 7d0916a44e18c87b00998448333023186b3d85b1 Subproject commit e994d81e1862fade52b090311b3978fb59061966

View File

@ -15,7 +15,7 @@
#define TE0720 0 #define TE0720 0
#define PDU2_DEBUG 0 #define PDU2_DEBUG 0
#define PDU1_DEBUG 1 #define PDU1_DEBUG 0
#include "OBSWVersion.h" #include "OBSWVersion.h"

View File

@ -14,7 +14,6 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
DeviceHandlerIF::PERFORM_OPERATION); DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0, thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0,
DeviceHandlerIF::PERFORM_OPERATION); DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::PCDU_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::HEATER_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION); thisSequence->addSlot(objects::HEATER_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0.2, DeviceHandlerIF::SEND_WRITE); thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0.2, DeviceHandlerIF::SEND_WRITE);
@ -42,6 +41,9 @@ ReturnValue_t pst::gomspacePstInit(FixedTimeslotTaskIF *thisSequence){
uint32_t length = thisSequence->getPeriodMs(); uint32_t length = thisSequence->getPeriodMs();
thisSequence->addSlot(objects::PCDU_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::PCDU_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::P60DOCK_HANDLER, thisSequence->addSlot(objects::P60DOCK_HANDLER,
length * 0, DeviceHandlerIF::PERFORM_OPERATION); length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::PDU1_HANDLER, thisSequence->addSlot(objects::PDU1_HANDLER,

View File

@ -49,7 +49,8 @@ void ObjectFactory::produceGenericObjects() {
{ {
PoolManager::LocalPoolConfig poolCfg = { PoolManager::LocalPoolConfig poolCfg = {
{100, 16}, {50, 32}, {25, 64}, {15, 128}, {5, 1024} { 100, 16 }, { 100, 32 }, { 100, 64 },
{ 100, 128 }, { 50, 256 }, { 50, 512 }, { 50, 1024 }, { 10, 2048 }
}; };
new PoolManager(objects::IPC_STORE, poolCfg); new PoolManager(objects::IPC_STORE, poolCfg);
} }

View File

@ -4,7 +4,7 @@
GomspaceDeviceHandler::GomspaceDeviceHandler(object_id_t objectId, object_id_t comIF, GomspaceDeviceHandler::GomspaceDeviceHandler(object_id_t objectId, object_id_t comIF,
CookieIF * comCookie, uint16_t maxConfigTableAddress, uint16_t maxHkTableAddress, CookieIF * comCookie, uint16_t maxConfigTableAddress, uint16_t maxHkTableAddress,
uint16_t hkTableReplySize, LocalPoolDataSetBase* hkTableDataset) : uint16_t hkTableReplySize, LocalPoolDataSetBase* hkTableDataset) :
DeviceHandlerBase(objectId, comIF, comCookie, nullptr, 60), maxConfigTableAddress(maxConfigTableAddress), DeviceHandlerBase(objectId, comIF, comCookie), maxConfigTableAddress(maxConfigTableAddress),
maxHkTableAddress(maxHkTableAddress), hkTableReplySize(hkTableReplySize), hkTableDataset(hkTableDataset) { maxHkTableAddress(maxHkTableAddress), hkTableReplySize(hkTableReplySize), hkTableDataset(hkTableDataset) {
mode = MODE_NORMAL; mode = MODE_NORMAL;
if (comCookie == NULL) { if (comCookie == NULL) {

View File

@ -55,18 +55,18 @@ ReturnValue_t PCDUHandler::initialize() {
} }
/* Subscribing for housekeeping table update messages of the PDU1 */ /* Subscribing for housekeeping table update messages of the PDU1 */
// HasLocalDataPoolIF* pdu1Handler = objectManager->get<HasLocalDataPoolIF>(objects::PDU1_HANDLER); HasLocalDataPoolIF* pdu1Handler = objectManager->get<HasLocalDataPoolIF>(objects::PDU1_HANDLER);
// if(pdu1Handler == nullptr) { if(pdu1Handler == nullptr) {
// sif::error << "PCDUHandler::initialize: Invalid pdu1Handler" << std::endl; sif::error << "PCDUHandler::initialize: Invalid pdu1Handler" << std::endl;
// return RETURN_FAILED; return RETURN_FAILED;
// } }
// result = pdu1Handler->getSubscriptionInterface()->subscribeForSetUpdateMessages( result = pdu1Handler->getSubscriptionInterface()->subscribeForSetUpdateMessages(
// PDU1::HK_TABLE_DATA_SET_ID, this->getObjectId(), commandQueue->getId(), true); PDU1::HK_TABLE_DATA_SET_ID, this->getObjectId(), commandQueue->getId(), true);
// if (result != RETURN_OK) { if (result != RETURN_OK) {
// sif::error << "PCDUHandler::initialize: Failed to subscribe for set update messages from " sif::error << "PCDUHandler::initialize: Failed to subscribe for set update messages from "
// << "PDU1Handler" << std::endl; << "PDU1Handler" << std::endl;
// return result; return result;
// } }
return RETURN_OK; return RETURN_OK;
} }