now the print command works
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
This commit is contained in:
parent
87495fd3af
commit
63c7903f9b
@ -99,6 +99,7 @@ void GomspaceDeviceHandler::fillCommandAndReplyMap(){
|
|||||||
this->insertInCommandAndReplyMap(GOMSPACE::PARAM_GET, 3);
|
this->insertInCommandAndReplyMap(GOMSPACE::PARAM_GET, 3);
|
||||||
this->insertInCommandAndReplyMap(GOMSPACE::REQUEST_HK_TABLE, 3);
|
this->insertInCommandAndReplyMap(GOMSPACE::REQUEST_HK_TABLE, 3);
|
||||||
this->insertInCommandMap(GOMSPACE::GNDWDT_RESET);
|
this->insertInCommandMap(GOMSPACE::GNDWDT_RESET);
|
||||||
|
this->insertInCommandMap(GOMSPACE::PRINT_OUT_ENB_STATUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t GomspaceDeviceHandler::scanForReply(const uint8_t *start,
|
ReturnValue_t GomspaceDeviceHandler::scanForReply(const uint8_t *start,
|
||||||
|
@ -1,20 +1,22 @@
|
|||||||
|
#include "OBSWConfig.h"
|
||||||
#include "PDU2Handler.h"
|
#include "PDU2Handler.h"
|
||||||
|
|
||||||
#include <mission/devices/devicedefinitions/GomSpacePackets.h>
|
#include <mission/devices/devicedefinitions/GomSpacePackets.h>
|
||||||
#include <OBSWConfig.h>
|
#include <fsfw/datapool/PoolReadGuard.h>
|
||||||
|
|
||||||
PDU2Handler::PDU2Handler(object_id_t objectId, object_id_t comIF, CookieIF * comCookie) :
|
PDU2Handler::PDU2Handler(object_id_t objectId, object_id_t comIF, CookieIF * comCookie) :
|
||||||
GomspaceDeviceHandler(objectId, comIF, comCookie, PDU::MAX_CONFIGTABLE_ADDRESS,
|
GomspaceDeviceHandler(objectId, comIF, comCookie, PDU::MAX_CONFIGTABLE_ADDRESS,
|
||||||
PDU::MAX_HKTABLE_ADDRESS, PDU::HK_TABLE_REPLY_SIZE, &pdu2HkTableDataset), pdu2HkTableDataset(
|
PDU::MAX_HKTABLE_ADDRESS, PDU::HK_TABLE_REPLY_SIZE, &pdu2HkTableDataset),
|
||||||
this) {
|
pdu2HkTableDataset(this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
PDU2Handler::~PDU2Handler() {
|
PDU2Handler::~PDU2Handler() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t PDU2Handler::buildNormalDeviceCommand(
|
ReturnValue_t PDU2Handler::buildNormalDeviceCommand(
|
||||||
DeviceCommandId_t * id) {
|
DeviceCommandId_t * id) {
|
||||||
*id = GOMSPACE::REQUEST_HK_TABLE;
|
*id = GOMSPACE::REQUEST_HK_TABLE;
|
||||||
return buildCommandFromCommand(*id, NULL, 0);
|
return buildCommandFromCommand(*id, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDU2Handler::letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *packet) {
|
void PDU2Handler::letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *packet) {
|
||||||
@ -34,23 +36,7 @@ void PDU2Handler::letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *pac
|
|||||||
sif::info << "PDU2 VBAT: " << vbat << std::endl;
|
sif::info << "PDU2 VBAT: " << vbat << std::endl;
|
||||||
float temperatureC = pdu2HkTableDataset.temperature.value * 0.1;
|
float temperatureC = pdu2HkTableDataset.temperature.value * 0.1;
|
||||||
sif::info << "PDU2 Temperature: " << temperatureC << " °C" << std::endl;
|
sif::info << "PDU2 Temperature: " << temperatureC << " °C" << std::endl;
|
||||||
sif::info << "PDU2 Q7S enable state: " << unsigned(pdu2HkTableDataset.outEnabledQ7S.value) << std::endl;
|
printOutputSwitchStates();
|
||||||
sif::info << "PDU2 Payload PCDU channel 1 enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledPlPCDUCh1.value) << std::endl;
|
|
||||||
sif::info << "PDU2 reaction wheels enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledReactionWheels.value) << std::endl;
|
|
||||||
sif::info << "PDU2 TCS Board 8V heater input enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledTCSBoardHeaterIn.value) << std::endl;
|
|
||||||
sif::info << "PDU2 redundant SUS group enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledSUSRedundant.value) << std::endl;
|
|
||||||
sif::info << "PDU2 deployment mechanism enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledDeplMechanism.value) << std::endl;
|
|
||||||
sif::info << "PDU2 PCDU channel 6 enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledPlPCDUCh6.value) << std::endl;
|
|
||||||
sif::info << "PDU2 ACS board side B enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledAcsBoardSideB.value) << std::endl;
|
|
||||||
sif::info << "PDU2 payload camera enable state: "
|
|
||||||
<< unsigned(pdu2HkTableDataset.outEnabledPayloadCamera.value) << std::endl;
|
|
||||||
sif::info << "PDU2 uptime: " << pdu2HkTableDataset.uptime << " seconds" << std::endl;
|
sif::info << "PDU2 uptime: " << pdu2HkTableDataset.uptime << " seconds" << std::endl;
|
||||||
sif::info << "PDU2 battery mode: " << unsigned(pdu2HkTableDataset.battMode.value) << std::endl;
|
sif::info << "PDU2 battery mode: " << unsigned(pdu2HkTableDataset.battMode.value) << std::endl;
|
||||||
sif::info << "PDU2 ground watchdog reboots: " << pdu2HkTableDataset.gndWdtReboots << std::endl;
|
sif::info << "PDU2 ground watchdog reboots: " << pdu2HkTableDataset.gndWdtReboots << std::endl;
|
||||||
@ -323,3 +309,42 @@ ReturnValue_t PDU2Handler::initializeLocalDataPool(
|
|||||||
|
|
||||||
return HasReturnvaluesIF::RETURN_OK;
|
return HasReturnvaluesIF::RETURN_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ReturnValue_t PDU2Handler::printStatus(DeviceCommandId_t cmd) {
|
||||||
|
switch(cmd) {
|
||||||
|
case(GOMSPACE::PRINT_OUT_ENB_STATUS): {
|
||||||
|
PoolReadGuard pg(&pdu2HkTableDataset);
|
||||||
|
ReturnValue_t readResult = pg.getReadResult();
|
||||||
|
if(readResult != HasReturnvaluesIF::RETURN_OK) {
|
||||||
|
sif::warning << "Reading PDU2 HK table failed!" << std::endl;
|
||||||
|
return HasReturnvaluesIF::RETURN_FAILED;
|
||||||
|
}
|
||||||
|
printOutputSwitchStates();
|
||||||
|
return HasReturnvaluesIF::RETURN_OK;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
return HasReturnvaluesIF::RETURN_FAILED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PDU2Handler::printOutputSwitchStates() {
|
||||||
|
sif::info << "PDU2 Q7S enable state: " <<
|
||||||
|
unsigned(pdu2HkTableDataset.outEnabledQ7S.value) << std::endl;
|
||||||
|
sif::info << "PDU2 Payload PCDU channel 1 enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledPlPCDUCh1.value) << std::endl;
|
||||||
|
sif::info << "PDU2 reaction wheels enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledReactionWheels.value) << std::endl;
|
||||||
|
sif::info << "PDU2 TCS Board 8V heater input enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledTCSBoardHeaterIn.value) << std::endl;
|
||||||
|
sif::info << "PDU2 redundant SUS group enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledSUSRedundant.value) << std::endl;
|
||||||
|
sif::info << "PDU2 deployment mechanism enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledDeplMechanism.value) << std::endl;
|
||||||
|
sif::info << "PDU2 PCDU channel 6 enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledPlPCDUCh6.value) << std::endl;
|
||||||
|
sif::info << "PDU2 ACS board side B enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledAcsBoardSideB.value) << std::endl;
|
||||||
|
sif::info << "PDU2 payload camera enable state: "
|
||||||
|
<< unsigned(pdu2HkTableDataset.outEnabledPayloadCamera.value) << std::endl;
|
||||||
|
}
|
||||||
|
@ -20,25 +20,27 @@
|
|||||||
*/
|
*/
|
||||||
class PDU2Handler: public GomspaceDeviceHandler {
|
class PDU2Handler: public GomspaceDeviceHandler {
|
||||||
public:
|
public:
|
||||||
PDU2Handler(object_id_t objectId, object_id_t comIF, CookieIF * comCookie);
|
PDU2Handler(object_id_t objectId, object_id_t comIF, CookieIF * comCookie);
|
||||||
virtual ~PDU2Handler();
|
virtual ~PDU2Handler();
|
||||||
|
|
||||||
virtual ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
virtual ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
||||||
LocalDataPoolManager& poolManager) override;
|
LocalDataPoolManager& poolManager) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* @brief As soon as the device is in MODE_NORMAL, this function is executed periodically.
|
* @brief As soon as the device is in MODE_NORMAL, this function is executed periodically.
|
||||||
*/
|
*/
|
||||||
virtual ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t * id) override;
|
virtual ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t * id) override;
|
||||||
virtual void letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *packet) override;
|
virtual void letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *packet) override;
|
||||||
|
ReturnValue_t printStatus(DeviceCommandId_t cmd) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
/** Dataset for the housekeeping table of the PDU2 */
|
/** Dataset for the housekeeping table of the PDU2 */
|
||||||
PDU2::PDU2HkTableDataset pdu2HkTableDataset;
|
PDU2::PDU2HkTableDataset pdu2HkTableDataset;
|
||||||
|
|
||||||
void parseHkTableReply(const uint8_t *packet);
|
void printOutputSwitchStates();
|
||||||
|
void parseHkTableReply(const uint8_t *packet);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* MISSION_DEVICES_PDU2HANDLER_H_ */
|
#endif /* MISSION_DEVICES_PDU2HANDLER_H_ */
|
||||||
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
|||||||
Subproject commit b1e89d40467b269774ac8c707c122a7524c90f39
|
Subproject commit d84c6a7e70e68f28dcfb21ccfdaae6a0300eab40
|
Loading…
x
Reference in New Issue
Block a user