some more fixes for integration tests

This commit is contained in:
Robin Müller 2021-10-26 17:16:21 +02:00
parent 81bae85825
commit 5f8adc63b7
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814
5 changed files with 11 additions and 18 deletions

View File

@ -160,11 +160,11 @@ ReturnValue_t TestAssembly::initialize() {
handler1->setParentQueue(this->getCommandQueue()); handler1->setParentQueue(this->getCommandQueue());
result = registerChild(objects::TEST_DEVICE_HANDLER_0); result = registerChild(deviceHandler0Id);
if (result != HasReturnvaluesIF::RETURN_OK) { if (result != HasReturnvaluesIF::RETURN_OK) {
return result; return result;
} }
result = registerChild(objects::TEST_DEVICE_HANDLER_1); result = registerChild(deviceHandler1Id);
if (result != HasReturnvaluesIF::RETURN_OK) { if (result != HasReturnvaluesIF::RETURN_OK) {
return result; return result;
} }

View File

@ -5,10 +5,11 @@
#include <fsfw/objectmanager/ObjectManager.h> #include <fsfw/objectmanager/ObjectManager.h>
#include <fsfw/serviceinterface/ServiceInterface.h> #include <fsfw/serviceinterface/ServiceInterface.h>
TestController::TestController(object_id_t objectId, size_t commandQueueDepth): TestController::TestController(object_id_t objectId, object_id_t device0, object_id_t device1,
size_t commandQueueDepth):
ExtendedControllerBase(objectId, objects::NO_OBJECT, commandQueueDepth), ExtendedControllerBase(objectId, objects::NO_OBJECT, commandQueueDepth),
deviceDataset0(objects::TEST_DEVICE_HANDLER_0), deviceDataset0(device0),
deviceDataset1(objects::TEST_DEVICE_HANDLER_1) { deviceDataset1(device1) {
} }
TestController::~TestController() { TestController::~TestController() {
@ -163,7 +164,7 @@ ReturnValue_t TestController::initializeLocalDataPool(localpool::DataPool &local
ReturnValue_t TestController::initializeAfterTaskCreation() { ReturnValue_t TestController::initializeAfterTaskCreation() {
namespace td = testdevice; namespace td = testdevice;
HasLocalDataPoolIF* device0 = ObjectManager::instance()->get<HasLocalDataPoolIF>( HasLocalDataPoolIF* device0 = ObjectManager::instance()->get<HasLocalDataPoolIF>(
objects::TEST_DEVICE_HANDLER_0); deviceDataset0.getCreatorObjectId());
if(device0 == nullptr) { if(device0 == nullptr) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::warning << "TestController::initializeAfterTaskCreation: Test device handler 0 " sif::warning << "TestController::initializeAfterTaskCreation: Test device handler 0 "
@ -185,7 +186,7 @@ ReturnValue_t TestController::initializeAfterTaskCreation() {
HasLocalDataPoolIF* device1 = ObjectManager::instance()->get<HasLocalDataPoolIF>( HasLocalDataPoolIF* device1 = ObjectManager::instance()->get<HasLocalDataPoolIF>(
objects::TEST_DEVICE_HANDLER_1); deviceDataset0.getCreatorObjectId());
if(device1 == nullptr) { if(device1 == nullptr) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::warning << "TestController::initializeAfterTaskCreation: Test device handler 1 " sif::warning << "TestController::initializeAfterTaskCreation: Test device handler 1 "

View File

@ -8,7 +8,8 @@
class TestController: class TestController:
public ExtendedControllerBase { public ExtendedControllerBase {
public: public:
TestController(object_id_t objectId, size_t commandQueueDepth = 10); TestController(object_id_t objectId, object_id_t device0, object_id_t device1,
size_t commandQueueDepth = 10);
virtual~ TestController(); virtual~ TestController();
protected: protected:
testdevice::TestDataSet deviceDataset0; testdevice::TestDataSet deviceDataset0;

View File

@ -644,13 +644,7 @@ ReturnValue_t TestDevice::initializeLocalDataPool(localpool::DataPool &localData
localDataPoolMap.emplace(td::PoolIds::TEST_FLOAT_VEC_3_ID, localDataPoolMap.emplace(td::PoolIds::TEST_FLOAT_VEC_3_ID,
new PoolEntry<float>({0.0, 0.0, 0.0})); new PoolEntry<float>({0.0, 0.0, 0.0}));
sid_t sid; sid_t sid(this->getObjectId(), td::TEST_SET_ID);
if(deviceIdx == td::DeviceIndex::DEVICE_0) {
sid = td::TEST_SET_DEV_0_SID;
}
else {
sid = td::TEST_SET_DEV_1_SID;
}
/* Subscribe for periodic HK packets but do not enable reporting for now. /* Subscribe for periodic HK packets but do not enable reporting for now.
Non-diangostic with a period of one second */ Non-diangostic with a period of one second */
poolManager.subscribeForPeriodicPacket(sid, false, 1.0, false); poolManager.subscribeForPeriodicPacket(sid, false, 1.0, false);

View File

@ -3,7 +3,6 @@
#include <fsfw/datapoollocal/StaticLocalDataSet.h> #include <fsfw/datapoollocal/StaticLocalDataSet.h>
#include <fsfw/devicehandlers/DeviceHandlerIF.h> #include <fsfw/devicehandlers/DeviceHandlerIF.h>
#include <commonSystemObjects.h>
namespace testdevice { namespace testdevice {
@ -79,8 +78,6 @@ enum PoolIds: lp_id_t {
}; };
static constexpr uint8_t TEST_SET_ID = TEST_NORMAL_MODE_CMD; static constexpr uint8_t TEST_SET_ID = TEST_NORMAL_MODE_CMD;
static const sid_t TEST_SET_DEV_0_SID = sid_t(objects::TEST_DEVICE_HANDLER_0, TEST_SET_ID);
static const sid_t TEST_SET_DEV_1_SID = sid_t(objects::TEST_DEVICE_HANDLER_1, TEST_SET_ID);
class TestDataSet: public StaticLocalDataSet<3> { class TestDataSet: public StaticLocalDataSet<3> {
public: public: