MPSoC Fixes #894

Merged
muellerr merged 4 commits from mpsoc-fixes into main 2024-05-13 14:03:12 +02:00
3 changed files with 10 additions and 4 deletions
Showing only changes of commit b54f8e7738 - Show all commits

View File

@ -86,7 +86,7 @@ void FreshMpsocHandler::performDefaultDeviceOperation() {
// We checked the action queue beforehand, so action commands should always be performed // We checked the action queue beforehand, so action commands should always be performed
// before normal commands. // before normal commands.
if (mode == MODE_NORMAL and not activeCmdInfo.pending) { if (mode == MODE_NORMAL and not activeCmdInfo.pending and not specialComHelperExecuting) {
ReturnValue_t result = commandTcGetHkReport(); ReturnValue_t result = commandTcGetHkReport();
if (result == returnvalue::OK) { if (result == returnvalue::OK) {
commandInitHandling(mpsoc::TC_GET_HK_REPORT, MessageQueueIF::NO_QUEUE); commandInitHandling(mpsoc::TC_GET_HK_REPORT, MessageQueueIF::NO_QUEUE);
@ -763,7 +763,7 @@ ReturnValue_t FreshMpsocHandler::commandTcSimplexStreamFile(const uint8_t* comma
} }
ReturnValue_t FreshMpsocHandler::commandTcSplitFile(const uint8_t* commandData, ReturnValue_t FreshMpsocHandler::commandTcSplitFile(const uint8_t* commandData,
size_t commandDataLen) { size_t commandDataLen) {
mpsoc::TcSplitFile tcSplitFile(spParams, commandSequenceCount); mpsoc::TcSplitFile tcSplitFile(spParams, commandSequenceCount);
ReturnValue_t result = tcSplitFile.setPayload(commandData, commandDataLen); ReturnValue_t result = tcSplitFile.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
@ -803,6 +803,11 @@ ReturnValue_t FreshMpsocHandler::commandTcModeSnapshot() {
ReturnValue_t FreshMpsocHandler::finishAndSendTc(DeviceCommandId_t cmdId, mpsoc::TcBase& tcBase, ReturnValue_t FreshMpsocHandler::finishAndSendTc(DeviceCommandId_t cmdId, mpsoc::TcBase& tcBase,
uint32_t cmdCountdownMs) { uint32_t cmdCountdownMs) {
// Emit warning but still send command.
if (specialComHelperExecuting) {
sif::warning << "PLOC MPSoC: Sending command even though special COM helper is executing"
<< std::endl;
}
ReturnValue_t result = tcBase.finishPacket(); ReturnValue_t result = tcBase.finishPacket();
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;

View File

@ -179,7 +179,8 @@ ReturnValue_t PlocMpsocSpecialComHelper::performFlashWrite() {
ReturnValue_t PlocMpsocSpecialComHelper::performFlashRead() { ReturnValue_t PlocMpsocSpecialComHelper::performFlashRead() {
std::error_code e; std::error_code e;
std::ofstream ofile(flashReadAndWrite.obcFile, std::ios::trunc | std::ios::binary); std::ofstream ofile(flashReadAndWrite.obcFile,
std::ios::trunc | std::ios::binary | std::ios::app);
if (ofile.bad()) { if (ofile.bad()) {
return returnvalue::FAILED; return returnvalue::FAILED;
} }

2
tmtc

@ -1 +1 @@
Subproject commit 9a06c64dfac3f4283c2d5af72a9c095f4726480b Subproject commit 5cf76c07e98494e7e2532c25dbff7753cb675cf5