nasa / nasa/cFS

Draco v7.0.0: Add table query support to EDS python libraries

Open
#950 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
1.5k
Forks
391
Avg merge
1d 11h
Merged PRs (30d)
19

Description

Checklist (Please check before submitting)

  • I reviewed the Contributing Guide.
  • I reviewed the cFS README.md file to see if the feature is in the major future work.
  • I performed a cursory search to see if the feature request is relevant, not redundant, nor in conflict with other tickets.

Is your feature request related to a problem? Please describe.
The EDS library used with the cFS Draco release supports tables being defined in the . The exported table interface is used by the cFE. However, the interface is not part of Python CFE_MIissionLib generated from the EDS. This means Python can't access the table structure definitions like it can with telecommands and telemetry messages.

Describe the solution you'd like
I'd to see the ability to query for tables using CFE_MissionLib.Database().interface(). Using the EDS package name (i.e. app name) combined with the table name specified in the interface definition seems like a reasonable strategy. This differs from cmd/tlm messages where topic IDs are used.

Describe alternatives you've considered
As a temporary hack, I've created "proxy" telemetry messages that contain table file definitions as their payload. A downside to this is that topic IDs are being used for tables.

Additional context
Add any other context about the feature request here.
None

Requester Info
David McComas/Open STEMware Foundation

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the generated Python CFE_MissionLib.Database().interface() entry point and the EDS table definitions. Compare how telemetry and telecommand interfaces are exposed, then verify that a table can be queried using its EDS package and table name and that its structure is accessible to Python callers.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, python
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.