v1.12.0 #269

Merged
muellerr merged 493 commits from develop into main 2022-07-04 11:19:05 +02:00
17 changed files with 218 additions and 123 deletions
Showing only changes of commit 7b54855397 - Show all commits

View File

@ -239,7 +239,7 @@ void initmission::initTasks() {
acsTask->startTask(); acsTask->startTask();
#endif #endif
sysTask->startTask(); sysTask->startTask();
supvHelperTask->startTask();
sif::info << "Tasks started.." << std::endl; sif::info << "Tasks started.." << std::endl;
} }

View File

@ -663,12 +663,12 @@ void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF) {
gpioComIF->addGpios(supvGpioCookie); gpioComIF->addGpios(supvGpioCookie);
auto supervisorCookie = new UartCookie(objects::PLOC_SUPERVISOR_HANDLER, auto supervisorCookie = new UartCookie(objects::PLOC_SUPERVISOR_HANDLER,
q7s::UART_PLOC_SUPERVSIOR_DEV, UartModes::NON_CANONICAL, q7s::UART_PLOC_SUPERVSIOR_DEV, UartModes::NON_CANONICAL,
uart::PLOC_SUPERVISOR_BAUD, supv::MAX_PACKET_SIZE * 20); uart::PLOC_SUPV_BAUD, supv::MAX_PACKET_SIZE * 20);
supervisorCookie->setNoFixedSizeReply(); supervisorCookie->setNoFixedSizeReply();
new PlocSupvHelper(objects::PLOC_SUPERVISOR_HELPER); auto supvHelper = new PlocSupvHelper(objects::PLOC_SUPERVISOR_HELPER);
new PlocSupervisorHandler(objects::PLOC_SUPERVISOR_HANDLER, objects::UART_COM_IF, new PlocSupervisorHandler(objects::PLOC_SUPERVISOR_HANDLER, objects::UART_COM_IF,
supervisorCookie, Gpio(gpioIds::ENABLE_SUPV_UART, gpioComIF), supervisorCookie, Gpio(gpioIds::ENABLE_SUPV_UART, gpioComIF),
pcduSwitches::PDU1_CH6_PLOC_12V); pcduSwitches::PDU1_CH6_PLOC_12V, supvHelper);
#endif /* OBSW_ADD_PLOC_SUPERVISOR == 1 */ #endif /* OBSW_ADD_PLOC_SUPERVISOR == 1 */
static_cast<void>(consumer); static_cast<void>(consumer);
} }

View File

@ -87,7 +87,6 @@ enum commonObjects: uint32_t {
STAR_TRACKER = 0x44130001, STAR_TRACKER = 0x44130001,
PLOC_UPDATER = 0x44330000,
PLOC_MEMORY_DUMPER = 0x44330001, PLOC_MEMORY_DUMPER = 0x44330001,
STR_HELPER = 0x44330002, STR_HELPER = 0x44330002,
PLOC_MPSOC_HELPER = 0x44330003, PLOC_MPSOC_HELPER = 0x44330003,

View File

@ -15,7 +15,7 @@ enum: uint8_t {
STR_HANDLER = 114, STR_HANDLER = 114,
PLOC_SUPERVISOR_HANDLER = 115, PLOC_SUPERVISOR_HANDLER = 115,
FILE_SYSTEM = 116, FILE_SYSTEM = 116,
PLOC_UPDATER = 117, PLOC_SUPV_HELPER = 117,
PLOC_MEMORY_DUMPER = 118, PLOC_MEMORY_DUMPER = 118,
PDEC_HANDLER = 119, PDEC_HANDLER = 119,
STR_HELPER = 120, STR_HELPER = 120,

View File

@ -114,6 +114,21 @@
11505;0x2cf1;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux\devices\ploc\PlocSupervisorHandler.h 11505;0x2cf1;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux\devices\ploc\PlocSupervisorHandler.h
11600;0x2d50;SANITIZATION_FAILED;LOW;;bsp_q7s\memory\SdCardManager.h 11600;0x2d50;SANITIZATION_FAILED;LOW;;bsp_q7s\memory\SdCardManager.h
11601;0x2d51;MOUNTED_SD_CARD;INFO;;bsp_q7s\memory\SdCardManager.h 11601;0x2d51;MOUNTED_SD_CARD;INFO;;bsp_q7s\memory\SdCardManager.h
11700;0x2db4;SUPV_UPDATE_FAILED;LOW;update failed;linux\devices\ploc\PlocSupvHelper.h
11701;0x2db5;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux\devices\ploc\PlocSupvHelper.h
11702;0x2db6;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux\devices\ploc\PlocSupvHelper.h
11703;0x2db7;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux\devices\ploc\PlocSupvHelper.h
11704;0x2db8;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux\devices\ploc\PlocSupvHelper.h
11705;0x2db9;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux\devices\ploc\PlocSupvHelper.h
11706;0x2dba;SUPV_SENDING_COMMAND_FAILED;LOW;;linux\devices\ploc\PlocSupvHelper.h
11707;0x2dbb;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
11708;0x2dbc;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
11709;0x2dbd;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux\devices\ploc\PlocSupvHelper.h
11710;0x2dbe;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
11711;0x2dbf;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
11712;0x2dc0;SUPV_EXE_FAILURE_REPORT;LOW;Supervisor received execution failure report P1: Internal state of supervisor;linux\devices\ploc\PlocSupvHelper.h
11713;0x2dc1;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
11714;0x2dc2;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
11800;0x2e18;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux\devices\ploc\PlocMemoryDumper.h 11800;0x2e18;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux\devices\ploc\PlocMemoryDumper.h
11801;0x2e19;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux\devices\ploc\PlocMemoryDumper.h 11801;0x2e19;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux\devices\ploc\PlocMemoryDumper.h
11802;0x2e1a;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux\devices\ploc\PlocMemoryDumper.h 11802;0x2e1a;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux\devices\ploc\PlocMemoryDumper.h
@ -138,21 +153,18 @@
12014;0x2eee;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux\devices\startracker\StrHelper.h 12014;0x2eee;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux\devices\startracker\StrHelper.h
12015;0x2eef;STR_HELPER_SENDING_PACKET_FAILED;LOW;;linux\devices\startracker\StrHelper.h 12015;0x2eef;STR_HELPER_SENDING_PACKET_FAILED;LOW;;linux\devices\startracker\StrHelper.h
12016;0x2ef0;STR_HELPER_REQUESTING_MSG_FAILED;LOW;;linux\devices\startracker\StrHelper.h 12016;0x2ef0;STR_HELPER_REQUESTING_MSG_FAILED;LOW;;linux\devices\startracker\StrHelper.h
12100;0x2f44;SUPV_UPDATE_FAILED;LOW;update failed;linux\devices\ploc\PlocSupvHelper.h 12100;0x2f44;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux\devices\ploc\PlocMPSoCHelper.h
12101;0x2f45;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux\devices\ploc\PlocSupvHelper.h 12101;0x2f45;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux\devices\ploc\PlocMPSoCHelper.h
12102;0x2f46;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux\devices\ploc\PlocSupvHelper.h 12102;0x2f46;MPSOC_SENDING_COMMAND_FAILED;LOW;;linux\devices\ploc\PlocMPSoCHelper.h
12103;0x2f47;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux\devices\ploc\PlocSupvHelper.h 12103;0x2f47;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux\devices\ploc\PlocMPSoCHelper.h
12104;0x2f48;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux\devices\ploc\PlocSupvHelper.h 12104;0x2f48;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux\devices\ploc\PlocMPSoCHelper.h
12105;0x2f49;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux\devices\ploc\PlocSupvHelper.h 12105;0x2f49;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux\devices\ploc\PlocMPSoCHelper.h
12106;0x2f4a;SUPV_SENDING_COMMAND_FAILED;LOW;;linux\devices\ploc\PlocSupvHelper.h 12106;0x2f4a;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux\devices\ploc\PlocMPSoCHelper.h
12107;0x2f4b;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h 12107;0x2f4b;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux\devices\ploc\PlocMPSoCHelper.h
12108;0x2f4c;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h 12108;0x2f4c;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux\devices\ploc\PlocMPSoCHelper.h
12109;0x2f4d;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux\devices\ploc\PlocSupvHelper.h 12109;0x2f4d;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux\devices\ploc\PlocMPSoCHelper.h
12110;0x2f4e;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h 12110;0x2f4e;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux\devices\ploc\PlocMPSoCHelper.h
12111;0x2f4f;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h 12111;0x2f4f;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux\devices\ploc\PlocMPSoCHelper.h
12112;0x2f50;SUPV_EXE_FAILURE_REPORT;LOW;Supervisor received execution failure report P1: Internal state of supervisor;linux\devices\ploc\PlocSupvHelper.h
12113;0x2f51;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
12114;0x2f52;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux\devices\ploc\PlocSupvHelper.h
12200;0x2fa8;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission\devices\PayloadPcduHandler.h 12200;0x2fa8;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission\devices\PayloadPcduHandler.h
12201;0x2fa9;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission\devices\PayloadPcduHandler.h 12201;0x2fa9;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission\devices\PayloadPcduHandler.h
12202;0x2faa;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission\devices\PayloadPcduHandler.h 12202;0x2faa;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission\devices\PayloadPcduHandler.h

1 2200 0x0898 STORE_SEND_WRITE_FAILED LOW fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h fsfw\src\fsfw\tmstorage\TmStoreBackendIF.h
114 12004 11505 0x2ee4 0x2cf1 SUPV_CRC_FAILURE_EVENT SUPV_HELPER_EXECUTING LOW PLOC supervisor reply has invalid crc Supervisor helper currently executing a command linux/devices/ploc/PlocSupervisorHandler.h linux\devices\ploc\PlocSupervisorHandler.h
115 12100 11600 0x2f44 0x2d50 SANITIZATION_FAILED LOW bsp_q7s/memory/SdCardManager.h bsp_q7s\memory\SdCardManager.h
116 12101 11601 0x2f45 0x2d51 MOUNTED_SD_CARD INFO bsp_q7s/memory/SdCardManager.h bsp_q7s\memory\SdCardManager.h
117 11700 0x2db4 SUPV_UPDATE_FAILED LOW update failed linux\devices\ploc\PlocSupvHelper.h
118 11701 0x2db5 SUPV_UPDATE_SUCCESSFUL LOW update successful linux\devices\ploc\PlocSupvHelper.h
119 11702 0x2db6 TERMINATED_UPDATE_PROCEDURE LOW Terminated update procedure by command linux\devices\ploc\PlocSupvHelper.h
120 11703 0x2db7 SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL LOW Requesting event buffer was successful linux\devices\ploc\PlocSupvHelper.h
121 11704 0x2db8 SUPV_EVENT_BUFFER_REQUEST_FAILED LOW Requesting event buffer failed linux\devices\ploc\PlocSupvHelper.h
122 11705 0x2db9 SUPV_EVENT_BUFFER_REQUEST_TERMINATED LOW Terminated event buffer request by command P1: Number of packets read before process was terminated linux\devices\ploc\PlocSupvHelper.h
123 11706 0x2dba SUPV_SENDING_COMMAND_FAILED LOW linux\devices\ploc\PlocSupvHelper.h
124 11707 0x2dbb SUPV_HELPER_REQUESTING_REPLY_FAILED LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper linux\devices\ploc\PlocSupvHelper.h
125 11708 0x2dbc SUPV_HELPER_READING_REPLY_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper linux\devices\ploc\PlocSupvHelper.h
126 11709 0x2dbd SUPV_MISSING_ACK LOW Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper linux\devices\ploc\PlocSupvHelper.h
127 11710 0x2dbe SUPV_MISSING_EXE LOW Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper linux\devices\ploc\PlocSupvHelper.h
128 11711 0x2dbf SUPV_ACK_FAILURE_REPORT LOW Supervisor received acknowledgment failure report P1: Internal state of supervisor helper linux\devices\ploc\PlocSupvHelper.h
129 11712 0x2dc0 SUPV_EXE_FAILURE_REPORT LOW Supervisor received execution failure report P1: Internal state of supervisor linux\devices\ploc\PlocSupvHelper.h
130 11713 0x2dc1 SUPV_ACK_INVALID_APID LOW Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux\devices\ploc\PlocSupvHelper.h
131 11714 0x2dc2 SUPV_EXE_INVALID_APID LOW Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux\devices\ploc\PlocSupvHelper.h
132 12200 11800 0x2fa8 0x2e18 UPDATE_FILE_NOT_EXISTS SEND_MRAM_DUMP_FAILED LOW Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command linux/devices/ploc/PlocUpdater.h linux\devices\ploc\PlocMemoryDumper.h
133 12201 11801 0x2fa9 0x2e19 ACTION_COMMANDING_FAILED MRAM_DUMP_FAILED LOW Failed to send command to supervisor handler P1: Return value of CommandActionHelper::commandAction P2: Action ID of command to send Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command linux/devices/ploc/PlocUpdater.h linux\devices\ploc\PlocMemoryDumper.h
134 12202 11802 0x2faa 0x2e1a UPDATE_AVAILABLE_FAILED MRAM_DUMP_FINISHED LOW Supervisor handler replied action message indicating a command execution failure of the update available command MRAM dump finished successfully linux/devices/ploc/PlocUpdater.h linux\devices\ploc\PlocMemoryDumper.h
153 12508 12014 0x30dc 0x2eee FIRMWARE_UPDATE_FAILED STR_HELPER_FILE_NOT_EXISTS LOW Firmware update failed Specified file does not exist P1: Internal state of str helper linux/devices/startracker/StrHelper.h linux\devices\startracker\StrHelper.h
154 12509 12015 0x30dd 0x2eef STR_HELPER_READING_REPLY_FAILED STR_HELPER_SENDING_PACKET_FAILED LOW Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrHelper.h linux\devices\startracker\StrHelper.h
155 12510 12016 0x30de 0x2ef0 STR_HELPER_COM_ERROR STR_HELPER_REQUESTING_MSG_FAILED LOW Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrHelper.h linux\devices\startracker\StrHelper.h
156 12511 12100 0x30df 0x2f44 STR_HELPER_NO_REPLY MPSOC_FLASH_WRITE_FAILED LOW Star tracker did not send replies (maybe device is powered off) P1: Position of upload or download packet for which no reply was sent Flash write fails linux/devices/startracker/StrHelper.h linux\devices\ploc\PlocMPSoCHelper.h
157 12512 12101 0x30e0 0x2f45 STR_HELPER_DEC_ERROR MPSOC_FLASH_WRITE_SUCCESSFUL LOW Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request Flash write successful linux/devices/startracker/StrHelper.h linux\devices\ploc\PlocMPSoCHelper.h
158 12513 12102 0x30e1 0x2f46 POSITION_MISMATCH MPSOC_SENDING_COMMAND_FAILED LOW Position mismatch P1: The expected position and thus the position for which the image upload/download failed linux/devices/startracker/StrHelper.h linux\devices\ploc\PlocMPSoCHelper.h
159 12514 12103 0x30e2 0x2f47 STR_HELPER_FILE_NOT_EXISTS MPSOC_HELPER_REQUESTING_REPLY_FAILED LOW Specified file does not exist P1: Internal state of str helper Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper linux/devices/startracker/StrHelper.h linux\devices\ploc\PlocMPSoCHelper.h
160 12515 12104 0x30e3 0x2f48 STR_HELPER_SENDING_PACKET_FAILED MPSOC_HELPER_READING_REPLY_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper linux/devices/startracker/StrHelper.h linux\devices\ploc\PlocMPSoCHelper.h
161 12516 12105 0x30e4 0x2f49 STR_HELPER_REQUESTING_MSG_FAILED MPSOC_MISSING_ACK LOW Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/startracker/StrHelper.h linux\devices\ploc\PlocMPSoCHelper.h
162 12600 12106 0x3138 0x2f4a MPSOC_FLASH_WRITE_FAILED MPSOC_MISSING_EXE LOW Flash write fails Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux\devices\ploc\PlocMPSoCHelper.h
163 12601 12107 0x3139 0x2f4b MPSOC_FLASH_WRITE_SUCCESSFUL MPSOC_ACK_FAILURE_REPORT LOW Flash write successful Received acknowledgment failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux\devices\ploc\PlocMPSoCHelper.h
164 12602 12108 0x313a 0x2f4c SENDING_COMMAND_FAILED MPSOC_EXE_FAILURE_REPORT LOW Received execution failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux\devices\ploc\PlocMPSoCHelper.h
165 12603 12109 0x313b 0x2f4d MPSOC_HELPER_REQUESTING_REPLY_FAILED MPSOC_ACK_INVALID_APID LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux\devices\ploc\PlocMPSoCHelper.h
166 12604 12110 0x313c 0x2f4e MPSOC_HELPER_READING_REPLY_FAILED MPSOC_EXE_INVALID_APID LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux\devices\ploc\PlocMPSoCHelper.h
167 12605 12111 0x313d 0x2f4f MISSING_ACK MPSOC_HELPER_SEQ_CNT_MISMATCH LOW Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count linux/devices/ploc/PlocMPSoCHelper.h linux\devices\ploc\PlocMPSoCHelper.h
12606 0x313e MISSING_EXE LOW Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h
12607 0x313f ACK_FAILURE_REPORT LOW Received acknowledgement failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h
12608 0x3140 EXE_FAILURE_REPORT LOW Received execution failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h
168 12609 12200 0x3141 0x2fa8 ACK_INVALID_APID TRANSITION_BACK_TO_OFF LOW MEDIUM Expected acknowledgement report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC Could not transition properly and went back to ALL OFF linux/devices/ploc/PlocMPSoCHelper.h mission\devices\PayloadPcduHandler.h
169 12610 12201 0x3142 0x2fa9 EXE_INVALID_APID NEG_V_OUT_OF_BOUNDS LOW MEDIUM Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC P1: 0 -> too low, 1 -> too high P2: Float value linux/devices/ploc/PlocMPSoCHelper.h mission\devices\PayloadPcduHandler.h
170 12611 12202 0x3143 0x2faa MPSOC_HELPER_SEQ_CNT_MISMATCH U_DRO_OUT_OF_BOUNDS LOW MEDIUM Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count P1: 0 -> too low, 1 -> too high P2: Float value linux/devices/ploc/PlocMPSoCHelper.h mission\devices\PayloadPcduHandler.h

View File

@ -37,7 +37,6 @@
0x44260000;BPX_BATT_HANDLER 0x44260000;BPX_BATT_HANDLER
0x44300000;PLPCDU_HANDLER 0x44300000;PLPCDU_HANDLER
0x443200A5;RAD_SENSOR 0x443200A5;RAD_SENSOR
0x44330000;PLOC_UPDATER
0x44330001;PLOC_MEMORY_DUMPER 0x44330001;PLOC_MEMORY_DUMPER
0x44330002;STR_HELPER 0x44330002;STR_HELPER
0x44330003;PLOC_MPSOC_HELPER 0x44330003;PLOC_MPSOC_HELPER

1 0x00005060 P60DOCK_TEST_TASK
37 0x44260000 BPX_BATT_HANDLER
38 0x44300000 PLPCDU_HANDLER
39 0x443200A5 RAD_SENSOR
0x44330000 PLOC_UPDATER
40 0x44330001 PLOC_MEMORY_DUMPER
41 0x44330002 STR_HELPER
42 0x44330003 PLOC_MPSOC_HELPER

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 180 translations. * @brief Auto-generated event translation file. Contains 192 translations.
* @details * @details
* Generated on: 2022-04-13 17:02:22 * Generated on: 2022-04-14 15:49:05
*/ */
#include "translateEvents.h" #include "translateEvents.h"
@ -121,6 +121,21 @@ const char *SUPV_CRC_FAILURE_EVENT_STRING = "SUPV_CRC_FAILURE_EVENT";
const char *SUPV_HELPER_EXECUTING_STRING = "SUPV_HELPER_EXECUTING"; const char *SUPV_HELPER_EXECUTING_STRING = "SUPV_HELPER_EXECUTING";
const char *SANITIZATION_FAILED_STRING = "SANITIZATION_FAILED"; const char *SANITIZATION_FAILED_STRING = "SANITIZATION_FAILED";
const char *MOUNTED_SD_CARD_STRING = "MOUNTED_SD_CARD"; const char *MOUNTED_SD_CARD_STRING = "MOUNTED_SD_CARD";
const char *SUPV_UPDATE_FAILED_STRING = "SUPV_UPDATE_FAILED";
const char *SUPV_UPDATE_SUCCESSFUL_STRING = "SUPV_UPDATE_SUCCESSFUL";
const char *TERMINATED_UPDATE_PROCEDURE_STRING = "TERMINATED_UPDATE_PROCEDURE";
const char *SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING = "SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL";
const char *SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING = "SUPV_EVENT_BUFFER_REQUEST_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING = "SUPV_EVENT_BUFFER_REQUEST_TERMINATED";
const char *SUPV_SENDING_COMMAND_FAILED_STRING = "SUPV_SENDING_COMMAND_FAILED";
const char *SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING = "SUPV_HELPER_REQUESTING_REPLY_FAILED";
const char *SUPV_HELPER_READING_REPLY_FAILED_STRING = "SUPV_HELPER_READING_REPLY_FAILED";
const char *SUPV_MISSING_ACK_STRING = "SUPV_MISSING_ACK";
const char *SUPV_MISSING_EXE_STRING = "SUPV_MISSING_EXE";
const char *SUPV_ACK_FAILURE_REPORT_STRING = "SUPV_ACK_FAILURE_REPORT";
const char *SUPV_EXE_FAILURE_REPORT_STRING = "SUPV_EXE_FAILURE_REPORT";
const char *SUPV_ACK_INVALID_APID_STRING = "SUPV_ACK_INVALID_APID";
const char *SUPV_EXE_INVALID_APID_STRING = "SUPV_EXE_INVALID_APID";
const char *SEND_MRAM_DUMP_FAILED_STRING = "SEND_MRAM_DUMP_FAILED"; const char *SEND_MRAM_DUMP_FAILED_STRING = "SEND_MRAM_DUMP_FAILED";
const char *MRAM_DUMP_FAILED_STRING = "MRAM_DUMP_FAILED"; const char *MRAM_DUMP_FAILED_STRING = "MRAM_DUMP_FAILED";
const char *MRAM_DUMP_FINISHED_STRING = "MRAM_DUMP_FINISHED"; const char *MRAM_DUMP_FINISHED_STRING = "MRAM_DUMP_FINISHED";
@ -145,21 +160,18 @@ const char *POSITION_MISMATCH_STRING = "POSITION_MISMATCH";
const char *STR_HELPER_FILE_NOT_EXISTS_STRING = "STR_HELPER_FILE_NOT_EXISTS"; const char *STR_HELPER_FILE_NOT_EXISTS_STRING = "STR_HELPER_FILE_NOT_EXISTS";
const char *STR_HELPER_SENDING_PACKET_FAILED_STRING = "STR_HELPER_SENDING_PACKET_FAILED"; const char *STR_HELPER_SENDING_PACKET_FAILED_STRING = "STR_HELPER_SENDING_PACKET_FAILED";
const char *STR_HELPER_REQUESTING_MSG_FAILED_STRING = "STR_HELPER_REQUESTING_MSG_FAILED"; const char *STR_HELPER_REQUESTING_MSG_FAILED_STRING = "STR_HELPER_REQUESTING_MSG_FAILED";
const char *SUPV_UPDATE_FAILED_STRING = "SUPV_UPDATE_FAILED"; const char *MPSOC_FLASH_WRITE_FAILED_STRING = "MPSOC_FLASH_WRITE_FAILED";
const char *SUPV_UPDATE_SUCCESSFUL_STRING = "SUPV_UPDATE_SUCCESSFUL"; const char *MPSOC_FLASH_WRITE_SUCCESSFUL_STRING = "MPSOC_FLASH_WRITE_SUCCESSFUL";
const char *TERMINATED_UPDATE_PROCEDURE_STRING = "TERMINATED_UPDATE_PROCEDURE"; const char *MPSOC_SENDING_COMMAND_FAILED_STRING = "MPSOC_SENDING_COMMAND_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING = "SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL"; const char *MPSOC_HELPER_REQUESTING_REPLY_FAILED_STRING = "MPSOC_HELPER_REQUESTING_REPLY_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING = "SUPV_EVENT_BUFFER_REQUEST_FAILED"; const char *MPSOC_HELPER_READING_REPLY_FAILED_STRING = "MPSOC_HELPER_READING_REPLY_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING = "SUPV_EVENT_BUFFER_REQUEST_TERMINATED"; const char *MPSOC_MISSING_ACK_STRING = "MPSOC_MISSING_ACK";
const char *SUPV_SENDING_COMMAND_FAILED_STRING = "SUPV_SENDING_COMMAND_FAILED"; const char *MPSOC_MISSING_EXE_STRING = "MPSOC_MISSING_EXE";
const char *SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING = "SUPV_HELPER_REQUESTING_REPLY_FAILED"; const char *MPSOC_ACK_FAILURE_REPORT_STRING = "MPSOC_ACK_FAILURE_REPORT";
const char *SUPV_HELPER_READING_REPLY_FAILED_STRING = "SUPV_HELPER_READING_REPLY_FAILED"; const char *MPSOC_EXE_FAILURE_REPORT_STRING = "MPSOC_EXE_FAILURE_REPORT";
const char *SUPV_MISSING_ACK_STRING = "SUPV_MISSING_ACK"; const char *MPSOC_ACK_INVALID_APID_STRING = "MPSOC_ACK_INVALID_APID";
const char *SUPV_MISSING_EXE_STRING = "SUPV_MISSING_EXE"; const char *MPSOC_EXE_INVALID_APID_STRING = "MPSOC_EXE_INVALID_APID";
const char *SUPV_ACK_FAILURE_REPORT_STRING = "SUPV_ACK_FAILURE_REPORT"; const char *MPSOC_HELPER_SEQ_CNT_MISMATCH_STRING = "MPSOC_HELPER_SEQ_CNT_MISMATCH";
const char *SUPV_EXE_FAILURE_REPORT_STRING = "SUPV_EXE_FAILURE_REPORT";
const char *SUPV_ACK_INVALID_APID_STRING = "SUPV_ACK_INVALID_APID";
const char *SUPV_EXE_INVALID_APID_STRING = "SUPV_EXE_INVALID_APID";
const char *TRANSITION_BACK_TO_OFF_STRING = "TRANSITION_BACK_TO_OFF"; const char *TRANSITION_BACK_TO_OFF_STRING = "TRANSITION_BACK_TO_OFF";
const char *NEG_V_OUT_OF_BOUNDS_STRING = "NEG_V_OUT_OF_BOUNDS"; const char *NEG_V_OUT_OF_BOUNDS_STRING = "NEG_V_OUT_OF_BOUNDS";
const char *U_DRO_OUT_OF_BOUNDS_STRING = "U_DRO_OUT_OF_BOUNDS"; const char *U_DRO_OUT_OF_BOUNDS_STRING = "U_DRO_OUT_OF_BOUNDS";
@ -416,6 +428,36 @@ const char *translateEvents(Event event) {
return SANITIZATION_FAILED_STRING; return SANITIZATION_FAILED_STRING;
case (11601): case (11601):
return MOUNTED_SD_CARD_STRING; return MOUNTED_SD_CARD_STRING;
case (11700):
return SUPV_UPDATE_FAILED_STRING;
case (11701):
return SUPV_UPDATE_SUCCESSFUL_STRING;
case (11702):
return TERMINATED_UPDATE_PROCEDURE_STRING;
case (11703):
return SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING;
case (11704):
return SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING;
case (11705):
return SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING;
case (11706):
return SUPV_SENDING_COMMAND_FAILED_STRING;
case (11707):
return SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING;
case (11708):
return SUPV_HELPER_READING_REPLY_FAILED_STRING;
case (11709):
return SUPV_MISSING_ACK_STRING;
case (11710):
return SUPV_MISSING_EXE_STRING;
case (11711):
return SUPV_ACK_FAILURE_REPORT_STRING;
case (11712):
return SUPV_EXE_FAILURE_REPORT_STRING;
case (11713):
return SUPV_ACK_INVALID_APID_STRING;
case (11714):
return SUPV_EXE_INVALID_APID_STRING;
case (11800): case (11800):
return SEND_MRAM_DUMP_FAILED_STRING; return SEND_MRAM_DUMP_FAILED_STRING;
case (11801): case (11801):
@ -465,35 +507,29 @@ const char *translateEvents(Event event) {
case (12016): case (12016):
return STR_HELPER_REQUESTING_MSG_FAILED_STRING; return STR_HELPER_REQUESTING_MSG_FAILED_STRING;
case (12100): case (12100):
return SUPV_UPDATE_FAILED_STRING; return MPSOC_FLASH_WRITE_FAILED_STRING;
case (12101): case (12101):
return SUPV_UPDATE_SUCCESSFUL_STRING; return MPSOC_FLASH_WRITE_SUCCESSFUL_STRING;
case (12102): case (12102):
return TERMINATED_UPDATE_PROCEDURE_STRING; return MPSOC_SENDING_COMMAND_FAILED_STRING;
case (12103): case (12103):
return SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING; return MPSOC_HELPER_REQUESTING_REPLY_FAILED_STRING;
case (12104): case (12104):
return SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING; return MPSOC_HELPER_READING_REPLY_FAILED_STRING;
case (12105): case (12105):
return SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING; return MPSOC_MISSING_ACK_STRING;
case (12106): case (12106):
return SUPV_SENDING_COMMAND_FAILED_STRING; return MPSOC_MISSING_EXE_STRING;
case (12107): case (12107):
return SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING; return MPSOC_ACK_FAILURE_REPORT_STRING;
case (12108): case (12108):
return SUPV_HELPER_READING_REPLY_FAILED_STRING; return MPSOC_EXE_FAILURE_REPORT_STRING;
case (12109): case (12109):
return SUPV_MISSING_ACK_STRING; return MPSOC_ACK_INVALID_APID_STRING;
case (12110): case (12110):
return SUPV_MISSING_EXE_STRING; return MPSOC_EXE_INVALID_APID_STRING;
case (12111): case (12111):
return SUPV_ACK_FAILURE_REPORT_STRING; return MPSOC_HELPER_SEQ_CNT_MISMATCH_STRING;
case (12112):
return SUPV_EXE_FAILURE_REPORT_STRING;
case (12113):
return SUPV_ACK_INVALID_APID_STRING;
case (12114):
return SUPV_EXE_INVALID_APID_STRING;
case (12200): case (12200):
return TRANSITION_BACK_TO_OFF_STRING; return TRANSITION_BACK_TO_OFF_STRING;
case (12201): case (12201):

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 117 translations. * Contains 116 translations.
* Generated on: 2022-04-13 17:02:27 * Generated on: 2022-04-14 15:49:10
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -45,7 +45,6 @@ const char *ACU_HANDLER_STRING = "ACU_HANDLER";
const char *BPX_BATT_HANDLER_STRING = "BPX_BATT_HANDLER"; const char *BPX_BATT_HANDLER_STRING = "BPX_BATT_HANDLER";
const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER"; const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER";
const char *RAD_SENSOR_STRING = "RAD_SENSOR"; const char *RAD_SENSOR_STRING = "RAD_SENSOR";
const char *PLOC_UPDATER_STRING = "PLOC_UPDATER";
const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER"; const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER";
const char *STR_HELPER_STRING = "STR_HELPER"; const char *STR_HELPER_STRING = "STR_HELPER";
const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER"; const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER";
@ -204,8 +203,6 @@ const char *translateObject(object_id_t object) {
return PLPCDU_HANDLER_STRING; return PLPCDU_HANDLER_STRING;
case 0x443200A5: case 0x443200A5:
return RAD_SENSOR_STRING; return RAD_SENSOR_STRING;
case 0x44330000:
return PLOC_UPDATER_STRING;
case 0x44330001: case 0x44330001:
return PLOC_MEMORY_DUMPER_STRING; return PLOC_MEMORY_DUMPER_STRING;
case 0x44330002: case 0x44330002:

View File

@ -72,7 +72,7 @@ void PlocSupervisorHandler::performOperationHook() {
handleEvent(&event); handleEvent(&event);
break; break;
default: default:
sif::debug << "PlocMPSoCHandler::performOperationHook: Did not subscribe to this event" sif::debug << "PlocSupervisorHandler::performOperationHook: Did not subscribe to this event"
<< " message" << std::endl; << " message" << std::endl;
break; break;
} }
@ -160,6 +160,8 @@ ReturnValue_t PlocSupervisorHandler::buildCommandFromCommand(DeviceCommandId_t d
ReturnValue_t result = RETURN_FAILED; ReturnValue_t result = RETURN_FAILED;
switch (deviceCommand) { switch (deviceCommand) {
case GET_HK_REPORT: { case GET_HK_REPORT: {
sif::warning << "PlocSupervisorHandler::buildCommandFromCommand: Housekeeping report is "
<< "faulty. Needs to be fixed in vorago software" << std::endl;
prepareEmptyCmd(APID_GET_HK_REPORT); prepareEmptyCmd(APID_GET_HK_REPORT);
result = RETURN_OK; result = RETURN_OK;
break; break;

View File

@ -6,12 +6,13 @@
#include "OBSWConfig.h" #include "OBSWConfig.h"
#ifdef XIPHOS_Q7S #ifdef XIPHOS_Q7S
#include "bsp_q7s/memory/FilesystemHelper.h" #include "bsp_q7s/memory/FilesystemHelper.h"
#include "bsp_q7s/memory/SDCardManager.h"
#endif #endif
#include "bsp_q7s/memory/FilesystemHelper.h"
#include "fsfw/globalfunctions/CRC.h" #include "fsfw/globalfunctions/CRC.h"
#include "mission/utility/Timestamp.h"
#include "mission/utility/Filenaming.h" #include "mission/utility/Filenaming.h"
#include "mission/utility/ProgressPrinter.h"
#include "mission/utility/Timestamp.h"
PlocSupvHelper::PlocSupvHelper(object_id_t objectId) : SystemObject(objectId) {} PlocSupvHelper::PlocSupvHelper(object_id_t objectId) : SystemObject(objectId) {}
@ -57,8 +58,7 @@ ReturnValue_t PlocSupvHelper::performOperation(uint8_t operationCode) {
} else if (result == PROCESS_TERMINATED) { } else if (result == PROCESS_TERMINATED) {
// Event already triggered // Event already triggered
break; break;
} } else {
else {
triggerEvent(SUPV_EVENT_BUFFER_REQUEST_FAILED, result); triggerEvent(SUPV_EVENT_BUFFER_REQUEST_FAILED, result);
} }
internalState = InternalState::IDLE; internalState = InternalState::IDLE;
@ -91,11 +91,11 @@ ReturnValue_t PlocSupvHelper::startUpdate(std::string file, uint8_t memoryId,
sif::warning << "PlocSupvHelper::startUpdate: File " << file << " does not exist" << std::endl; sif::warning << "PlocSupvHelper::startUpdate: File " << file << " does not exist" << std::endl;
return result; return result;
} }
result = FileSytemHelper::fileExists(file); result = FilesystemHelper::fileExists(file);
if (result != RETURN_OK) { if (result != RETURN_OK) {
sif::warning << "PlocSupvHelper::startUpdate: The file " << file << " does not exist" sif::warning << "PlocSupvHelper::startUpdate: The file " << file << " does not exist"
<< std::endl; << std::endl;
reurn result; return result;
} }
#endif #endif
#ifdef TE0720_1CFA #ifdef TE0720_1CFA
@ -148,6 +148,10 @@ ReturnValue_t PlocSupvHelper::performUpdate() {
if (result != RETURN_OK) { if (result != RETURN_OK) {
return result; return result;
} }
#if OBSW_DEBUG_PLOC_SUPERVISOR == 1
ProgressPrinter progressPrinter("Supervisor update: ", update.length,
ProgressPrinter::ONE_PERCENT);
#endif /* OBSW_DEBUG_PLOC_SUPERVISOR == 1 */
uint8_t tempData[supv::WriteMemory::CHUNK_MAX]; uint8_t tempData[supv::WriteMemory::CHUNK_MAX];
std::ifstream file(update.file, std::ifstream::binary); std::ifstream file(update.file, std::ifstream::binary);
size_t remainingSize = update.length; size_t remainingSize = update.length;
@ -185,8 +189,10 @@ ReturnValue_t PlocSupvHelper::performUpdate() {
return result; return result;
} }
bytesWritten += dataLength; bytesWritten += dataLength;
#if OBSW_DEBUG_PLOC_SUPERVISOR == 1
progressPrinter.print(bytesWritten);
} }
#endif /* OBSW_DEBUG_PLOC_SUPERVISOR == 1 */
result = handleCheckMemoryCommand(); result = handleCheckMemoryCommand();
if (result != RETURN_OK) { if (result != RETURN_OK) {
return result; return result;
@ -340,7 +346,7 @@ ReturnValue_t PlocSupvHelper::handleTmReception(supv::TmPacket* tmPacket, size_t
} }
if (remainingBytes != 0) { if (remainingBytes != 0) {
sif::warning << "PlocSupvHelper::handleTmReception: Failed to read " << remainingBytes sif::warning << "PlocSupvHelper::handleTmReception: Failed to read " << remainingBytes
<< " bytes" << std::endl; << " bytes" << std::endl;
return RETURN_FAILED; return RETURN_FAILED;
} }
result = tmPacket->checkCrc(); result = tmPacket->checkCrc();
@ -435,13 +441,15 @@ ReturnValue_t PlocSupvHelper::handleCheckMemoryCommand() {
uint32_t PlocSupvHelper::getFileSize(std::string filename) { uint32_t PlocSupvHelper::getFileSize(std::string filename) {
std::ifstream file(filename, std::ifstream::binary); std::ifstream file(filename, std::ifstream::binary);
file.seekg(0, file.end); file.seekg(0, file.end);
return file.tellg(); uint32_t size = file.tellg();
file.close();
return size;
} }
ReturnValue_t PlocSupvHelper::handleEventBufferReception() { ReturnValue_t PlocSupvHelper::handleEventBufferReception() {
ReturnValue_t result = RETURN_OK; ReturnValue_t result = RETURN_OK;
std::string filename = Filenaming::generateAbsoluteFilename(eventBufferReq.path, std::string filename = Filenaming::generateAbsoluteFilename(
eventBufferReq.filename, timestamping); eventBufferReq.path, eventBufferReq.filename, timestamping);
std::ofstream file(filename, std::ios_base::app | std::ios_base::out); std::ofstream file(filename, std::ios_base::app | std::ios_base::out);
uint32_t packetsRead = 0; uint32_t packetsRead = 0;
size_t requestLen = 0; size_t requestLen = 0;
@ -460,7 +468,7 @@ ReturnValue_t PlocSupvHelper::handleEventBufferReception() {
result = handleTmReception(&tmPacket, requestLen); result = handleTmReception(&tmPacket, requestLen);
if (result != RETURN_OK) { if (result != RETURN_OK) {
sif::debug << "PlocSupvHelper::handleEventBufferReception: Failed while trying to read packet" sif::debug << "PlocSupvHelper::handleEventBufferReception: Failed while trying to read packet"
<< " " << packetsRead + 1 << std::endl; << " " << packetsRead + 1 << std::endl;
file.close(); file.close();
return result; return result;
} }
@ -476,3 +484,7 @@ ReturnValue_t PlocSupvHelper::handleEventBufferReception() {
} }
return result; return result;
} }
//ReturnValue_t PlocSupervisorHandler::parseStatusCode(std::string* meaning) {
//
//}

View File

@ -3,6 +3,7 @@
#include <string> #include <string>
#include "OBSWConfig.h"
#include "fsfw/devicehandlers/CookieIF.h" #include "fsfw/devicehandlers/CookieIF.h"
#include "fsfw/objectmanager/SystemObject.h" #include "fsfw/objectmanager/SystemObject.h"
#include "fsfw/osal/linux/BinarySemaphore.h" #include "fsfw/osal/linux/BinarySemaphore.h"
@ -21,7 +22,7 @@
*/ */
class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public HasReturnvaluesIF { class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public HasReturnvaluesIF {
public: public:
static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::PLOC_MPSOC_HELPER; static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::PLOC_SUPV_HELPER;
//! [EXPORT] : [COMMENT] update failed //! [EXPORT] : [COMMENT] update failed
static const Event SUPV_UPDATE_FAILED = MAKE_EVENT(0, severity::LOW); static const Event SUPV_UPDATE_FAILED = MAKE_EVENT(0, severity::LOW);
@ -116,7 +117,7 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
// Maximum number of times the communication interface retries polling data from the reply // Maximum number of times the communication interface retries polling data from the reply
// buffer // buffer
static const int RETRIES = 10000; static const int RETRIES = 20000;
static const uint16_t CRC16_INIT = 0xFFFF; static const uint16_t CRC16_INIT = 0xFFFF;
// Event buffer reply will carry 24 space packets with 1016 bytes and one space packet with // Event buffer reply will carry 24 space packets with 1016 bytes and one space packet with
// 192 bytes // 192 bytes

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 180 translations. * @brief Auto-generated event translation file. Contains 192 translations.
* @details * @details
* Generated on: 2022-04-13 17:02:22 * Generated on: 2022-04-14 15:49:05
*/ */
#include "translateEvents.h" #include "translateEvents.h"
@ -121,6 +121,21 @@ const char *SUPV_CRC_FAILURE_EVENT_STRING = "SUPV_CRC_FAILURE_EVENT";
const char *SUPV_HELPER_EXECUTING_STRING = "SUPV_HELPER_EXECUTING"; const char *SUPV_HELPER_EXECUTING_STRING = "SUPV_HELPER_EXECUTING";
const char *SANITIZATION_FAILED_STRING = "SANITIZATION_FAILED"; const char *SANITIZATION_FAILED_STRING = "SANITIZATION_FAILED";
const char *MOUNTED_SD_CARD_STRING = "MOUNTED_SD_CARD"; const char *MOUNTED_SD_CARD_STRING = "MOUNTED_SD_CARD";
const char *SUPV_UPDATE_FAILED_STRING = "SUPV_UPDATE_FAILED";
const char *SUPV_UPDATE_SUCCESSFUL_STRING = "SUPV_UPDATE_SUCCESSFUL";
const char *TERMINATED_UPDATE_PROCEDURE_STRING = "TERMINATED_UPDATE_PROCEDURE";
const char *SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING = "SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL";
const char *SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING = "SUPV_EVENT_BUFFER_REQUEST_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING = "SUPV_EVENT_BUFFER_REQUEST_TERMINATED";
const char *SUPV_SENDING_COMMAND_FAILED_STRING = "SUPV_SENDING_COMMAND_FAILED";
const char *SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING = "SUPV_HELPER_REQUESTING_REPLY_FAILED";
const char *SUPV_HELPER_READING_REPLY_FAILED_STRING = "SUPV_HELPER_READING_REPLY_FAILED";
const char *SUPV_MISSING_ACK_STRING = "SUPV_MISSING_ACK";
const char *SUPV_MISSING_EXE_STRING = "SUPV_MISSING_EXE";
const char *SUPV_ACK_FAILURE_REPORT_STRING = "SUPV_ACK_FAILURE_REPORT";
const char *SUPV_EXE_FAILURE_REPORT_STRING = "SUPV_EXE_FAILURE_REPORT";
const char *SUPV_ACK_INVALID_APID_STRING = "SUPV_ACK_INVALID_APID";
const char *SUPV_EXE_INVALID_APID_STRING = "SUPV_EXE_INVALID_APID";
const char *SEND_MRAM_DUMP_FAILED_STRING = "SEND_MRAM_DUMP_FAILED"; const char *SEND_MRAM_DUMP_FAILED_STRING = "SEND_MRAM_DUMP_FAILED";
const char *MRAM_DUMP_FAILED_STRING = "MRAM_DUMP_FAILED"; const char *MRAM_DUMP_FAILED_STRING = "MRAM_DUMP_FAILED";
const char *MRAM_DUMP_FINISHED_STRING = "MRAM_DUMP_FINISHED"; const char *MRAM_DUMP_FINISHED_STRING = "MRAM_DUMP_FINISHED";
@ -145,21 +160,18 @@ const char *POSITION_MISMATCH_STRING = "POSITION_MISMATCH";
const char *STR_HELPER_FILE_NOT_EXISTS_STRING = "STR_HELPER_FILE_NOT_EXISTS"; const char *STR_HELPER_FILE_NOT_EXISTS_STRING = "STR_HELPER_FILE_NOT_EXISTS";
const char *STR_HELPER_SENDING_PACKET_FAILED_STRING = "STR_HELPER_SENDING_PACKET_FAILED"; const char *STR_HELPER_SENDING_PACKET_FAILED_STRING = "STR_HELPER_SENDING_PACKET_FAILED";
const char *STR_HELPER_REQUESTING_MSG_FAILED_STRING = "STR_HELPER_REQUESTING_MSG_FAILED"; const char *STR_HELPER_REQUESTING_MSG_FAILED_STRING = "STR_HELPER_REQUESTING_MSG_FAILED";
const char *SUPV_UPDATE_FAILED_STRING = "SUPV_UPDATE_FAILED"; const char *MPSOC_FLASH_WRITE_FAILED_STRING = "MPSOC_FLASH_WRITE_FAILED";
const char *SUPV_UPDATE_SUCCESSFUL_STRING = "SUPV_UPDATE_SUCCESSFUL"; const char *MPSOC_FLASH_WRITE_SUCCESSFUL_STRING = "MPSOC_FLASH_WRITE_SUCCESSFUL";
const char *TERMINATED_UPDATE_PROCEDURE_STRING = "TERMINATED_UPDATE_PROCEDURE"; const char *MPSOC_SENDING_COMMAND_FAILED_STRING = "MPSOC_SENDING_COMMAND_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING = "SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL"; const char *MPSOC_HELPER_REQUESTING_REPLY_FAILED_STRING = "MPSOC_HELPER_REQUESTING_REPLY_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING = "SUPV_EVENT_BUFFER_REQUEST_FAILED"; const char *MPSOC_HELPER_READING_REPLY_FAILED_STRING = "MPSOC_HELPER_READING_REPLY_FAILED";
const char *SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING = "SUPV_EVENT_BUFFER_REQUEST_TERMINATED"; const char *MPSOC_MISSING_ACK_STRING = "MPSOC_MISSING_ACK";
const char *SUPV_SENDING_COMMAND_FAILED_STRING = "SUPV_SENDING_COMMAND_FAILED"; const char *MPSOC_MISSING_EXE_STRING = "MPSOC_MISSING_EXE";
const char *SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING = "SUPV_HELPER_REQUESTING_REPLY_FAILED"; const char *MPSOC_ACK_FAILURE_REPORT_STRING = "MPSOC_ACK_FAILURE_REPORT";
const char *SUPV_HELPER_READING_REPLY_FAILED_STRING = "SUPV_HELPER_READING_REPLY_FAILED"; const char *MPSOC_EXE_FAILURE_REPORT_STRING = "MPSOC_EXE_FAILURE_REPORT";
const char *SUPV_MISSING_ACK_STRING = "SUPV_MISSING_ACK"; const char *MPSOC_ACK_INVALID_APID_STRING = "MPSOC_ACK_INVALID_APID";
const char *SUPV_MISSING_EXE_STRING = "SUPV_MISSING_EXE"; const char *MPSOC_EXE_INVALID_APID_STRING = "MPSOC_EXE_INVALID_APID";
const char *SUPV_ACK_FAILURE_REPORT_STRING = "SUPV_ACK_FAILURE_REPORT"; const char *MPSOC_HELPER_SEQ_CNT_MISMATCH_STRING = "MPSOC_HELPER_SEQ_CNT_MISMATCH";
const char *SUPV_EXE_FAILURE_REPORT_STRING = "SUPV_EXE_FAILURE_REPORT";
const char *SUPV_ACK_INVALID_APID_STRING = "SUPV_ACK_INVALID_APID";
const char *SUPV_EXE_INVALID_APID_STRING = "SUPV_EXE_INVALID_APID";
const char *TRANSITION_BACK_TO_OFF_STRING = "TRANSITION_BACK_TO_OFF"; const char *TRANSITION_BACK_TO_OFF_STRING = "TRANSITION_BACK_TO_OFF";
const char *NEG_V_OUT_OF_BOUNDS_STRING = "NEG_V_OUT_OF_BOUNDS"; const char *NEG_V_OUT_OF_BOUNDS_STRING = "NEG_V_OUT_OF_BOUNDS";
const char *U_DRO_OUT_OF_BOUNDS_STRING = "U_DRO_OUT_OF_BOUNDS"; const char *U_DRO_OUT_OF_BOUNDS_STRING = "U_DRO_OUT_OF_BOUNDS";
@ -416,6 +428,36 @@ const char *translateEvents(Event event) {
return SANITIZATION_FAILED_STRING; return SANITIZATION_FAILED_STRING;
case (11601): case (11601):
return MOUNTED_SD_CARD_STRING; return MOUNTED_SD_CARD_STRING;
case (11700):
return SUPV_UPDATE_FAILED_STRING;
case (11701):
return SUPV_UPDATE_SUCCESSFUL_STRING;
case (11702):
return TERMINATED_UPDATE_PROCEDURE_STRING;
case (11703):
return SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING;
case (11704):
return SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING;
case (11705):
return SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING;
case (11706):
return SUPV_SENDING_COMMAND_FAILED_STRING;
case (11707):
return SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING;
case (11708):
return SUPV_HELPER_READING_REPLY_FAILED_STRING;
case (11709):
return SUPV_MISSING_ACK_STRING;
case (11710):
return SUPV_MISSING_EXE_STRING;
case (11711):
return SUPV_ACK_FAILURE_REPORT_STRING;
case (11712):
return SUPV_EXE_FAILURE_REPORT_STRING;
case (11713):
return SUPV_ACK_INVALID_APID_STRING;
case (11714):
return SUPV_EXE_INVALID_APID_STRING;
case (11800): case (11800):
return SEND_MRAM_DUMP_FAILED_STRING; return SEND_MRAM_DUMP_FAILED_STRING;
case (11801): case (11801):
@ -465,35 +507,29 @@ const char *translateEvents(Event event) {
case (12016): case (12016):
return STR_HELPER_REQUESTING_MSG_FAILED_STRING; return STR_HELPER_REQUESTING_MSG_FAILED_STRING;
case (12100): case (12100):
return SUPV_UPDATE_FAILED_STRING; return MPSOC_FLASH_WRITE_FAILED_STRING;
case (12101): case (12101):
return SUPV_UPDATE_SUCCESSFUL_STRING; return MPSOC_FLASH_WRITE_SUCCESSFUL_STRING;
case (12102): case (12102):
return TERMINATED_UPDATE_PROCEDURE_STRING; return MPSOC_SENDING_COMMAND_FAILED_STRING;
case (12103): case (12103):
return SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL_STRING; return MPSOC_HELPER_REQUESTING_REPLY_FAILED_STRING;
case (12104): case (12104):
return SUPV_EVENT_BUFFER_REQUEST_FAILED_STRING; return MPSOC_HELPER_READING_REPLY_FAILED_STRING;
case (12105): case (12105):
return SUPV_EVENT_BUFFER_REQUEST_TERMINATED_STRING; return MPSOC_MISSING_ACK_STRING;
case (12106): case (12106):
return SUPV_SENDING_COMMAND_FAILED_STRING; return MPSOC_MISSING_EXE_STRING;
case (12107): case (12107):
return SUPV_HELPER_REQUESTING_REPLY_FAILED_STRING; return MPSOC_ACK_FAILURE_REPORT_STRING;
case (12108): case (12108):
return SUPV_HELPER_READING_REPLY_FAILED_STRING; return MPSOC_EXE_FAILURE_REPORT_STRING;
case (12109): case (12109):
return SUPV_MISSING_ACK_STRING; return MPSOC_ACK_INVALID_APID_STRING;
case (12110): case (12110):
return SUPV_MISSING_EXE_STRING; return MPSOC_EXE_INVALID_APID_STRING;
case (12111): case (12111):
return SUPV_ACK_FAILURE_REPORT_STRING; return MPSOC_HELPER_SEQ_CNT_MISMATCH_STRING;
case (12112):
return SUPV_EXE_FAILURE_REPORT_STRING;
case (12113):
return SUPV_ACK_INVALID_APID_STRING;
case (12114):
return SUPV_EXE_INVALID_APID_STRING;
case (12200): case (12200):
return TRANSITION_BACK_TO_OFF_STRING; return TRANSITION_BACK_TO_OFF_STRING;
case (12201): case (12201):

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 117 translations. * Contains 116 translations.
* Generated on: 2022-04-13 17:02:27 * Generated on: 2022-04-14 15:49:10
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -45,7 +45,6 @@ const char *ACU_HANDLER_STRING = "ACU_HANDLER";
const char *BPX_BATT_HANDLER_STRING = "BPX_BATT_HANDLER"; const char *BPX_BATT_HANDLER_STRING = "BPX_BATT_HANDLER";
const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER"; const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER";
const char *RAD_SENSOR_STRING = "RAD_SENSOR"; const char *RAD_SENSOR_STRING = "RAD_SENSOR";
const char *PLOC_UPDATER_STRING = "PLOC_UPDATER";
const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER"; const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER";
const char *STR_HELPER_STRING = "STR_HELPER"; const char *STR_HELPER_STRING = "STR_HELPER";
const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER"; const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER";
@ -204,8 +203,6 @@ const char *translateObject(object_id_t object) {
return PLPCDU_HANDLER_STRING; return PLPCDU_HANDLER_STRING;
case 0x443200A5: case 0x443200A5:
return RAD_SENSOR_STRING; return RAD_SENSOR_STRING;
case 0x44330000:
return PLOC_UPDATER_STRING;
case 0x44330001: case 0x44330001:
return PLOC_MEMORY_DUMPER_STRING; return PLOC_MEMORY_DUMPER_STRING;
case 0x44330002: case 0x44330002:

View File

@ -472,7 +472,6 @@ ReturnValue_t pst::pstUart(FixedTimeslotTaskIF *thisSequence) {
#endif #endif
#ifdef XIPHOS_Q7S #ifdef XIPHOS_Q7S
thisSequence->addSlot(objects::PLOC_UPDATER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::PLOC_MEMORY_DUMPER, length * 0, thisSequence->addSlot(objects::PLOC_MEMORY_DUMPER, length * 0,
DeviceHandlerIF::PERFORM_OPERATION); DeviceHandlerIF::PERFORM_OPERATION);
#endif #endif

View File

@ -2,7 +2,7 @@
#include "fsfw/serviceinterface/ServiceInterfaceStream.h" #include "fsfw/serviceinterface/ServiceInterfaceStream.h"
ProgressPrinter::ProgressPrinter(std::string name, uint32_t numSteps) ProgressPrinter::ProgressPrinter(std::string name, uint32_t numSteps, uint32_t percentageResolution)
: name(name), numSteps(numSteps) {} : name(name), numSteps(numSteps) {}
ProgressPrinter::~ProgressPrinter() {} ProgressPrinter::~ProgressPrinter() {}

View File

@ -10,13 +10,18 @@
*/ */
class ProgressPrinter { class ProgressPrinter {
public: public:
static const uint32_t ONE_PERCENT = 1;
/** /**
* @brief Constructor * @brief Constructor
* *
* @param name Name of the process to monitor * @param name Name of the process to monitor
* @param numSteps Number of steps to execute * @param numSteps Number of steps to execute
* @param percentageResolution Distance between printed percentage steps. E.g. 5 means that
* a printout will be generated after 0%, 5%, 10% etc.
*/ */
ProgressPrinter(std::string name, uint32_t numSteps); ProgressPrinter(std::string name, uint32_t numSteps, uint32_t percentageResolution = FIVE_PERCENT);
virtual ~ProgressPrinter(); virtual ~ProgressPrinter();
/** /**

2
tmtc

@ -1 +1 @@
Subproject commit a3d9e83dc6aa378d92f0d97dfe734ab67f705805 Subproject commit edee0c1aa38c7a07eb82cd358cd7e921536d075e