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,39 @@
|
||||
#ifndef MISSION_SYSTEM_OBJECTS_STACK5VHANDLER_H_
|
||||
#define MISSION_SYSTEM_OBJECTS_STACK5VHANDLER_H_
|
||||
|
||||
#include <fsfw/power/PowerSwitchIF.h>
|
||||
#include <mission/power/gsDefs.h>
|
||||
|
||||
enum class StackCommander { RAD_SENSOR = 0, PL_PCDU = 1 };
|
||||
enum class HandlerState { SWITCH_PENDING, IDLE };
|
||||
|
||||
class Stack5VHandler {
|
||||
public:
|
||||
//! [EXPORT] : [SKIP]
|
||||
static constexpr ReturnValue_t BUSY = returnvalue::makeCode(1, 0);
|
||||
Stack5VHandler(PowerSwitchIF& switcher);
|
||||
|
||||
ReturnValue_t deviceToOn(StackCommander commander, bool updateStates);
|
||||
ReturnValue_t deviceToOff(StackCommander commander, bool updateStates);
|
||||
|
||||
bool isSwitchOn();
|
||||
void update();
|
||||
|
||||
private:
|
||||
static constexpr MutexIF::TimeoutType LOCK_TYPE = MutexIF::TimeoutType::WAITING;
|
||||
static constexpr uint32_t LOCK_TIMEOUT = 20;
|
||||
|
||||
MutexIF* stackLock;
|
||||
static constexpr char LOCK_CTX[] = "Stack5VHandler";
|
||||
PowerSwitchIF& switcher;
|
||||
bool switchIsOn = false;
|
||||
bool targetState = false;
|
||||
HandlerState handlerState = HandlerState::IDLE;
|
||||
bool radSensorIsOn = false;
|
||||
bool plPcduIsOn = false;
|
||||
power::Switches stackSwitch = power::Switches::P60_DOCK_5V_STACK;
|
||||
|
||||
bool updateInternalStates();
|
||||
};
|
||||
|
||||
#endif /* MISSION_SYSTEM_OBJECTS_STACK5VHANDLER_H_ */
|
||||
Reference in new issue
Block a user