Earth Observation Mission CFI Software EECommon Software User Manual |
Code | EO-MA-DMS-GS-010 |
Issue | 4.28 |
Date | 13/12/24 |
Name | Function | Signature | |
Prepared by: | EOCFI Team | Project Engineers | |
Checked by: | Inês Estrela | Project Manager | |
Approved by: | Antonio Gutierrez | Division Head |
Contract Data | Classification | ||
---|---|---|---|
Contract Number: | 4000102614/1O/NL/FF/ef | Internal | |
Public | |||
Contract Issuer: | ESA / ESTEC | Industry | X |
Confidential |
External Distribution | ||
---|---|---|
Name | Organization | Copies |
Electronic handling | ||
---|---|---|
Document generator: | Doxygen 1.7.1 | |
Electronic file name: | eo-ma-dms-gs-010-10 |
Issue | Change Description | Date | Approval |
---|---|---|---|
1.0 | These libraries corresponds to version 4.0 of C libraries. | 27/03/09 | |
4.1 | These libraries corresponds to version 4.1 of C libraries. | 07/05/10 | |
4.2 | These libraries corresponds to version 4.2 of C libraries. | 31/01/11 | |
4.3 | These libraries corresponds to version 4.3 of C libraries. | 06/02/12 | |
4.4 | These libraries corresponds to version 4.4 of C libraries. | 05/07/12 | |
4.5 | These libraries corresponds to version 4.5 of C libraries. | 01/03/13 | |
4.6 | These libraries corresponds to version 4.6 of C libraries. | 03/10/13 | |
4.7 | These libraries corresponds to version 4.7 of C libraries. | 28/03/14 | |
4.8 | These libraries corresponds to version 4.8 of C libraries. | 29/10/14 | |
4.9 | These libraries corresponds to version 4.9 of C libraries. | 23/04/15 | |
4.10 | These libraries corresponds to version 4.10 of C libraries. | 29/10/15 | |
4.11 | These libraries corresponds to version 4.11 of C libraries. | 15/04/16 | |
4.12 | These libraries corresponds to version 4.12 of C libraries. | 03/11/16 | |
4.13 | These libraries corresponds to version 4.13 of C libraries. | 05/04/17 | |
4.14 | These libraries corresponds to version 4.14 of C libraries. | 16/11/17 | |
4.15 | These libraries corresponds to version 4.15 of C libraries. | 20/04/18 | |
4.16 | These libraries corresponds to version 4.16 of C libraries. | 09/11/18 | |
4.17 | These libraries corresponds to version 4.17 of C libraries. | 10/05/19 | |
4.18 | These libraries corresponds to version 4.18 of C libraries. | 08/11/19 | |
4.19 | These libraries corresponds to version 4.19 of C libraries. | 29/05/20 | |
4.20 | These libraries corresponds to version 4.20 of C libraries. | 30/11/20 | |
4.21 | These libraries corresponds to version 4.21 of C libraries. | 23/06/21 | |
4.22 | These libraries corresponds to version 4.22 of C libraries. | 22/12/21 | |
4.23 | These libraries corresponds to version 4.23 of C libraries. | 23/06/22 | |
4.24 | These libraries corresponds to version 4.24 of C libraries. | 29/11/22 | |
4.25 | These libraries corresponds to version 4.25 of C libraries. | 10/05/23 | |
4.26 | These libraries corresponds to version 4.26 of C libraries. | 31/10/23 | |
4.27 | These libraries corresponds to version 4.27 of C libraries. | 07/06/24 | |
4.28 | These libraries corresponds to version 4.28 of C libraries. | 13/12/24 |
|
ANX | Ascending Node Crossing |
AOCS | Attitude and Orbit Control Subsystem |
ASCII | American Standard Code for Information Interchange |
BOM | Beginning Of Mission |
CFI | Customer Furnished Item |
EOM | End Of Mission |
ESA | European Space Agency |
ESTEC | European Space Technology and Research Centre |
GPL | GNU Public License |
GPS | Global Positioning System |
IERS | International Earth Rotation Service |
I/F | Interface |
LS | Leap Second |
OBT | On-board Binary Time |
OSF | Orbit Scenario File |
SRAR | Satellite Relative Actual Reference |
SUM | Software User Manual |
TAI | International Atomic Time |
UTC | Coordinated Universal Time |
UT1 | Universal Time UT1 |
WGS[84 | World Geodetic System 1984 |
CFI | A group of CFI functions, and related software and documentation. that will be distributed by ESA to the users as an independent unit |
CFI function | A single function within a CFI that can be called by the user |
Library | A software library containing all the CFI functions included within a CFI plus the supporting functions used by those CFI functions (transparently to the user) |
In order to keep compatibility with legacy CFI libraries, the Earth Observation Mission CFI Software makes use of terms that are linked with missions already or soon in the operational phase like the Earth Explorers. This may be reflected in the rest of the document when examples of Mission CFI Software usage are proposed or description of Mission Files is given.
[GEN_SUM] | Earth Observation Mission CFI Software. General Software User Manual. EO-MA-DMS-GS-017. Issue 4.28 13/12/24 |
This software library contains classes common to the rest of CFI classes. The following CFI classes are included:
CfiClass is the base class for all the CFI classes (but error handling classes) with common methods to handle warnings in error messages
CfiError is the class used to handle exceptions thrown by CFI classes methods. Every time an error is detected in the methods of CFI classes, an exception of type CfiError is thrown, and it must be caught with a try-catch block.
For a detailed description of the installation of any CFI library, please refer to [GEN_SUM].
To use the CFI EECOMMON software library in an user application, that application must include in its source code the header files where the classes that are going to be used are defined.
To link correctly this application, the user must include in his linking command flags like (assuming cfi_lib_dir and cfi_include_dir are the directories where respectively all CFI libraries and include files have been installed, see [GEN_SUM] for installation procedures):
Note that, this library is only used to give suport to other CFI libraries and it doesn't provide any functionality by itself.
As Earth Observation CFI libraries are dynamic, cfi_lib_dir must be included in the path where the system looks for dynamic libraries (LD_LIBRARY_PATH in LINUX and SOLARIS, DYLD_LIBRARY_PATH in MacOs). For WINDOWS sytem, the executable will look for .dll libraries, not the .lib ones that are used to create the executable, so they must be in the path described by PATH variable.
All the classes described in this document are defined in EECFI namespace, to avoid any possible conflict with classes of other libraries, so the user must choose one of the following two options in order to use the classes: