fsfw/src/fsfw/power/DummyPowerSwitcher.cpp

50 lines
1.5 KiB
C++
Raw Normal View History

2022-03-28 12:48:15 +02:00
#include "DummyPowerSwitcher.h"
2023-03-13 13:29:16 +01:00
#include <utility>
DummyPowerSwitcher::DummyPowerSwitcher(object_id_t objectId, size_t numberOfSwitches,
2022-04-01 18:38:25 +02:00
size_t numberOfFuses, bool registerGlobally,
uint32_t switchDelayMs)
: SystemObject(objectId, registerGlobally),
switcherList(numberOfSwitches),
fuseList(numberOfFuses),
switchDelayMs(switchDelayMs) {}
2022-03-28 12:48:15 +02:00
void DummyPowerSwitcher::setInitialSwitcherList(std::vector<ReturnValue_t> switcherList) {
2023-03-13 13:29:16 +01:00
this->switcherList = std::move(switcherList);
2022-03-28 12:48:15 +02:00
}
void DummyPowerSwitcher::setInitialFusesList(std::vector<ReturnValue_t> fuseList) {
2023-03-13 13:29:16 +01:00
this->fuseList = std::move(fuseList);
2022-03-28 12:48:15 +02:00
}
ReturnValue_t DummyPowerSwitcher::sendSwitchCommand(power::Switch_t switchNr, ReturnValue_t onOff) {
if (switchNr < switcherList.size()) {
2022-03-28 12:48:15 +02:00
switcherList[switchNr] = onOff;
}
2022-08-16 01:08:26 +02:00
return returnvalue::FAILED;
2022-03-28 12:48:15 +02:00
}
ReturnValue_t DummyPowerSwitcher::sendFuseOnCommand(uint8_t fuseNr) {
if (fuseNr < fuseList.size()) {
2022-03-28 12:48:15 +02:00
fuseList[fuseNr] = FUSE_ON;
}
2022-08-16 01:08:26 +02:00
return returnvalue::FAILED;
2022-03-28 12:48:15 +02:00
}
ReturnValue_t DummyPowerSwitcher::getSwitchState(power::Switch_t switchNr) const {
if (switchNr < switcherList.size()) {
2022-03-28 12:48:15 +02:00
return switcherList[switchNr];
}
2022-08-16 01:08:26 +02:00
return returnvalue::FAILED;
2022-03-28 12:48:15 +02:00
}
2022-03-28 12:59:03 +02:00
ReturnValue_t DummyPowerSwitcher::getFuseState(uint8_t fuseNr) const {
if (fuseNr < fuseList.size()) {
2022-03-28 12:59:03 +02:00
return fuseList[fuseNr];
}
2022-08-16 01:08:26 +02:00
return returnvalue::FAILED;
2022-03-28 12:59:03 +02:00
}
2022-03-28 12:48:15 +02:00
2022-03-28 12:59:03 +02:00
uint32_t DummyPowerSwitcher::getSwitchDelayMs(void) const { return switchDelayMs; }