Abaco Systems supplies an extensive software Application Programming Interface (API) for the CEI-x30 product line. API routines are supplied to setup the interface, configure channel attributes, and transmit and receive data for the most common desktop and embedded programming environments (Windows, Linux, Integrity, and VxWorks).
Alphabetical API Function Index
Hierarchical API Function Index
Application Programming Utilities
This library of utility routines provides the ability to write your own programs to interface with a CEI-x30 product. They are written in C and delivered in a generic ANSI C compiler-compatible format. They can be called from other languages by adhering to the procedures defined in the applicable documentation. The API consists of the following C source files:
CDEV_API.C
This file contains a limited set of API routines providing access to the most used features and functionality for an embedded application environment.
CDEV_API_A717.C
This file contains the set of API routines specifically related to the ARINC 717 protocol features and functionality provided with the CEI-x30 products.
CDEV_API_CFG_FILE.C
This file contains the set of API routines specifically related to the configuration file accessible board configuration and scheduled message setup features.
CDEV_API_EXP_RX.C
This file contains the set of API routines specifically related to both the expanded and legacy message receive functions.
CDEV_API_EXP_TX.C
This file contains the set of API routines specifically related to both the expanded and legacy message transmit functions.
CDEV_API_INTRPT.C
This file contains the set of API routines specifically related to the PCI Interrupt features and functionality provided with the CEI-x30 products.
CDEV_API_IRIG.C
This file contains the set of private API utility routines specifically related to the IRIG generator and receiver features and functionality provided with the CEI-x30 products.
CDEV_API_LEGACY_API.C
This file contains the set of API routines specifically provided to support application migration from older ARINC products and API's.
CDEV_API_PLX_PGM.C
This file contains the set of private API utility routines specifically related programming the firmware on CEI-x30 products utilizing a PLX PCI interface design.
CDEV_API_RX_FILTER.C
This file contains the set of API routines specifically related to the Receive Label Filtering features and functionality provided with the CEI-x30 products.
CDEV_API_SCHED.C
This file contains the set of API routines specifically related to the onboard Transmit Message Scheduler features and functionality provided with the CEI-x30 products.
CDEV_API_UTILITY.C
This file contains the set of API routines specifically related to utilities not typically incorporated into embedded or simulation based applications.
CDEV_WIN.C
This file contains the C routines that interface directly with the ARINC common low-level driver interface library, CEI_LL.LIB/DLL, supporting all Windows operating systems.
CDEV_VXW.C
This file contains the C routines that interface directly with the VxWorks kernel.
CDEV_LNX.C
This file contains the routines that interface directly with the Linux kernel driver provided with the CEI-x30 Linux distribution archive.
CDEV_INT.C
This file contains the routines that interface directly with the Integrity operating system.
CDEV_LRT.C
This file contains the routines that interface directly with the LabVIEW Real-Time operating environment.
CDEV_API.H
This header file contain the majority of the API constants, data types, and function prototypes, and should be included in all C programs that reference one or more CEI-x30 API utility routines.
CDEV_GLB.H
This header file contains the majority of the API global variables, internal definitions, and data structures.
AR_ERROR.H
This header file contains the error string constant definitions utilized by the API routine AR_Get_Error, describing each of the potential error codes returned by the CEI-x30 API utility routines.
CDEV_HW.H
This header file contains all of the API constants that define the hardware interface for the CEI-x30 architecture; included in CDEV_API.H.
CEIX30_TYPES.H
This header file contains all of the CEI-x30 API build-specific parameter and structure data types, based on the Abaco Systems Avionics product common types defined in CDEV_API.H; included in CDEV_API.H.
CEI_TYPES.H
This header file contains all of the type defines for the various data types used with the respective operating system and compiler; included in CDEV_API.H.
CDEV_API_CFG.H
This header file contains #define declarations that affect the compilation (inclusion) of select routines and functionality in the C source files, and C function prototypes defined in CDEV_API.H and CDEV_GLB.H. It is specifically provided for building a custom API in an embedded target environment; included in CDEV_API.H.
CEI_INSTALL.H
This header file contains all of the Abaco Systems Avionics product common type defines for the Windows Common Driver Interface library.
CDEV_FW.H - Firmware Load Files
The header file CDEV_FW.H is included in the source file CDEV_API.C, containing the array declarations for all CEI-x30 board firmware. The default compilation of CDEV_API.C includes the firmware load modules for the entire CEI-x30 product line. When the compiler directive LABVIEW_RT is defined, only the firmware for the CEI-830, RCEI-830A, R830RX, RCEI-530, and RAR-CPCI boards are included in the build, as these are the products currently supported with LabVIEW Real-Time. When the compiler directive INTEGRITY_PCI_PPC is defined, only the firmware for the the CEI-830, RCEI-830A, R830RX, RAR-CPCI, CEI-430, and RCEI-530 boards are included in the build.
If for any reason you wish to reduce the API library or object module size by omitting the firmware load modules for extraneous boards, you may replace the header file reference in the respective include statement(s) with the header file FPGAX30N.H. For example, to omit the RAR-CPCI firmware load module from a standard Windows API build, you would modify line 147 of the file CDEV_FW.H as follows:
static CEI_UINT32 const fpga_630[]={
#include "fpgax30n.h"
};
The firmware header files are referenced as follows:
FPGA830.H CEI-830 Firmware
FPGA830A.H RCEI-830A Firmware
FPGA830X820.H RCEI-830X820 Firmware
FPGA830RX.H R830RX Firmware
FPGA430.H CEI-430 Firmware
FPGA430A.H CEI-430A Firmware
FPGA530.H RCEI-530 Firmware
FPGA630.H RAR-CPCI Firmware
FPGAA30.H AMC-A30 Firmware
FPGA_EC.H RAR-EC Firmware
FPGAX30N.H Two element array (empty f/w allocation).
For the CEI-x30-SW supported products, separate 32-bit and 64-bit Windows API Libraries are provided. For Windows OS target implementation, all API function prototypes are declared "_stdcall". The CEI-x30 API library included in the installation is referenced as:
CDEV_API.LIB 32-bit Microsoft VS6.0 Library
CDEV_API.DLL 32-bit Microsoft VS6.0 DLL
CDEV_API64.LIB 64-bit Microsoft VS2008 Library
CDEV_API64.DLL 64-bit Microsoft VS2008 DLL
Included with the installation are the Abaco Avionics Common Low-level driver interface and installation verification libraries (not required for linking application programs):
CEI_Install.DLL 32-bit Microsoft VS6.0 DLL
CEI_Install64.DLL 64-bit Microsoft VS2008 DLL
All DLLs are installed in the Windows "System" folder. The exact folder name depends on the host version of Windows operating system. The 32-bit versions of these DLLs are typically installed in either 'c:\winnt\system32' or 'c:\windows\system32' under 32-bit Windows or 'c:\windows\syswow64' under 64-bit Windows. The 64-bit versions of these DLLs will be installed in the 64-bit Windows system folder (typically 'c:\windows\system32' under 64-bit Windows).