cam switcher mode change soc check
This commit is contained in:
parent
b66b202373
commit
8847ed611d
@ -1,6 +1,6 @@
|
|||||||
#include "CamSwitcher.h"
|
#include "CamSwitcher.h"
|
||||||
|
|
||||||
CamSwitcher::CamSwitcher(object_id_t objectId, PowerSwitchIF &pwrSwitcher,
|
CamSwitcher::CamSwitcher(object_id_t objectId, PowerSwitchIF& pwrSwitcher,
|
||||||
power::Switch_t pwrSwitch)
|
power::Switch_t pwrSwitch)
|
||||||
: PowerSwitcherComponent(objectId, &pwrSwitcher, pwrSwitch) {}
|
: PowerSwitcherComponent(objectId, &pwrSwitcher, pwrSwitch) {}
|
||||||
void CamSwitcher::performFaultyOperation() {
|
void CamSwitcher::performFaultyOperation() {
|
||||||
@ -8,3 +8,17 @@ void CamSwitcher::performFaultyOperation() {
|
|||||||
switcher.turnOff();
|
switcher.turnOff();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ReturnValue_t CamSwitcher::checkModeCommand(Mode_t commandedMode, Submode_t commandedSubmode,
|
||||||
|
uint32_t* msToReachTheMode) {
|
||||||
|
if (commandedMode != MODE_OFF) {
|
||||||
|
PoolReadGuard pg(&enablePl);
|
||||||
|
if (pg.getReadResult() == returnvalue::OK) {
|
||||||
|
if (enablePl.plUseAllowed.isValid() and not enablePl.plUseAllowed.value) {
|
||||||
|
return TRANS_NOT_ALLOWED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return PowerSwitcherComponent::checkModeCommand(commandedMode, commandedSubmode,
|
||||||
|
msToReachTheMode);
|
||||||
|
}
|
||||||
|
@ -1,13 +1,19 @@
|
|||||||
#ifndef MISSION_SYSTEM_OBJECTS_CAMSWITCHER_H_
|
#ifndef MISSION_SYSTEM_OBJECTS_CAMSWITCHER_H_
|
||||||
#define MISSION_SYSTEM_OBJECTS_CAMSWITCHER_H_
|
#define MISSION_SYSTEM_OBJECTS_CAMSWITCHER_H_
|
||||||
|
|
||||||
|
#include <common/config/eive/objects.h>
|
||||||
#include <fsfw/power/PowerSwitcherComponent.h>
|
#include <fsfw/power/PowerSwitcherComponent.h>
|
||||||
|
#include <mission/controller/controllerdefinitions/PowerCtrlDefinitions.h>
|
||||||
|
|
||||||
class CamSwitcher : public PowerSwitcherComponent {
|
class CamSwitcher : public PowerSwitcherComponent {
|
||||||
public:
|
public:
|
||||||
CamSwitcher(object_id_t objectId, PowerSwitchIF &pwrSwitcher, power::Switch_t pwrSwitch);
|
CamSwitcher(object_id_t objectId, PowerSwitchIF& pwrSwitcher, power::Switch_t pwrSwitch);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
pwrctrl::EnablePl enablePl = pwrctrl::EnablePl(objects::POWER_CONTROLLER);
|
||||||
|
ReturnValue_t checkModeCommand(Mode_t commandedMode, Submode_t commandedSubmode,
|
||||||
|
uint32_t* msToReachTheMode) override;
|
||||||
|
|
||||||
void performFaultyOperation() override;
|
void performFaultyOperation() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user