Overview
The cfs ECI (External Code Interface) is a software abstraction layer which allows the interfacing of externally-generated task/mission-specific code to the Core Flight System (cFS) via a generic set of wrapper code. The ECI enables direct integration of heritage or autogenerated code without the need for hand-written interface code and allows access to cFS API's including table services, time services, the software bus, event services, and fault reporting.
The ECI accomplishes this by compiling with a interface definition (defined as a header file) which contains the data structures needed to manage the CFS interfaces for the external code. The result of compiling the ECI, the interface header file, and the external code is a full CFS application. This process eliminates the need for hand edits to integrate generated code, allowing quicker integration of code and reducing the probability of human error in the integration process.