diff --git a/bsp_q7s/core/ObjectFactory.cpp b/bsp_q7s/core/ObjectFactory.cpp index ec964659..d676c4b9 100644 --- a/bsp_q7s/core/ObjectFactory.cpp +++ b/bsp_q7s/core/ObjectFactory.cpp @@ -152,7 +152,7 @@ void ObjectFactory::produce(void* args) { createSolarArrayDeploymentComponents(); createPlPcduComponents(gpioComIF, spiComIF, pwrSwitcher); #if OBSW_ADD_SYRLINKS == 1 - createSyrlinksComponents(); + createSyrlinksComponents(pwrSwitcher); #endif /* OBSW_ADD_SYRLINKS == 1 */ createRtdComponents(q7s::SPI_DEFAULT_DEV, gpioComIF, pwrSwitcher); createPayloadComponents(gpioComIF); diff --git a/linux/devices/ploc/PlocMPSoCHandler.cpp b/linux/devices/ploc/PlocMPSoCHandler.cpp index 52fd5812..9ca90bcc 100644 --- a/linux/devices/ploc/PlocMPSoCHandler.cpp +++ b/linux/devices/ploc/PlocMPSoCHandler.cpp @@ -134,6 +134,7 @@ ReturnValue_t PlocMPSoCHandler::executeAction(ActionId_t actionId, MessageQueueI void PlocMPSoCHandler::doStartUp() { #ifdef XIPHOS_Q7S +#if not OBSW_MPSOC_JTAG_BOOT == 1 switch (powerState) { case PowerState::OFF: commandActionHelper.commandAction(supervisorHandler, supv::START_MPSOC); @@ -147,11 +148,19 @@ void PlocMPSoCHandler::doStartUp() { break; } #else + powerState = PowerState::ON; + setMode(_MODE_TO_ON); + uartIsolatorSwitch.pullHigh(); +#endif/* not MSPOC_JTAG_BOOT == 1 */ +#else + powerState = PowerState::ON; setMode(_MODE_TO_ON); #endif /* XIPHOS_Q7S */ } void PlocMPSoCHandler::doShutDown() { +#ifdef XIPHOS_Q7S +#if not OBSW_MPSOC_JTAG_BOOT == 1 switch (powerState) { case PowerState::ON: uartIsolatorSwitch.pullLow(); @@ -164,6 +173,12 @@ void PlocMPSoCHandler::doShutDown() { default: break; } +#else + uartIsolatorSwitch.pullLow(); + setMode(_MODE_POWER_DOWN); + powerState = PowerState::OFF; +#endif +#endif } ReturnValue_t PlocMPSoCHandler::buildNormalDeviceCommand(DeviceCommandId_t* id) { diff --git a/linux/devices/ploc/PlocSupervisorHandler.cpp b/linux/devices/ploc/PlocSupervisorHandler.cpp index 8788cdb8..cc767037 100644 --- a/linux/devices/ploc/PlocSupervisorHandler.cpp +++ b/linux/devices/ploc/PlocSupervisorHandler.cpp @@ -1032,7 +1032,7 @@ ReturnValue_t PlocSupervisorHandler::handleBootStatusReport(const uint8_t* data) nextReplyId = supv::EXE_REPORT; #if OBSW_VERBOSE_LEVEL >= 1 && OBSW_DEBUG_PLOC_SUPERVISOR == 1 - sif::info << "PlocSupervisorHandler::handleBootStatusReport: SoC State: " + sif::info << "PlocSupervisorHandler::handleBootStatusReport: SoC State (0 - off, 1 - booting, 3 - operating): " << static_cast(bootStatusReport.socState.value) << std::endl; sif::info << "PlocSupervisorHandler::handleBootStatusReport: Power Cycles: " << static_cast(bootStatusReport.powerCycles.value) << std::endl; diff --git a/linux/fsfwconfig/OBSWConfig.h.in b/linux/fsfwconfig/OBSWConfig.h.in index 0903169b..9a7d0d36 100644 --- a/linux/fsfwconfig/OBSWConfig.h.in +++ b/linux/fsfwconfig/OBSWConfig.h.in @@ -56,6 +56,7 @@ debugging. */ #define OBSW_ADD_GPS 1 #define OBSW_ENABLE_SYRLINKS_TRANSMIT_TIMEOUT 0 #define OBSW_STAR_TRACKER_GROUND_CONFIG 1 +#define OBSW_MPSOC_JTAG_BOOT 0 #endif // XIPHOS_Q7S @@ -153,8 +154,8 @@ debugging. */ #define OBSW_DEBUG_PLOC_SUPERVISOR 1 #define OBSW_DEBUG_PLOC_MPSOC 1 #else -#define OBSW_DEBUG_PLOC_SUPERVISOR 0 -#define OBSW_DEBUG_PLOC_MPSOC 0 +#define OBSW_DEBUG_PLOC_SUPERVISOR 1 +#define OBSW_DEBUG_PLOC_MPSOC 1 #endif #ifdef EGSE diff --git a/mission/tmtc/VirtualChannel.cpp b/mission/tmtc/VirtualChannel.cpp index 9d413ca7..b2abf3f0 100644 --- a/mission/tmtc/VirtualChannel.cpp +++ b/mission/tmtc/VirtualChannel.cpp @@ -27,6 +27,13 @@ ReturnValue_t VirtualChannel::performOperation() { ReturnValue_t result = RETURN_OK; TmTcMessage message; + uint8_t data[50] = {0xa}; + result = ptme->writeToVc(vcId, data, sizeof(data)); + if (result != RETURN_OK) { + sif::warning << "VirtualChannel::performOperation: Failed to send test data" << std::endl; + return result; + } + while (tmQueue->receiveMessage(&message) == RETURN_OK) { store_address_t storeId = message.getStorageId(); const uint8_t* data = nullptr; diff --git a/mission/tmtc/VirtualChannel.h b/mission/tmtc/VirtualChannel.h index c661c4c5..229bcc40 100644 --- a/mission/tmtc/VirtualChannel.h +++ b/mission/tmtc/VirtualChannel.h @@ -46,7 +46,7 @@ class VirtualChannel : public AcceptsTelemetryIF, public HasReturnvaluesIF { private: PtmeIF* ptme = nullptr; MessageQueueIF* tmQueue = nullptr; - uint8_t vcId; + uint8_t vcId = 0; bool linkIsUp = false; diff --git a/tmtc b/tmtc index 16ebba3f..a457b001 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 16ebba3f5b81e8e4c96f43a0b417656df534d5ce +Subproject commit a457b001a33a2a561250544b3e9950885e1dac2e