nasa / cFE

The Core Flight System (cFS) Core Flight Executive (cFE)
Apache License 2.0
403 stars 199 forks source link

Consolidate bit manipulation (and other general) macros #844

Open skliper opened 3 years ago

skliper commented 3 years ago

Is your feature request related to a problem? Please describe. Various services define various bit manipulation or other general macros, repeated/inconsistent logic.

Bit manipulation: https://github.com/nasa/cFE/blob/06c08268f2d7a7fe72aceec8c33201ce6ccba2f4/fsw/cfe-core/src/inc/cfe_sb.h#L114-L120

https://github.com/nasa/cFE/blob/06c08268f2d7a7fe72aceec8c33201ce6ccba2f4/fsw/cfe-core/src/inc/cfe_es.h#L60-L63

https://github.com/nasa/cFE/blob/06c08268f2d7a7fe72aceec8c33201ce6ccba2f4/fsw/cfe-core/src/inc/ccsds.h#L66-L73

OS_PRINTF: https://github.com/nasa/cFE/blob/06c08268f2d7a7fe72aceec8c33201ce6ccba2f4/fsw/cfe-core/src/inc/cfe_es.h#L51-L58

https://github.com/nasa/cFE/blob/06c08268f2d7a7fe72aceec8c33201ce6ccba2f4/fsw/cfe-core/src/inc/cfe_evs.h#L53-L60

Describe the solution you'd like Better scoping, consolidation into general bit manipulation macro header

Describe alternatives you've considered None.

Additional context None

Requester Info Jacob Hageman - NASA/GSFC

skliper commented 3 years ago

There's another stray one: https://github.com/nasa/cFE/blob/db829294eba01b88683e679d58435f65ca02f826/cmake/sample_defs/cpu1_platform_cfg.h#L1726-L1731

I'd think this should actually go away... only used locally and assembling ID's this way feels like extra complexity we don't really require.