PL PCDU Update Mode Handling #200

Merged
meierj merged 26 commits from mueller/pl-pcdu-update-mode-handling into develop 2022-04-07 11:12:07 +02:00
6 changed files with 18 additions and 13 deletions
Showing only changes of commit d80ef280dd - Show all commits

2
fsfw

@ -1 +1 @@
Subproject commit e6130263ef144c5b1f6eafef734a0150a92d6cda Subproject commit 3ea9f999b746963efad591517e80ccd904cb051f

View File

@ -134,7 +134,7 @@ ReturnValue_t HeaterHandler::executeAction(ActionId_t actionId, MessageQueueId_t
return result; return result;
} }
void HeaterHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const { ReturnValue_t HeaterHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) {
ReturnValue_t result; ReturnValue_t result;
store_address_t storeAddress; store_address_t storeAddress;
uint8_t commandData[2]; uint8_t commandData[2];
@ -338,7 +338,9 @@ gpioId_t HeaterHandler::getGpioIdFromSwitchNr(int switchNr) {
MessageQueueId_t HeaterHandler::getCommandQueue() const { return commandQueue->getId(); } MessageQueueId_t HeaterHandler::getCommandQueue() const { return commandQueue->getId(); }
void HeaterHandler::sendFuseOnCommand(uint8_t fuseNr) const {} ReturnValue_t HeaterHandler::sendFuseOnCommand(uint8_t fuseNr) {
return RETURN_OK;
}
ReturnValue_t HeaterHandler::getSwitchState(uint8_t switchNr) const { return 0; } ReturnValue_t HeaterHandler::getSwitchState(uint8_t switchNr) const { return 0; }

View File

@ -43,8 +43,8 @@ class HeaterHandler : public ExecutableObjectIF,
virtual ReturnValue_t performOperation(uint8_t operationCode = 0) override; virtual ReturnValue_t performOperation(uint8_t operationCode = 0) override;
virtual void sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const override; virtual ReturnValue_t sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) override;
virtual void sendFuseOnCommand(uint8_t fuseNr) const override; virtual ReturnValue_t sendFuseOnCommand(uint8_t fuseNr) override;
/** /**
* @brief This function will be called from the Heater object to check * @brief This function will be called from the Heater object to check
* the current switch state. * the current switch state.

View File

@ -205,7 +205,7 @@ void PCDUHandler::updatePdu1SwitchStates() {
LocalDataPoolManager* PCDUHandler::getHkManagerHandle() { return &poolManager; } LocalDataPoolManager* PCDUHandler::getHkManagerHandle() { return &poolManager; }
void PCDUHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const { ReturnValue_t PCDUHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) {
using namespace pcduSwitches; using namespace pcduSwitches;
ReturnValue_t result; ReturnValue_t result;
uint16_t memoryAddress = 0; uint16_t memoryAddress = 0;
@ -261,7 +261,7 @@ void PCDUHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const
} }
// This is a dangerous command. Reject/Igore it for now // This is a dangerous command. Reject/Igore it for now
case pcduSwitches::PDU2_CH0_Q7S: { case pcduSwitches::PDU2_CH0_Q7S: {
return; return RETURN_FAILED;
// memoryAddress = PDU2::CONFIG_ADDRESS_OUT_EN_Q7S; // memoryAddress = PDU2::CONFIG_ADDRESS_OUT_EN_Q7S;
// pdu = ObjectManager::instance()->get<GomspaceDeviceHandler>(objects::PDU2_HANDLER); // pdu = ObjectManager::instance()->get<GomspaceDeviceHandler>(objects::PDU2_HANDLER);
// break; // break;
@ -309,7 +309,7 @@ void PCDUHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const
default: { default: {
sif::error << "PCDUHandler::sendSwitchCommand: Invalid switch number " << std::endl; sif::error << "PCDUHandler::sendSwitchCommand: Invalid switch number " << std::endl;
return; return RETURN_FAILED;
} }
} }
@ -322,7 +322,7 @@ void PCDUHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const
break; break;
default: default:
sif::error << "PCDUHandler::sendSwitchCommand: Invalid state commanded" << std::endl; sif::error << "PCDUHandler::sendSwitchCommand: Invalid state commanded" << std::endl;
return; return RETURN_FAILED;
} }
GomspaceSetParamMessage setParamMessage(memoryAddress, &parameterValue, parameterValueSize); GomspaceSetParamMessage setParamMessage(memoryAddress, &parameterValue, parameterValueSize);
@ -347,9 +347,12 @@ void PCDUHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const
// Can't use trigger event because of const function constraint, but this hack seems to work // Can't use trigger event because of const function constraint, but this hack seems to work
this->forwardEvent(power::SWITCH_CMD_SENT, parameterValue, switchNr); this->forwardEvent(power::SWITCH_CMD_SENT, parameterValue, switchNr);
} }
return RETURN_OK;
} }
void PCDUHandler::sendFuseOnCommand(uint8_t fuseNr) const {} ReturnValue_t PCDUHandler::sendFuseOnCommand(uint8_t fuseNr) {
return RETURN_OK;
}
ReturnValue_t PCDUHandler::getSwitchState(uint8_t switchNr) const { ReturnValue_t PCDUHandler::getSwitchState(uint8_t switchNr) const {
if (switchNr >= pcduSwitches::NUMBER_OF_SWITCHES) { if (switchNr >= pcduSwitches::NUMBER_OF_SWITCHES) {

View File

@ -33,8 +33,8 @@ class PCDUHandler : public PowerSwitchIF,
store_address_t storeId = storeId::INVALID_STORE_ADDRESS, store_address_t storeId = storeId::INVALID_STORE_ADDRESS,
bool* clearMessage = nullptr) override; bool* clearMessage = nullptr) override;
virtual void sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) const override; virtual ReturnValue_t sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) override;
virtual void sendFuseOnCommand(uint8_t fuseNr) const override; virtual ReturnValue_t sendFuseOnCommand(uint8_t fuseNr) override;
virtual ReturnValue_t getSwitchState(uint8_t switchNr) const override; virtual ReturnValue_t getSwitchState(uint8_t switchNr) const override;
virtual ReturnValue_t getFuseState(uint8_t fuseNr) const override; virtual ReturnValue_t getFuseState(uint8_t fuseNr) const override;
virtual uint32_t getSwitchDelayMs(void) const override; virtual uint32_t getSwitchDelayMs(void) const override;

2
tmtc

@ -1 +1 @@
Subproject commit 43a534db9cf8ee14e6c1296dac8b3e2c3c94b240 Subproject commit e37430423e814b9e05f25d63970f2c2b5048cfb1