nasa / CS

The Core Flight System (cFS) Checksum (CS) application.
Apache License 2.0
28 stars 25 forks source link

Requirement verification failure #54

Open dmknutsen opened 1 year ago

dmknutsen commented 1 year ago

Describe the bug The following requirements fail verification testing because for each - an event message is sent, but Checksumming is not disabled:

9007.2 (User Memory) CS shall send an event message and disable Checksumming of the User-Defined Memory, if the state is not one of the following: a) enabled b) disabled c) empty

9007.1 (User Memory) If the address range for any of the User-Defined Memory is Invalid, CS shall send an event message and disable User-Defined Memory Checksumming

9006.1 (Tables) CS shall send an event message and disable Table Checksumming, if the state is not one of the following: a) enabled b) disabled c) empty

9005.1 (Apps) CS shall send an event message and disable Application code segment Checksumming, if the state is not one of the following: a) enabled b) disabled c) empty

9003.2 (Non-Volatile) CS shall send an event message and disable Non-volatile Checksumming, if the state is not one of the following: a) enabled b) disabled c) empty

9003.1 (Non-Volatile) If the address range for any of the Non-volatile segments is Invalid, CS shall send an event message and disable Non-volatile Checksumming

Expected behavior Checksumming will need to be disabled in each case or the requirements will need to be updated

Code snips Example from cs_table_processing.c: if (Result != CS_TABLE_ERROR) { CFE_EVS_SendEvent (CS_VAL_EEPROM_STATE_ERR_EID, CFE_EVS_EventType_ERROR, "Eeprom Table Validate: Illegal State Field (0x%04X) found in Entry ID %d", (unsigned short)StateField, (int)OuterLoop); Result = CS_TABLE_ERROR;
}

Reporter Info Dan Knutsen NASA Goddard

havencarlson commented 1 year ago

I believe checksumming is being disabled in CS_InitAllTables()

Example: https://github.com/nasa/CS/blob/d9c10344ac279819e8841d063fea80381eb3af75/fsw/src/cs_init.c#L111-L116