Part of [[cFE Application Developers Guide]]
- Does not directly communicate with hardware
- Receives messages via SB, manipulates the data, and issues TLM/CMD messages
- Examples
- Stored Command, Scheduler (SCH) applications
- Should never directly interface with any piece of hardware, or the underlying OS
- Function calls to functions outside the application's code should be either to the cFE APIs, or the OSAL
- Communicates directly with a piece of hardware
- Should follow the below device driver model
- Use the sample app to generate your component according to the template
- All files should begin with component name as prefix to ensure unique filenames
- See provided tables for description of how each file should be named/what the names mean
- Note the "IMPORTANT" note about the INTERFACE scope
- Basically, be careful when changing any of the files classified as having the INTERFACE scope, because those changes need to be made to all other cFE apps
- Table and message definitions are split between
defs.handstruct.hfiles defs.hcontains definitions coupled to the app source code- Should contain the payload structure definitions (content of commands consumed/produced by the app)
- Also any constants needed to support those definitions
struct.hcontains definitions coupled to the message-passing interface- Should contain the structures that are actually passed via the SB/messaging interface
