squashed EIVE software
This commit is contained in:
1 parent
eced94f335
commit
996aa72fb4
823 files changed
+115952
-2
No files matched your search
@@ -0,0 +1,66 @@
|
||||
#include <dummies/SusDummy.h>
|
||||
#include <fsfw/ipc/QueueFactory.h>
|
||||
#include <fsfw/power/DummyPowerSwitcher.h>
|
||||
#include <fsfw/tasks/PeriodicTaskIF.h>
|
||||
#include <fsfw/tasks/TaskFactory.h>
|
||||
#include <mission/controller/ThermalController.h>
|
||||
#include <mission/system/objects/CamSwitcher.h>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "../testEnvironment.h"
|
||||
#include "dummies/TemperatureSensorInserter.h"
|
||||
#include "mission/genericFactory.h"
|
||||
#include "test/gpio/DummyGpioIF.h"
|
||||
|
||||
TEST_CASE("Thermal Controller", "[ThermalController]") {
|
||||
const object_id_t THERMAL_CONTROLLER_ID = 0x123;
|
||||
std::atomic_bool tcsBrdShortlyUnavailable = false;
|
||||
|
||||
TemperatureSensorInserter::Max31865DummyMap map0;
|
||||
TemperatureSensorInserter::Tmp1075DummyMap map1;
|
||||
new TemperatureSensorInserter(objects::THERMAL_TEMP_INSERTER, map0, map1);
|
||||
auto dummyGpioIF = new DummyGpioIF();
|
||||
auto* dummySwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0);
|
||||
new CamSwitcher(objects::CAM_SWITCHER, *dummySwitcher, power::Switches::PDU2_CH8_PAYLOAD_CAMERA);
|
||||
// TODO: Create dummy heater handler
|
||||
HeaterHandler* heaterHandler = nullptr;
|
||||
// new ThermalController(objects::THERMAL_CONTROLLER);
|
||||
ObjectFactory::createGenericHeaterComponents(*dummyGpioIF, *dummySwitcher, heaterHandler);
|
||||
|
||||
// testEnvironment::initialize();
|
||||
|
||||
ThermalController controller(THERMAL_CONTROLLER_ID, *heaterHandler, tcsBrdShortlyUnavailable,
|
||||
true);
|
||||
ReturnValue_t result = controller.initialize();
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
|
||||
PeriodicTaskIF* thermalTask = TaskFactory::instance()->createPeriodicTask(
|
||||
"THERMAL_CTL_TASK", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr);
|
||||
result = thermalTask->addComponent(THERMAL_CONTROLLER_ID);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
|
||||
REQUIRE(controller.initializeAfterTaskCreation() == returnvalue::OK);
|
||||
|
||||
testEnvironment::eventManager->clearEventList();
|
||||
|
||||
MessageQueueId_t controllerQueue = controller.getCommandQueue();
|
||||
|
||||
CommandMessage modeMessage;
|
||||
|
||||
ModeMessage::setModeMessage(&modeMessage, ModeMessage::CMD_MODE_COMMAND, HasModesIF::MODE_ON,
|
||||
HasModesIF::SUBMODE_NONE);
|
||||
|
||||
MessageQueueIF* commandQueue =
|
||||
QueueFactory::instance()->createMessageQueue(5, MessageQueueMessage::MAX_MESSAGE_SIZE);
|
||||
|
||||
commandQueue->sendMessage(controllerQueue, &modeMessage);
|
||||
|
||||
REQUIRE(controller.performOperation(0) == returnvalue::OK);
|
||||
|
||||
REQUIRE(testEnvironment::eventManager->isEventInEventList(
|
||||
THERMAL_CONTROLLER_ID, HasModesIF::MODE_INFO, HasModesIF::MODE_ON,
|
||||
HasModesIF::SUBMODE_NONE) == true);
|
||||
|
||||
QueueFactory::instance()->deleteMessageQueue(commandQueue);
|
||||
}
|
||||
Reference in new issue
Block a user