commanding of HeaterHandler and GpioIF working

This commit is contained in:
2021-02-01 11:17:20 +01:00
parent 560e538f62
commit fd1e4f3473
20 changed files with 474 additions and 264 deletions

View File

@ -9,6 +9,7 @@
#include <fsfw/objectmanager/SystemObject.h>
#include <fsfw/tasks/ExecutableObjectIF.h>
#include <fsfw/objectmanager/SystemObject.h>
#include <fsfwconfig/devices/powerSwitcherList.h>
/**
* @brief The PCDUHandler provides a compact interface to handle all devices related to the
@ -43,12 +44,16 @@ public:
LocalDataPoolManager& poolManager) override;
virtual uint32_t getPeriodicOperationFrequency() const override;
virtual ReturnValue_t initializeAfterTaskCreation() override;
virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;
virtual void setTaskIF(PeriodicTaskIF* task_);
private:
uint32_t pstIntervalMs = 0;
/** Housekeeping manager. Handles updates of local pool variables. */
LocalDataPoolManager poolManager;
/**
* The dataset holding the hk table of PDU2. This dataset is a copy of the PDU2 HK dataset
* of the PDU2Handler. Each time the PDU2Handler updates his HK dataset, a copy is sent
@ -58,6 +63,7 @@ private:
/** The timeStamp of the current pdu2HkTableDataset */
CCSDSTime::CDS_short timeStamp;
uint8_t switchStates[pcduSwitches::NUMBER_OF_SWITCHES];
/**
* Pointer to the IPCStore.
* This caches the pointer received from the objectManager in the constructor.
@ -72,12 +78,27 @@ private:
size_t cmdQueueSize;
/** Housekeeping manager. Handles updates of local pool variables. */
LocalDataPoolManager poolManager;
PeriodicTaskIF* executingTask = nullptr;
void readCommandQueue();
/**
* @brief This function sets all switchStates to the initial switch configuration of the
* two PDUs after reboot.
*/
void initializeSwitchStates();
/**
* @brief Updates all switchStates related to the PDU2.
* Function is called each time a new hk dataset has been received from the PDU2Handler.
*/
void updatePdu2SwitchStates();
/**
* @brief Updates all switchStates related to the PDU1. Called each time the PDU1Handler
* sends a new hk dataset.
*/
void updatePdu1SwitchStates();
};
#endif /* MISSION_DEVICES_PCDUHANDLER_H_ */