Checklist (Please check before submitting)
Describe the bug
If the critical data store is not used to recover the memory dwell tables and the tables are loaded directly from the filesystem, the MD app will pass initialization verification however will fail to process the tables when memory dwell is started with the MD_START_DWELL_CC command.
To Reproduce
Steps to reproduce the behavior:
- Add valid memory dwell entries to memory dwell table(s)
- Build cFS with MD app
- Start cFS on target system
- Send MD_START_DWELL_CC to start dwelling on configured table(s)
- See error:
...
EVS Port1 1970-012-14:03:23.47792 66/1/MD 52: MD Dwell Tbl verify results: good = 25, bad = 0, unused = 0
EVS Port1 1970-012-14:03:23.47984 66/1/MD 52: MD Dwell Tbl verify results: good = 25, bad = 0, unused = 0
EVS Port1 1970-012-14:03:23.48211 66/1/MD 52: MD Dwell Tbl verify results: good = 25, bad = 0, unused = 0
EVS Port1 1970-012-14:03:23.49252 66/1/MD 52: MD Dwell Tbl verify results: good = 25, bad = 0, unused = 0
EVS Port1 1970-012-14:03:23.49328 66/1/MD 7: Dwell Tables Recovered: 0, Dwell Tables Initialized: 4
...
EVS Port1 1970-012-14:03:23.49365 66/1/MD 1: MD Initialized. Version 2.4.99.0
EVS Port1 1970-012-14:03:33.70231 66/1/MD 51: Dwell Table 1 is enabled with a delay of zero so no processing will occur
EVS Port1 1970-012-14:03:33.70327 66/1/MD 51: Dwell Table 2 is enabled with a delay of zero so no processing will occur
EVS Port1 1970-012-14:03:33.70414 66/1/MD 51: Dwell Table 3 is enabled with a delay of zero so no processing will occur
EVS Port1 1970-012-14:03:33.70491 66/1/MD 51: Dwell Table 4 is enabled with a delay of zero so no processing will occur
EVS Port1 1970-012-14:03:33.70532 66/1/MD 12: Start Dwell Table command processed successfully for table mask 0x000F
Expected behavior
Expected behavior is for the MD app to process the requested table(s) when commanded.
Code snips
If tables aren't recovered from CDS, then the CFE MD App Tables need to be copied to the MD_AppData.MD_DwellTables[] structures. As the tables currently aren't being copied in this configuration the calculated delay time will always be 0 and which will fail table processing. See below, for possible resolution.
FROM:
|
/* |
|
** Load initial values if needed |
|
*/ |
|
if ((RecoveredValidTable == false) && (TableInitValidFlag == true)) |
|
{ |
|
Status = |
|
CFE_TBL_Load(MD_AppData.MD_TableHandle[TblIndex], CFE_TBL_SRC_FILE, /* following ptr is memory ptr */ |
|
(const void *)TblFileName); /* Pointer to data to be loaded */ |
|
|
|
MD_AppData.MD_DwellTables[TblIndex].Enabled = MD_DWELL_STREAM_DISABLED; |
|
|
|
if (Status != CFE_SUCCESS) |
TO:
/*
** Load initial values if needed
*/
if ((RecoveredValidTable == false) && (TableInitValidFlag == true))
{
Status =
CFE_TBL_Load(MD_AppData.MD_TableHandle[TblIndex], CFE_TBL_SRC_FILE, /* following ptr is memory ptr */
(const void *)TblFileName); /* Pointer to data to be loaded */
GetAddressResult = CFE_TBL_GetAddress((void *)&MD_LoadTablePtr, MD_AppData.MD_TableHandle[TblIndex]);
MD_CopyUpdatedTbl(MD_LoadTablePtr, TblIndex);
MD_AppData.MD_DwellTables[TblIndex].Enabled = MD_DWELL_STREAM_DISABLED;
if (Status != CFE_SUCCESS)
}
System observed on:
Reporter Info
Mark Foster
NASA / Johnson Space Center / ER6
Checklist (Please check before submitting)
Describe the bug
If the critical data store is not used to recover the memory dwell tables and the tables are loaded directly from the filesystem, the MD app will pass initialization verification however will fail to process the tables when memory dwell is started with the MD_START_DWELL_CC command.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Expected behavior is for the MD app to process the requested table(s) when commanded.
Code snips
If tables aren't recovered from CDS, then the CFE MD App Tables need to be copied to the MD_AppData.MD_DwellTables[] structures. As the tables currently aren't being copied in this configuration the calculated delay time will always be 0 and which will fail table processing. See below, for possible resolution.
FROM:
MD/fsw/src/md_app.c
Lines 450 to 461 in 7c7a544
TO:
System observed on:
Reporter Info
Mark Foster
NASA / Johnson Space Center / ER6