Bug #649
closedCCSDS_TC_PKT_MAX_SIZE wrong: detection of a TC with wrong length
0%
Description
Le requirement suivant est passé de design a test.
Command packets (DPU Software to RPW analyzer flight software)
SSS-IF-DPS-EQ-180
Command packets (DPU SW to RPW analyzer SW)
The Analyzer Flight Software shall receive commands from the DPU Software as Telecommand
Source Packets according to [ES1] with a maximum length given below for each analyzer:
- LFR: SY_LFR_TC_MAX_LEN = 228 bytes (i.e. 216 bytes of application data)
J'ai regardé dans ton code et toi tu testes si la longueur de la TC est < CCSDS_TC_PKT_MAX_SIZE qui vaut 255.
fsw_spacewire.c
--> lecture du buffer
estimatePacketslength = len -CCSDS_TC_TM_PACKET_OFFSET -3
-CCSDS_TC_TM_PACKET_OFFSET = 7
ensuite appel de la fonction tc_parser
cette fonction est dans le fichier tc_acceptance.c
*elle va verifier la longueur de la TC avec la valeur CCSDS_TC_PKT_MAX_SIZE = 255 et cela ce n est pas bon
WRONG_LEN_PKT
*
ensuite on verifie que la lg est compatible avec le subtype (tc_check_length)
ensuite il va envoyer uen send_tm_lfr_tc_exe_corrupted
il y a un champ currentTC_LEN_RCV = lg du buffer lu rangé dans un 16 bits.
Dans les logs voici ce que l on obtient:
15:56:39.56912, * 32 , TM_LFR_TC_EXE_CORRUPTED, CCSDS_VERSION_NUMBER = 0, PACKET_TYPE: TM_PACKET = 0, DATA_FIELD_HEADER_FLAG: WITH_HEADER = 1, PROCESS_ID: RPW_PID_2 = 76, PACKET_CATEGORY: ACKNOWLEDGE = 1, (PACKET_ID=0xcc1), SEGMENTATION_GROUPING_FLAG: STANDALONE_PACKET = 3, SEQUENCE_CNT=24, (PACKET_SEQUENCE_CONTROL=0xc018), PACKET_LENGTH=25, SPARE_1=0, PUS_VERSION = 1, SPARE_2=0, SERVICE_TYPE: TELECOMMAND_VERIFICATION = 1, SERVICE_SUBTYPE: TC_EXECUTION_COMPLETION_FAILURE = 8, DESTINATION_ID: MISSION_TIMELINE = 110, TIME=0x8000001f5a68, PA_RPW_TELECOMMAND_PKT_ID=0x1ccc, PA_RPW_PKT_SEQ_CONTROL=0xccf3, PA_RPW_TC_FAILURE_CODE: CORRUPTED = 42005, PA_RPW_TC_SERVICE=181, PA_RPW_TC_SUBTYPE=93, *PA_RPW_PKT_LEN_RCV_VALUE=231, PA_RPW_PKT_DATFIELDSIZE_CNT=231, PA_RPW_RCV_CRC=0x7b4, PA_RPW_COMPUTED_CRC=0x7b4
Les fichiers de test sont dans /home/validation/data/R3/3.0.0.22/1.1.89/SVS-0003
Contexte du test
---------------------
FSW 3.0.0.22
VHDL 1.1.89
EM sans Timegen
SocExplorerEngine.getSocExplorer: Version = 0.6.2, Branch = default, Changeset = 819d0376d481
StarDundee
Files
Related issues