-
Notifications
You must be signed in to change notification settings - Fork 207
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
Header version/implementation selection logic update #796
Comments
Proposal:
|
VER_2 define is also used to set the MID_BASE and MID_GLOB values, which has it's own problems and ticket for discussion at #732. |
why |
There actually is a reason - this typedef is the "internal value" and not the one passed around by apps. The value used in the external API is The term "Atom" originates from the circa 3-4 years ago when the GHAPS project was developing the EDS toolchain and it looked like the CFE infrastructure would move potentially toward an EDS-based solution. This tool puts an "_Atom_t" suffix on all the fundamental data types (integers, etc) that are generated from EDS definitions. All hardcoded data types in the "*_extern_typedefs.h" files were separated from the normal API/msg header file in anticipation of transitioning to a generated header file in some future version. I'm not necessarily tied to the "Atom" term - as it does imply atomicness but that is not necessarily so - but I do think these basic/fundamental data types used for interoperability should share a common suffix that is different than just |
how about CFE_SB_MsgId_Internal_t (or some abbrev.?) |
Not an internal/external thing -- it is a question of if we want to name typedefs of basic fundamental values (e.g. int, float) differently than compound values (struct, union, etc). The EDS tool (currently) generates typedefs with the following pattern: While I do like having some indicator in the typedef name to indicate its nature, I'm not bound to it. Could be replaced by another layer of typedef or updating the tool to output typedefs without the extra suffix. It was a CCB topic of conversation years ago when these As it stands, it was only types/structs that were anticipated being part of the inter-processor communication (message, tables) that ever had this convention applied anyway - types for internal use were never made to match this pattern. |
Thanks Joe, makes sense.
CFE_aF3#_t -> SB, Internal, Atom, Message, ID... |
- Removes MESSAGE_FORMAT_IS_CCSDS_VER2 and all references - Now replaced by MISSION_MSGID_V2 and MISSION_INCLUDE_CCSDS_HEADER cmake variables - Base MIDs localized to cpu1_msgids.h and improved documentation indicating example nature of implementation, note issue nasa#732 may make this obsolete - Updated cfe_sb.dox for message module concept - MsgId base type now always uint32 (reduces logic differences) - Removed system log report of version used, in build and obvious from packet sizes - Cleaned extra documentation from cfe_sb_msg_id_util.c - Removed verification limits on CFE_PLATFORM_SB_MAX_MSG_IDS - Removed UT_GetActualPktLenField and UT_GetActualCmdCodeField that depended on the define, shouldn't directly access message in a unit test since it's implementation dependent - Default CCSDS version default now always 0 (per the standard) but mission configurable
- Removes MESSAGE_FORMAT_IS_CCSDS_VER2 and all references - Now replaced by MISSION_MSGID_V2 and MISSION_INCLUDE_CCSDS_HEADER cmake variables - Base MIDs localized to cpu1_msgids.h and improved documentation indicating example nature of implementation, note issue nasa#732 may make this obsolete - Updated cfe_sb.dox for message module concept - MsgId base type now always uint32 (reduces logic differences) - Removed system log report of version used, in build and obvious from packet sizes - Cleaned extra documentation from cfe_sb_msg_id_util.c - Removed verification limits on CFE_PLATFORM_SB_MAX_MSG_IDS - Removed UT_GetActualPktLenField and UT_GetActualCmdCodeField that depended on the define, shouldn't directly access message in a unit test since it's implementation dependent - Default CCSDS version default now always 0 (per the standard) but mission configurable
Fix #796, Remove dependency on CCSDS version define
Is your feature request related to a problem? Please describe.
#726 separates the header implementation logic and paves the way to use source selection for msgid implementation and CCSDS extended header use. It partially uses new cmake flags to implement, but still relies on MESSAGE_FORMAT_IS_CCSDS_VER_2 being set correctly (but does not do it by default).
Describe the solution you'd like
Remove dependencies on MESSAGE_FORMAT_IS_CCSDS_VER_2 (see proposal below)
Describe alternatives you've considered
Consider changing cfe configs to cmake options (like the osconfig update), and use the cmake options to set the define if still required. Or could just set the version 2 define if either cmake option (from #726) is set.
Additional context
#726
Requester Info
Jacob Hageman - NASA/GSFC
The text was updated successfully, but these errors were encountered: