Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement CFDP MIB #25

Open
ThirteenFish opened this issue Mar 31, 2024 · 0 comments
Open

Implement CFDP MIB #25

ThirteenFish opened this issue Mar 31, 2024 · 0 comments
Assignees

Comments

@ThirteenFish
Copy link
Contributor

ThirteenFish commented Mar 31, 2024

The MIB, or Management Information Base, contains CFDP related communication parameters - most importantly entity IDs. See CCSDS 727.0-B-5 (the Blue Book) section 8 for the full list. Each CFDP entity has one local configuration (table 8-1) and a collection of remote configurations (table 8-2), one for each known entity that the local entity will communicate with. Since they're shared information between various locations (here the C3 and ground), oresat-configs is a good location to keep all of them.

In cfdpy-py these are implemented with LocalEntityCfg and RemoteEntityCfg which are simple dataclasses. There's ample examples of converting yaml -> dataclass, but yaml parsing is very slow so it'd be a bit tragic to add another file to the pile. We could just write the classes directly in python - that'd be the fastest with no external parsing required, but other languages couldn't then parse them. I think yamcs wants to use this? Which is Java? I don't think a CSV would be a good fit, there's too many fields to be reasonably readable. TOML could work but that'd be introducing yet another markup language.

Also the local entity default fault handlers and remote entity opportunities should be left out as they're likely to be project specific code instead of data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants