fixes
This commit is contained in:
parent
45e5ea362d
commit
73971ad486
@ -79,11 +79,6 @@ class XscRebootObcAction : public TemplateAction<CoreController, XscRebootObcAct
|
|||||||
Parameter<Selection> copy = Parameter<Selection>::createParameter(this, "Copy");
|
Parameter<Selection> copy = Parameter<Selection>::createParameter(this, "Copy");
|
||||||
};
|
};
|
||||||
|
|
||||||
class MountOtherCopyAction : public TemplateAction<CoreController, MountOtherCopyAction, ActionId> {
|
|
||||||
public:
|
|
||||||
MountOtherCopyAction(CoreController *owner) : TemplateAction(owner, ActionId::MOUNT_OTHER_COPY){};
|
|
||||||
};
|
|
||||||
|
|
||||||
class RebootObcAction : public TemplateAction<CoreController, RebootObcAction, ActionId> {
|
class RebootObcAction : public TemplateAction<CoreController, RebootObcAction, ActionId> {
|
||||||
public:
|
public:
|
||||||
RebootObcAction(CoreController *owner) : TemplateAction(owner, ActionId::REBOOT_OBC){};
|
RebootObcAction(CoreController *owner) : TemplateAction(owner, ActionId::REBOOT_OBC){};
|
||||||
|
@ -169,7 +169,7 @@ ReturnValue_t CoreController::handleAction(core::SwitchRebootFileHandlingAction
|
|||||||
std::string path = sdcMan->getCurrentMountPrefix() + REBOOT_FILE;
|
std::string path = sdcMan->getCurrentMountPrefix() + REBOOT_FILE;
|
||||||
// Disable the reboot file mechanism
|
// Disable the reboot file mechanism
|
||||||
parseRebootFile(path, rebootFile);
|
parseRebootFile(path, rebootFile);
|
||||||
if (action->enableRebootFile == core::Boolenum::NO) {
|
if (action->enableRebootFile.value == core::Boolenum::NO) {
|
||||||
rebootFile.enabled = false;
|
rebootFile.enabled = false;
|
||||||
rewriteRebootFile(rebootFile);
|
rewriteRebootFile(rebootFile);
|
||||||
} else {
|
} else {
|
||||||
@ -181,7 +181,7 @@ ReturnValue_t CoreController::handleAction(core::SwitchRebootFileHandlingAction
|
|||||||
|
|
||||||
ReturnValue_t CoreController::handleAction(core::ResetRebootCountersAction *action) {
|
ReturnValue_t CoreController::handleAction(core::ResetRebootCountersAction *action) {
|
||||||
xsc::Chip chip = xsc::NO_CHIP;
|
xsc::Chip chip = xsc::NO_CHIP;
|
||||||
switch (action->chip) {
|
switch (action->chip.value) {
|
||||||
case core::ResetRebootCountersAction::Selection::ALL:
|
case core::ResetRebootCountersAction::Selection::ALL:
|
||||||
chip = xsc::ALL_CHIP;
|
chip = xsc::ALL_CHIP;
|
||||||
break;
|
break;
|
||||||
@ -193,7 +193,7 @@ ReturnValue_t CoreController::handleAction(core::ResetRebootCountersAction *acti
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
xsc::Copy copy = xsc::NO_COPY;
|
xsc::Copy copy = xsc::NO_COPY;
|
||||||
switch (action->copy) {
|
switch (action->copy.value) {
|
||||||
case core::ResetRebootCountersAction::Selection::ALL:
|
case core::ResetRebootCountersAction::Selection::ALL:
|
||||||
copy = xsc::ALL_COPY;
|
copy = xsc::ALL_COPY;
|
||||||
break;
|
break;
|
||||||
@ -210,13 +210,13 @@ ReturnValue_t CoreController::handleAction(core::ResetRebootCountersAction *acti
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t CoreController::handleAction(core::SwitchImageLockAction *action) {
|
ReturnValue_t CoreController::handleAction(core::SwitchImageLockAction *action) {
|
||||||
bool lock = action->lock == core::Boolenum::YES;
|
bool lock = action->lock.value == core::Boolenum::YES;
|
||||||
xsc::Chip chip = xsc::CHIP_0;
|
xsc::Chip chip = xsc::CHIP_0;
|
||||||
if (action->chip == core::SwitchImageLockAction::Selection::ONE) {
|
if (action->chip.value == core::SwitchImageLockAction::Selection::ONE) {
|
||||||
chip = xsc::CHIP_1;
|
chip = xsc::CHIP_1;
|
||||||
}
|
}
|
||||||
xsc::Copy copy = xsc::COPY_0;
|
xsc::Copy copy = xsc::COPY_0;
|
||||||
if (action->copy == core::SwitchImageLockAction::Selection::ONE) {
|
if (action->copy.value == core::SwitchImageLockAction::Selection::ONE) {
|
||||||
copy = xsc::COPY_0;
|
copy = xsc::COPY_0;
|
||||||
}
|
}
|
||||||
setRebootMechanismLock(lock, chip, copy);
|
setRebootMechanismLock(lock, chip, copy);
|
||||||
@ -855,13 +855,13 @@ void CoreController::initPrint() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t CoreController::handleAction(core::XscRebootObcAction *action) {
|
ReturnValue_t CoreController::handleAction(core::XscRebootObcAction *action) {
|
||||||
if (action->chip == core::XscRebootObcAction::Selection::SAME and
|
if (action->chip.value == core::XscRebootObcAction::Selection::SAME and
|
||||||
not(action->copy == core::XscRebootObcAction::Selection::SAME)) {
|
not(action->copy.value == core::XscRebootObcAction::Selection::SAME)) {
|
||||||
return HasActionsIF::INVALID_PARAMETERS;
|
return HasActionsIF::INVALID_PARAMETERS;
|
||||||
}
|
}
|
||||||
bool rebootSameBootCopy = false;
|
bool rebootSameBootCopy = false;
|
||||||
if (action->chip == core::XscRebootObcAction::Selection::SAME and
|
if (action->chip.value == core::XscRebootObcAction::Selection::SAME and
|
||||||
action->copy == core::XscRebootObcAction::Selection::SAME) {
|
action->copy.value == core::XscRebootObcAction::Selection::SAME) {
|
||||||
rebootSameBootCopy = true;
|
rebootSameBootCopy = true;
|
||||||
}
|
}
|
||||||
bool protOpPerformed = false;
|
bool protOpPerformed = false;
|
||||||
@ -888,11 +888,11 @@ ReturnValue_t CoreController::handleAction(core::XscRebootObcAction *action) {
|
|||||||
generateChipStateFile();
|
generateChipStateFile();
|
||||||
// If any boot copies are unprotected, protect them here
|
// If any boot copies are unprotected, protect them here
|
||||||
auto tgtChip = xsc::CHIP_0;
|
auto tgtChip = xsc::CHIP_0;
|
||||||
if (action->chip == core::XscRebootObcAction::Selection::ONE) {
|
if (action->chip.value == core::XscRebootObcAction::Selection::ONE) {
|
||||||
tgtChip = xsc::CHIP_1;
|
tgtChip = xsc::CHIP_1;
|
||||||
}
|
}
|
||||||
auto tgtCopy = xsc::COPY_0;
|
auto tgtCopy = xsc::COPY_0;
|
||||||
if (action->copy == core::XscRebootObcAction::Selection::ONE) {
|
if (action->copy.value == core::XscRebootObcAction::Selection::ONE) {
|
||||||
tgtCopy = xsc::COPY_1;
|
tgtCopy = xsc::COPY_1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,6 @@ class CoreController : public ExtendedControllerBase {
|
|||||||
ReturnValue_t handleAction(core::SwitchImageLockAction* action);
|
ReturnValue_t handleAction(core::SwitchImageLockAction* action);
|
||||||
ReturnValue_t handleAction(core::SetMaxRebootCntAction* action);
|
ReturnValue_t handleAction(core::SetMaxRebootCntAction* action);
|
||||||
ReturnValue_t handleAction(core::XscRebootObcAction* action);
|
ReturnValue_t handleAction(core::XscRebootObcAction* action);
|
||||||
ReturnValue_t handleAction(core::MountOtherCopyAction* action);
|
|
||||||
ReturnValue_t handleAction(core::RebootObcAction* action);
|
ReturnValue_t handleAction(core::RebootObcAction* action);
|
||||||
|
|
||||||
ReturnValue_t handleCommandMessage(CommandMessage* message) override;
|
ReturnValue_t handleCommandMessage(CommandMessage* message) override;
|
||||||
@ -194,6 +193,16 @@ class CoreController : public ExtendedControllerBase {
|
|||||||
|
|
||||||
core::HkSet hkSet;
|
core::HkSet hkSet;
|
||||||
|
|
||||||
|
core::ListDirectoryIntoFileAction listDirectoryIntoFileAction =
|
||||||
|
core::ListDirectoryIntoFileAction(this);
|
||||||
|
core::SwitchRebootFileHandlingAction switchRebootFileHandlingAction =
|
||||||
|
core::SwitchRebootFileHandlingAction(this);
|
||||||
|
core::ResetRebootCountersAction resetRebootCountersAction = core::ResetRebootCountersAction(this);
|
||||||
|
core::SwitchImageLockAction switchImageLockAction = core::SwitchImageLockAction(this);
|
||||||
|
core::SetMaxRebootCntAction setMaxRebootCntAction = core::SetMaxRebootCntAction(this);
|
||||||
|
core::XscRebootObcAction xscRebootObcAction = core::XscRebootObcAction(this);
|
||||||
|
core::RebootObcAction rebootObcAction = core::RebootObcAction(this);
|
||||||
|
|
||||||
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
||||||
LocalDataPoolManager& poolManager) override;
|
LocalDataPoolManager& poolManager) override;
|
||||||
Countdown sdCardCheckCd = Countdown(120000);
|
Countdown sdCardCheckCd = Countdown(120000);
|
||||||
|
@ -225,6 +225,9 @@ class PdecHandler : public SystemObject,
|
|||||||
|
|
||||||
enum class State : uint8_t { INIT, RUNNING, WAIT_FOR_RECOVERY };
|
enum class State : uint8_t { INIT, RUNNING, WAIT_FOR_RECOVERY };
|
||||||
|
|
||||||
|
PdecPrintClcwAction pdecPrintClcwAction = PdecPrintClcwAction(this);
|
||||||
|
PdecPrintMonAction pdecPrintMonAction = PdecPrintMonAction(this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Reads and handles messages stored in the commandQueue
|
* @brief Reads and handles messages stored in the commandQueue
|
||||||
*/
|
*/
|
||||||
|
@ -108,7 +108,7 @@ ReturnValue_t HeaterHandler::executeAction(Action* action) { return action->hand
|
|||||||
|
|
||||||
ReturnValue_t HeaterHandler::handleAction(SetHeaterAction* heaterAction) {
|
ReturnValue_t HeaterHandler::handleAction(SetHeaterAction* heaterAction) {
|
||||||
auto& heater = heaterVec.at(heaterAction->switchNr);
|
auto& heater = heaterVec.at(heaterAction->switchNr);
|
||||||
auto action = heaterAction->switchAction;
|
auto action = heaterAction->switchAction.value;
|
||||||
// Always accepts OFF commands
|
// Always accepts OFF commands
|
||||||
if (action == SetHeaterAction::SwitchAction::SET_SWITCH_ON) {
|
if (action == SetHeaterAction::SwitchAction::SET_SWITCH_ON) {
|
||||||
HasHealthIF::HealthState health = heater.healthDevice->getHealth();
|
HasHealthIF::HealthState health = heater.healthDevice->getHealth();
|
||||||
@ -116,7 +116,7 @@ ReturnValue_t HeaterHandler::handleAction(SetHeaterAction* heaterAction) {
|
|||||||
health == HasHealthIF::NEEDS_RECOVERY) {
|
health == HasHealthIF::NEEDS_RECOVERY) {
|
||||||
return HasHealthIF::OBJECT_NOT_HEALTHY;
|
return HasHealthIF::OBJECT_NOT_HEALTHY;
|
||||||
}
|
}
|
||||||
auto cmdSource = heaterAction->cmdSource;
|
auto cmdSource = heaterAction->cmdSource.value;
|
||||||
if (health == HasHealthIF::EXTERNAL_CONTROL and
|
if (health == HasHealthIF::EXTERNAL_CONTROL and
|
||||||
cmdSource == SetHeaterAction::CmdSourceParam::INTERNAL) {
|
cmdSource == SetHeaterAction::CmdSourceParam::INTERNAL) {
|
||||||
return HasHealthIF::IS_EXTERNALLY_CONTROLLED;
|
return HasHealthIF::IS_EXTERNALLY_CONTROLLED;
|
||||||
|
@ -142,6 +142,8 @@ class HeaterHandler : public ExecutableObjectIF,
|
|||||||
|
|
||||||
StorageManagerIF* ipcStore = nullptr;
|
StorageManagerIF* ipcStore = nullptr;
|
||||||
|
|
||||||
|
SetHeaterAction heaterAction = SetHeaterAction(this);
|
||||||
|
|
||||||
void readCommandQueue();
|
void readCommandQueue();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -143,6 +143,17 @@ class CCSDSHandler : public SystemObject,
|
|||||||
|
|
||||||
bool linkState = DOWN;
|
bool linkState = DOWN;
|
||||||
|
|
||||||
|
// instances of the actions
|
||||||
|
SetLowRateAction setLowRateAction = SetLowRateAction(this);
|
||||||
|
SetHighRateAction setHighRateAction = SetHighRateAction(this);
|
||||||
|
EnTransmitterAction enTransmitterAction = EnTransmitterAction(this);
|
||||||
|
DisableTransmitterAction disableTransmitterAction = DisableTransmitterAction(this);
|
||||||
|
ArbitraryRateAction arbitraryRateAction = ArbitraryRateAction(this);
|
||||||
|
EnableTxClkManipulatorAction enableTxClkManipulatorAction = EnableTxClkManipulatorAction(this);
|
||||||
|
DisableTxClkManipulatorAction disableTxClkManipulatorAction = DisableTxClkManipulatorAction(this);
|
||||||
|
UpdateOnRisingEdgeAction updateOnRisingEdgeAction = UpdateOnRisingEdgeAction(this);
|
||||||
|
UpdateOnFallingEdgeAction updateOnFallingEdgeAction = UpdateOnFallingEdgeAction(this);
|
||||||
|
|
||||||
void readCommandQueue(void);
|
void readCommandQueue(void);
|
||||||
void handleTelemetry();
|
void handleTelemetry();
|
||||||
void handleTelecommands();
|
void handleTelecommands();
|
||||||
|
Loading…
Reference in New Issue
Block a user