Register the CF configuration table as dump-only

Aperta
#429 1 commento 0 reazioni 2 assegnatari Vedi su GitHub

@dmknutsen ci sta già lavorando.

Dal 27/4/2023.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Equuleus-rc2

Describe the bug
This is based on testing for the PACE mission.
In cf_app.c function CF_CheckForTblRequests blocks attempts to do updates to the configuration table. However, the configuration table is registered as CFE_TBL_OPT_LOAD_DUMP in CF_TableInit. An operator can execute load, validate and activate cmds as normally expected for a loadable table, but the activation request results in a load attempt that must be aborted.
Seems it would make more sense to register it as CFE_TBL_OPT_DUMP_ONLY
Aside from blocking the update attempt, this CF_CheckForTblRequests function appears to be in place in case "gnd may be trying to get the checksum of the table" - then it executes the table validation function.
But the table checksum can be obtained by using the tbl.tlm_reg command.

To Reproduce
Steps to reproduce the behavior:

  1. Dump the CF configuration table to ram
  2. Load, validate and activate the table using the dumped file.
  3. You should see these messages at the end:
    INFO DLEON CFE_TBL 36: CF validation successful for Inactive 'CF.ConfigTable'
    ERROR DLEON CF 151: CF Config Tbl cannot be updated! Load attempt must be aborted!

Expected behavior
Since the CF configuration table shows up in the table registry as "FALSE" for the DUMP ONLY flag, I expected it could be loaded.

Code snips
In cf_app.c,
function CF_TableInit
/* Register The CF Config Table /
Status = CFE_TBL_Register (&CF_AppData.ConfigTableHandle,
CF_CONFIG_TABLE_NAME,
sizeof (cf_config_table_t) ,
CFE_TBL_OPT_SNGL_BUFFER | CFE_TBL_OPT_LOAD_DUMP,
CF_ValidateCFConfigTable);
function CF_CheckForTblRequests
/
if gnd is trying to do a tbl load */
else if (Status == CFE_TBL_INFO_UPDATE_PENDING)
{
CFE_EVS_SendEvent(CF_TBL_LD_ATTEMPT_EID, CFE_EVS_ERROR,
"CF Config Tbl cannot be updated! Load attempt must be aborted!");
}

System observed on:

  • PACE DLEON processor
  • OS: VxWorks 6.9
  • Versions
    • cFE 6.6.05
    • CF 2.2.1.4

Additional context
None

Reporter Info
Michael Lambertson Goddard Space Flight Center Code 582 / Vantage Systems, Inc.

Lingua principale
C
Stelle
122
Fork
79
Merge medio
1g 15h
PR unite (30g)
4

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nasa/CF

Tutte le issue di nasa/CF

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.