remove non-working commands
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
This commit is contained in:
parent
27e46615b6
commit
fd5cc19231
@ -1248,6 +1248,8 @@ class ExecutionReport : public VerificationReport {
|
||||
public:
|
||||
ExecutionReport(TmBase& readerBase) : VerificationReport(readerBase) {}
|
||||
|
||||
TmBase& getReader() { return readerBase; }
|
||||
|
||||
ReturnValue_t parse() override {
|
||||
if (readerBase.getServiceId() != static_cast<uint8_t>(tm::TmtcId::EXEC_ACK) and
|
||||
readerBase.getServiceId() != static_cast<uint8_t>(tm::TmtcId::EXEC_NAK)) {
|
||||
|
@ -443,55 +443,39 @@ ReturnValue_t PlocSupervisorHandler::buildCommandFromCommand(DeviceCommandId_t d
|
||||
}
|
||||
|
||||
void PlocSupervisorHandler::fillCommandAndReplyMap() {
|
||||
// Command only
|
||||
insertInCommandMap(GET_HK_REPORT);
|
||||
insertInCommandMap(START_MPSOC);
|
||||
insertInCommandMap(SHUTDOWN_MPSOC);
|
||||
this->insertInCommandMap(SEL_MPSOC_BOOT_IMAGE);
|
||||
this->insertInCommandMap(SET_BOOT_TIMEOUT);
|
||||
this->insertInCommandMap(SET_MAX_RESTART_TRIES);
|
||||
this->insertInCommandMap(RESET_MPSOC);
|
||||
this->insertInCommandMap(SET_TIME_REF);
|
||||
this->insertInCommandMap(DISABLE_PERIOIC_HK_TRANSMISSION);
|
||||
this->insertInCommandMap(GET_BOOT_STATUS_REPORT);
|
||||
this->insertInCommandMap(ENABLE_LATCHUP_ALERT);
|
||||
this->insertInCommandMap(DISABLE_LATCHUP_ALERT);
|
||||
this->insertInCommandMap(SET_ALERT_LIMIT);
|
||||
this->insertInCommandMap(SET_ADC_ENABLED_CHANNELS);
|
||||
this->insertInCommandMap(SET_ADC_WINDOW_AND_STRIDE);
|
||||
this->insertInCommandMap(SET_ADC_THRESHOLD);
|
||||
this->insertInCommandMap(GET_LATCHUP_STATUS_REPORT);
|
||||
this->insertInCommandMap(COPY_ADC_DATA_TO_MRAM);
|
||||
this->insertInCommandMap(REQUEST_ADC_REPORT);
|
||||
this->insertInCommandMap(RUN_AUTO_EM_TESTS);
|
||||
this->insertInCommandMap(WIPE_MRAM);
|
||||
this->insertInCommandMap(SET_GPIO);
|
||||
this->insertInCommandMap(READ_GPIO);
|
||||
this->insertInCommandMap(RESTART_SUPERVISOR);
|
||||
this->insertInCommandMap(FACTORY_RESET_CLEAR_ALL);
|
||||
this->insertInCommandMap(FACTORY_RESET_CLEAR_MIRROR);
|
||||
this->insertInCommandMap(FACTORY_RESET_CLEAR_CIRCULAR);
|
||||
this->insertInCommandMap(START_MPSOC_QUIET);
|
||||
this->insertInCommandMap(SET_SHUTDOWN_TIMEOUT);
|
||||
this->insertInCommandMap(FACTORY_FLASH);
|
||||
this->insertInCommandMap(ENABLE_AUTO_TM);
|
||||
this->insertInCommandMap(DISABLE_AUTO_TM);
|
||||
this->insertInCommandMap(LOGGING_REQUEST_COUNTERS);
|
||||
this->insertInCommandMap(LOGGING_CLEAR_COUNTERS);
|
||||
this->insertInCommandMap(LOGGING_SET_TOPIC);
|
||||
this->insertInCommandMap(RESET_PL);
|
||||
this->insertInCommandMap(ENABLE_NVMS);
|
||||
this->insertInCommandAndReplyMap(FIRST_MRAM_DUMP, 0, nullptr, 0, false, false, FIRST_MRAM_DUMP,
|
||||
&mramDumpTimeout);
|
||||
this->insertInCommandAndReplyMap(CONSECUTIVE_MRAM_DUMP, 0, nullptr, 0, false, false,
|
||||
CONSECUTIVE_MRAM_DUMP, &mramDumpTimeout);
|
||||
this->insertInReplyMap(ACK_REPORT, 3, nullptr, SIZE_ACK_REPORT, false,
|
||||
insertInCommandMap(SEL_MPSOC_BOOT_IMAGE);
|
||||
insertInCommandMap(SET_BOOT_TIMEOUT);
|
||||
insertInCommandMap(SET_MAX_RESTART_TRIES);
|
||||
insertInCommandMap(RESET_MPSOC);
|
||||
insertInCommandMap(SET_TIME_REF);
|
||||
insertInCommandMap(DISABLE_PERIOIC_HK_TRANSMISSION);
|
||||
insertInCommandMap(GET_BOOT_STATUS_REPORT);
|
||||
insertInCommandMap(ENABLE_LATCHUP_ALERT);
|
||||
insertInCommandMap(DISABLE_LATCHUP_ALERT);
|
||||
insertInCommandMap(SET_ALERT_LIMIT);
|
||||
insertInCommandMap(GET_LATCHUP_STATUS_REPORT);
|
||||
insertInCommandMap(RUN_AUTO_EM_TESTS);
|
||||
insertInCommandMap(SET_GPIO);
|
||||
insertInCommandMap(READ_GPIO);
|
||||
insertInCommandMap(SET_SHUTDOWN_TIMEOUT);
|
||||
insertInCommandMap(FACTORY_FLASH);
|
||||
insertInCommandMap(RESET_PL);
|
||||
|
||||
// ACK replies, use countdown for them
|
||||
insertInReplyMap(ACK_REPORT, 0, nullptr, SIZE_ACK_REPORT, false,
|
||||
&acknowledgementReportTimeout);
|
||||
this->insertInReplyMap(EXE_REPORT, 0, nullptr, SIZE_EXE_REPORT, false, &executionReportTimeout);
|
||||
this->insertInReplyMap(HK_REPORT, 3, &hkset, SIZE_HK_REPORT);
|
||||
this->insertInReplyMap(BOOT_STATUS_REPORT, 3, &bootStatusReport, SIZE_BOOT_STATUS_REPORT);
|
||||
this->insertInReplyMap(LATCHUP_REPORT, 3, &latchupStatusReport, SIZE_LATCHUP_STATUS_REPORT);
|
||||
this->insertInReplyMap(LOGGING_REPORT, 3, &loggingReport, SIZE_LOGGING_REPORT);
|
||||
this->insertInReplyMap(ADC_REPORT, 3, &adcReport, SIZE_ADC_REPORT);
|
||||
insertInReplyMap(EXE_REPORT, 0, nullptr, SIZE_EXE_REPORT, false, &executionReportTimeout);
|
||||
|
||||
// TM replies
|
||||
insertInReplyMap(HK_REPORT, 3, &hkset, SIZE_HK_REPORT);
|
||||
insertInReplyMap(BOOT_STATUS_REPORT, 3, &bootStatusReport, SIZE_BOOT_STATUS_REPORT);
|
||||
insertInReplyMap(LATCHUP_REPORT, 3, &latchupStatusReport, SIZE_LATCHUP_STATUS_REPORT);
|
||||
insertInReplyMap(LOGGING_REPORT, 3, &loggingReport, SIZE_LOGGING_REPORT);
|
||||
insertInReplyMap(ADC_REPORT, 3, &adcReport, SIZE_ADC_REPORT);
|
||||
}
|
||||
|
||||
ReturnValue_t PlocSupervisorHandler::enableReplyInReplyMap(DeviceCommandMap::iterator command,
|
||||
@ -723,18 +707,10 @@ ReturnValue_t PlocSupervisorHandler::interpretDeviceReply(DeviceCommandId_t id,
|
||||
result = handleLatchupStatusReport(packet);
|
||||
break;
|
||||
}
|
||||
// case (LOGGING_REPORT): {
|
||||
// result = handleLoggingReport(packet);
|
||||
// break;
|
||||
// }
|
||||
case (ADC_REPORT): {
|
||||
result = handleAdcReport(packet);
|
||||
break;
|
||||
}
|
||||
case (FIRST_MRAM_DUMP):
|
||||
case (CONSECUTIVE_MRAM_DUMP):
|
||||
result = handleMramDumpPacket(id);
|
||||
break;
|
||||
case (EXE_REPORT): {
|
||||
result = handleExecutionReport(packet);
|
||||
break;
|
||||
@ -749,22 +725,6 @@ ReturnValue_t PlocSupervisorHandler::interpretDeviceReply(DeviceCommandId_t id,
|
||||
return result;
|
||||
}
|
||||
|
||||
ReturnValue_t PlocSupervisorHandler::getSwitches(const uint8_t** switches,
|
||||
uint8_t* numberOfSwitches) {
|
||||
if (powerSwitch == power::NO_SWITCH) {
|
||||
return DeviceHandlerBase::NO_SWITCH;
|
||||
}
|
||||
*numberOfSwitches = 1;
|
||||
*switches = &powerSwitch;
|
||||
return returnvalue::OK;
|
||||
}
|
||||
|
||||
void PlocSupervisorHandler::setNormalDatapoolEntriesInvalid() {}
|
||||
|
||||
uint32_t PlocSupervisorHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
|
||||
return 7000;
|
||||
}
|
||||
|
||||
ReturnValue_t PlocSupervisorHandler::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
||||
LocalDataPoolManager& poolManager) {
|
||||
localDataPoolMap.emplace(supv::NUM_TMS, new PoolEntry<uint32_t>({0}));
|
||||
@ -975,40 +935,6 @@ ReturnValue_t PlocSupervisorHandler::handleExecutionReport(const uint8_t* data)
|
||||
}
|
||||
nextReplyId = supv::NONE;
|
||||
return result;
|
||||
// TODO: Fix
|
||||
// ExecutionReport exe(data, SIZE_EXE_REPORT);
|
||||
// result = exe.checkSize();
|
||||
// if (result != returnvalue::OK) {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// result = exe.checkCrc();
|
||||
// if (result != returnvalue::OK) {
|
||||
// sif::error << "PlocSupervisorHandler::handleExecutionReport: CRC failure" << std::endl;
|
||||
// nextReplyId = supv::NONE;
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// result = exe.checkApid();
|
||||
//
|
||||
// switch (result) {
|
||||
// case (returnvalue::OK): {
|
||||
// handleExecutionSuccessReport(data);
|
||||
// break;
|
||||
// }
|
||||
// case (SupvReturnValuesIF::RECEIVED_EXE_FAILURE): {
|
||||
// handleExecutionFailureReport(exe.getStatusCode());
|
||||
// result = returnvalue::OK;
|
||||
// break;
|
||||
// }
|
||||
// default: {
|
||||
// sif::error << "PlocSupervisorHandler::handleExecutionReport: Unknown APID" << std::endl;
|
||||
// result = returnvalue::FAILED;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// nextReplyId = supv::NONE;
|
||||
return result;
|
||||
}
|
||||
|
||||
ReturnValue_t PlocSupervisorHandler::handleHkReport(const uint8_t* data) {
|
||||
@ -2096,38 +2022,29 @@ ReturnValue_t PlocSupervisorHandler::eventSubscription() {
|
||||
|
||||
ReturnValue_t PlocSupervisorHandler::handleExecutionSuccessReport(ExecutionReport& report) {
|
||||
DeviceCommandId_t commandId = getPendingCommand();
|
||||
ReturnValue_t result = OK;
|
||||
switch (commandId) {
|
||||
case supv::READ_GPIO: {
|
||||
// TODO: Fix
|
||||
// supv::ExecutionReport exe(data, supv::SIZE_EXE_REPORT);
|
||||
// if (exe.isNull()) {
|
||||
// return returnvalue::FAILED;
|
||||
// }
|
||||
// ReturnValue_t result = exe.checkSize();
|
||||
// if (result != returnvalue::OK) {
|
||||
// return result;
|
||||
// }
|
||||
// uint16_t gpioState = exe.getStatusCode();
|
||||
//#if OBSW_DEBUG_PLOC_SUPERVISOR == 1
|
||||
// sif::info << "PlocSupervisorHandler: Read GPIO TM, State: " << gpioState << std::endl;
|
||||
//#endif /* OBSW_DEBUG_PLOC_SUPERVISOR == 1 */
|
||||
// DeviceCommandMap::iterator iter = deviceCommandMap.find(commandId);
|
||||
// if (iter->second.sendReplyTo == NO_COMMAND_ID) {
|
||||
// return returnvalue::OK;
|
||||
// }
|
||||
// uint8_t data[sizeof(gpioState)];
|
||||
// size_t size = 0;
|
||||
// result = SerializeAdapter::serialize(&gpioState, data, &size, sizeof(gpioState),
|
||||
// SerializeIF::Endianness::BIG);
|
||||
// if (result != returnvalue::OK) {
|
||||
// sif::debug << "PlocSupervisorHandler: Failed to deserialize GPIO state" <<
|
||||
// std::endl;
|
||||
// }
|
||||
// result = actionHelper.reportData(iter->second.sendReplyTo, commandId, data,
|
||||
// sizeof(data)); if (result != returnvalue::OK) {
|
||||
// sif::warning << "PlocSupervisorHandler: Read GPIO, failed to report data" <<
|
||||
// std::endl;
|
||||
// }
|
||||
uint16_t gpioState = report.getStatusCode();
|
||||
#if OBSW_DEBUG_PLOC_SUPERVISOR == 1
|
||||
sif::info << "PlocSupervisorHandler: Read GPIO TM, State: " << gpioState << std::endl;
|
||||
#endif /* OBSW_DEBUG_PLOC_SUPERVISOR == 1 */
|
||||
DeviceCommandMap::iterator iter = deviceCommandMap.find(commandId);
|
||||
if (iter->second.sendReplyTo == NO_COMMAND_ID) {
|
||||
return returnvalue::OK;
|
||||
}
|
||||
uint8_t data[sizeof(gpioState)];
|
||||
size_t size = 0;
|
||||
result = SerializeAdapter::serialize(&gpioState, data, &size, sizeof(gpioState),
|
||||
SerializeIF::Endianness::BIG);
|
||||
if (result != returnvalue::OK) {
|
||||
sif::debug << "PlocSupervisorHandler: Failed to deserialize GPIO state" << std::endl;
|
||||
}
|
||||
result = actionHelper.reportData(iter->second.sendReplyTo, commandId, data, sizeof(data));
|
||||
if (result != returnvalue::OK) {
|
||||
sif::warning << "PlocSupervisorHandler: Read GPIO, failed to report data" << std::endl;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case supv::SET_TIME_REF: {
|
||||
@ -2179,3 +2096,17 @@ void PlocSupervisorHandler::printAckFailureInfo(uint16_t statusCode, DeviceComma
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ReturnValue_t PlocSupervisorHandler::getSwitches(const uint8_t** switches,
|
||||
uint8_t* numberOfSwitches) {
|
||||
if (powerSwitch == power::NO_SWITCH) {
|
||||
return DeviceHandlerBase::NO_SWITCH;
|
||||
}
|
||||
*numberOfSwitches = 1;
|
||||
*switches = &powerSwitch;
|
||||
return returnvalue::OK;
|
||||
}
|
||||
|
||||
uint32_t PlocSupervisorHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
|
||||
return 7000;
|
||||
}
|
||||
|
@ -50,7 +50,6 @@ class PlocSupervisorHandler : public DeviceHandlerBase {
|
||||
ReturnValue_t scanForReply(const uint8_t* start, size_t remainingSize, DeviceCommandId_t* foundId,
|
||||
size_t* foundLen) override;
|
||||
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t* packet) override;
|
||||
void setNormalDatapoolEntriesInvalid() override;
|
||||
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
|
||||
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
||||
LocalDataPoolManager& poolManager) override;
|
||||
|
Loading…
Reference in New Issue
Block a user