Sie sind auf Seite 1von 116

CEI-715

User’s Manual
Copyrights
Software Copyright © 2003-2008 GE Fanuc Intelligent Platforms, Inc. All rights reserved.

User’s Manual Copyright © 2003-2008 GE Fanuc Intelligent Platforms, Inc. All rights reserved.

This software product is copyrighted and all rights are reserved. The distribution and sale of this product
are intended for the use of the original purchaser only per the terms of the License Agreement.

This User’s Manual is copyrighted and all rights are reserved.

This document may not, in whole or part, be; copied; photocopied; reproduced; translated; reduced or
transferred to any electronic medium or machine-readable form without prior consent in writing from GE
Fanuc Intelligent Platforms, Inc.
Microsoft is a registered trademark of Microsoft Corporation.
Windows is a registered trademark of Microsoft Corporation.
GE Fanuc Intelligent Platforms, Inc. acknowledges the trademarks of other organizations for their
respective products or services mentioned in this document.

CEI-715 User’s Manual (1500-040)

Hardware Revision: 1
Software Revision: 2.00
Document Revision: 2.00
Document Date: January 17, 2008

GE Fanuc Intelligent Platforms, Inc.


6769 Hollister Ave.
Santa Barbara, CA 93117
(805) 965-8000
(805) 963-9630 (fax)
avionics-support@gefanuc.com (email)
http://gold.gefanucembedded.com/index.php
Contents and Tables

Contents

Chapter 1 Introduction ................................................................... 1


Overview........................................................................................................ 1
Specifications ................................................................................................. 1
PC Card Interface ..................................................................................... 1
Transmit Channels ................................................................................... 2
Receiver Channels .................................................................................... 2
Discrete Input and Output ........................................................................ 2
Typical Power Consumption ................................................................... 2
Calculated Mean Time between Failure (MTBF) ................................... 2
Physical Dimensions ................................................................................ 2
Weight ...................................................................................................... 3
Configurations .......................................................................................... 3

Chapter 2 Installation ..................................................................... 5


Software Installation ...................................................................................... 5
Checking Windows NT 4.0 Resources .................................................... 5
Checking Windows 95 and 98A Resources ............................................ 6
Software Installation with Windows NT 4.0 ........................................... 6
Software Installation with Windows Vista/XP/2000/Me/98/95 ............. 6
Hardware Installation .................................................................................... 7
Hardware Installation with Windows NT 4.0.......................................... 7
Hardware Installation with Windows Vista/XP/2000/Me/98/95 ............ 7
Installation Verification ................................................................................. 9
I/0 Connections .............................................................................................. 9
Input/Output Connectors ......................................................................... 9
Input/Output Connector Pin-out .............................................................. 9

CEI-715 User's Manual i


Chapter 3 Program Interface Library .......................................... 17
Overview...................................................................................................... 17
Windows OS Programming ........................................................................ 17
Programming with the CEI-715 API Interface ........................................... 18
Example Routines - Summary..................................................................... 19
Visual Basic............................................................................................ 20
Working with Unsigned Integers in Visual Basic ................................. 20
LabWindows/CVI .................................................................................. 21
API Routines................................................................................................ 22
Summary of the Routines....................................................................... 22
Return Values ......................................................................................... 25
AR_INITIALIZE_DEVICE........................................................................ 26
AR_INITIALIZE_API ................................................................................ 27
AR_BOARD_TEST .................................................................................... 28
AR_BYPASS_WRAP_TEST ..................................................................... 29
AR_CLOSE ................................................................................................. 30
AR_GET_BASE_ADDR ............................................................................ 31
AR_GETBLOCK ........................................................................................ 32
AR_GET_BOARDTYPE ........................................................................... 33
AR_GET_CONFIG ..................................................................................... 34
AR_GET_DEVICE_CONFIG .................................................................... 38
AR_GET_573_CONFIG............................................................................. 41
AR_GET_561_CONFIG............................................................................. 44
AR_GET_CSDB_CONFIG ........................................................................ 45
AR_GET_ERROR ...................................................................................... 47
AR_GET_429_MESSAGE......................................................................... 48
AR_GET_561_MESSAGE......................................................................... 50
AR_GET_573_FRAME.............................................................................. 51
AR_GET_CSDB_MESSAGE .................................................................... 53
AR_GETNEXT ........................................................................................... 54
AR_GETNEXTT......................................................................................... 55
AR_GETWORD ......................................................................................... 56
AR_GETWORDT ....................................................................................... 57
AR_GET_DATA......................................................................................... 58
AR_GET_STORAGE_MODE ................................................................... 59
AR_GET_TRANSMITTER_MODE ......................................................... 60
AR_GO ........................................................................................................ 61
AR_LABEL_FILTER ................................................................................. 62
AR_LOADSLV ........................................................................................... 63
AR_NUM_RCHANS .................................................................................. 64
AR_NUM_XCHANS.................................................................................. 65
AR_PUT_429_MESSAGE ......................................................................... 66

ii CEI-715 User's Manual


AR_PUT_573_FRAME .............................................................................. 67
AR_PUTBLOCK ........................................................................................ 68
AR_PUT_CSDB_MESSAGE .................................................................... 69
AR_PUTWORD .......................................................................................... 70
AR_RESET ................................................................................................. 71
AR_SET_CONFIG ..................................................................................... 72
AR_SET_DEVICE_CONFIG .................................................................... 75
AR_SET_573_CONFIG ............................................................................. 78
AR_SET_561_CONFIG ............................................................................. 81
AR_SET_CSDB_CONFIG ......................................................................... 82
AR_SET_RAW_MODE ............................................................................. 84
AR_SET_ STORAGE_MODE................................................................... 85
AR_SET_TRANSMITTER_MODE .......................................................... 86
AR_STOP .................................................................................................... 87
AR_VERSION ............................................................................................ 88
AR_WAIT ................................................................................................... 89

Chapter 4 Programming the CEI-715 .......................................... 91


Overview...................................................................................................... 91
ARINC 429 Format ..................................................................................... 91
CEI-715 Interface ........................................................................................ 92
Control Registers (Common Memory) ....................................................... 93
Global Enable Register .......................................................................... 93
Receive Channel Select Register ........................................................... 93
Receive Configuration Register 0 .......................................................... 94
Receive Configuration Registers 1 - 4 ................................................... 96
Label Filter Table (0 – 255) ................................................................... 96
Receive Status Register .......................................................................... 96
Receive Channel Type Register ............................................................. 96
Receive Buffer Word 0 .......................................................................... 97
Receive Buffer Word 1 .......................................................................... 97
Receive Buffer Word 2 .......................................................................... 97
Receive Buffer Word 3 .......................................................................... 98
Transmit Channel Select Register.......................................................... 99
Transmit Configuration Register 0 ........................................................ 99
Transmit Status Register ...................................................................... 102
Transmit Channel Type Register ......................................................... 102
Transmit Buffer Word 0-2 ................................................................... 102
Transmit Buffer Word 3....................................................................... 102

CEI-715 User's Manual iii


Channel Configuration .............................................................................. 104
Channel Selection................................................................................. 104
Internal Wrap........................................................................................ 105
Common Memory Card Information Access............................................ 105
Receive Threshold ..................................................................................... 105
ARINC 429 Receiver Threshold ......................................................... 105

Appendix A Attribute Memory ...................................................... 107


Card Information Structure (CIS) Definitions .......................................... 107

Tables
Table 1. CEI-715 Channel Configurations ................................................... 3
Table 2. CEI-715-XX (ARINC 429 only) 37-Pin D Subminiature Adapter
I/O Connections................................................................................... 10
Table 3. CEI-715-XX (ARINC 429 only) PC Card P2 I/O Connections .. 11
Table 4. CEI-715-M 37-Pin D Subminiature Adapter I/O Connections .... 11
Table 5. CEI-715-M PC Card P2 I/O Connections .................................... 12
Table 6. CEI-715-41-D / CEI-9100 37-Pin D Subminiature Adapter I/O
Connections ......................................................................................... 14
Table 7. CEI-715-41-D / CEI-9100 PC Card P2 I/O Connections ............ 14
Table 8. CEI-715 Host Memory Map ......................................................... 92
Table 9. Transmitter/Receiver Hardware Channel Allocation ................. 104
Table 10. Transmitter/Receiver Internal Wrap Channel Allocation......... 105

iv CEI-715 User's Manual


CHAPTER 1
Introduction

Overview
The CEI-715 is a multiple channel, multiple protocol interface that has
been built to the PCMCIA’s PC Card Specification, Release 95. This is a
small form factor module that can be inserted into compatible PC Card
slots.

The form factor is a versatile electronic module specification, currently


approved by the PCMCIA under the name PC CARD.

The CEI-715 is provided in several configurations. When configured as


the CEI-715-84, it provides up to twelve ARINC 429 channels – eight
receivers and four transmitters. There are several configurations
supporting various ARINC 429 channel counts and protocols such as
ARINC 573, ARINC 561, and CSDB.

Specifications

PC Card Interface
Compatible with PCMCIA’s PC Card Standard – March 1997.
32-bit and 16-bit host support only.
Attribute Memory for CIS and FCR.
Common Memory consisting of 256 bytes allocated for Control, Status,
and Data registers.

CEI-715 User's Manual 1


Specifications Introduction

Transmit Channels
Up to four independent differential serial transmit channels.
Automatic parity generation.
2048 message transmit buffer for each channel.
Baud rate/slew rate software-programmable for each channel.

Receiver Channels
Up to eight independent differential receive channels.
2048 message buffered mode receive FIFO buffer for each channel.
2048 message merged mode receive FIFO buffer.
Independent merged/individual receive FIFO buffer operation.
64-bit, 1 µsec time-tag is stored with each data element in the FIFO.
parity error detection.

Discrete Input and Output


Four bi-directional, avionics-level discrete channels.
Output capable of switching to ground up to 500mA.
Fixed input threshold of 3.5 +/- 0.3 volts.

Typical Power Consumption


Module +5V
CEI-715-41-D (CEI-9100) 160 mA
CEI-715-84 250 mA

Calculated Mean Time between Failure (MTBF)


Ambient Operating MTBF
Temperature Environment
+25 C ground benign 304,000 hours

Physical Dimensions
Type II, 85.6 mm x 54 mm x 5mm (per PC CARD specification).

2 CEI-715 User's Manual


Introduction Specifications

Weight
1.1 ounces.

Configurations

Table 1. CEI-715 Channel Configurations

Configuration Number of Number of Configuration


Receivers Transmitters CIS code
CEI-715-41-D (CEI-9100) 4 (all 429) 1 (all 429) 1
CEI-715-84 8 (all 429) 4 (all 429) 2
CEI-715-44 4 (all 429) 4 (all 429) 3
CEI-715-42 4 (all 429) 2 (all 429) 4
CEI-715-22 2 (all 429) 2 (all 429) 5
7 (4-429, 561, 4 (2-429, 573
CEI-715-M 6
573 and CSDB) and CSDB)

CEI-715 User's Manual 3


CHAPTER 2
Installation

Software Installation
Prior to installing the software for the CEI-715 device, Windows 95, 98A,
and NT resources should be checked. Installation under Windows 98SE,
Me, 2000, and XP does not require resource verification. If you are
installing under Windows 95, 98A, or NT, verify your computer has the
resources available for use by the CEI-715. Only a single CEI-715 can be
installed on any computer under Windows 95 and NT 4.0.

Checking Windows NT 4.0 Resources


To check Windows NT 4.0 resources:
1. Click Start, select Programs, then Administrative Tools and then
Windows NT Diagnostics.
2. Under the Resources tab, click the IRQ button.
View the IRQs already registered to other devices. The default IRQ
for the CEI-715 device driver is 7.
3. If IRQ 7 is already registered to another device, choose an IRQ not
listed and note the value for use during the software installation.
4. Click the Memory button.
View the Address range(s) already registered to other devices. The
default address range for the CEI-715 device is 0xD0000 to 0xD00FF.
5. If any portion of this address range is already registered to another
device, choose an address range of at least 256 bytes (0x100) on a 4Kb
boundary between 0xC0000 and 0xE0000 that is not currently in use.
Note the base address value for use during the software installation.

CEI-715 User's Manual 5


Software Installation Installation

Checking Windows 95 and 98A Resources


To check Windows 95 and 98A resources:
1. From the Desktop, right click My Computer.
2. Select Properties from the menu.
3. Select the Device Manager tab and click the Properties button.
4. Select the Memory button and verify at least one 256 byte (0x100)
address range is available for this board located on any 4Kb boundary
between 0xC0000 and 0xE0000. A typical address range for the CEI-
715 is 0xD0000 through 0xD00FF.
5. Note the available address range(s) for use following the installation.

Software Installation with Windows NT 4.0


To install the software, follow these steps:
1. Exit all programs.
2. Insert the CEI-715-SW CD into your CD drive.
3. If the installation does not automatically start after 10 seconds, click
Start from the Window Task Bar and select Run.
4. Browse to the CD drive, into the Setup\Disk1 folder and double-click
the file Setup.Exe.
5. Follow the on-screen instructions for the installation.
6. If potential conflicts were discovered when performing the procedure
described in “Checking Windows NT 4.0 Resources”, assign the base
address and IRQ values that you noted instead of using the default
values.
7. Note which device number is allocated during the installation.
8. Following successful completion of the installation, turn off the
computer.

Software Installation with Windows Vista/XP/2000/Me/98/95


To install the software, follow these steps:
1. Exit all programs.
2. Insert the CEI-715-SW CD into your CD drive.
3. If the installation does not automatically start after 10 seconds, click
Start from the Window Task Bar and select Run.

6 CEI-715 User's Manual


Installation Hardware Installation

4. Use the Browse button to locate the Setup.exe file in the Setup\Disk1
folder.
5. Double-click the file Setup.Exe. Then, click OK to launch the setup
program.
6. Follow the installation instructions that appear on your screen.
7. Note which device number is allocated during this installation.
8. Following successful completion of the installation, leave the computer
powered-on and do not restart.

Hardware Installation
Once the software has been successfully installed, follow these steps to
install the hardware and Windows device driver.

Hardware Installation with Windows NT 4.0


To install the hardware, follow these steps:
1. With the computer powered off, insert the CEI-715 into the lower PC
Card slot. With most older laptop PCs, the upper PC Card slot is not
compatible with the CEI-715 device. With newer PCs, the CEI-715
may function in the upper PC Card slot.
2. Power-up the PC. The device driver should be loaded automatically on
power-up.
3. To check for proper driver installation, repeat the procedure described
in “Checking Windows NT 4.0 Resources”. Verify the device driver
"WinRT" appears in both the IRQ and Memory resource windows
with the appropriate IRQ and address range assignments.

Hardware Installation with Windows Vista/XP/2000/Me/98/95


To install the hardware, follow these steps:
1. Following installation of the software, insert your CEI-715 in an
available PC Card slot.
The Windows Plug and Play hardware manager should detect insertion
of the CEI-715, and the New Hardware Found dialog box should
automatically startup.
Older versions of Windows display the Building Driver Information
Database dialog box for the CEI-715 DevX, followed by the System
Settings Change dialog box. If you are prompted, click Yes to the
request to restart your computer.

CEI-715 User's Manual 7


Hardware Installation Installation

When Windows Vista prompts to install the driver, select “Locate and
install driver software (recommended)”. It may then display a
Windows Security dialog box regarding the inability to verify the
software publisher of the driver software, select “Install this driver
software anyway”.
Windows Vista, XP, and 2000 do not require a computer restart.
2. If Windows does not detect the new hardware, you must manually
install the device driver:
„ Click Start and point to Settings. Select the Control Panel.
„ Select Add New Hardware.
3. If the device drivers aren’t automatically detected and you are
prompted for a path to the driver location, enter C:\Windows\Inf and
click OK.
4. To check for proper driver installation, right mouse click on the My
Computer Desktop icon:
„ For Windows Vista, XP, and 2000, select the Manage option, then
under System Tools select the Device Manager option, and expand
the Condor Engineering Devices class.
„ For Windows Me/98/95, select the Properties option to open the
System Properties window.select the Device Manager tab, scroll
down to and expand the WinRT class.
„ Verify the CEI-715 DevX device is shown with no exclamation
point overlaying the icon. If this is true, the device driver was
properly installed. You have completed installation of the
hardware.
5. If the CEI-715 DevX icon shows an exclamation point overlaying it’s
icon, highlight it and click the Properties button.
6. Select the Resources tab and view which resource is conflicting with
another device in the system.
7. Clear Use automatic settings.
8. Highlight the Interrupt Request resource type, and select the Change
Setting button.
9. Select an available Interrupt Request Value that does not conflict with
any device you are currently using on your computer. Click the OK
button, (if necessary, use an existing interrupt such as a printer or other
device that doesn’t conflict during operation of the CEI-715).
10. Highlight the Memory Range resource type, and select the Change
Setting button.
11. Select an available Memory Range Value that does not conflict with
any device you are currently using on your computer. Click the OK
button, (use the range, or one of the ranges, recorded when you
performed the procedures in the section, “Checking Windows 95 and
98A Resources”).

8 CEI-715 User's Manual


Installation Installation Verification

12. When Windows requests you to restart your computer, restart the
computer and repeat Step 4.
13. When the device driver resources are validated by the operating
system, the exclamation point overlay is removed from the CEI-715
(Board 0) DevX icon appearing in the Device Manager dialog box.

Installation Verification
To verify the device driver is properly installed, run the program, CEI-715
Test Configuration.
1. Click Start, and then Programs.
2. Select GE Fanuc CEI-715 and click CEI-715 Test Configuration.
This program executes an internal wrap test on all available channels
and notifies you of success or failure. If the program reports success
on all channels tested, you are ready to use your new GE Fanuc board.

I/0 Connections

Input/Output Connectors
The following mating connectors are compatible with the connector used
on the CEI-715 PC Card. An adapter cable is supplied providing a
transition from the 15 pin PC Card receptacle connectors to a 37-pin
Subminiature D receptacle connector:
Part No. Description Manufacturer
Directly connected
RMC-E32MY- Pigtail Cable Honda
OM03-A2B3
Using adapter cable 37 pin Subminiature D

Input/Output Connector Pin-out


The different CEI-715 products have specific pin-out configurations for the
different versions available. Review the following tables regarding the
pin-out definition for your CEI-715. For each configuration the 37-pin
(female) Subminiature D pigtail adapter cable pin-out is shown first,
followed by the actual PC Card connector pin-out for P2, (for custom
cabling use only).

Table 2 describes the pin-out for the CEI-715-XX module (-22, -42, -44,
-84), supporting the ARINC 429 protocol and Discrete I/O only. The exact

CEI-715 User's Manual 9


I/0 Connections Installation

pin-out depends on the number of receivers and transmitters configured on


your CEI-715. Table 3 describes the CEI-715 P2 connector pin-out.

Table 2. CEI-715-XX (ARINC 429 only) 37-Pin D Subminiature


Adapter I/O Connections

Adapter SIGNAL Adapter SIGNAL


Pin-out Pin-out
1 RX1 HI 20 RX1 LO
2 RX2 HI 21 RX2 LO
3 RX3 HI 22 RX3 LO
4 RX4 HI 23 RX4 LO
5 RX5 HI 24 RX5 LO
6 RX6 HI 25 RX6 LO
7 RX7 HI 26 RX7 LO
8 Reserved 27 Reserved
9 RX8 HI 28 RX8 LO
10 TX1 HI 29 TX1 LO
11 TX2 HI 30 TX2 LO
12 TX3 HI 31 TX3 LO
13 TX4 HI 32 TX4 LO
14 Discrete I/O 1 33 Discrete I/O 2
15 Discrete I/O 3 34 Discrete I/O 4
16 Reserved 35 Reserved
17 GND (note 1) 36 GND (note 1)
18 Reserved 37 Reserved
19 Reserved

Note 1: These ground pins are provided for shielding, if needed.

10 CEI-715 User's Manual


Installation I/0 Connections

Table 3. CEI-715-XX (ARINC 429 only) PC Card P2 I/O Connections

Adapter SIGNAL Adapter SIGNAL


Pin-out Pin-out
P2-A1 RX1 HI P2-A2 RX1 LO
P2-A3 RX2 HI P2-A4 RX2 LO
P2-A5 RX3 HI P2-A6 RX3 LO
P2-A7 RX4 HI P2-A8 RX4 LO
P2-A9 RX5 HI P2-A10 RX5 LO
P2-A11 RX6 HI P2-A12 RX6 LO
P2-A13 RX7 HI P2-A14 RX7 LO
P2-A15 Reserved
P2-B1 RX8 HI P2-B2 RX8 LO
P2-B3 TX1 HI P2-B4 TX1 LO
P2-B5 TX2 HI P2-B6 TX2 LO
P2-B7 TX3 HI P2-B8 TX3 LO
P2-B9 TX4 HI P2-B10 TX4 LO
P2-B11 Discrete I/O 1 P2-B12 Discrete I/O 2
P2-B13 Discrete I/O 3 P2-B14 Discrete I/O 4
P2-B15 Reserved
P2-P1 GND (note 1) P2-P2 GND (note 1)

Note 1: These ground pins are provided for shielding if needed.

Table 4 describes the pin-out for the CEI-715-M module, supporting the
ARINC 429, 561, 573/717 and CSDB protocols. Table 5 describes the
CEI-715-M P2 connector pin-out.

Table 4. CEI-715-M 37-Pin D Subminiature Adapter I/O Connections


Adapter SIGNAL Adapter SIGNAL
Pin-out Pin-out
1 ARINC 429 RX1 HI 20 ARINC 429 RX1 LO
2 ARINC 429 RX2 HI 21 ARINC 429 RX2 LO
3 ARINC 429 RX3 HI 22 ARINC 429 RX3 LO
4 ARINC 429 RX4 HI 23 ARINC 429 RX4 LO
5 ARINC 561 DATA+ 24 ARINC 561 DATA-
6 ARINC 561 CLK+ 25 ARINC 561 CLK-
7 ARINC 561 SYNC+ 26 ARINC 561 SYNC-
8 Reserved 27 Reserved

CEI-715 User's Manual 11


I/0 Connections Installation

Adapter SIGNAL Adapter SIGNAL


Pin-out Pin-out
ARINC 573 / CSDB ARINC 573 / CSDB
9 28
RX HI (note 1) RX LO (note 2)
10 ARINC 429 TX1 HI 29 ARINC 429 TX1 LO
11 ARINC 429 TX2 HI 30 ARINC 429 TX2 LO
ARINC 573 / CSDB
12 31 Reserved
TX HI (note 3)
ARINC 573 / CSDB
13 32 Reserved
TX LO (note 4)
14 Discrete I/O 1 33 Discrete I/O 2
15 Discrete I/O 3 34 Discrete I/O 4
16 Reserved 35 Reserved
17 GND (note 5) 36 GND (note 5)
18 Reserved 37 Reserved
19 Reserved

Notes: 1. The ARINC 573 RX HI signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB RX HI signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Receive
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
2. The ARINC 573 RX LO signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB RX LO signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Receive
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
3. The ARINC 573 TX HI signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB TX HI signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Transmit
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
4. The ARINC 573 TX LO signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB TX LO signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Transmit
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
5. These ground pins are provided for shielding if needed.

Table 5. CEI-715-M PC Card P2 I/O Connections

12 CEI-715 User's Manual


Installation I/0 Connections

Adapter SIGNAL Adapter SIGNAL


Pin-out Pin-out
P2-A1 ARINC 429 RX1 HI P2-A2 ARINC 429 RX1 LO
P2-A3 ARINC 429 RX2 HI P2-A4 ARINC 429 RX2 LO
P2-A5 ARINC 429 RX3 HI P2-A6 ARINC 429 RX3 LO
P2-A7 ARINC 429 RX4 HI P2-A8 ARINC 429 RX4 LO
P2-A9 ARINC 561 DATA+ P2-A10 ARINC 561 DATA-
P2-A11 ARINC 561 CLK+ P2-A12 ARINC 561 CLK-
P2-A13 ARINC 561 SYNC+ P2-A14 ARINC 561 SYNC-
P2-A15 Reserved
ARINC 573 / CSDB ARINC 573 / CSDB
P2-B1 P2-B2
RX HI (note 1) RX LO (note 2)
P2-B3 ARINC 429 TX1 HI P2-B4 ARINC 429 TX1 LO
P2-B5 ARINC 429 TX2 HI P2-B6 ARINC 429 TX2 LO
ARINC 573 / CSDB
P2-B7 P2-B8 Reserved
TX HI (note 3)
ARINC 573 / CSDB
P2-B9 P2-B10 Reserved
TX LO (note 4)
P2-B11 Discrete I/O 1 P2-B12 Discrete I/O 2
P2-B13 Discrete I/O 3 P2-B14 Discrete I/O 4
P2-B15 Reserved
P2-P1 GND (note 5) P2-P2 GND (note 5)

Notes: 1. The ARINC 573 RX HI signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB RX HI signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Receive
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
2. The ARINC 573 RX LO signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB RX LO signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Receive
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
3. The ARINC 573 TX HI signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB TX HI signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Transmit
Channel Configuration register. See the API routine
AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
4. The ARINC 573 TX LO signal is supported on this pin for both the
BPRZ and HBP protocols. The CSDB TX LO signal is also
supported on this pin. The input protocol processed is based on the
selection of the Channel Enable bit field in the respective Transmit

CEI-715 User's Manual 13


I/0 Connections Installation

Channel Configuration register. See the API routine


AR_SET_DEVICE_CONFIGURATION for the method to modify the
Channel Enable bit field selection for each of these channels.
5. These ground pins are provided for shielding if needed.

Table 6 describes the pin-out for the CEI-715-41-D / CEI-9100 module,


supporting the ARINC 429 protocol and both Discrete and Digital I/O.
Table 7 describes the CEI-715-41-D / CEI-9100 P2 connector pin-out.

Table 6. CEI-715-41-D / CEI-9100 37-Pin D Subminiature Adapter I/O


Connections

Adapter SIGNAL Adapter SIGNAL


Pin-out Pin-out
1 RX1 HI 20 RX1 LO
2 RX2 HI 21 RX2 LO
3 RX3 HI 22 RX3 LO
4 RX4 HI 23 RX4 LO
5 Digital Output #9 24 Digital Output #10
6 Digital Output #11 25 Digital Output #12
7 Digital Input #1 26 Digital Input #2
8 Digital Output #7 27 Reserved
9 Digital Input #3 28 Digital Input #4
10 TX1 HI 29 TX1 LO
11 Digital Output #1 30 Digital Output #2
12 Digital Output #3 31 Digital Output #4
13 Digital Output #5 32 Digital Output #6
14 Discrete I/O 1 33 Discrete I/O 2
15 Discrete I/O 3 34 Discrete I/O 4
16 Digital Output #8 35 Reserved
17 GND (note 1) 36 GND (note 1)
18 Reserved 37 Reserved
19 Reserved

Note 1: These ground pins are provided for shielding if needed.

Table 7. CEI-715-41-D / CEI-9100 PC Card P2 I/O Connections

14 CEI-715 User's Manual


Installation I/0 Connections

Adapter SIGNAL Adapter SIGNAL


Pin-out Pin-out
P2-A1 RX1 HI P2-A2 RX1 LO
P2-A3 RX2 HI P2-A4 RX2 LO
P2-A5 RX3 HI P2-A6 RX3 LO
P2-A7 RX4 HI P2-A8 RX4 LO
P2-A9 Digital Output #9 P2-A10 Digital Output #10
P2-A11 Digital Output #11 P2-A12 Digital Output #12
P2-A13 Digital Input #1 P2-A14 Digital Input #2
P2-A15 Digital Output #7
P2-B1 Digital Input #3 P2-B2 Digital Input #4
P2-B3 TX1 HI P2-B4 TX1 LO
P2-B5 Digital Output #1 P2-B6 Digital Output #2
P2-B7 Digital Output #3 P2-B8 Digital Output #4
P2-B9 Digital Output #5 P2-B10 Digital Output #6
P2-B11 Discrete I/O 1 P2-B12 Discrete I/O 2
P2-B13 Discrete I/O 3 P2-B14 Discrete I/O 4
P2-B15 Digital Output #7
P2-P1 GND (note 1) P2-P2 GND (note 1)

Note 1: These ground pins are provided for shielding if needed.

CEI-715 User's Manual 15


CHAPTER 3
Program Interface Library

Overview
An extensive software Application Programmers Interface (API) is
supplied for the CEI-715 module. Functions are supplied to setup the
interface and transmit and receive data running under a 32-bit Windows
environment (Vista/XP/2000/NT).

This library of utility routines provides the ability to write your own
programs to interface with the CEI-715. The routines are described here.
They are written in C and are delivered in a Microsoft Visual C++ 6.0
compiler-compatible format. They can be called from other languages by
adhering to the procedures defined in the applicable Microsoft
documentation. The C header files CDEV_API.H and CDEV_HW.H
should be included in all programs that call one or more utility routines.

Windows OS Programming
For the CEI-715 modules, a 32-bit Windows DLL is provided. Any code
that is linked with the respective library must define “_WIN32”. In 32-bit
Windows, all function prototypes are declared “_stdcall”. The API
libraries included in the installation are:
C715_API.LIB Microsoft Visual C++ LIB
C715_API.DLL Microsoft Visual C++ DLL
Included with the installation is the Windows device driver interface
library:
CEI_LL.LIB Microsoft Visual C++ LIB
CEI_LL.DLL Microsoft Visual C++ DLL

CEI-715 User's Manual 17


Programming with the CEI-715 API Interface Program Interface Library

Programming with the CEI-715 API Interface


Programming CEI-715 cards is a simple matter. Following the outline
below, you can easily incorporate the CEI-715 API into your application.
1. For your application to interface to a module, the device must first be
initialized. Invoke the AR_LOADSLV routine, described in a
following section.
2. Set the characteristics of the transmit and receive channels if the
default configuration is not appropriate. This is done with multiple
invocations of AR_SET_DEVICE_CONFIG, (used for ARINC 429
and I/O channel configuration only. See the utility routine summary
below for API functions relating to other protocols).
3. Perform receiver buffer mode selection based on individual
channel/protocol usage via the routine AR_SET_DEVICE_CONFIG.
Using buffered mode for multiple channels of the same protocol
provides channel-specific access to received data, where merged mode
provides for single receive channel access to selected channel data.
4. Once channel configuration is complete, invoke AR_GO to initiate
data processing.
5. Then invoke AR_PUT_429_MESSAGE and
AR_GET_429_MESSAGE to send and receive ARINC 429 data,
respectively.
6. When communication is complete, invoke AR_STOP to suspend
active data processing.
Subsequently, you could invoke AR_GO again to restart the interface.
7. On termination of the application, invoke AR_CLOSE to release all
resources acquired during initialization.
The example wrap program source code, contained in TST_CNFG.C, is
supplied with your installation. This program demonstrates the use of the
API for the ARINC 429, ARINC 561, ARINC 573/717, and CSDB
protocols.

When calling the utility routines that return a status value, it is important to
verify the returned status indicates success. Otherwise, the application may
not be aware that an important function may have failed to fulfill a
requested operation.

18 CEI-715 User's Manual


Program Interface Library Example Routines - Summary

Example Routines - Summary


The example source file TST_CNFG.C is included with your installation.
1. Click Start, and then Programs.
2. Select GE Fanuc CEI-715 and then CEI-715 Test Configuration.
Within TST_CNFG.C are application-style routines demonstrating use of
the API routines for the various supported protocols:

test429Channels an internal wrap test designed to demonstrate


ARINC 429 API usage. This routine
enables internal wrap on all 429 receive
channels. It also assigns a bus speed of
12.5kbps and ODD parity to both transmit
and receive channels. Ten ARINC 429
messages are sent on each transmit channel
and proper reception verified on the
respective receive channel.

test561Channels an internal wrap test designed to demonstrate


ARINC 561 API usage. This routine
enables internal wrap on the ARINC 561
receive channel. It utilizes a built-in
(internal-only) ARINC 561 transmitter to
provide the data source. Ten ARINC 561
messages are sent on the transmit channel
and proper reception verified on the receive
channel.

testCsdbChannel an internal wrap test designed to demonstrate


CSDB protocol API usage. This routine
enables internal wrap on the CSDB receive
channel. It also assigns a bus speed of
12.5kbps and ODD parity to the CSDB
transmit and receive channels. Ten CSDB
messages are transmitted and proper
reception verified.

test573Channels an internal wrap test designed to demonstrate


ARINC 573 API usage. This routine
enables internal wrap on the ARINC
573/717 receive channel. It also assigns a
bus speed 768bps, a sub-frame size of 64
words, and a BPRZ selection to the ARINC
573/717 transmit and receive channels. A
frame consisting of a data pattern
incrementing from $01 to $FF and sync
words of $123, $224, $325, and $426 is
transmitted and proper reception verified.

CEI-715 User's Manual 19


Example Routines - Summary Program Interface Library

testDiscreteChannels an internal wrap test designed to demonstrate


the assignment and use of the Discrete I/O
channels. Since the input and output discrete
channels are tied together electronically, the
output discrete can be set (or “closed”) and
the input verified to be the opposing state
(“ground”), and vice-versa.

testDigitalIoChannels provided for example use only, will not


execute successfully without external wiring.
Since the Digital I/O channels are not linked
together, an external wrap fixture is required
to connect the digital output connector pins
to the digital input pins. If this is performed,
invocation of this routine from the main()
routine can be introduced.

Visual Basic
A text file, CDEV_API_VB.TXT, is provided to aid the Visual Basic
programmer in using the C715_API DLL in the Examples\VB folder of the
software distribution. This text file contains the Function Declaration and
Global Constant statements required to interface to C715_API.DLL using
Visual Basic 6.0. An alternate text file, CDEV_API_VB_NET.TXT,
contains the declarations required for use with Visual Basic 2005 (.NET).
You can manually copy and paste text from these files to your project, or
you can use the Microsoft API Text Viewer Utility included with Visual
Basic. For more information on the API Text Viewer, consult Microsoft
Visual Basic documentation.

Although you can import the entire CDEV_API_VB.TXT file into your
Visual Basic project, it is recommended that you include only the
declarations, constants, etc. that are needed by your program to reduce
memory usage. The CDEV_API_VB.TXT is designed for use with 32-bit
versions of Visual Basic (Visual Basic 4.0 32-bit, Visual Basic 5.0, or
Visual Basic 6.0).

Working with Unsigned Integers in Visual Basic


Visual Basic doesn’t support unsigned integers. Since the CEI-715 API
library uses unsigned integers for some function parameters, problems can
arise when attempting to set values in the upper half of the range.

Example

When a CEI-715 API function uses an argument of C type unsigned short


the equivalent type is integer in Visual Basic. Both are 16-bit values but

20 CEI-715 User's Manual


Program Interface Library Example Routines - Summary

the Visual Basic variable has a range of -32768 to 32767. The C argument
has a range of 0 to 65535. A Visual Basic error is generated if an integer
type is set to value greater than 32767.

Solutions

There are two solutions to this problem. The easiest is to set the value of
variables directly in Hex. To set an integer variable to 65535 use:
myVariable = &HFFFF. (note the &H syntax) . For setting long variables
use the ending “&” as in myvar = &H12&.

The second solution is to convert the desired unsigned value to the signed
equivalent. This can be accomplished in a small utility function:
Function u_conv (unsigned as Long) as Integer
Dim signed as Integer
If unsigned > 32767 then
signed = unsigned - 65536
Else
signed = unsigned
End If
u_conv = signed
End Function
When using returned values from CEI-715 API functions the opposite
conversion can be made. Often, the returned values from CEI-715 API
functions simply need to be compared to the predefined values.

For more information on using Visual Basic with Unsigned integers,


consult the Microsoft Article: Q112673 How to Pass & Return Unsigned
Integers to DLLs from VB.

LabWindows/CVI

A LabWindows/CVI function panel and both API and example application


projects are provided in the Examples\CVI folder of the software
distribution. Included in this folder is the file Readme_CVI.Txt, in which
the CEI-715-SW LabWindows/CVI distribution is discussed in detail.

The LabWindows/CVI example application panel provides a basic


demonstration of a transmitter-to-receiver wrap program, with channel
configuration and message data definition call-back functionality.

CEI-715 User's Manual 21


API Routines Program Interface Library

API Routines

Summary of the Routines


The routines provided in the API are defined in the following pages and are
summarized as follows:

ar_board_test Used during initialization, this routine


verifies CEI-715 ARINC 429 channel 1
internal wrap using the merged mode buffer.
ar_bypass_wrap_test This routine controls whether or not to
execute the quick ARINC 429 internal wrap
test during execution of ar_board_init( ).
ar_close Releases all resources for the specified
device.
ar_get_base_addr Retrieves a pointer to the base address of the
address space allocated to the specified
device.
ar_getblock Retrieves the specified number of previously
unread messages and 32-bit, 20 μsec time-
tags from the specified receive buffer.
ar_get_boardtype Retrieves the target device configuration
ar_get_config Retrieves the value of a bit field for an
ARINC 429 transmitter or receiver channel
configuration register, compatible with the
CEI-x20-SW API function usage.
ar_get_cei710_config Provided for backward compatibility to the
CEI-710 API (see ar_get_device_config).
ar_get_device_config Retrieves the value of a bit field for I/O and
ARINC 429 transmitter or receiver channel
configuration registers.
ar_get_573_config Retrieves the value of a bit field in an
ARINC 573 transmitter or receiver channel
configuration register.
ar_get_561_config Retrieves the value of a bit field in an
ARINC 561 transmitter or receiver channel
configuration register.
ar_get_csdb_config Retrieves the value of a bit field in a CSDB
transmitter or receiver channel configuration
register.

22 CEI-715 User's Manual


Program Interface Library API Routines

ar_get_error Retrieves a message string associated with a


given error status code.
ar_get_429_message Retrieves the next ARINC 429 message
from a receive buffer. Optionally, it waits
up to ½ second for data to become available.
ar_get_561_message Retrieves the next ARINC 561 message
from a receive buffer. Optionally, it waits
up to ½ second for data to become available.
ar_get_573_frame Retrieves the next ARINC 573/717 frame
from a receive buffer. Optionally, it waits
up to ½ second for data to become available.
ar_get_csdb_message Retrieves the next CSDB message from a
receive buffer. Optionally, it waits up to ½
second for data to become available.
ar_get_data Retrieves the next available data and the 64-
bit, 1 μsec time-tag from a receive buffer.
ar_getnext Retrieves the next message from the
specified receive buffer. Optionally, it waits
up to ½ second for data to become available.
ar_getnextt Retrieves the next message and a 32-bit, 20
μsec time-tag from the specified receive
buffer. It waits up to ½ second for data to
become available.
ar_getword Retrieves the next message from the
specified receive buffer.
ar_getwordt Retrieves the next message and a 32-bit, 20
μsec time-tag from the specified receive
buffer.
ar_get_storage_mode Retrieves the API state of a device-generic
receive data storage mode.
ar_get_transmitter_mode Retrieves the state of the ARINC 573
encoder mode (BPRZ vs. HBP).
ar_get_timercntl Retrieves the current value of the OS timer.
ar_go Enables CEI-715 generic data processing.
ar_initialize_api initializes the CEI-715 device API
ar_initialize_device initializes the CEI-715 device
ar_label_filter Assigns ARINC 492 and 561 labels to be
filtered by the specified receive channel.

CEI-715 User's Manual 23


API Routines Program Interface Library

ar_loadslv Acquires the address space and initialize the


CEI-715 device.
ar_num_rchans Retrieves the number of receive channels
supplied by the CEI-715 device.
ar_num_xchans Retrieves the number of transmit channels
supplied by the CEI-715 device.
ar_put_429_message Places an ARINC 429 message in the
specified CEI-715 ARINC 429 transmit
buffer.
ar_put_573_frame Places an ARINC 573/717 frame in the
ARINC 573 transmit buffer.
ar_put_561_message Places a single ARINC 561 message in the
ARINC 561 channel transmit buffer.
ar_putblock Places a block of messages in the specified
ARINC 429 or CSDB transmit buffer.
ar_put_csdb_message Places a single CSDB message in the CSDB
transmit buffer.
ar_putword Places a message in the specified ARINC
429 or CSDB transmit buffer.
ar_reset Stops the CEI-715 from processing ARINC
data.
ar_set_config Sets generic CEI-715 transmitter and
receiver channel configuration information.
ar_set_device_config Sets the CEI-715 I/O channel and ARINC
429-specific transmitter and receiver channel
configuration information.
ar_set_573_config Sets the ARINC 573/717-specific transmitter
and receiver channel configuration
information.
ar_set_561_config Sets the ARINC 561-specific receiver
channel configuration information.
ar_set_csdb_config Sets the CSDB-specific transmitter and
receiver channel configuration information.
ar_set_multithread_protect Enable/disable Windows Mutex access
protection to all API functions accessing the
device
ar_set_raw_mode Sets both the transmitter and receiver parity
state on the specified ARINC 429 channel.

24 CEI-715 User's Manual


Program Interface Library API Routines

ar_set_storage_mode Sets the device-level receive data storage


mode.
ar_set_transmitter_mode Assigns the ARINC 573/717 encoder to
transmit either BPRZ or HBP.
ar_stop Disables CEI-715 generic data processing.
ar_version Retrieves the current software version
number of the CEI-715 API.
ar_wait Delays the calling application for the
specified number of seconds.

Return Values
The following return values are used by the CEI-715 API routines. They
are defined in the C header file CDEV_API.H and are used in the
following context:
ARS_FAILURE -1 Requested operation failed
ARS_NODATA 0 No data was received
ARS_NORMAL 1 Normal successful completion
ARS_GOTDATA 4 Data was received
ARS_INVHARVAL 1003 Invalid configuration value
ARS_XMITOVRFLO 1004 Transmit buffer overflow
ARS_INVBOARD 1005 Invalid board argument
ARS_INVARG 1019 General invalid argument value
ARS_WINRTFAIL 1022 Windows device driver error
ARS_CHAN_TIMEOUT 1023 Channel timeout on data function

CEI-715 User's Manual 25


AR_INITIALIZE_DEVICE Program Interface Library

AR_INITIALIZE_DEVICE
Syntax short ar_initialize_device (short board)

Description This routine resets the device’s receive and transmit FIFO buffers, and
assigns the default state of all channel configuration registers. The
resulting state of the installed protocol configuration registers is defined as
follows:
ARINC 429 Transmitter FIFOs enabled, speed set for 100Kbps and ODD
parity enabled.
ARINC 429 Receiver FIFOs enabled, speed set for 100Kbps, ODD
parity, Merged Mode disabled, and Internal Wrap disabled.
ARINC 561 Receiver FIFO enabled, Merged Mode disabled, and
Internal Wrap disabled.
ARINC 573/717 Transmitter FIFO disabled, Transmitter disabled, speed
set for 768bps, transmission set for BPRZ encoding.
ARINC 573/717 Receiver FIFO disabled, speed set for 768bps/64-word
sub-frames, reception set for BPRZ encoding with Frame-sync auto-
detect enabled, Merged Mode disabled, and Internal Wrap disabled.
CSDB Transmitter FIFO disabled, Transmitter disabled, speed set for
50Kbps.
CSDB Receiver FIFO disabled, set for 50Kbps, ODD parity, Merged
Mode disabled, and Internal Wrap disabled.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

26 CEI-715 User's Manual


Program Interface Library AR_INITIALIZE_API

AR_INITIALIZE_API
Syntax short ar_initialize_api (short board)

Description This routine acquires the resources allocated by Windows for the device
and initializes API local variables.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

ARS_WINRTFAIL board is not properly defined in the


Windows Registry or a resource conflict is
inhibiting device driver initialization.

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 27


AR_BOARD_TEST Program Interface Library

AR_BOARD_TEST
Syntax short ar_board_test (short board)

Description This routine performs a basic internal wrap test on the first ARINC 429
channel using the Merged Mode receive configuration.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

28 CEI-715 User's Manual


Program Interface Library AR_BYPASS_WRAP_TEST

AR_BYPASS_WRAP_TEST
Syntax short ar_bypass_wrap_test (short board , short bypass)

Description This routine defines an internal flag used by the routine


AR_BOARD_TEST to control whether or not the internal wrap test is
executed during initialization via AR_BOARD_INIT. This routine should
be invoked with the bypass parameter set to OFF if you wish the device
API to perform an internal wrap test as part of it’s initialization. The
default state of the bypass parameter is ON, so the internal wrap test is not
executed during initialization.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

short bypass (input) whether or not to bypass the internal


wrap test when the routine
AR_BOARD_TEST is invoked.

CEI-715 User's Manual 29


AR_CLOSE Program Interface Library

AR_CLOSE
Syntax short ar_close (short board)

Description This routine releases all resources acquired during the initialization of the
specified device. Once this routine has been executed, invocation of other
API routines will result in the return of an invalid status.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

30 CEI-715 User's Manual


Program Interface Library AR_GET_BASE_ADDR

AR_GET_BASE_ADDR
Syntax unsigned long ar_get_base_addr (short board)

Description This routine returns the allocated base address of the specified device.

Return Value Any positive value exceeding $80000 is the base address of the device.

ARS_INVBOARD an uninitialized or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 31


AR_GETBLOCK Program Interface Library

AR_GETBLOCK
Syntax short ar_getblock (unsigned int board, unsigned int channel, int
maxMessages, int offset, int *actualCount, long * data, long *timeTags);

Description This routine retrieves all of the available ARINC messages from the
requested receive channel buffer and copies them to the desired
destination. If the timeTags parameter is not NULL, the 32-bit time-tag
data associated with each retrieved message is also copied.

Return Value ARS_NODATA no data was available.

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA message and time-tag data were retrieved.

ARS_INVHARVAL channel is not available on device.

Arguments unsigned int board (input) Device number to access. Valid


range is 0-15.

unsigned int channel (input) Specifies which channel this routine


is to access. Valid range is 0 to one less than
the installed receive channel count.

int maxMessages (input) The number of messages to retrieve.

int offset unused parameter, retained for legacy API


support

int * actualCount (output) The number of messages retrieved.

long * data (output) Array to store 32-bit ARINC data.

long * timeTags (output) Array to store 32-bit time-tag data.

32 CEI-715 User's Manual


Program Interface Library AR_GET_BOARDTYPE

AR_GET_BOARDTYPE
Syntax unsigned long ar_get_boardtype (short board)

Description This routine returns the API/device type for the specified device.

Return Value The value of the constant CEI-715 (decimal 16).

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 33


AR_GET_CONFIG Program Interface Library

AR_GET_CONFIG
Syntax long ar_get_config (short board, short item)

Description This routine returns the active state of API information, board level
settings, and limited ARINC 429 channel configuration register bit fields.
It is provided for backward compatibility to CEI-x20 based applications.
The routine AR_GET_DEVICE_CONFIG is the desired routine for
acquiring information regarding channel and board-level configuration.

See the ARU_* definitions in the file CDEV_API.H for the most current
list of parameter options supported by this function and the values
associated with those definitions.

Return Value If the requested item is ARU_RX_CHnn_BIT_RATE (500-515), where nn


is the receiver channel (01 - 08), this function returns the current value of
the channel configuration register baud rate field:
ARU_SPEED_HIGH (0) = high rate (100Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)
Any other value is the raw value of the 10-bit baud rate field
If the requested item is ARU_TX_CHnn_BIT_ RATE (700-715), where nn
is the transmitter channel (01 - 04), this function returns the current value
of the channel configuration register baud rate field:
ARU_SPEED_HIGH (0) = high rate (100Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)
Any other value is the raw value of the 10-bit baud rate field
If the requested item is ARU_RX_CHnn_PARITY (900-915), where nn is
the receiver channel (01 - 08), this function returns the current state of the
specified receiver channel configuration register parity field:
AR_ON (7) = receiver parity enabled
AR_OFF (8) = receiver parity disabled
If the requested item is ARU_TX_CHnn_PARITY (1000-1015), where nn
is the transmitter channel (01 - 04), this function returns the current state of
the specified transmitter channel configuration register parity field:
ARU_PARITY_ODD (0) = odd transmitter parity
ARU_PARITY_EVEN (1) = even transmitter parity
ARU_PARITY_NONE (2) = transmitter parity disabled
If the requested item is ARU_TX_CHnn_SHUT_OFF (1100-1115), where
nn is the transmitter channel (01 - 04), this function returns the current state
of the specified transmitter channel configuration register transmit disable
field:
AR_ON (7) = external transmission is disabled
AR_OFF (8) = external transmission is enabled

34 CEI-715 User's Manual


Program Interface Library AR_GET_CONFIG

If the requested item is ARU_DISCRETE_INn (260-263), where n is the


discrete channel (1 - 4), this function returns the current state of the
specified discrete I/O channel:
AR_ON (7) = the discrete input is High
AR_OFF (8) = the discrete input is Low
If the requested item is ARU_DISCRETE_OUTn (268-271), where n is the
discrete channel (1 - 4), this function returns the current state of the
specified discrete I/O channel:
AR_ON (7) = the discrete output is High
AR_OFF (8) = the discrete output is Low
If the requested item is ARU_DIGITAL_INn (264-267), where n is the
digital I/O channel (1 - 12), this function returns the current state of the
specified digital I/O channel:
AR_ON (7) = the digital input is High
AR_OFF (8) = the digital input is Low
If the requested item is ARU_DIGITAL_OUTn (272-283), where n is the
digital I/O channel (1 - 12), this function returns the current state of the
specified digital I/O channel:
AR_ON (7) = the digital output is High
AR_OFF (8) = the digital output is Low
If the requested item is ARU_DISCRETE_TTAG_RST (19), this function
returns the state of the reset line to the Time Tag Counter:
AR_ON (7) = the time-tag reset line is High
AR_OFF (8) = the time-tag reset line is Low
If the requested item is ARU_FW_VERSION (20), this function returns
the current value of the CEI-715 device HARDWARE VERSION (as read
from the CIS).

If the requested item is ARU_CONFIGURATION (21), this function


returns the value of the CEI-715 Board Configuration, defined as follows:
1 – CEI-715-41-D / CEI-9100
2 – CEI-715-84
3 – CEI-715-44
4 – CEI-715-42
5 – CEI-715-22
6 – CEI-715-M
If the requested item is not on this list this function returns:
ARS_INVHARCMD

CEI-715 User's Manual 35


AR_GET_CONFIG Program Interface Library

If the specified board is invalid or has not been initialized, this function
returns:
ARS_INVBOARD

Arguments short board (input) Device number to access (valid range


is 0-9).

short item (input) control function about which to


return information:
ARU_X1_RATE transmit rate for transmitter 1.
ARU_X2_RATE transmit rate for transmitter 2.
ARU_X3_RATE transmit rate for transmitter 3.
ARU_X4_RATE transmit rate for transmitter 4.

ARU_R12_RATE receive rate for receiver 1.


ARU_R34_RATE receive rate for receiver 3.
ARU_R56_RATE receive rate for receiver 5.
ARU_R78_RATE receive rate for receiver 7.

ARU_R12X1_PARITY parity for transmitter 1.


ARU_R34X2_PARITY parity for transmitter 2.
ARU_R56X3_PARITY parity for transmitter 3.
ARU_R78X4_PARITY parity for transmitter 4.

ARU_RX_CH01_BIT_RATE –
ARU_RX_CH08_BIT_RATE receiver 1 - 8 bit rate.

ARU_TX_CH01_BIT_RATE –
ARU_TX_CH04_BIT_RATE transmitter 1 - 4 bit rate.

ARU_RX_CH01_PARITY –
ARU_RX_CH08_PARITY receiver 1 - 8 parity.

ARU_TX_CH01_PARITY –
ARU_TX_CH04_PARITY transmitter 1 – 4 parity.

ARU_TX_CH01_SHUT_OFF –
ARU_TX_CH04_SHUT_OFF transmitter 1-4 enable.

ARU_DISCRETE_IN1 value of the Discrete IN 1 pin.


ARU_DISCRETE_IN2 value of the Discrete IN 2 pin.
ARU_DISCRETE_IN3 value of the Discrete IN 3 pin.
ARU_DISCRETE_IN4 value of the Discrete IN 4 pin.
ARU_DISCRETE_OUT1 value of the Discrete OUT 1 pin.
ARU_DISCRETE_OUT2 value of the Discrete OUT 2 pin.
ARU_DISCRETE_OUT3 value of the Discrete OUT 3 pin.
ARU_DISCRETE_OUT4 value of the Discrete OUT 4 pin.

36 CEI-715 User's Manual


Program Interface Library AR_GET_CONFIG

ARU_DISCRETE_TTAG_RST value of the Time-tag Reset bit.


ARU_FW_VERSION value of the Hardware Version reg.

ARU_DIGITAL_IN1 1 value of the Digital IN 1 pin.


ARU_DIGITAL _IN21 value of the Digital IN 2 pin.
ARU_DIGITAL _IN31 value of the Digital IN 3 pin.
ARU_DIGITAL _IN41 value of the Digital IN 4 pin.
ARU_DIGITAL _OUT11 value of the Digital OUT 1 pin.
ARU_DIGITAL _OUT21 value of the Digital OUT 2 pin.
ARU_DIGITAL _OUT31 value of the Digital OUT 3 pin.
ARU_DIGITAL _OUT41 value of the Digital OUT 4 pin.
ARU_DIGITAL _OUT51 value of the Digital OUT 5 pin.
ARU_DIGITAL _OUT61 value of the Digital OUT 6 pin.
ARU_DIGITAL _OUT71 value of the Digital OUT 7 pin.
ARU_DIGITAL _OUT81 value of the Digital OUT 8 pin.
ARU_DIGITAL _OUT91 value of the Digital OUT 9 pin.
ARU_DIGITAL _OUT101 value of the Digital OUT 10 pin.
ARU_DIGITAL _OUT111 value of the Digital OUT 11 pin.
ARU_DIGITAL _OUT121 value of the Digital OUT 12 pin.

1 Digital I/O is only supported with the CEI-9100 device configuration

CEI-715 User's Manual 37


AR_GET_DEVICE_CONFIG Program Interface Library

AR_GET_DEVICE_CONFIG
Syntax short ar_get_device_config (short board, short channel, short item, short *
value)

Description This routine returns the state of the device configuration register attribute
based on the combined item/value. It is designed to support the ARINC
429 and all discrete/digital I/O configuration register attributes available to
the device.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number to access (valid range


is 0-9).

short channel (input) channel configuration register this


routine is to access. For ARINC 429
channels the valid range is 0 to 7. For
Discrete channels the valid range is 0 to 3.
For Digital I/O channels the valid range is 0
to 11.

short item (input) configuration register attribute for


which to return the current state:
ARU_RX_PARITY receive channel parity enable
ARU_RX_BITRATE receive channel bit rate
ARU_RX_FIFO_ENABLE receive channel enable
ARU_RX_DISABLE receive channel enable
ARU_RECV_MODE receiver internal wrap
ARU_RX_MERGED_MODE receiver merged mode enable
ARU_TX_BITRATE transmit channel bit rate
ARU_TX_PARITY transmit channel parity select
ARU_TX_FIFO_ENABLE transmit channel enable
ARU_TX_DISABLE transmit channel transceiver disable
ARU_FAST_SLEW_RATE transmit channel slew rate select

short * value (output) state of the configuration register


attribute:

38 CEI-715 User's Manual


Program Interface Library AR_GET_DEVICE_CONFIG

If the requested item is ARU_RX_FIFO_ENABLE (16),


ARU_RX_DISABLE (9), or ARU_TX_FIFO_ENABLE (17), then this
routine will return the current value of the specified channel configuration
register FIFO Enable field:
AR_ON (7) = FIFO operation enabled
AR_OFF (8) = FIFO operation disabled
If the requested item is ARU_RX_BITRATE (1) or ARU_TX_BITRATE
(2), then this routine will return the current value of the specified channel
configuration register baud rate field:
ARU_SPEED_HIGH (0) = high rate (100Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)
Any other value is the raw value of the 10-bit baud rate field
If the requested item is ARU_RX_PARITY (3), this routine returns the
current state of the specified receive channel configuration register parity
field:
AR_ON (7) = receiver parity enabled
AR_OFF (8) = receiver parity disabled
If the requested item is ARU_TX_PARITY (4), this function returns the
current state of the specified transmitter channel configuration register
parity field:
ARU_PARITY_ODD (0) = odd transmitter parity
ARU_PARITY_EVEN (1) = even transmitter parity
ARU_PARITY_NONE (2) = transmitter parity disabled
If the requested item is ARU_RECV_MODE (5), this routine returns the
current state of the specified receive channel configuration register Internal
Wrap Enable field:
AR_WRAP_ON (0) = Internal Wrap reception enabled
AR_WRAP_OFF (1) = Internal Wrap reception disabled
If the requested item is ARU_RX_MERGED_MODE (18), this routine
returns the current state of the specified receive channel configuration
register Merge Mode enable field:
AR_ON (7) = Merge Mode enabled
AR_OFF (8) = Merge Mode disabled
If the requested item is ARU_TX_DISABLE (10), this routine returns the
current state of the specified receive channel configuration register
Transmit Disable field:
AR_ON (7) = external transmission disabled
AR_OFF (8) = external transmission enabled
If the requested item is ARU_TX_BIT_ERROR (6), this function returns
the current state of the specified transmitter channel configuration register
Bit Count Hi and Low fields:
AR_LO (0) = Bit Count Low enabled
AR_HI (1) = Bit Count High enabled

CEI-715 User's Manual 39


AR_GET_DEVICE_CONFIG Program Interface Library

AR_OFF (8) = Both Bit Count Low and High disabled


If the requested item is ARU_TX_GAP_ERROR (8), this function returns
the current state of the specified transmitter channel configuration register
Gap Error field:
AR_ON (7) = Gap Error enabled
AR_OFF (8) = Gap Error disabled
If the requested item is ARU_FAST_SLEW_RATE (323), this function
returns the current state of the specified transmitter channel configuration
register Slew Rate field:
AR_ON (7) = Fast Slew Rate selected (1.5 µsec rise time)
AR_OFF (8) = Slow Slew Rate selected (10 µsec rise time)
If the requested item is ARU_DISCRETE_IN (15), this function returns
the current state of the specified discrete I/O channel:
AR_HI (1) = the discrete is High
AR_LO (0) = the discrete is Low
If the requested item is ARU_DISCRETE_OUT (13), this function returns
the current state of the specified discrete I/O channel:
AR_HI (1) = the discrete is High
AR_LO (0) = the discrete is Low
If the requested item is ARU_DIGITAL_IN (15), this function returns the
current state of the specified digital I/O channel:
AR_HI (1) = the digital input is High
AR_LO (0) = the digital input is Low
If the requested item is ARU_DIGITAL_OUT (13), this function returns
the current state of the specified digital I/O channel:
AR_HI (1) = the digital output is High
AR_LO (0) = the digital output is Low
If the requested item is ARU_DISCRETE_TTAG_RST (19), this function
returns the state of the reset line to the Time Tag Counter:
AR_ON (7) = the time-tag reset line is High
AR_OFF (8) = the time-tag reset line is Low

40 CEI-715 User's Manual


Program Interface Library AR_GET_573_CONFIG

AR_GET_573_CONFIG
Syntax long ar_get_573_config (short board, short item, long * value)

Description This routine returns the state of the device configuration register attribute
based on the combined item/value. It is designed to support the ARINC
573/717 configuration register attributes available to the device.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short item (input) Configuration item about which to


return information:
ARU_RECV_MODE receiver internal wrap.
ARU_RX_BITRATE receive channel bit rate.
ARU_RX_FIFO_ENABLE receive channel enable.
ARU_RX_MERGED_MODE receiver merged mode enable
ARU_573_RX_AUTO_DETECT receiver frame auto-detect enable.
ARU_573_RX_BPRZ_SELECT receiver BPRZ/HBP selection.
ARU_TX_BITRATE transmit channel bit rate.
ARU_TX_FIFO_ENABLE transmit channel enable.
ARU_573_TX_BPRZ_SELECT transmitter BPRZ encoder enable.
ARU_573_TX_HBP_SELECT transmitter HBP encoder enable.
ARU_573_TX_SLEW_RATE transmitter slew rate select
ARU_573_SYNC_WORD1 receiver auto-detect sync word 1.
ARU_573_SYNC_WORD2 receiver auto-detect sync word 2.
ARU_573_SYNC_WORD3 receiver auto-detect sync word 3.
ARU_573_SYNC_WORD4 receiver auto-detect sync word 4.

long * value (output) The address that receives the state


of the item requested:

If the requested item is ARU_RECV_MODE (5), this routine returns the


current state of the ARINC 573/717 receive channel configuration register
Internal Wrap Enable field:
AR_WRAP_ON (0) = Internal Wrap reception enabled
AR_WRAP_OFF (1) = Internal Wrap reception disabled

CEI-715 User's Manual 41


AR_GET_573_CONFIG Program Interface Library

If the requested item is ARU_RX_FIFO_ENABLE (16) or


ARU_TX_FIFO_ENABLE (17), then this routine will return the current
value of the ARINC 573/717 channel configuration register FIFO Enable
field:
AR_ON (7) = FIFO operation enabled
AR_OFF (8) = FIFO operation disabled
If the requested item is ARU_RX_MERGED_MODE (18), this routine
returns the current state of the ARINC 573/717 receive channel
configuration register Merge Mode enable field:
AR_ON (7) = Merge Mode enabled
AR_OFF (8) = Merge Mode disabled
If the requested item is ARU_573_RX_AUTO_DETECT (301), this
routine returns the current state of the ARINC 573/717 receive channel
configuration register Mode field:
AR_ON (7) = ARINC 573/717 frame auto-detection enabled
AR_OFF (8) = ARINC 573/717 frame auto-detection disabled
If the requested item is ARU_573_RX_BPRZ_SELECT (302), this routine
returns the current state of the ARINC 573/717 receive channel
configuration register Encoding field:
AR_ON (7) = ARINC 573/717 BPRZ encoding enabled
AR_OFF (8) = ARINC 573/717 HBP encoding enabled
If the requested item is ARU_RX_BITRATE (1) or ARU_TX_BITRATE
(2), this routine returns the current state of the ARINC 573/717 channel
configuration register Baud Rate/Subframe Size field:
ARU_573_RATE_SIZE_384_32 = 384 bps, 32 word sub-frame
ARU_573_RATE_SIZE_768_64 = 768 bps, 64 word sub-frame
ARU_573_RATE_SIZE_1536_128 = 1536 bps, 128 word sub-frame
ARU_573_RATE_SIZE_3072_256 = 3072 bps, 256 word sub-frame
ARU_573_RATE_SIZE_6144_512 = 6144 bps, 512 word sub-frame
ARU_573_RATE_SIZE_12288_1024 = 12288 bps, 1024 word sub-frame
ARU_573_RATE_SIZE_24576_2048 = 24576 bps, 2048 word sub-frame
ARU_573_RATE_SIZE_49152_4096 = 49152 bps, 4096 word sub-frame
If the requested item is ARU_573_TX_BPRZ_SELECT (313), this routine
returns the current state of the ARINC 573/717 receive channel
configuration register BPRZ Enable field:
AR_ON (7) = ARINC 573/717 BPRZ encoding enabled
AR_OFF (8) = ARINC 573/717 BPRZ encoding disabled
If the requested item is ARU_573_TX_HBP_SELECT (314), this routine
returns the current state of the ARINC 573/717 receive channel
configuration register HBP Enable field:

42 CEI-715 User's Manual


Program Interface Library AR_GET_573_CONFIG

AR_ON (7) = ARINC 573/717 HBP encoding enabled


AR_OFF (8) = ARINC 573/717 HBP encoding disabled
If the requested item is ARU_573_TX_SLEW_RATE (305), this routine
returns the current state of the ARINC 573/717 transmit channel
configuration register Slew Rate field:
ARU_573_TX_SLEW_1PT5 (1) = 1.5µsec rise time
ARU_573_TX_SLEW_10PT0 (0) = 10.0µsec rise time
If the requested item is ARU_573_SYNC_WORD1 (307),
ARU_573_SYNC_WORD2 (308), ARU_573_SYNC_WORD3 (309), or
ARU_573_SYNC_WORD4 (310), this routine returns the 12-bit value for
the respective receiver sync word.

CEI-715 User's Manual 43


AR_GET_561_CONFIG Program Interface Library

AR_GET_561_CONFIG
Syntax long ar_get_561_config (short board, short item, long * value)

Description This routine returns the state of the device configuration register attribute
based on the combined item/value. It is designed to support the ARINC
561 configuration register attributes available to the device.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short item (input) configuration item about which to


return information:
ARU_RECV_MODE receiver internal wrap
ARU_RX_MERGED_MODE receiver merged mode enable
ARU_RX_FIFO_ENABLE receive channel enable
ARU_TX_FIFO_ENABLE transmit channel enable
long * value (output) The address that receiving the state
of the item requested:

If the requested item is ARU_RECV_MODE (5), then this routine will


return the current value of the specified channel configuration register
Internal Wrap Enable field:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled
If the requested item is ARU_RX_MERGED_MODE (18), this routine
returns the current state of the specified receive channel configuration
register Merge Mode enable field:
AR_ON (7) = Merge Mode operation enabled
AR_OFF (8) = Merge Mode operation disabled
If the requested item is ARU_RX_FIFO_ENABLE (16) or
ARU_TX_FIFO_ENABLE (17), then this routine will return the current
value of the specified channel configuration register FIFO Enable field:
AR_ON (7) = FIFO operation enabled
AR_OFF (8) = FIFO operation disabled

44 CEI-715 User's Manual


Program Interface Library AR_GET_CSDB_CONFIG

AR_GET_CSDB_CONFIG
Syntax long ar_get_csdb_config (short board, short item, long * value)

Description This routine returns the state of the device configuration register attribute
based on the combined item/value. It is designed to support the CSDB
configuration register attributes available to the device.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short item (input) configuration item about which to


return information:
ARU_RX_PARITY receive channel parity enable
ARU_RX_BITRATE receive channel bit rate
ARU_RX_FIFO_ENABLE receive channel enable
ARU_RECV_MODE receiver internal wrap
ARU_RX_MERGED_MODE receiver merged mode enable
ARU_TX_BITRATE transmit channel bit rate
ARU_TX_PARITY transmit channel parity select
ARU_TX_FIFO_ENABLE transmit channel enable
ARU_TX_DISABLE transmit channel transceiver disable
ARU_FAST_SLEW_RATE transmit channel slew rate select

long * value (output) The address that receiving the state


of the item requested:

If the requested item is ARU_RECV_MODE (5), then this routine will


return the current value of the specified channel configuration register
Internal Wrap Enable field:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled
If the requested item is ARU_RX_ PARITY (3), then this routine will
return the current value of the specified channel configuration register
Parity Enable field:
AR_ON (7) = parity checking is enabled
AR_OFF (8) = parity checking is disabled

CEI-715 User's Manual 45


AR_GET_CSDB_CONFIG Program Interface Library

If the requested item is ARU_RX_MERGED_MODE (18), this routine


returns the current state of the specified receive channel configuration
register Merge Mode enable field:
AR_ON (7) = Merge Mode operation enabled
AR_OFF (8) = Merge Mode operation disabled
If the requested item is ARU_RX_FIFO_ENABLE (16) or
ARU_TX_FIFO_ENABLE (17), then this routine will return the current
value of the specified channel configuration register FIFO Enable field:
AR_ON (7) = FIFO operation enabled
AR_OFF (8) = FIFO operation disabled
If the requested item is ARU_TX_DISABLE (10), this routine returns the
current state of the specified receive channel configuration register
Transmit Disable field:
AR_ON (7) = external transmission disabled
AR_OFF (8) = external transmission enabled
If the requested item is ARU_RX_BITRATE (1) or ARU_TX_BITRATE
(2), this routine will return the current value of the specified channel
configuration register baud rate field:
ARU_SPEED_HIGH (0) = high rate (50Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)
Any other value is the raw value of the 10-bit baud rate field
If the requested item is ARU_TX_PARITY (4), this routine will return the
current state of the specified transmitter channel configuration register
parity field:
ARU_PARITY_ODD (0) = odd transmitter parity
ARU_PARITY_EVEN (1) = even transmitter parity
ARU_PARITY_NONE (2) = transmitter parity disabled
If the requested item is ARU_FAST_SLEW_RATE (323), this function
returns the current state of the specified transmitter channel configuration
register Slew Rate field:
AR_ON (7) = Fast Slew Rate selected (1.5 µsec rise time)
AR_OFF (8) = Slow Slew Rate selected (10 µsec rise time)

46 CEI-715 User's Manual


Program Interface Library AR_GET_ERROR

AR_GET_ERROR
Syntax char * ar_get_error (short status);

Description Many of the ARINC routines described here return status values, which
may indicate an error condition. When passed such an error value, this
routine returns a pointer to a message string describing the error.

Review the section, API Routines – Return Values, for the current list of
possible error codes and their explanations.

Return Value A pointer to the error message character string.

Arguments short status (input) a status value returned by any of the


ARINC utilities.

CEI-715 User's Manual 47


AR_GET_429_MESSAGE Program Interface Library

AR_GET_429_MESSAGE
Syntax short ar_get_429_message (short board, short channel, short waitState,
void * data, void * timetag);

Description This function retrieves the most recent ARINC 429 data and 32-bit time-
tag from the specified channel. If no data is present in the receiver buffer,
this function attempts to retrieve data for up to one-half second. If no data
is present after one-half second, a time-out status is returned. If “no wait” is
specified and no data is available, the return status is so indicated.

Return Value ARS_CHAN_TIMEOUT no data available (if waitState is AR_ON).

ARS_NODATA no data available (if waitState is AR_OFF).

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA an ARINC 429 message and time-tag have


been retrieved.

ARS_INVHARVAL channel is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short channel (input) The receive channel this routine is to


access. The valid range is 0-7, (where 0 =
first receive channel, 1 = second receive
channel, etc.). The value is limited by the
number of receive channels configured on
the device.

short waitState (input) Whether or not to wait for data. A


value of AR_ON specifies to wait ½ second
for data; a value of AR_OFF specifies to
return if no data is immediately available.

48 CEI-715 User's Manual


Program Interface Library AR_GET_429_MESSAGE

void * data (output) The address that is to receive the


data. The returned ARINC 429 data is
always in normal ARINC format.

void * timetag (output) The address that is to receive the


32-bit time-tag associated with the data,
(resolution is 20 μsec). If the merged
receive mode is active for the specified
channel, the upper five bits of the 32-bit
time-tag word will contain the receive
channel number on which the data was
received.

CEI-715 User's Manual 49


AR_GET_561_MESSAGE Program Interface Library

AR_GET_561_MESSAGE
Syntax short ar_get_561_message (short board, short waitState, void * data, void *
timetag);

Description This function retrieves the most recent ARINC 561 data and 32-bit time-
tag from the CEI-715-M ARINC 561 channel. If no data is present in the
receiver buffer, this function attempts to retrieve data for up to one-half
second. If no data is present after one-half second, a time-out status is
returned. If “no wait” is specified and no data is available, the return status
is so indicated.

Return Value ARS_CHAN_TIMEOUT no data available (if waitState is AR_ON).

ARS_NODATA no data available (if waitState is AR_OFF).

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA an ARINC 561 message and time-tag have


been retrieved.

ARS_INVHARVAL ARINC 561 support is not available on


device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short waitState (input) Whether or not to wait for data. A


value of AR_ON specifies to wait ½ second
for data; a value of AR_OFF specifies to
return if no data is immediately available.

void * data (output) The address that is to receive the


data. The returned ARINC 561 data is
always in normal ARINC format.

void * timetag (output) The address that is to receive the


32-bit time-tag associated with the data,
(resolution is 20 μsec). If the merged
receive mode is active for the ARINC 561
channel, the upper five bits of the 32-bit
time-tag word will contain the receive
channel number on which the data was
received.

50 CEI-715 User's Manual


Program Interface Library AR_GET_573_FRAME

AR_GET_573_FRAME
Syntax short ar_get_573_frame (short board, unsigned int * numberWords,
unsigned short * arincData);

Description This function retrieves numberWords of ARINC 573/717 data from the
ARINC 573/717 channel. If any data is available, the actual number of
words received is indicated in the return value of numberWords. If
automatic synchronization is configured for the ARINC 573/717 channel,
this function will search the receive buffer for any occurrence of the first
sub-frame sync word (defined via invocation of AR_SET_573_CONFIG
with the item set to ARU_573_SYNC_WORD1) and return the specified
number of words of frame data following the instance of that sync word.
With automatic synchronization selected and the full frame size specified
in numberWords, this function will wait until the full frame is received and
copied to the destination array. The acquisition of an entire ARINC
573/717 frame may require up to four seconds to complete.

Return Value ARS_NODATA no data available.

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA at least one ARINC 573/717 data word has


been retrieved.

ARS_INVHARVAL ARINC 573 support is not available on


device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

unsigned int *
numberWords (input/output) As an input this specifies the
number of words to retrieve from the receive
buffer. As an output this indicates how
many words were retrieved from the receive
buffer, less than or equal to the input value
of numberWords.

unsigned short *
arincData (output) The address that is to receive the
frame data. The format of each data word in
the ARINC 573/717 frame is defined as
follows:

CEI-715 User's Manual 51


AR_GET_573_FRAME Program Interface Library

15 14 13 – 12 11 - 0
sync word RESERVED subframe data

sync word: indicates this word was


detected as a sync word, where a value of
1 indicates sync word and 0 indicates
data word.
subframe: identifies the sub-frame
assignment for this word, where 1
indicates sub-frame 1, 2 indicates sub-
frame 2, 3 indicates sub-frame 3, and 0
indicates sub-frame 4.
data: the 12-bit ARINC 573/717 data.

52 CEI-715 User's Manual


Program Interface Library AR_GET_CSDB_MESSAGE

AR_GET_CSDB_MESSAGE
Syntax short ar_get_csdb_message (short board, short waitState, void * data, void
* timetag);

Description This function retrieves the most recent CSDB data and 32-bit time-tag
from the CSDB channel. If no data is present in the receiver buffer, this
function attempts to retrieve data for up to one-half second. If no data is
present after one-half second, a time-out status is returned. If “no wait” is
specified and no data is available, the return status is so indicated.

Return Value ARS_CHAN_TIMEOUT no data available (waitState is AR_ON).

ARS_NODATA no data available (waitState is AR_OFF).

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA a single CSDB data byte and time-tag have


been retrieved.

ARS_INVHARVAL CSDB support is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short waitState (input) Whether or not to wait for data. A


value of AR_ON specifies to wait ½ second
for data; a value of AR_OFF specifies to
return if no data is immediately available.

void * data (output) The address that is to receive the


data. The CSDB data format is defined as
follows:
15 14 – 8 7-0
bad parity RESERVED data

bad parity: indicates the parity of the


received data byte does not match the
parity assignment for this channel.
data: the 8-bit CSDB data.
void * timetag (output) The address that is to receive the
32-bit time-tag associated with the data,
(resolution is 20 μsec). If the merged
receive mode is active for the CSDB
channel, the upper five bits of the 32-bit
time-tag word will contain the receive
channel number on which the data was
received.

CEI-715 User's Manual 53


AR_GETNEXT Program Interface Library

AR_GETNEXT
Syntax short ar_getnext (short board, short channel, void * destination);

Description This function retrieves the next unread message from the specified receive
channel. If no data is present in the receiver FIFO buffer, this function
attempts to retrieve data for up to one-half second. If no data is present
after one-half second, a time-out status is returned.

Return Value ARS_CHAN_TIMEOUT no data available.

ARS_INVBOARD an uninitialized board or invalid


board/channel value.

ARS_GOTDATA one message has been retrieved.

ARS_INVHARVAL channel is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short channel (input) Specifies which channel this routine


is to access (valid range is 0-255, with the
related protocol as designated for the
specific device) . This channel value is
referenced as one less than the channel
assignment shown in Table 9:
0-7 ARINC 429
23 ARINC 573/717
25 ARINC 561
26 CSDB
void * destination (output) The address that is to receive the
data.

54 CEI-715 User's Manual


Program Interface Library AR_GETNEXTT

AR_GETNEXTT

Syntax short ar_getnextt (short board, short channel, void * destination, void *
timetag);

Description This function retrieves the next unread message and 32-bit time-tag from
the specified receive channel. If no data is present in the receiver FIFO
buffer, this function attempts to retrieve data for up to one-half second. If
no data is present after one-half second, a time-out status is returned.

Return Value ARS_CHAN_TIMEOUT no data available.

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA a message and time-tag have been retrieved.

ARS_INVHARVAL channel is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short channel (input) Specifies which channel this routine


is to access (valid range is 0-255, with the
related protocol as designated for the
specific device). This channel value is
referenced as one less than the channel
assignment shown in Table 9:
0-7 ARINC 429
23 ARINC 573/717
25 ARINC 561
26 CSDB
void * destination (output) The address that is to receive the
data word.

void * timetag (output) The address that is to receive the


32-bit time-tag associated with the data,
(resolution is 20 μsec). If the merged
receive mode is active for the specified
channel, the upper five bits of the 32-bit
time-tag word contain the receive channel
number on which the data was received.

CEI-715 User's Manual 55


AR_GETWORD Program Interface Library

AR_GETWORD
Syntax short ar_getword (short board, short channel, long * destination);

Description This function gets the next available message from the requested receive
channel FIFO buffer and copies it to the desired destination. If it
successfully returns data, there may or may not be more data in the buffer.
It only means there was at least one message in the buffer. Subsequent
calls would be required to determine if more data words are available in the
buffer. If this function returns ARS_NODATA, the buffer is empty.

Return Value ARS_NODATA no data available.

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA a message has been retrieved.

ARS_INVHARVAL channel is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short channel (input) Specifies which channel this routine


is to access (valid range is 0-255, with the
related protocol as designated for the
specific device). This channel value is
referenced as one less than the channel
assignment shown in Table 9:
0-7 ARINC 429
23 ARINC 573/717
25 ARINC 561
26 CSDB
void * destination (output) The address that is to receive the
data.

56 CEI-715 User's Manual


Program Interface Library AR_GETWORDT

AR_GETWORDT

Syntax short ar_getwordt (short board, short channel, void * destination, void *
timetag);

Description This function retrieves the next unread message and 32-bit time-tag from
the specified receive channel FIFO buffer. If it successfully returns data,
there may or may not be more data in the buffer. It means only that there
was at least one message in the buffer. Subsequent calls are required to
determine if more data words are available in the buffer. If this function
returns ARS_NODATA, the buffer is empty.

Return Value ARS_NODATA no data available.

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA a message and time-tag have been received.

ARS_INVHARVAL channel is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short channel (input) Which channel this routine is to


access (valid range is 0-255, with the related
protocol as designated for the specific
device). This channel value is referenced as
one less than the channel assignment shown
in Table 9:
0-7 ARINC 429
23 ARINC 573/717
25 ARINC 561
26 CSDB
void * destination (output) The address that is to receive the
data.

void * timetag (output) The address that is to receive the


32-bit time-tag associated with the data,
(resolution is 20 μsec). If the merged
receive mode is active for the specified
channel, the upper five bits of the 32-bit
time-tag word contain the receive channel
number on which the data was received.

CEI-715 User's Manual 57


AR_GET_DATA Program Interface Library

AR_GET_DATA
Syntax short ar_get_data (short board, short * channel, unsigned long * data,
unsigned long * timeTagLo, unsigned long * timeTagHi);

Description This function retrieves the next unread message and 64-bit time-tag from
the specified channel. If it successfully returns data, there may or may not
be more data in the buffer. It means only that there was at least one
message in the buffer. Subsequent calls are required to determine if more
data words are available in the buffer. If this function returns
ARS_NODATA, the buffer is empty.

Return Value ARS_NODATA no data available.

ARS_INVBOARD an uninitialized board or invalid board value.

ARS_GOTDATA a message and time-tag have been received.

ARS_INVHARVAL channel is not available on device.

Arguments short board (input) Device number this routine is to


access (valid range is 0-9).

short * channel (input/output) As an input, specifies which


channel this routine is to access (valid range
is 0-255, with the related protocol as
designated for the specific device). This
channel value references the exact hardware
channel allocation as defined in the channel
assignment shown in Table 9. As an output,
indicates the receive channel number on
which the data was received.

unsigned long * data (output) address that is to receive the data.

unsigned long * timeTagLo (output) address that is to receive the least-


significant 32 bits of the 64-bit time-tag
associated with the data, (resolution of the
combined time-tag words is 1 μsec).

unsigned long * timeTagHi (output) address that is to receive the most-


significant 32 bits of the 64-bit time-tag
associated with the data, (resolution of the
combined time-tag words is 1 μsec).

58 CEI-715 User's Manual


Program Interface Library AR_GET_STORAGE_MODE

AR_GET_STORAGE_MODE
Syntax short ar_get_storage_mode (short board, short * mode)

Description This routine is only provided for CEI-710 legacy support. It returns the
current state of the API receive storage mode. When the API receive
storage mode is buffered, each receiver is assigned an independent circular
buffer for data storage (merged mode is disabled). When the storage mode
is merged, all receivers are set to enable merged receive mode and data
received on each is stored in the merged FIFO buffer, (referenced via
channel 0). Each receive data API routine processes the active storage
mode internally, acquiring data from the appropriate buffer.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

Arguments short board (input) Specifies which Device number to


access (valid range is 0-9).

short * mode (output) The address that is to receive the


state of the current API storage mode. Valid
return values for this parameter are:
ARU_BUFFERED (0) = buffered receive mode
ARU_MERGED (2) = merged receive mode

CEI-715 User's Manual 59


AR_GET_TRANSMITTER_MODE Program Interface Library

AR_GET_TRANSMITTER_MODE
Syntax short ar_get_transmitter_mode (short board, short * mode)

Description This routine returns the current state of API transmitter mode. The
transmitter mode indicates the hardware definition for adapter output pins
12 and 13 of the P2 connector (connector pins P2-B7 and P2-B9). Valid
protocol transmission for these pins are CSDB, ARINC 573-HBP or
ARINC 573-BPRZ.

Note: CSDB, ARINC 573-HBP and ARINC 573-BPRZ are only supported on
the CEI-715-M.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized or invalid board value.

ARS_INHARVAL the device does not support ARINC


573/717.

Arguments short board (input) Device number to access (valid range


is 0-9).

short * mode (output) address that is to receive the current


API transmitter mode value. Valid return
values for this parameter are:
ARU_XMIT_CSDB (0) pins are configured
for CSDB output
ARU_XMIT_573_HBP(1) pins are
configured for 573-HBP output
ARU_XMIT_573_BPRZ (2) pins are
configured for 573-BPRZ output.

60 CEI-715 User's Manual


Program Interface Library AR_GO

AR_GO
Syntax short ar_go (short board);

Description This routine assigns the global enable register Global Enable bit to be
enabled for the specified device.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 61


AR_LABEL_FILTER Program Interface Library

AR_LABEL_FILTER
Syntax short ar_label_filter (short board, short channel, unsigned short label, short
action);

Description This device supports the ability to filter ARINC 429 and 561 messages by
the 8-bit label value. Once filtering has been enabled for a specified
channel/label combination, data received with that label value would be
discarded until label filtering for the specified label has been disabled.
Label filtering is disabled for all labels by default. Label filtering changes
are effective immediately on completion of this routine.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized or invalid board value.

ARS_INVARG invalid label or action argument.

ARS_INHARVAL the specified channel does not support label


filtering.

Arguments short board (input) Device number to access (valid range


is 0-9).

short channel (input) Specifies which channel this routine


is to access (valid range is 1-255, where 1 =
first receive channel, 2 = second receive
channel, etc.).

unsigned short label (input) The label of interest. Valid range is


0-255. Also valid is ARU_ALL_LABELS
(511), which invokes the action for all labels.

short action (input) Enable or disable filtering for this


combination of board/channel/label. Valid
values are:
ARU_FILTER_ON (1) = enable filtering
ARU_FILTER_OFF (0) = disable filtering
(default state is to not filter any labels).

62 CEI-715 User's Manual


Program Interface Library AR_LOADSLV

AR_LOADSLV

Syntax short ar_loadslv (short board, unsigned long base_seg, int base_port,
unsigned short ram_size);

Description This routine acquires the address space allocated to the device and invokes
an initialization/reset procedure. If any portion of the initialization fails or
the board is not detected, a status other than ARS_ NORMAL is returned.

See the routine description under AR_INITIALIZE_DEVICE for details


regarding the default setup of the device following execution of this
routine.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD invalid board value.

ARS_WINRTFAIL device driver failed to acquire resources.

ARS_WRAP_DATA_FAIL internal wrap data test failed

ARS_WRAP_RATE_FAIL internal wrap time-tag test failed

Arguments short board (input) Device number to access, (valid


range is 0-9). Note the "board" number is
used to open the specified WinRT device.

unsigned long base_seg (input) This parameter is unused and present


for backward compatibility only.

int base_port (input) This parameter is unused and present


for backward compatibility only.

unsigned short ram_size (input) This parameter is unused and present


for backward compatibility only.

CEI-715 User's Manual 63


AR_NUM_RCHANS Program Interface Library

AR_NUM_RCHANS
Syntax short ar_num_rchans (short board);

Description This routine retrieves the number of receive channels supporting various
serial protocols installed on the specified device.

Return Value Any value less than 40 number of installed receive channels.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

64 CEI-715 User's Manual


Program Interface Library AR_NUM_XCHANS

AR_NUM_XCHANS
Syntax short ar_num_xchans (short board);

Description This routine retrieves the number of transmit channels supporting various
serial protocols installed on the specified device.

Return Value Any value less than 40 number of installed transmit channels.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 65


AR_PUT_429_MESSAGE Program Interface Library

AR_PUT_429_MESSAGE
Syntax short ar_put_429_message (short board, short channel, long data);

Description This routine places the provided ARINC 429 message data in the specified
channel transmit buffer. If the specified transmit buffer is full, an overrun
status is returned.

Note: Since ARINC data rates are relatively slow, a moderately fast PC can
generate data at a much faster rate than data is transmitted.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized board or invalid board/channel


value.

ARS_INHARVAL the specified channel does not support


ARINC 429.

ARS_XMITOVRFLO a transmit buffer overrun occurred.

Arguments short board (input) Device number to access (valid range


is 0-9).

short channel (input) Transmit channel this routine is to


access. The valid range is 0 to one less than
the number of transmitters installed, (where
0 = first transmit channel, 1 = second
transmit channel, etc.).

long data (input) ARINC 429 data to transmit in


standard ARINC 429 format.

66 CEI-715 User's Manual


Program Interface Library AR_PUT_573_FRAME

AR_PUT_573_FRAME
Syntax short ar_put_573_frame (short board, unsigned int numberWords,
unsigned int * transmitCount, unsigned short * arincData);

Description This routine attempts to transfer numberWords of ARINC 573/717 data


from the arincData source to the device ARINC 573/717 transmit buffer.
If there is space available in the buffer, the actual number of words
transferred is indicated in the return value of transmitCount.

Note: Since ARINC data rates are relatively slow, a moderately fast PC can
generate data at a much faster rate than data is transmitted.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized board or invalid board/channel


value.

ARS_INHARVAL the specified channel does not support


ARINC 573.

Arguments short board (input) Device number to access (valid range


is 0-9).

unsigned int numberWords (input) number of words to copy from the


source 573 frame to the transmit buffer.

unsigned int * transmitCount (output) Indicates how many words were


copied from the source 573 frame to the
transmit buffer, either less than or equal to
the value of numberWords.

unsigned short * arincData (output) Pointer to the array of ARINC


573/717 frame data. The format of each data
word in the source ARINC 573/717 frame is
defined as follows:
15 – 12 11 - 0
RESERVED data

data: the 12-bit ARINC 573/717 data.

CEI-715 User's Manual 67


AR_PUTBLOCK Program Interface Library

AR_PUTBLOCK
Syntax short ar_putblock (unsigned int board, unsigned int channel, int
maxMessages, int offset, long * data, int *actualCount);

Description This routine transfers the array of messages to the specified channel
transmit buffer. When this routine returns, the data has not necessarily
been sent, it has only been placed in the transmit buffer. If other data is in
the transmit buffer ahead of it, this data is transmitted in turn.

Note: Since most transmit data rates are relatively slow, almost any PC can
generate transmit data at a much faster rate than data is transmitted.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized board or invalid board/channel


value.

ARS_INVARG invalid channel or maxMessages parameter


value.

ARS_XMITOVRFLO transmit buffer overrun occurred.

Arguments unsigned int board (input) Device number to access. Valid


range is 0-15.

unsigned int channel (input) Transmit channel this routine is to


access. The valid range is 0 to 255, further
limited by the number of installed transmit
channels.

int maxMessages (input) The number of messages to transmit.

int offset Unused parameter, retained for legacy API


support

long * data (input) Array supplying 32-bit ARINC data


values.

int *actualCount (input) The number of messages transmitted.

68 CEI-715 User's Manual


Program Interface Library AR_PUT_CSDB_MESSAGE

AR_PUT_CSDB_MESSAGE
Syntax short ar_put_csdb_message (short board, long data);

Description This routine transfers the CSDB message data to the device CSDB transmit
buffer. If the CSDB transmit buffer is full, an overrun status is returned.

Note: Since CSDB data rates are relatively slow, a moderately fast PC can
generate data at a much faster rate than data is transmitted.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized board or invalid


board/channel value.

ARS_INHARVAL the specified channel does not support


CSDB.

ARS_XMITOVRFLO a transmit buffer overrun occurred

Arguments short board (input) Device number to access (valid range


is 0-9).

long data (input) The CSDB data to be transmitted.


The format of the CSDB data is defined as
follows:
31 - 16 15 - 8 7-0
bit count - 1 RESERVED data

bit count – 1: defines the bit length of


this message, including the start bit, data
bits, parity bit, and stop bit. The value
should be one less than the actual desired
length. The minimum value for this field
is ten.
data: the 8-bit CSDB data.

CEI-715 User's Manual 69


AR_PUTWORD Program Interface Library

AR_PUTWORD
Syntax short ar_putword (short board, short channel, long arincdata);

Description This routine transfers the data word to the specified channel transmit
buffer. The transmit channel reference is based on the device channel
definition and is independent of the protocol assigned to that channel.

Note: Since most transmit data rates are relatively slow, a moderately fast PC
can generate data at a much faster rate than data is transmitted.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized board or invalid board/channel


value.

ARS_XMITOVRFLO transmit buffer overrun occurred.

Arguments short board (input) Device number to access (valid range


is 0-9).

short channel (input) Which channel this routine is to


access (valid range is 0-255, with the related
protocol as designated for the specific
device). This channel value is referenced as
one less than the channel assignment shown
in Table 9.

long arincdata (input) 32-bit ARINC word to transmit.

70 CEI-715 User's Manual


Program Interface Library AR_RESET

AR_RESET

Syntax short ar_reset (short board);

Description This routine assigns the global enable register Global Enable bit to be
disabled and reinitializes the device to the same initial state as that
following an invocation of AR_LOADSLV. As a result, all FIFO buffers
will be reset and any data contained therein will be lost.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 71


AR_SET_CONFIG Program Interface Library

AR_SET_CONFIG

Syntax short ar_set_config (short board, short item, unsigned long value);

Description This routine is designed to provide compatibility with other ARINC device
APIs. It is provided for backward compatibility to CEI-x20 based
applications. The routine AR_SET_DEVICE_CONFIG is the
recommended routine for manipulating device configuration attributes.

This routine provides a means to define the general device configuration as


well as limited individual channel configurations. See the routine
AR_GET_CONFIG to retrieve the current state of the supported items.

Return Value ARS_NORMAL routine was successful.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

short item (input) attribute about which to set


information:
ARU_X1_RATE transmit rate for transmitter 1.
ARU_X2_RATE transmit rate for transmitter 2.
ARU_X3_RATE transmit rate for transmitter 3.
ARU_X4_RATE transmit rate for transmitter 4.
ARU_XMIT_RATE transmit rate for 4 transmitters.

ARU_R12_RATE receive rate for receivers 1 & 2.


ARU_R34_RATE receive rate for receivers 3 & 4.
ARU_R56_RATE receive rate for receivers 5 & 6.
ARU_R78_RATE receive rate for receivers 7 & 8.
ARU_RECV_RATE receive rate for 8 receivers.

ARU_R12X1_PARITY parity for transmitter 1, receivers 1,2.


ARU_R34X2_PARITY parity for transmitter 2, receivers 3,4.
ARU_R56X3_PARITY parity for transmitter 3, receivers 5,6.
ARU_R78X4_PARITY parity for transmitter 4, receivers 7,8.
ARU_PARITY parity for all transmitters and
receivers.

72 CEI-715 User's Manual


Program Interface Library AR_SET_CONFIG

ARU_INTERNAL_WRAP enables internal wrap mode for all


receivers.

ARU_RX_CH01_BIT_RATE –
ARU_RX_CH08_BIT_RATE receiver 1 - 8 bit rate.

ARU_TX_CH01_BIT_RATE –
ARU_TX_CH04_BIT_RATE transmitter 1 - 4 bit rate.

ARU_RX_CH01_PARITY –
ARU_RX_CH08_PARITY receiver 1 - 8 parity.

ARU_TX_CH01_PARITY –
ARU_TX_CH04_PARITY transmitter 1 - 4 parity.

ARU_DISCRETE_OUTn discrete I/O 1 - 4 state.


ARU_DIGITAL_OUTn digital I/O 1 - 12 state.

unsigned long value (input) the value to set the item.

If the requested item is ARU_RX_CHnn_BIT_RATE (500-515), where nn


is the receiver channel (01 - 08), valid value parameter selections are:
ARU_SPEED_HIGH (0) = high rate (100Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)
Any other value is the raw value of the 10-bit baud rate field
If the requested item is ARU_TX_CHnn_BIT_ RATE (700-715), where nn
is the transmitter channel (01 - 04), valid value parameter selections are:
ARU_SPEED_HIGH (0) = high rate (100Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)
Any other value is the raw value of the 10-bit baud rate field
If the requested item is ARU_RX_CHnn_PARITY (900-915), where nn is
the receiver channel (01 - 08), valid value parameter selections are:
AR_ON (7) = receiver parity enabled
AR_OFF (8) = receiver parity disabled
If the requested item is ARU_TX_CHnn_PARITY (1000-1015), where nn
is the transmitter channel (01 - 04), valid value parameter selections are:
ARU_PARITY_ODD (0) = odd transmitter parity
ARU_PARITY_EVEN (1) = even transmitter parity
ARU_PARITY_NONE (2) = transmitter parity disabled
If the requested item is ARU_TX_CHnn_SHUT_OFF (1100-1115), where
nn is the transmitter channel (01 - 04), valid value parameter selections are:
AR_ON (7) = external transmission will be disabled
AR_OFF (8) = external transmission will be enabled
If the specified item is ARU_DISCRETE_OUTn (268-271), where n is the
discrete channel (1 - 4), valid value parameter selections are:

CEI-715 User's Manual 73


AR_SET_CONFIG Program Interface Library

AR_LO (0) = the discrete is High


AR_HI (1) = the discrete is Low
If the specified item is ARU_DIGITAL_OUTn 1 (272-283), where n is the
digital I/O channel (1 - 12), valid value parameter selections are:
AR_LO (0) = the discrete is High
AR_HI (1) = the discrete is Low
If the specified item is ARU_DISCRETE_TTAG_RST (19), valid value
parameter selections are:
AR_ON (7) = the time-tag reset line is High
AR_OFF (8) = the time-tag reset line is Low
If the specified item is ARU_INTERNAL_WRAP (4), valid value
parameter selections are:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled

1 Digital I/O is only supported on the CEI-9100 configuration.

74 CEI-715 User's Manual


Program Interface Library AR_SET_DEVICE_CONFIG

AR_SET_DEVICE_CONFIG

Syntax short ar_set_device_config (short board, short channel, short item, short
value);

Description This is the recommended routine to define the general device, ARINC 429,
and discrete/digital I/O configuration attributes. Protocol-specific items
supported by this routine are intended for the ARINC 429 channels. See
the routines AR_SET_573_CONFIG, AR_SET_561_CONFIG and
AR_SET_CSDB_CONFIG regarding support for manipulation of
configuration attributes for protocols other than ARINC 429.

Return Value ARS_NORMAL routine was successful.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

ARS_INVBOARD an uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

short channel (input) Specifies which channel this routine


is to access (where 0 = first receive channel,
1 = second receive channel, etc.). For
ARINC 429 channels the valid range is 0 to
7. For Discrete channels the valid range is 0
to 3. For Digital I/O channels the valid
range is 0 to 11.

short item (input) Specifies the configuration attribute


to define:
ARU_DISCRETE_OUT discrete output setting.
ARU_DIGITAL_OUT digital output setting.
ARU_RX_BITRATE receive rate for specified channel.
ARU_TX_BITRATE transmit rate for specified channel.
ARU_RX_PARITY receive parity for specified channel.
ARU_TX_PARITY transmit parity for specified channel.
ARU_RX_FIFO_ENABLE receive channel FIFO enable.
ARU_RX_DISABLE receive channel FIFO enable.
ARU_TX_FIFO_ENABLE transmit channel FIFO enable.
ARU_TX_DISABLE transmit channel transceiver disable.
ARU_TX_GAP_ERROR transmit message gap error enable.
ARU_TX_BIT_ERROR transmit message size error enable.

CEI-715 User's Manual 75


AR_SET_DEVICE_CONFIG Program Interface Library

ARU_FAST_SLEW_RATE transmit channel slew rate select.


ARU_RECV_MODE receive channel internal wrap mode.
ARU_RX_MERGED_MODE receive channel merge mode enable.

short value (input) the value to set the specified item.

If the requested item is ARU_RX_BITRATE (1) or ARU_TX_BITRATE


(2), valid value parameter selections are:
ARU_SPEED_HIGH (0) = high rate (100Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)

Any other value assigns a non-standard bus speed, and is translated


as a divisor for the 16MHz device clock reference. This value and
the respective baud rate may be interpreted using the following
formulas:

Baud Rate = 16,000,000 / (Value+2)

Value = (16,000,000 / Desired Baud Rate) - 2

Note Any raw transmit baud rate value resulting in a bus speed at or below
17KHz should by specified with a slow slew rate selection. Raw transmit
baud rate values above 17KHz should be specified with a fast slew rate
selection.

If the requested item is ARU_RX_PARITY (3), valid value parameter


selections are:
AR_ON (7) = receiver parity enabled
AR_OFF (8) = receiver parity disabled
If the requested item is ARU_TX_PARITY (4), valid value parameter
selections are:
ARU_PARITY_ODD (0) = odd transmitter parity
ARU_PARITY_EVEN (1) = even transmitter parity
ARU_PARITY_NONE (2) = transmitter parity disabled
If the requested item is ARU_RECV_MODE (5), valid value parameter
selections are:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled

Note: See Table 10 for the internal wrap channel definition for your CEI-715
configuration.

If the requested item is ARU_RX_FIFO_ENABLE (16) or


ARU_TX_FIFO_ENABLE (17), valid value parameter selections are:
AR_ON (7) = Rx/Tx FIFO operation enabled

76 CEI-715 User's Manual


Program Interface Library AR_SET_DEVICE_CONFIG

AR_OFF (8) = Rx/Tx FIFO operation disabled


If the requested item is ARU_RX_DISABLE (9), valid value parameter
selections are:
AR_ON (7) = Rx FIFO operation disabled
AR_OFF (8) = Rx FIFO operation enabled
If the requested item is ARU_TX_DISABLE (10), valid value parameter
selections are:
AR_ON (7) = external transmission disabled
AR_OFF (8) = external transmission enabled
If the requested item is ARU_TX_GAP_ERROR (8), valid value
parameter selections are:
AR_ON (7) = transmit message gap error enabled
AR_OFF (8) = transmit message gap error disabled
If the requested item is ARU_TX_BIT_ERROR (6), valid value parameter
selections are:
AR_LO (0) = Low Bit Error operation is enabled on this transmitter
AR_HI (1) = High Bit Error operation is enabled on this transmitter
AR_OFF (8) = bit errors are disabled on this transmitter
If the requested item is ARU_FAST_SLEW_RATE (323), valid value
parameter selections are:
AR_ON (7) = Fast Slew Rate selected (1.5 µsec rise time)
AR_OFF (8) = Slow Slew Rate selected (10 µsec rise time)
If the specified item is ARU_RECV_MODE (5), valid value parameter
selections are:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled
If the requested item is ARU_RX_MERGED_MODE (18), valid value
parameter selections are:
AR_ON (7) = receiver merged mode operation enabled
AR_OFF (8) = receiver merged mode operation disabled
If the requested item is ARU_DISCRETE_OUT (12), valid value
parameter selections are:
AR_LO (0) = Discrete Output is set Low
AR_HI (1) = Discrete Output is set High
If the requested item is ARU_DIGITAL_OUT 1 (13), valid value parameter
selections are:
AR_LO (0) = Digital Output is set Low
AR_HI (1) = Digital Output is set High

1 Digital I/O is only supported on the CEI-9100 configuration

CEI-715 User's Manual 77


AR_SET_573_CONFIG Program Interface Library

AR_SET_573_CONFIG
Syntax short ar_set_573_config (short board, short item, long value);

Description This is the recommended routine for manipulating the ARINC 573/717
channel configuration attributes.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number to access (valid range


is 0-9).

short item (input) Specifies the configuration attribute


to define:
ARU_RECV_MODE receiver internal wrap.
ARU_RX_MERGED_MODE receiver merge mode enable.
ARU_RX_BITRATE receive channel bit rate.
ARU_RX_FIFO_ENABLE receive channel FIFO enable.
ARU_TX_BITRATE transmit channel bit rate.
ARU_TX_FIFO_ENABLE transmit channel FIFO enable.
ARU_573_RX_AUTO_DETECT data frame auto-detect enable.
ARU_573_RX_BPRZ_SELECT receiver BPRZ/HBP selection.
ARU_573_TX_BPRZ_SELECT transmit BPRZ encoding enable.
ARU_573_TX_HBP_SELECT transmit HBP encoding enable.
ARU_573_TX_SLEW_RATE transmit slew rate select.
ARU_573_SYNC_WORD1 receiver auto-detect sync word 1.
ARU_573_SYNC_WORD2 receiver auto-detect sync word 2.
ARU_573_SYNC_WORD3 receiver auto-detect sync word 3.
ARU_573_SYNC_WORD4 receiver auto-detect sync word 4.

long value (input) The state to assign to the specified


configuration item:

If the requested item is ARU_RECV_MODE (5), valid value


parameter selections are:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled

78 CEI-715 User's Manual


Program Interface Library AR_SET_573_CONFIG

If the requested item is ARU_RX_MERGED_MODE (18), valid value


parameter selections are:
AR_ON (7) = receiver merged mode operation enabled
AR_OFF (8) = receiver merged mode operation disabled
If the requested item is ARU_RX_FIFO_ENABLE (16) or
ARU_TX_FIFO_ENABLE (17), valid value parameter selections are:
AR_ON (7) = FIFO operation enabled
AR_OFF (8) = FIFO operation disabled
If the configuration item is ARU_RX_BITRATE (1) or
ARU_TX_BITRATE (2), valid item values are one of the following (0-7):
ARU_573_RATE_SIZE_384_32 = 384 bps, 32 word sub-frame
ARU_573_RATE_SIZE_768_64 = 768 bps, 64 word sub-frame
ARU_573_RATE_SIZE_1536_128 = 1536 bps, 128 word sub-frame
ARU_573_RATE_SIZE_3072_256 = 3072 bps, 256 word sub-frame
ARU_573_RATE_SIZE_6144_512 = 6144 bps, 512 word sub-frame
ARU_573_RATE_SIZE_12288_1024 = 12288 bps, 1024 word sub-
frame
ARU_573_RATE_SIZE_24576_2048 = 24576 bps, 2048 word sub-
frame
ARU_573_RATE_SIZE_49152_4096 = 49152 bps, 4096 word sub-
frame
If the configuration item is ARU_573_RX_AUTO_DETECT (301), valid
item values are one of the following:
AR_ON (7) = ARINC 573/717 frame auto-detection enabled
AR_OFF (8) = ARINC 573/717 frame auto-detection disabled
If the configuration item is ARU_573_RX_BPRZ_SELECT (302), valid
item values are one of the following:
AR_OFF (7) = ARINC 573/717 HBP reception enabled
AR_ON (8) = ARINC 573/717 BPRZ reception enabled
If the configuration item is ARU_573_TX_BPRZ_SELECT (313), valid
item values are one of the following:
AR_OFF (7) = ARINC 573/717 BPRZ transmission disabled
AR_ON (8) = ARINC 573/717 BPRZ transmission enabled
If the configuration item is ARU_573_TX_HBP_SELECT (314), valid
item values are one of the following:
AR_OFF (7) = ARINC 573/717 HBP transmission disabled
AR_ON (8) = ARINC 573/717 HBP transmission enabled

CEI-715 User's Manual 79


AR_SET_573_CONFIG Program Interface Library

If the configuration item is ARU_573_TX_SLEW_RATE (305), valid


item values are one of the following:
ARU_573_TX_SLEW_1PT5 (1) = fast slew rate (1.5µsec rise time)
ARU_573_TX_SLEW_10PT0 (0) = slow slew rate (10.0µsec rise
time)
If the configuration item is ARU_573_SYNC_WORD1 (307),
ARU_573_SYNC_WORD2 (308), ARU_573_SYNC_WORD3 (309), or
ARU_573_SYNC_WORD4 (310), valid item values are any 12-bit value.

80 CEI-715 User's Manual


Program Interface Library AR_SET_561_CONFIG

AR_SET_561_CONFIG
Syntax short ar_set_561_config (short board, short item, long value)

Description This is the recommended routine for manipulating the ARINC 561 channel
configuration attributes.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number to access (valid range


is 0-9).

short item (input) Specifies the configuration attribute


to define:
ARU_RECV_MODE receiver internal wrap.
ARU_RX_FIFO_ENABLE receive channel FIFO enable.
ARU_RX_MERGED_MODE receiver merged mode enable.
ARU_TX_FIFO_ENABLE transmit channel FIFO enable.

long value (input) The state to assign to the specified


configuration item:

If the requested item is ARU_RECV_MODE (5), valid value parameter


selections are:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled
If the requested item is ARU_RX_MERGED_MODE (18), valid value
parameter selections are:
AR_ON (7) = receiver merged mode operation enabled
AR_OFF (8) = receiver merged mode operation disabled
If the requested item is ARU_RX_FIFO_ENABLE (16) or
ARU_TX_FIFO_ENABLE (17), valid value parameter selections are:
AR_ON (7) = FIFO operation enabled
AR_OFF (8) = FIFO operation disabled

CEI-715 User's Manual 81


AR_SET_CSDB_CONFIG Program Interface Library

AR_SET_CSDB_CONFIG
Syntax long ar_set_csdb_config (short board, short item, long value)

Description This is the recommended routine for manipulating the CSDB channel
configuration attributes.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD uninitialized or invalid board value.

ARS_INVARG the item argument value is not supported by


this API routine.

ARS_INVHARVAL the item argument value is not supported by


this device configuration.

Arguments short board (input) Device number to access (valid range


is 0-9).

short item (input) Specifies the configuration attribute


to define:
ARU_RECV_MODE receiver internal wrap.
ARU_RX_MERGED_MODE receiver merged mode enable.
ARU_RX_FIFO_ENABLE receive channel FIFO enable.
ARU_TX_FIFO_ENABLE transmit channel FIFO enable.
ARU_RX_PARITY CSDB receiver parity.
ARU_RX_BITRATE CSDB receiver bit rate.
ARU_TX_PARITY CSDB transmitter parity.
ARU_TX_BITRATE CSDB transmitter bit rate.
ARU_TX_DISABLE transmit channel transceiver disable.
ARU_FAST_SLEW_RATE transmit channel slew rate select.

long value (input) The state to assign to the specified


configuration item:

If the requested item is ARU_RECV_MODE (5), valid value parameter


selections are:
AR_WRAP_ON (0) = internal wrap enabled
AR_WRAP_OFF (1) = internal wrap disabled
If the requested item is ARU_RX_MERGED_MODE (18), valid value
parameter selections are:
AR_ON (7) = receiver merged mode operation enabled
AR_OFF (8) = receiver merged mode operation disabled
If the requested item is ARU_RX_FIFO_ENABLE (16) or
ARU_TX_FIFO_ENABLE (17), valid value parameter selections are:

82 CEI-715 User's Manual


Program Interface Library AR_SET_CSDB_CONFIG

AR_ON (7) = FIFO operation enabled


AR_OFF (8) = FIFO operation disabled
If the requested item is ARU_RX_BITRATE (1) or ARU_TX_BITRATE
(2), valid value parameter selections are:
ARU_SPEED_HIGH (0) = high rate (50Kbs)
ARU_SPEED_LOW (1) = low rate (12.5Kbs)

Any other value assigns a non-standard bus speed, and is translated


as a divisor for the 16MHz device clock reference. This value and
the respective baud rate may be interpreted using the following
formulas:
Baud Rate = 16,000,000 / (Value+2)
Value = (16,000,000 / Desired Baud Rate) - 2

Note Any raw transmit baud rate value resulting in a bus speed at or below
17KHz should by specified with a slow slew rate selection. Raw transmit
baud rate values above 17KHz should be specified with a fast slew rate
selection.

If the requested item is ARU_RX_PARITY (3), valid value parameter


selections are:
AR_ON (7) = receiver parity enabled
AR_OFF (8) = receiver parity disabled
If the requested item is ARU_TX_PARITY (4), valid value parameter
selections are:
ARU_PARITY_ODD (0) = odd transmitter parity
ARU_PARITY_EVEN (1) = even transmitter parity
ARU_PARITY_NONE (2) = transmitter parity disabled
If the configuration item is ARU_RX_DISABLE (9), valid item values are
one of the following:
AR_OFF (7) = channel enabled
AR_ON (8) = channel disabled
If the requested item is ARU_TX_DISABLE (10), valid value parameter
selections are:
AR_ON (7) = external transmission disabled
AR_OFF (8) = external transmission enabled
If the requested item is ARU_FAST_SLEW_RATE (323), valid value
parameter selections are:
AR_ON (7) = Fast Slew Rate selected (1.5 µsec rise time)
AR_OFF (8) = Slow Slew Rate selected (10 µsec rise time)

CEI-715 User's Manual 83


AR_SET_RAW_MODE Program Interface Library

AR_SET_RAW_MODE
Syntax short ar_set_raw_mode (short board, short direction, short channel, short
control);

Description This routine is designed to provide compatibility with other ARINC device
APIs. The routine AR_SET_DEVICE_CONFIG is the recommended
routine for manipulating the channel parity attribute.

Each transmit and receive channel can be configured to run in "raw" mode,
where parity is disabled. When raw mode is selected every 32-bit ARINC
word is transmitted or received with the parity bit (msb) unchanged. This
differs from a standard ARINC 429 data transfer in which the message
parity is always calculated. Raw mode is typically used for older ARINC
specifications such as ARINC 575.

Return Value ARS_NORMAL routine was successful.

ARS_INVHARVAL specified channel doesn’t support parity


selection.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

short direction (input) The type of channel specified in the


channel argument (transmit or receive).
Valid values are:
TRANSMIT_CHANNEL (0)
RECEIVE_CHANNEL (1)
short channel (input) Which channel this routine is to
configure, with a valid range is 1-255.

short control (input) enables or disables raw mode.


AR_ON (7) = enable "raw" mode
AR_OFF (8) = disable "raw" mode

84 CEI-715 User's Manual


Program Interface Library AR_SET_ STORAGE_MODE

AR_SET_ STORAGE_MODE
Syntax short ar_set_storage_mode (short board, short mode);

Description This routine is designed to provide compatibility with other ARINC device
APIs. The routine AR_SET_DEVICE_CONFIG is the recommended
routine for manipulating the receive channel merged mode operation. This
device is capable of receiving data in individual FIFO buffers or in a single
merged FIFO buffer on a channel-by-channel basis. This function allows
you to a single invocation to select the universal receive mode for all
channels on the device as BUFFERED or MERGED.

When a channel storage mode is buffered, each receiver is assigned an


independent circular FIFO for data storage. When a channel storage mode
is merged, data received on than channel is stored in the merged receive
FIFO, referenced as receive channel 0. Each receive data API routine
handles the respective channel active storage mode internally, acquiring
data from the appropriate buffer as necessary.

Return Value ARS_NORMAL routine was successful.

ARS_INVHARVAL invalid mode argument value or channel


doesn’t support merged mode operation.

ARS_INVBOARD uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

short mode (input) The type of receive data mode to


assign. Valid values are:
ARU_BUFFERED (0) = use individual buffers
ARU_MERGED (2) = use merged buffer

CEI-715 User's Manual 85


AR_SET_TRANSMITTER_MODE Program Interface Library

AR_SET_TRANSMITTER_MODE
Syntax short ar_set_transmitter_mode (short board, short mode)

Description This routine is designed to provide compatibility with other ARINC device
APIs. The routine AR_SET_DEVICE_CONFIG is the recommended
routine for manipulating the CSDB and ARINC 573/717 transmitter enable
and encoding operations. This routine defines the state of the adapter
output pins 12 and 13 (connector pins P2-B7 and P2-B9), to support CSDB
or ARINC 573.717 transmission. When either ARINC 573/717 encoding is
specified, the transmitter encoding in the mode register is also defined.
Valid protocol selections for the output mode are CSDB, ARINC 573/717
transmitter are Harvard Bi-phase (HBP) and Bi-polar Return-to-Zero
(BPRZ). The transmitter mode is assigned to be BPRZ during
initialization.

Return Value ARS_NORMAL routine was successful

ARS_INVBOARD an uninitialized or invalid board value

ARS_INHARVAL transmitter encoding operations are not valid


for this device

Arguments short board (input) Device number to access (valid range


is 0-9).

short mode (input) The transmitter encoding mode


selection, with valid values defined as:
ARU_XMIT_CSDB (0) pins are configured for CSDB output
ARU_XMIT_573_HBP (1) pins are configured for 573-HBP output
ARU_XMIT_573_BPRZ (2) pins are configured for 573-BPRZ output

86 CEI-715 User's Manual


Program Interface Library AR_STOP

AR_STOP
Syntax short ar_stop (short board);

Description This routine assigns the global enable register Global Enable bit to be
disabled for the specified device.

Return Value ARS_NORMAL routine was successful.

ARS_INVBOARD an uninitialized board or invalid board value.

Arguments short board (input) Device number to access (valid range


is 0-9).

CEI-715 User's Manual 87


AR_VERSION Program Interface Library

AR_VERSION
Syntax void ar_version (char *verstr);

Description This routine retrieves the current software version number of the device
API.

Return Value not applicable

Arguments char *verstr (output) string representation of the API


Version number consisting of up to 5
characters.

88 CEI-715 User's Manual


Program Interface Library AR_WAIT

AR_WAIT
Syntax void ar_wait (float nsecs);

Description This routine delays the calling application by the specified number of
seconds. The delay is based on the Win32 OS timeGetTime() utility.

Return Value not applicable

Arguments float nsecs (input) number of seconds to delay.

CEI-715 User's Manual 89


CHAPTER 4
Programming the CEI-715

Overview
This chapter describes the low level programming of the CEI-715.

Note: The information in this chapter is provided if you intend to author your
own software interface and device driver.

Control of the CEI-715 is performed by reading and writing the I/O


registers, mapped into the host memory space. To program the device, you
must first know where the common memory was mapped in host memory
space. In the following sections configuration registers and FIFO buffers
are described. Each one has its own unique address given as an offset from
the beginning of the memory space for the device. All common memory
registers are 32 bits wide, (read and write), with 16-bit vs. 32-bit access
based on the PCMCIA hardware interface.

ARINC 429 Format


The ARINC 429 specification calls for the ARINC label bits to be
transmitted on the ARINC bus in inverted order (bit 8 first, bit 1 last). This
device works with labels that are formatted in normal bit order. During
transmission, it automatically shifts the bits out on the bus in the correct
(inverted) order. During reception it also formats and returns the bits in the
proper order. There is no need to invert the label before or after
transmission.

ARINC 429 requires bit 32 to be parity. The hardware can either calculate
this automatically or pass through the raw value you provide (see the
Transmit Configuration register description). The latter case is useful for

CEI-715 User's Manual 91


CEI-715 Interface Programming the CEI-715

applications that must support some forms of ARINC 575 and other similar
protocols that require bit 32 for data.

CEI-715 Interface
Table 8 summarizes all memory-mapped registers for the CEI-715 devices.
They are described in detail in the following sections.

Table 8. CEI-715 Host Memory Map

Byte Address Memory Read/Writ Description


e
0x0000- Card Information Structure. See Appendix A for
Attribute Read only
0x00FF definitions.

0x0200 Attribute Read/Write Configuration Options Register

0x0000 Common Read/Write Global Enable Register

0x0040 Common Read/Write Receive Channel Select Register

0x0044 Common Read/Write Receive Configuration Register

0x0048 Common Read only Receive Status Register

0x004C Common Read only Receive Channel Type Register

0x0050 Common Read only Receive Buffer Word 0 (time-tag least significant 32 bits)

0x0054 Common Read only Receive Buffer Word 1 (time-tag most significant 32 bits)

0x0058 Common Read only Receive Buffer Word 2 (receive channel identifier)

0x005C Common Read only Receive Buffer Word 3 (data)

0x0060 Common Read/Write Transmit Channel Select Register

0x0064 Common Read/Write Transmit Configuration Register

0x0068 Common Read only Transmit Status Register

0x006C Common Read only Transmit Channel Type Register

0x0070 Common Write only Transmit Buffer Word 0 (not used)

0x0074 Common Write only Transmit Buffer Word 1 (not used)

0x0078 Common Write only Transmit Buffer Word 2 (protocol-specific parameters)

0x007C Common Write only Transmit Buffer Word 3 (data)

0x0080- Displays Card Information in Common Memory. See


Common Read only
0x00FF appendix A.

92 CEI-715 User's Manual


Programming the CEI-715 Control Registers (Common Memory)

Control Registers (Common Memory)

Global Enable Register


31 – 16 15 - 8 7-1 0

Not Used Board Configuration Not Used Global Enable

The fields in the Global Enable register are described as follows:

Field Description Values


GLOBAL ENABLE This bit is used to enable and
disable the transmit and receive
operation of the device. When 0 = disabled (reset condition)
disabled, all transmit and receive 1 = enabled
FIFOs are cleared and operation is
disabled.
BOARD This bit field indicates the 0 = reserved
CONFIGURATION programmed configuration of the 1 = CEI-715-41-D / CEI-9100
(read only) device.
2 = CEI-715-84
3 = CEI-715-44
4 = CEI-715-42
5 = CEI-715-22
6 = CEI-715-M

Receive Channel Select Register


31 – 16 15 – 0

Configuration Register Select Channel

The fields in the Receive Channel Select register are described as follows:

CEI-715 User's Manual 93


Control Registers (Common Memory) Programming the CEI-715

Field Description Values


CHANNEL This bit field is used to select 0 to 255
the channel basis when
referencing the receive
configuration, status, and
FIFO buffer registers; and
includes reference to the
receive label filter entries.
CONFIGURATION This bit field is used to select 0x0000 = Config Register 0 (r/w)
REGISTER SELECT which Receive Configuration 0x0001 = Config Register 1 (w) 0x0002
Register or Label Filter Table = Config Register 2 (w) 0x0003 =
entry is accessed for the Config Register 3 (w) 0x0004 = Config
channel value assigned to Register 4 (w) 0x0100 = Filter entry -
the CHANNEL field when the label 0 (w) 0x0101 = Filter entry - label
Receive Configuration 1 (w)
Register address is |
accessed. 0x01FF: Filter entry – label 255 (w)

Receive Configuration Register 0


31-28 27 - 16 15 14 13 12 11 - 8 7–3 2 1 0

ARINC ARINC
Not Used

Not Used

Not Used
Merge ARINC Internal
Baud Channel 717 Auto 717 Parity
Mode 717 Wrap
Rate Enable Sync Rate & Enable
Enable Encoding Enable
Enable Size

The fields in Receive Configuration register 0 are described as follows:

Field Description Values


PARITY This bit is used to enable and disable 0 = disabled (reset condition)
ENABLE 1 parity checking on the received ARINC
429 and CSDB data. 1 = enabled

INTERNAL This bit is used to enable and disable


WRAP the ability to wrap transmitted data
ENABLE internal to the device. Each receiver is 0 = disabled (reset condition)
internally connected to a transmitter
channel of the same protocol, with 1 = enabled
ARINC 429 channels connected as
specified in Table 10.

1The Parity Enable bit is only supported by channels with a Receive


Channel Type indicating ARINC 429 or CSDB

94 CEI-715 User's Manual


Programming the CEI-715 Control Registers (Common Memory)

Field Description Values


ARINC 717 This bit field selects the ARINC Value Speed Sub-frame Size
RATE & SIZE 1 573/717 baud rate and respective sub- (bps) (words)
frame size for use when Auto-Sync
reception is enabled. 0x00 384 32
0x01 768 64
0x02 1536 128
0x03 3072 256
0x04 6144 512
0x05 12288 1024
0x06 24576 2048
0x07 49152 4096
ARINC 717 This bit selects the ARINC 573/717
ENCODING1 encoding supported by the receiver. 0 = Harvard Bi-Phase (HBP)
When internal wrap is enabled, the
value of this bit has no effect on data 1 = Bi-Polar Rtn-to-Zero (BPRZ)
reception.
ARINC 717 This bit enables the receiver to
AUTO SYNC automatically detect the incoming
ENABLE1 ARINC 573/717 frame data. When
enabled, the receiver will automatically 0 = disabled (reset condition)
synchronize to the incoming frame
using the sub-frame size selection and 1 = enabled
the sync words programmed in the
configuration words 1 through 4 for the
respective channel.
MERGE This bit controls the path for storage of
MODE received data on the respective
ENABLE channel. When disabled, all received
data is stored in the individual receive 0 = disabled (reset condition)
FIFO for the respective channel. Then 1 = enabled
enabled, all received data is stored in
the merged receive FIFO, accessed
via channel 0.
CHANNEL This bit controls the operation of the
ENABLE respective receive FIFO. When
disabled, no data reception operations 0 = disabled (reset condition)
are performed. When enabled, data
reception operations are performed 1 = enabled
and data stored to the specified
receive FIFO.

BAUD RATE 2 This bit field controls the baud rate for
the ARINC 429, ARINC 561, and Baud Rate =
CSDB protocols. The value of this
field is used as a divisor for the 16MHz 16,000,000 / (N+2)
clock reference.

1The ARINC 573/717-specific bit fields are only supported by channels


with a Receive Channel Type indicating ARINC 717
2The Baud Rate bit field is only supported by channels with a Receive
Channel Type indicating ARINC 429, ARINC 561, or CSDB

CEI-715 User's Manual 95


Control Registers (Common Memory) Programming the CEI-715

Receive Configuration Registers 1 - 4


31 - 12 11 - 0

Unused Sync Word

Receive Configuration registers 1-4 contain the ARINC 573/717 sub-frame


sync word 1-4 definitions for use when ARINC 717 Auto Sync is enabled.
These registers are support write-only access.

Label Filter Table (0 – 255)


31 - 1 0

Unused Label Filter Enable

The label filter table contains a location for each ARINC 429/561 label
value from octal 000 to 377. When the Label Filter Enable bit is zero for a
specified label, any message received containing that label value will be
recorded in the FIFO. When the Label Filter Enable bit is set to one for a
specified label, any message received containing that label value will not
be recorded in the FIFO.

Receive Status Register


31 - 1 0

Unused FIFO Not Empty

For the Receive Status register, a FIFO Not Empty bit value of one
indicates data is available in the respective receive channel FIFO. A FIFO
Not Empty bit value of zero indicates there is no data in the respective
receive channel FIFO

Receive Channel Type Register


31 – 4 3-0

Unused Receive Channel Type

The Receive Channel Type bit field contains the channel type assigned to
the channel currently selected in the Receive Channel Select register.
Values available for this bit field are defined as follows:

96 CEI-715 User's Manual


Programming the CEI-715 Control Registers (Common Memory)

Field Description Values


RECEIVE This bit indicates the channel type 0x00 = unassigned channel
CHANNEL assigned to the channel currently 0x01 = ARINC 429
TYPE selected in the Receive Channel Select
register. 0x02 = ARINC 573
0x03 = ARINC 561
0x04 = CSDB
0x05, 0x06 = reserved
0x07 = Merged Mode Receiver
0x08 = Discrete Input
0x09 = Digital Input
0x0A – 0x0F = reserved

Receive Buffer Word 0


31 – 0

Time-Tag Low Word

When the Receive Status register indicates the FIFO is not empty, Receive
Buffer Word 0 contains the least significant 32 bits of the 64-bit time-tag.
The resolution of this time-tag low word is 1μsec.

Receive Buffer Word 1


31 – 0

Time-Tag High Word

When the Receive Status register indicates the FIFO is not empty, Receive
Buffer Word 1 contains the most significant 32 bits of the 64-bit time-tag.
The resolution of this time-tag high word is approximately 71.58 minutes.

Receive Buffer Word 2


31 – 0

Channel

When the Receive Status register indicates the FIFO is not empty, Receive
Buffer Word 2 contains the channel on which this data was received. This
information is useful when the Merged Mode channel is enabled and
utilized for the respective receive channel.

CEI-715 User's Manual 97


Control Registers (Common Memory) Programming the CEI-715

Receive Buffer Word 3


31 – 0

Data

When the Receive Status register indicates the FIFO is not empty, Receive
Buffer Word 3 contains the data that was received.

Note: When the host reads the most significant byte of the long word 3, the
receiver FIFO for the selected channel is incremented to the next entry.
This could result in a FIFO Not Empty reset in the respective Receive
Status register if the FIFO becomes empty. This implies that Receive
Buffer Word 3 must be the last register accessed when reading a FIFO
buffer entry. This also implies that it is NOT necessary to read all four
Receive Buffer Word registers from the FIFO if the data is not needed.

The format for the data retrieved from Receive Buffer Word 3 is dependent
on the protocol assigned to the respective channel. The protocol data
format is described as follows:

ARINC 429 and 561 Data Format


31 – 16 15 - 8 9-8 7-0

Parity Indication SDI bits or ARINC Label


or ARINC Data ARINC Data ARINC Data
MSB bits 0-1 (MSB – LSB)

If the Parity Enable bit is set to one in the respective Receive Configuration
register, the Parity Indication will be set by the device to indicate the parity
of the message. A Parity Indication bit value of zero indicates this message
was received with odd parity, where a Parity Indication value of one
indicates the message was received with even parity. If the Receive
Configuration register Parity Enable bit is set to zero, this bit is not
manipulated by the device; instead, it reflects the value of bit 31 as
transmitted from the ARINC 429 source.

ARINC 573 Data Format


31 – 16 15 14 13 - 12 11 - 0

Sync Sub-frame
Unused Unused Data Word
Indication Identification

When the Sync Indication bit is set to one, it is an indication this word was
detected as a sync word. A Sync Indication bit value of zero indicates the
message was treated as a data word. The Sub-frame Identification bit field
identifies the sub-frame assignment for this word; where a value of one
indicates sub-frame 1, two indicates sub-frame 2, three indicates sub-frame
3, and zero indicates sub-frame 4.

98 CEI-715 User's Manual


Programming the CEI-715 Control Registers (Common Memory)

CSDB Data Format


31 – 16 15 14 - 8 7-0

Unused Parity Indication Unused Data Word

If the Parity Enable bit is set to one in the respective Receive Configuration
register, the CSDB message Parity Indication bit field is set by the device
to indicate the type of parity calculated for the Data Word portion of the
received message. A Parity Indication bit value of zero is an indication the
message was received with odd parity. A Parity Indication bit value of one
is an indication the message was received with even parity.

Transmit Channel Select Register


31 – 16 15 - 0

Configuration Register Select Channel

The fields in the Transmit Channel Select register are described as follows:
Field Description Values
This bit field is used to select the channel basis when
CHANNEL referencing the transmit configuration, status, and 0 to 255
FIFO buffer registers.
CONFIGURATION
Not Used Not Used
REGISTER SELECT

Transmit Configuration Register 0


31-28 27 - 16 15 14 13 12 11 - 8 7 6 5 4 3 2 1 0
ARINC 717 BPRZ

ARINC 717 Baud

Parametric Mode

Transmit Disable
ARINC 717 HBP
Channel Enable

Bit Count High

Bit Count Low

Parity Enable
Even Parity
Baud Rate

Slew Rate
Gap Error
Not Used

Encoding

Encoding
Unused

Rate

The fields in Transmit Configuration register 0 are described as follows:

CEI-715 User's Manual 99


Control Registers (Common Memory) Programming the CEI-715

Field Description Values


SLEW RATE This bit is used to select the slew rate 0 = Slow Slew Rate (10 μsec)
utilized with ARINC 429 and CSDB
protocols. 1 = Fast Slew Rate (1.5 μsec)
PARITY This bit is used to enable and disable 0 = disabled (reset condition)
ENABLE 1 parity application to the transmitted
ARINC 429 message. 1 = enabled

EVEN PARITY This bit is used to select between


even and odd parity when ARINC 429
and/or CSDB message parity is under 0 = odd parity (reset condition)
device control. When enabled, even 1 = even parity
parity is applied, when disabled, odd
parity is applied.
BIT COUNT This bit is used to enable a low bit
LOW 2 count error for ARINC 429 messages, 0 = disabled (reset condition)
resulting in the transmission of 31 bits 1 = enabled
instead of 32.
BIT COUNT This bit is used to enable a high bit
HIGH1 count error for ARINC 429 messages, 0 = disabled (reset condition)
resulting in the transmission of 33 bits 1 = enabled
instead of 32.
GAP ERROR1 This bit is used to induce a message
gap error between ARINC 429 0 = disabled (reset condition)
message transmission, resulting in a
two-bit gap instead of the standard 1 = enabled
four-bit gap.
TRANSMIT This bit is used to disable external
DISABLE transmission to the respective ARINC
429 and CSDB transceiver. This
provides for the ability to transmit 0 = disabled (reset condition)
internally to the respective receiver 1 = enabled
with internal wrap enabled, without
exposing the communications to a
connected device.
PARAMETRIC This bit is used to enable parametric 0 = disabled (reset condition)
MODE operation on the respective transmit
channel DAC. 1 = enabled

1The Parity Enable bit is only supported by channels with a Transmit


Channel Type indicating ARINC 429 or CSDB
2This function is only supported by channels with a Transmit Channel
Type indicating ARINC 429, and when Parametric Mode is enabled.

100 CEI-715 User's Manual


Programming the CEI-715 Control Registers (Common Memory)

Field Description Values


ARINC 717 This bit field selects the ARINC 0x00 = 384 bps
BAUD RATE 1 573/717 baud rate. 0x01 = 768 bps
0x02 = 1536 bps
0x03 = 3072 bps
0x04 = 6144 bps
0x05 = 12288 bps
0x06 = 24576 bps
0x07 = 49152 bps
ARINC 717 This bit enables the ARINC 573/717 0 = disabled (reset condition)
BPRZ Bi-Polar Return-to-Zero (BPRZ)
ENCODING 2 encoding transmitter. 1 = enabled

ARINC 717 HBP This bit enables the ARINC 573/717 0 = disabled (reset condition)
ENCODING2 Harvard Bi-Phase (HBP) encoding
transmitter. 1 = enabled

CHANNEL This bit controls the operation of the


ENABLE respective transmit FIFO. When
disabled, no data transmission 0 = disabled (reset condition)
operations are performed. When
enabled, data transmission 1 = enabled
operations are performed using the
specified transmit FIFO.
BAUD RATE 3 This bit field controls the baud rate for
the ARINC 429, ARINC 561, and Baud Rate =
CSDB protocols. The value of this
field is used as a divisor for the 16,000,000 / (N+2)
16MHz clock reference.

1The ARINC 573/717 Baud Rate bit field is only supported by channels
with a Transmit Channel Type indicating ARINC 717.
2 These bits enable and disable external transmission. Generally, only one
encoding transmitter will be enabled at any given time, though it is
acceptable to simultaneously transmit using both encoding methods on
devices that support simultaneous transmission. If both encoding methods
are enabled on devices that do not support simultaneous HBP and BPRZ
transmission, HBP encoding takes precedence over BPRZ. For an internal
wrap test that does not affect external equipment, both bits should be
disabled. At reset, they both are reset. These enable bits do NOT cause the
transmitters to go tri-state.
3The Baud Rate bit field is only supported by channels with a Receive
Channel Type indicating ARINC 429, ARINC 561, or CSDB.

CEI-715 User's Manual 101


Control Registers (Common Memory) Programming the CEI-715

Transmit Status Register


31 - 1 0

Unused FIFO Full

For the Transmit Status register, a FIFO Full bit value of one indicates
there is no room available in the respective transmit channel FIFO. A
FIFO Full bit value of zero indicates data can be inserted into the
respective transmit channel FIFO.

Transmit Channel Type Register


31 – 4 3-0

Unused Transmit Channel Type

The Transmit Channel Type bit field contains the channel type assigned to
the channel currently selected in the Transmit Channel Select register.
Values available for this bit field are defined as follows:
Field Description Values
TRANSMIT This bit indicates the channel type 0x00 = unassigned channel
CHANNEL assigned to the channel currently 0x01 = ARINC 429
TYPE selected in the Transmit Channel Select
register. 0x02 = ARINC 573
0x03 = ARINC 561
0x04 = CSDB
0x05, 0x06, 0x07 = reserved
0x08 = Discrete Output
0x09 = Digital Output
0x0A – 0x0F = reserved

Transmit Buffer Word 0-2


31 – 0

Not Used

Transmit Buffer Words 0, 1 and 2 are not currently used.

Transmit Buffer Word 3


31 – 0

Data

102 CEI-715 User's Manual


Programming the CEI-715 Control Registers (Common Memory)

When the Transmit Status register indicates the FIFO is not full, Transmit
Buffer Word 3 can be defined for transmission on the respective channel.

Note: When the host writes the most significant byte of the long word 3, the
transmitter FIFO for the selected channel is incremented to the next
entry. This could result in a FIFO Not Full reset in the respective
Transmit Status register if the FIFO becomes full. This implies that
Transmit Buffer Word 3 must be the last register accessed when writing
a transmit FIFO buffer entry. This also implies that it is NOT necessary
to write all four Transmit Buffer Word registers.

The format for the data written to Transmit Buffer Word 3 is dependent on
the protocol assigned to the respective channel. The protocol data format
is described as follows:

ARINC 429 and 561 Data Format


31 – 16 15 – 8 9-8 7-0

Parity Bit or SDI bits or ARINC Label


ARINC Data ARINC Data ARINC Data
MSB bits 0-1 (MSB – LSB)

If the Parity Enable bit is set to one in the respective Transmit


Configuration register, bit 31 of the 32-bit data word will be overwritten by
the device. The value assigned to bit 31 is based on the parity type and bit
content of the remaining 31 bits. If the Parity Enable bit is set to zero or
the ARINC 561 protocol is in use, bit 31 remains unchanged.

ARINC 573 Data Format


31 – 16 11 - 0

Unused Data Word

ARINC 573 data is assigned to the lower 12 bits of the 32-bit word.

CSDB Data Format


31 – 16 15 - 8 7-0

Message Size Unused Data Word

The fields in Transmit Buffer Word 3 for the CSDB Data Format are
described as follows.

CEI-715 User's Manual 103


Channel Configuration Programming the CEI-715

Field Description Values


DATA WORD This bit field contains a single CSDB
0 to 0xFF
message byte.
MESSAGE SIZE This bit field defines the number of N = Number of Bits – 1
bits transmitted for this message, A typical value for N is 10, when
including the start bit, data bits, parity parity is enabled and 8 data bits
bit, and stop bit. are desired (11 bits total).

Channel Configuration

Channel Selection
The following hardware channel allocation is used with the Channel Select
registers when referencing the receive and transmit configuration, status,
and FIFO buffer registers.

Table 9. Transmitter/Receiver Hardware Channel Allocation


RX TX
Channe Channe Channel Type and -41-D -84 -44 -42 -22 -M
l l Number -9100
Select Select
0 Merged mode buffer X X X X X X
1 ARINC 429 channel #1 X X X X X X
2 ARINC 429 channel #2 X X X X X X
3 ARINC 429 channel #3 X X X X X
4 ARINC 429 channel #4 X X X X X
5 ARINC 429 channel #5 X
6 ARINC 429 channel #6 X
7 ARINC 429 channel #7 X
8 ARINC 429 channel #8 X
24 ARINC 573/717 #1 X
26 ARINC 561 #1 X
27 CSDB #1 X
128-131 Discrete input #1 - #4 X X X X X X
160-163 Digital input #1 - #4 X
1 ARINC 429 #1 X X X X X X
2 ARINC 429 #2 X X X X X
3 ARINC 429 #3 X X
4 ARINC 429 #4 X X
24 ARINC 573/717 X
26 ARINC 561 X*
27 CSDB #1 X

104 CEI-715 User's Manual


Programming the CEI-715 Common Memory Card Information Access

RX TX
Channe Channe Channel Type and -41-D -84 -44 -42 -22 -M
l l Number -9100
Select Select
128-131 Discrete output #1 - #4 X X X X X X
160-171 Digital output #1 - #12 X

Internal Wrap
The CEI-715 and CEI-9100 internal wrap configuration defines which
ARINC 429 receiver-transmitter paths are assigned when internal wrap is
enabled. The following table demonstrates the internal wrap receiver
assignment based on the transmitter configuration:

Table 10. Transmitter/Receiver Internal Wrap Channel Allocation

Transmitte Receivers Wrapped to Transmitter


r
CEI-715-41- CEI-714-22 CEI-715-42& -M CEI-715-44 CEI-715-84
D CEI-9100
TX 1 1, 2, 3, 4 1 1, 3 1 1, 5
TX 2 * 2 2, 4 2 2, 6
TX 3 * * * 3 3, 7
TX 4 * * * 4 4, 8

* Indicates the transmitter is not available for the respective


configuration

Common Memory Card Information Access


The Card Information Structure (CIS), which is normally read using
Attribute Memory accesses at address 0x0000, is also mapped into
Common Memory starting at address 0x80. The CIS definitions are shown
in Appendix A.

Receive Threshold

ARINC 429 Receiver Threshold


Receiver Thresholds are set to different values by selecting the
appropriate resistor values for the desired operating mode. The
ARINC 429 receive threshold is configured at the factory to be +/-
3.0 volts, and is not user selectable.

CEI-715 User's Manual 105


APPENDIX A
Attribute Memory

Card Information Structure (CIS) Definitions


The CIS values (hex) for the CEI-715 are defined as follows and are
subject to change without notice:
Address Field Name Tuple Data
Hex Dec (hex) Description Comments
0 0 CISTPL_DEVICE 01 Device Information Tuple
2 2 0 TPL_LINK 02
4 4 1 Device size 00 Null Device
6 6 2 End of tuple FF
8 8 CISTPL_NO_LINK 14 No-link to common memory
A 10 0 TPL_LINK 00
C 12 CISTPL_VERS_1 15 Level 1 version/product-
information
E 14 0 TPL_LINK 11 17 bytes to follow
10 16 1 TPLLV1_MAJOR 01 PC Card release 95
12 18 2 TPLLV1_MINOR 00
14 20 3 TPLLV1_INFO 1 43 “C” Manufacturer
16 22 4 45 “E”
18 24 5 49 “I”
1A 26 6 00 Null
1C 28 7 TPLLV1_INFO 43 “C”
1E 30 8 45 “E”
20 32 9 49 “I”
22 34 10 37 “7”
24 36 11 31 “1”
26 38 12 35 “5”
28 40 13 56 “V” Version Number
2A 42 14 30 “0”
2C 44 15 31 “1”
2E 46 16 00 Null
30 48 17 End of tuple FF
32 50 CISTPL_CONFIG 1A Configuration tuple for 16-bit
card
34 52 0 TPL_LINK 05
36 54 1 TPCC_SZ 01
38 56 2 TPCC_LAST 20

1 See readme file for latest information

CEI-715 User's Manual 107


Card Information Structure (CIS) Definitions Attribute Memory

Address Field Name Tuple Data


Hex Dec (hex) Description Comments
3A 58 3 TPCC_RADR 00 LSB Configuration Register
Base, @ 200
3C 60 4 TPCC_RADR 02 MSB Configuration Register
Base
3E 62 5 TPCC_RMSK 01
40 64 CISTPL_CFTABLE_ENTRY 1B Configuration table entry,
entry 20
42 66 0 TPL_LINK 0B
44 68 1 TPCE_INDX E0
46 70 2 TPCE_IF 81
48 72 3 TPCE_FS 74
4A 74 4 TPCE_TD E8 wait=x1,rdy=x100
4C 76 5 wait timing 17 1us
4E 78 6 rdy timing 36 250ms
50 80 7 TPCE_IR 30 level, irq=3-15
52 82 8 irq 0-7 FC
54 84 9 irq 8-15 FF
56 86 10 TPCE_MS 08
58 88 11 MSB Length 01
5A 90 CISTPL_MANFID 20 Manufacturer ID string
5C 92 0 TPL_LINK 04 Length is 256
5E 94 1 TPLMID_MANF 2E LSB
60 96 2 TPLMID_MANF 02 MSB
62 98 3 TPLMID_CARD 1 03 LSB
64 100 4 TPLMID_CARD 01 MSB
66 101 CISTPL_FUNCID 21 Function class identifier
68 104 0 TPL_LINK 02
6A 106 1 TPLID_FUNCTION FE
6C 108 2 TPL_SYSINIT 00
6E 110 CISTPL_END FF End-of-chain tuple
200 512 0 FCR_0 COR Configuration Option Register

1 Contains the configuration field

108 CEI-715 User's Manual

Das könnte Ihnen auch gefallen