Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MIL-STD-1553 Tester/Simulator
MN-69068XX-001
RECORD OF CHANGE
Revision
Date
A
B
10/01
3/02
12/02
Pages
All
x, 26, 71, 78,
163, 175
1, 8, 9, 10, 11,
17, 18, 19, 21,
23, 24, 26, 30,
33, 36, 45, 74,
82, 86, 123, 159,
180, 181
Original Issue
Corrections
200
10/03
Various
Various
03/04
Various
1/05
G
H
J
K
12/06
12/07
10/08
10/09
97
218
175
218
Description
ii
BU-69068 Manual
TABLE OF CONTENTS
PREFACE................................................................................................................. 1
2.1
2.2
2.3
2.4
OVERVIEW .............................................................................................................. 3
3.1 Supported Hardware ...................................................................................................... 3
iii
BU-69068 Manual
iv
BU-69068 Manual
BU-69068 Manual
vi
BU-69068 Manual
LIST OF FIGURES
Figure 1. RTL Install Welcome .................................................................................... 4
Figure 2. License Agreement ...................................................................................... 5
Figure 3. Install Directory ............................................................................................ 5
Figure 4. Select Components...................................................................................... 6
Figure 5. Select LabVIEW Directory ........................................................................... 6
Figure 6. Select the Start Menu Group ....................................................................... 7
Figure 7. Installation Complete ................................................................................... 7
Figure 8. Install Done, Reboot .................................................................................... 8
Figure 9. PC Card Software Architecture .................................................................. 10
Figure 10. Control Panel ........................................................................................... 14
Figure 11. DDC 1553 Card Manager ........................................................................ 15
Figure 12. Card Manager Modify .............................................................................. 15
Figure 13. Control Panel .......................................................................................... 16
Figure 14. DDC 1553 Card Manager ........................................................................ 17
Figure 15. Device Driver Status ................................................................................ 17
Figure 16. Manage Non-PnP Devices ....................................................................... 18
Figure 17. Add New Device ...................................................................................... 18
Figure 18. Configuring the Card ................................................................................ 19
Figure 19. Modify Device .......................................................................................... 19
Figure 20. Control and Indicator Icons ................................................................... 179
Figure 21. LabWindows/CVI Add File Message Window ....................................... 235
Figure 22. LabWindows/CVI Project with Improperly Inserted Library File............. 235
Figure 23. LabWindows/CVI Project with Properly Inserted Library File ................ 236
Figure 24. Version Project Workspace ................................................................... 237
Figure 25. Version UIR .......................................................................................... 237
Figure 26. MT IRQ Project Workspace .................................................................. 238
Figure 27. MT IRQ UIR .......................................................................................... 239
Figure 28. BC Sample Project Workspace ............................................................. 241
Figure 29. BC Sample UIR..................................................................................... 241
vii
BU-69068 Manual
LIST OF TABLES
Table 1. Interrupt Vector ........................................................................................... 27
Table 2. RT Interrupt Types ...................................................................................... 27
Table 3. BC Interrupt Types ...................................................................................... 28
Table 4. BC Error Codes ........................................................................................... 28
Table 5. Interrupt Mask ............................................................................................. 29
Table 6. BC Error Definitions .................................................................................... 74
Table 7. RT Error Definitions..................................................................................... 81
Table 8. BC.llb (Bus Controller Functions) .............................................................. 176
Table 9. Err.llb (Error Functions) ............................................................................. 176
Table 10. Int.llb (Interface Functions) ...................................................................... 177
Table 11. MT.llb (Monitor Functions) ...................................................................... 177
Table 12. Rep.llb (Replay Functions) ...................................................................... 178
Table 13. RT.llb (Remote Terminal Functions) ....................................................... 178
Table 14. BC.bas (Bus Controller Functions) .......................................................... 182
Table 15. Err.bas (Error Functions)......................................................................... 183
Table 16. Int.bas (Interface Functions) ................................................................... 183
Table 17. Irq.bas (Interrupt Functions) .................................................................... 183
Table 18. MT.bas (Monitor Functions) .................................................................... 184
Table 19. Rep.bas (Replay Functions) .................................................................... 184
Table 20. RT.bas (Remote Terminal Functions) ..................................................... 185
Table 21. Interrupt Vector ....................................................................................... 209
Table 22. Rt Interrupt Types ................................................................................... 209
Table 23. BC Interrupt Types .................................................................................. 210
Table 24. BC Error Codes ....................................................................................... 210
Table 25. Interrupt Mask ......................................................................................... 211
Table 26. Intermessage Routines ........................................................................... 213
Table 27. Monitor Message Header ........................................................................ 224
Table 28. IRIG High Word Bit Definitions ................................................................ 226
Table 29. IRIG Low Word Bit Definitions ................................................................. 226
Table 30. Error Codes ............................................................................................. 227
viii
BU-69068 Manual
ix
BU-69068 Manual
BU-69068 Manual
xi
BU-69068 Manual
xii
BU-69068 Manual
DDC relating to the Product and the support services (if any) and they
supersede all prior or contemporaneous oral or written communications,
proposals and representations with respect to the Product or any other
subject matter covered by this SLA. To the extent the terms of any DDC
policies or programs for support services conflict with the terms of this
SLA, the terms of this SLA shall control.
The Product is protected by copyright and other intellectual property laws
and treaties. DDC or its suppliers own the title, copyright, and other
intellectual property rights in the Product. The Product is licensed, not
sold.
xiii
BU-69068 Manual
2 PREFACE
This manual uses typographical conventions to assist the reader in
understanding the content. This section will define the text formatting
used in the rest of the manual.
For the full text of this manual, BU-65572i will be used to identify both the
BU-65572i and the BU-65570i. BU-65572v will be used to identify both
the BU-65572v and the BU-65570v. In those cases where there is a
difference, the appropriate part number will be identified.
2.2 Trademarks
Trademarks mentioned in this manual are the property of their respective
owners.
BU-69068 Manual
PREFACE
DDC Website:
www.ddc-web.com/ContactUs/TechSupport.aspx
Please note that the latest revisions of Software and Documentation are
available for download at DDCs Web Site, www.ddc-web.com.
BU-69068 Manual
3 OVERVIEW
The BU-69068 Runtime Library (RTL) provides the framework for
developing MIL-STD-1553 test and simulation applications. This software
layer includes routines that dramatically reduce software development
time by providing a high level interface to the Tester/Simulator PCI,
VME/VXI, and PC Cards (PCMCIA). There are demo programs included
with the library to demonstrate the full capabilities of the card.
The Programmers Reference section describes all functions in full. The
descriptions include the functions prototype, valid input/output
parameters, and the theory of operation.
This manual covers the following software packages:
BU-69067 DOS RTL
BU-69068S0 Windows 9x/2000 & Windows NT RTL
BU-69068S1 Linux RTL
BU-69068S2 VxWorks
Note: When referring to the RTL the part number BU-69068 will be used
unless an operating system specific aspect requires the use of one of
the unique part numbers listed above.
BU-69068 Manual
4 SOFTWARE INSTALLATION
Installation of the BU-69068 RTL is different depending on the operating
system it is to be installed in. Please refer to the appropriate section for
your particular operating system.
2. Click the Next button to continue the installation. When the Next
button is clicked, a License Agreement dialog will be presented.
BU-69068 Manual
SOFTWARE INSTALLATION
BU-69068 Manual
SOFTWARE INSTALLATION
BU-69068 Manual
SOFTWARE INSTALLATION
BU-69068 Manual
SOFTWARE INSTALLATION
BU-69068 Manual
SOFTWARE INSTALLATION
BU-69068 Manual
SOFTWARE INSTALLATION
10
BU-69068 Manual
SOFTWARE INSTALLATION
configuration required. As such, software developed with the BUS69067 Library should run on any PC with a Card Services driver
compliant to PCMCIA 2.1 or with the PC Card Standard. It is imperative
that a Card Services driver be installed and working correctly on the
target computer. It should be noted that early releases of Card Services
drivers did not implement all functions defined with the PC Card or
PCMCIA standard.
All of the information about Card Services may be ignored if the software
will be used in a DOS session from Windows 95/98 or Windows NT.
These operating systems provide a native card services that will enable
and access the BU-65570M without the need for a second source card
services package.
4.2.2 Installing the RTL in DOS
To install the BUS-69067 DOS RTL perform the following step by step
procedure:
1. At the C:> prompt type:
A:\winstall.exe
2. From the License Agreement screen, press the <Enter> key to
accept the agreement.
3. Press any key to begin the installation.
4. Select the drive letter in which you would like to install the RTL.
Once the drive letter is set, then enter in the target subdirectory.
5. The autoexec.bat file will need to be updated for the software
package to work properly, select whether you would like the
software installation to update the file and press the enter key to
continue. If you enter Yes then the program will add an entry into
your autoexec.bat file that creates a new environment variable. If
you entered No, then you should modify this batch file manually
by adding the statement:
<SET TESTSIM=yourdrive:\yourdirectory>.
6. The system will now need to be rebooted to incorporate the
changes made to the autoexec.bat
4.2.3 Setting Up the BU-65570M In DOS
After the computer has been rebooted, the Readme.txt file should be
read. This readme file provides information important to the use of this
software product. The software directories installed are INCLUDE,
DOSLIB, WIN31LIB, and SAMPLE. The environment variable indicates
Data Device Corporation
11
BU-69068 Manual
SOFTWARE INSTALLATION
to the library where the *.RBF and *.IO files are located. These files are
required for proper operation of the BU-65570M, and are only valid for
the version of the Tester/Simulator software they are installed with.
When new versions of this software are released, the new *.RBF and
*.IO files must be used.
For this software to operate correctly and to be enabled by the Card
Services driver, the TESTSIM.CFG file must contain a reference to the
slot number that the card is inserted into. As a default, the content of this
file is simply: slot=0. If the card is going to be inserted into slot 1, then
the contents of this file should be changed accordingly.
This library is designed to be used with a C compiler, and may be used
to develop Windows 3.1 or DOS 16-bit programs
Presently, the BU-69068S0 and BU-69067S0 runtime libraries are
written for the Microsoft PC environment. This includes DOS 6.xx,
Windows 3.1x, Windows 95/98 and Windows NT. These environments
provide a Card Services interface that allows our software access to
memory, I/O ports and interrupt assets for the card. The BU-65570M is
PCMCIA 2.0 compliant and supports tuples that direct card services to
allocate resources to the card. The BU-65570M requires 4 bytes of I/O
port space that is used as registers to control the card. In addition, the
card requires 16K words of memory space and one interrupt that are
mapped to the computers assets.
The BU-65570M operates by acquiring the slot number for the card, and
then makes resource calls to card services. These calls will request
memory, interrupt and I/O resources. When card services receives a
call, it will look at the appropriate tuples in the card for the resources
required. If the services are available, card services will return handles
to the card allowing access to computer assets which are then used by
the runtime library.
We do not recommend using the BU-65570M in a computer that is not
Intel and Microsoft compatible. This would require porting the runtime
library to the computer and extensive knowledge of the operating
system, hardware, and the library source. In addition card access to
memory, read/write. I/O registers and interrupts would have to be
modified.
12
BU-69068 Manual
SOFTWARE INSTALLATION
13
BU-69068 Manual
SOFTWARE INSTALLATION
14
BU-69068 Manual
SOFTWARE INSTALLATION
15
BU-69068 Manual
SOFTWARE INSTALLATION
16
BU-69068 Manual
SOFTWARE INSTALLATION
17
BU-69068 Manual
SOFTWARE INSTALLATION
10. The Add New Device window will display the card information (card
type, number of channels, and memory size). To add the card to
the DDC 1553 Card Manager click on the Add button.
11. The card now has to be configured. The default values of the card
for interrupt, Base Memory address, and I/O address are set. The
user may change these values by clicking on the appropriate drop
down box.
Note: Windows NT provides a tool that can be used to locate used and
unused system resources such as Interrupt, memory and I/O ports.
To access this capability, you will have to run the NT Diagnostics
program. This program is located at the START / PROGRAMS /
ADMINISTRATIVE TOOLS menu selection. Once NT Diagnostics
has been started, the Resources tab should be selected. This will
18
BU-69068 Manual
SOFTWARE INSTALLATION
display a dialog showing the interrupts that are presently being used
by the system and the installed hardware drivers. There are radio
buttons on the bottom of the dialog that will change the view from the
Interrupts to I/O ports, or memory. To correctly configure the BU65570M card, and unused interrupt, two contiguous unused 8-bit I/O
ports, and 32K contiguous bytes of upper memory must be available
for use by the card.
Configuring: BU-65570M
19
BU-69068 Manual
SOFTWARE INSTALLATION
Note: If a previously assigned device number is selected, and the Prompt
on Replace option is checked on the DDC 1553 Card Manager a
warning will appear. Clicking on Yes will overwrite the previously
assigned device number. If the Prompt on Replace option was not
selected, a warning will not be displayed and the new device number
will automatically overwrite the previously assigned device number.
15. After selecting a Device Number, click on the Ok button. Your
device is now set and ready to use. To exit out of the DDC 1553
card Manager click on the Close button.
20
BU-69068 Manual
5 TESTER/SIMULATOR RTL
5.1 Tester/Simulator RTL (Windows 9x/2000 & Windows NT)
The Tester/Simulator Runtime Library (RTL) is a collection of routines
that allow a programmer developing applications for Windows an easy
way of accessing the BU-65570/2i PCI Card, or BU-65570M PC card
and use its enhanced features in a simple, easy to understand format.
This functionality is provided in the Windows DLL (testsim32.dll).
21
BU-69068 Manual
TESTER/SIMULATOR RTL
22
BU-69068 Manual
6 HEADER FILES
The header files included with the RTL contain all necessary prototypes,
structures, and macros for a program which requires access to the
Tester/Simulators RTLs routines.
6.3 Initialization
In order for the library to function properly, some internal variables must
be initialized, and the downloadable software that runs on the BU65570/2i PCI card, BU-65570/2v VME/VXI card, and BU-65570M PC
card must be loaded into the cards memory.
6.3.1 Initializing The DLL Functionality
Prior to any other function calls from the DLL, the function ddcResetCard
must be called. This function must be called once for each BU-65570/2i
PCI card, BU-65570/2v VME/VXI card, or BU-65570M PC card installed
in the PC. It loads the executable hex file to the card, and runs power-up
diagnostics (as directed by the user).
23
BU-69068 Manual
HEADER FILES
24
BU-69068 Manual
25
BU-69068 Manual
generating VME
on one of the 7
MXI-II systems a
generated by the
U16BIT vector_parameter
26
BU-69068 Manual
TYPE
PARAMETER
SUB-TYPE
PARAMETER
EVENT
00
table number
Command
ME=0,
transmit / receive
01
mode code
Command
ME=0,
mode command
02
table number
Command
ME=1,
transmit / receive
03
mode code
Command
ME=1,
mode command
04-7F
mode code
RESERVED
Note: The ME bit is taken from the last status (i.e., the status which would
be sent in response to a mode command SEND LAST STATUS)
27
BU-69068 Manual
SUB-TYPE
PARAMETER
EVENT
80
message
number
0000
successful message
81
message
number
Error code
Communication error
82
message
number
Status
83
FC
N/A
frame entry=SKIP
83
FD
N/A
frame entry=BREAK_POINT
83
FE
N/A
frame
entry=END_OF_MAJOR_FRAME
83
FF
N/A
frame
entry=END_OF_MINOR_FRAME
84-FF
RESERVED
ERROR TYPE
0000
no error
0002
0004
invalid data
0008
0010
no response
0020
invalid status
0080
28
BU-69068 Manual
INTERRUPT TYPE
00
01
02
03
80
81
82
83
XX
XX
10
XX
11
XX
12
XX
13
XX
14
15
29
BU-69068 Manual
30
BU-69068 Manual
The CMD structure must be filled in with the correct values in order to
create a command for a message. Every message requires a command.
The example below creates a command that will send (.t_r = 0) 5 words
(.wcnt) to Remote Terminal Address 1 (.tadr) using sub-address 1
(.subadr), from Remote Terminal 2 (.tadr) using sub-address 1 (.subadr).
Each message created will require a command. BCRT, RTBC, and
mode code messages may use a single command. Multiple commands
may also be created. In this case cmd1 and cmd2 are the two
commands of a RT to RT message. The example below is an example
of an RT to RT message.
Cmd1.wcnt = 5;
/* 5 words received by RT */
Cmd1.subadr = 1;
Cmd1.t_r = 0;
Cmd1.tadr = 1;
/* The RT number is 1 */
Cmd2.wcnt = 5;
Cmd2.subadr = 1;
Cmd2.t_r = 1;
/* RT will transmit(1) */
Cmd2.tadr = 2;
/* The RT number is 2 */
31
BU-69068 Manual
Each message has the capability to inject errors in the message. These
errors include word count and encoding errors such as pulse width
timing. If the error type is set to E_NONE, then the other entries may be
ignored.
InjErr.error = E_NONE;
InjErr.sub_error_1 = 0;
InjErr.sub_error_2 = 0;
InjErr.sub_error_3 = 0;
Once the MESSAGE structure entries have been filled in, the message is
registered with the application by calling the ddcDef_message routine.
In this case, the message is being given an index of 1.
ddcDef_message (pCrd, 1, &Message );
After the messages are defined, they are entered into a U16BIT Frame
array. This array will hold the indices for all of the messages that will be
processed during one frame time. Other frame symbols are also used to
define Minor Frames and Frames. Each message is placed into the
Frame array based on the index number assigned to it in the
32
BU-69068 Manual
Frames may be repeated once, X times, or forever. Each time the frame
runs from start to end, it does so in a specified amount of time. The
amount of time it takes to complete a frame is defined by the minor frame
time multiplied by the total number of minor frames in the frame. In this
example there is only one minor frame, and the minor frame is set at
2640 secs using the ddcDefMinorFrameTime function.
ddcDefMinorFrameTime (pCrd, 2640 );
There are also structures for RT operation. In this case, the operation of
the RT is simple with no error injection, and the return status set to
0x0000.
InjErr.error = E_NONE;
InjErr.sub_error_1 = 0;
InjErr.sub_error_2 = 0;
InjErr.sub_error_3 = 0;
rt.inj_error = &InjErr;
rt.basic_status = 0x0000;
33
BU-69068 Manual
Set up RT 2 since you are doing a RT-RT message. This setup is the
same as RT 1, except when you call ddcDef_rt_map the second
parameter becomes a 2 for RT 2, and the third parameter is TRANSMIT.
InjErr.error = E_NONE;
InjErr.sub_error_1 = 0;
InjErr.sub_error_2 = 0;
InjErr.sub_error_3 = 0;
rt.inj_error = &InjErr;
rt.basic_status = 0x0000;
ddcDef_emulate_rt (pCrd, 2, YES);
ddcDef_rt(pCrd,2, &rt);
ddcDef_rt_map(pCrd,2,TRANSMIT,1,1);
Now you will set up the Data tables for RT 1 and RT 2. The function
ddcDef_table_size sets the size of the data table (third parameter
5), for the specified data table (second parameter 1).
Then
ddcWrite_data is called to write the data to data table 1.
ddcDef_table_size(pCrd,1,5);
data[ 0]=0x0000;
data[2]=0x0002;
data[4]=0x0004;
data[1]=0x0001;
data[3]=0x0003;
ddcWrite_data(pCrd,1,data,5,1);
data[1]=0x0001;
data[3]=0x0003;
ddcWrite_data(pCrd,2,data,5,1);
34
BU-69068 Manual
Next setup the Monitor. First initialize the array MTFilter elements = 3.
The following functions will setup the stack file. The interrupts to mask
from the card to the host will be set. The bits flagged by the responding
RT when the monitor captures data will be set. The bus will also be
selected.
for (i=0; i<32; i++)
for (j=0; j<32; j++)
MTFilter[i][j]= 3;
ddcDef_monitor_stack(pCrd, CYCLIC_STACK);
ddcDef_int_mask(pCrd, 0xffff);
ddcDef_mon_exception_status(pCrd, 0x07ff);
ddcCapture_event(pCrd,CAPTURE_IMMEDIATE,0x0000,0x0000);
ddcSelect_bus(pCrd,YES,NO);
for(i=0; i<32; i++)
{
for(j=0; j<32; j++)
{
if(MTFilter[i][j] & 0x1)
ddcSelect_message(pCrd,i,TRANSMIT,j);
else
ddcDeselect_message(pCrd,i,TRANSMIT,j);
if(MTFilter[i][j] & 0x2)
ddcSelect_message(pCrd,i,RECEIVE,j);
else
ddcDeselect_message(pCrd,i,RECEIVE,j);
}
}
ddcRun_mon(pCrd);
35
BU-69068 Manual
Run the RT and BC using the following routines. The BC will run from
message one in the frame for 100 times.
ddcRun_rt(pCrd);
ddcRun_bc (pCrd, 1, 100);
When the program is complete, Halt the program and return to the calling
system or program.
printf("\nPress any key to Halt the Card\n");
getch();
ddcHaltIdea(pCrd);
ddcShutDownIdea(&pCrd);
return 0;
}
36
BU-69068 Manual
9 PROGRAMMERS REFERENCE
This material describes the software design and operation of the
BU-65570/2i PCI Card, BU-65570/2v VME/VXI Card or a BU-65570M
PC Card. This information is provided for users who want to create their
own applications using the RTL software provided with the card. If you
are not using the RTL software (BU-69068 or BU-69067) provided with
the card, you do not need to read this chapter.
Each channel of the BU-65570/2i PCI card and BU-65570/2v uses a TITMS320C57 microprocessor operating at 40 MHz. There are total of 128
Kbytes of RAM on the card for each of the installed channels. 64K bytes
are used for program storage and execution, booting the microprocessor
and for simple diagnostic tests. The other 64K Kbytes of RAM are
provided for use by the 1553 operations.
The cards provide up to four MIL-STD-1553 buses that operate
independently. There are relays for each channel that may be accessed
via the RTL. These relays enable the application to control the
connection to the 1553 bus in either direct or transformer coupled
modes.
There is also a set of relays for each installed channel that can be used
to setup the 1553 bus loading. The relays allow no load, half load
(75 ohms) or full load (37.5 ohms).
The BU-65572i/72v and BU-65570M are IRIG capable. The IRIG is
selectable for each channel. If IRIG is specified for a channel, the
complete time tag for the channel will be the IRIG time plus the cards
internal 32-bit time tag. If the IRIG time is not used, then the time tag will
be the internal 32-bit time only.
37
BU-69068 Manual
10 FUNCTIONS BY HEADER
10.1 bc.h
These functions are contained in bc.h. For a detailed description on
each function see the appropriate page number listed below.
ddcDefBcExceptionStatus ................................................................... 56
ddcDefDataBuffering............................................................................ 57
ddcDefEmulateBc ................................................................................ 58
ddcDefFrame ....................................................................................... 60
ddcDefFrameTime ............................................................................... 61
ddcDefIntMask .................................................................................... 64
ddcDefIntMaskBcrt .............................................................................. 65
ddcDefMessage ................................................................................... 71
ddcDefMinorFrameTime ...................................................................... 75
ddcDefTableSize ................................................................................. 86
ddcGetBcDataTable ............................................................................ 93
ddcGetBcHaltParameters .................................................................... 94
ddcHaltBcrt .......................................................................................... 98
ddcInsertMessage ............................................................................... 102
ddcReadData ....................................................................................... 106
ddcReadDataPart ................................................................................ 107
ddcReadMessage ................................................................................ 112
ddcRunBc ............................................................................................ 141
ddcRunContinue .................................................................................. 142
ddcSkipNextMessage .......................................................................... 167
ddcWriteData ....................................................................................... 169
38
BU-69068 Manual
FUNCTIONS BY HEADER
10.2 err.h
These functions are contained in err.h. For a detailed description on
each function see the appropriate page number listed below.
ddcGetErrorMessage ........................................................................ 95
ddcPrintErrorMessage ...................................................................... 103
39
BU-69068 Manual
FUNCTIONS BY HEADER
10.3 int.h
These functions are contained in int.h. For a detailed description on
each function see the appropriate page number listed below.
ddcCardState .................................................................................... 50
ddcHaltIdea ....................................................................................... 99
ddcGetGlueLogicVersion .................................................................. 96
ddcIdeaVersion ................................................................................. 101
ddcReadAmp .................................................................................... 104
ddcReadCoupling.............................................................................. 105
ddcResetCard ................................................................................... 129
ddcResetCardBCRT ......................................................................... 131
ddcResetCardMonitor ....................................................................... 132
ddcSetAmp........................................................................................ 148
ddcSetCoupling ................................................................................. 154
ddcSetRespTimeout .......................................................................... 161
ddcShutDownIdea ............................................................................. 166
40
BU-69068 Manual
FUNCTIONS BY HEADER
10.4 irq.h
These functions are contained in irq.h. For a detailed description on
each function see the appropriate page number listed below.
ddcSetBcrtEvent ............................................................................... 149
ddcSetBcrtEventEx ........................................................................... 150
ddcSetMonEvent ............................................................................... 159
41
BU-69068 Manual
FUNCTIONS BY HEADER
10.5 mt.h
These functions are contained in mt.h. For a detailed description on
each function see the appropriate page number listed below.
ddcCaptureEvent .............................................................................. 47
ddcCaptureOccurred ......................................................................... 49
ddcDecodeMonMessage .................................................................. 52
ddcDefIntMaskMonitor ...................................................................... 66
ddcDefMonExceptionStatus .............................................................. 78
ddcDefMonitorStack .......................................................................... 79
ddcDeselectAllMessages .................................................................. 87
ddcDeselectMessage ........................................................................ 88
ddcDisableDma ................................................................................. 89
ddcEnableDma.................................................................................. 90
ddcEnableIrig .................................................................................... 91
ddcFlushDmaBuffer .......................................................................... 92
ddcGetMTCounters ........................................................................... 97
ddcHaltMon ....................................................................................... 100
ddcReadDmaStack ........................................................................... 108
ddcReadIrig ....................................................................................... 109
ddcReadLastMonMessage ............................................................... 110
ddcReadMonRtc ............................................................................... 116
ddcReadMonStack ............................................................................ 117
ddcReadMonStackPart ..................................................................... 118
ddcResetMon .................................................................................... 136
ddcRunMon ....................................................................................... 143
ddcSelectAllMessages ...................................................................... 145
ddcSelectBus .................................................................................... 146
ddcSelectMessage ............................................................................ 147
ddcSetIrig .......................................................................................... 157
42
BU-69068 Manual
FUNCTIONS BY HEADER
10.6 rep.h
These functions are contained in rep.h. For a detailed description on
each function see the appropriate page number listed below.
ddcReplayFillStack............................................................................ 120
ddcReplayReset ................................................................................ 121
ddcReplayRTActive ........................................................................... 122
ddcReplayRunBC.............................................................................. 123
ddcReplayRunRTs ............................................................................ 124
ddcReplaySetRespDelay .................................................................. 125
43
BU-69068 Manual
FUNCTIONS BY HEADER
10.7 rt.h
These functions are contained in rt.h. For a detailed description on each
function see the appropriate page number listed below.
ddcDefEmulateRt .............................................................................. 59
ddcDefIntCmdTemplate .................................................................... 63
ddcDefLastCmd ................................................................................ 67
ddcDefLastStatus .............................................................................. 68
ddcDefLegalityBcst ........................................................................... 69
ddcDefLegalityDetection ................................................................... 70
ddcDefModeLegality ......................................................................... 76
ddcDefModeRoutine ......................................................................... 77
ddcDefRt ........................................................................................... 80
ddcDefRtMap .................................................................................... 82
ddcDefRtMapBlock ........................................................................... 83
ddcDefTableRoutine ......................................................................... 85
ddcReadLastStatusCmd ................................................................... 111
ddcReadModeData ........................................................................... 115
ddcReadTimeTags ............................................................................ 119
ddcResetBroadcast ........................................................................... 126
ddcResetBusy ................................................................................... 127
ddcResetBusySetSrq ........................................................................ 128
ddcResetDBCAcceptance ................................................................. 133
ddcResetInstrumentation .................................................................. 134
ddcResetMessageError .................................................................... 135
ddcResetReservedBit ....................................................................... 137
ddcResetSerq ................................................................................... 138
ddcResetSubsystem ......................................................................... 139
ddcResetTerminalFlag ...................................................................... 140
ddcRunRt .......................................................................................... 144
ddcSetBroadcast ............................................................................... 151
ddcSetBusy ....................................................................................... 152
ddcSetBusyResetSrq ........................................................................ 153
ddcSetDBCAcceptance ..................................................................... 155
ddcSetInstrumentation ...................................................................... 156
ddcSetMessageError ........................................................................ 158
ddcSetReservedBit ........................................................................... 160
ddcSetRtc.......................................................................................... 162
ddcSetSerq ....................................................................................... 163
ddcSetSubsystem ............................................................................. 164
ddcSetTerminalFlag .......................................................................... 165
ddcSynchronizeAllCards ................................................................... 168
ddcWriteModeData ........................................................................... 170
44
BU-69068 Manual
FUNCTIONS BY HEADER
10.8 vxworks.h
These functions are contained in vxworks.h. For a detailed description
on each function see the appropriate page number listed below.
ddcVxCreateDevs ............................................................................. 171
ddcVxGetDevInfo .............................................................................. 172
ddcVxGetDevNum ............................................................................ 173
ddcVxSetVMEAddressInfo ................................................................ 174
45
BU-69068 Manual
46
BU-69068 Manual
ddcCaptureEvent
PROTOTYPE
#include mt.h
Error_t __DECL ddcCapture_event (Device_p pCrd, U16BIT type,
U16BIT par1, U16BIT par2)
DESCRIPTION
This routine defines an event that will cause the Monitor to set the CAPTURE FLAG. The
capture event is marked in the Communication Stack (see APPENDIX D) and a TTL trigger
of width at least 3 microseconds is outputted to the D-type connector.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
type
(input parameter)
An integer which defines the capture event
Valid values:
CAPTURE_IMMEDIATE
CAPTURE_COMMAND_TEMPLATE
CAPTURE_EXCEPTION
CAPTURE_TRIGGER.
par1, par2
(input parameter)
Integers which modify or enhance the operation of the capture
operation.
The valid values for this function are dependant upon the event
Type.
If type = CAPTURE_IMMEDIATE
Valid values:
par1 and par2 are not applicable.
If type = CAPTURE_TRIGGER, then par1 specifies the pin on the
D-type connector used as an input trigger.
Valid values:
par1= 0, 1 correspond to pins 18, 22 for
BU-6557xIx cards with respect toGND (pins 2, 3, 4).
par2 is not applicable.
47
BU-69068 Manual
ddcCaptureEvent (continued)
If type = CAPTURE_EXCEPTION, then par1 specifies the
exceptional condition. par2 is not applicable.
Valid values for par1:
ANY_EXCEPTION
INVALID_COMMAND_EXCEPTION
INVALID_DATA_EXCEPTION
INVALID_STATUS_EXCEPTION
GAP_PREC_DATA_EXCEPTION
RESPONSE_TIME_EXCEPTION
WRONG_RT_ADDR_EXCEPTION
FLAGGED_STATUS_BIT_EXCEPTION
ILLEGAL_COMMAND_EXCEPTION
If type = CAPTURE_COMMAND_TEMPLATE, then par1
and par2 specify a command template. The capture event
occurs whenever: par2 = command AND par1
Error Condition
(output parameter)
48
BU-69068 Manual
ddcCaptureOccurred
PROTOTYPE
#include mt.h
Error_t __DECL ddcCapture_occurred (Device_p pCrd, S8BIT *flag)
DESCRIPTION
This routine returns the flag which indicates whether or not the Monitor capture event has
occurred. The capture flag is set when the capture condition has been satisfied and it is
reset whenever the Monitor is instructed to RUN.
APPLICABLE STATE
RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
flag
(output parameter)
pointer to the capture flag.
*flag = 0 if the capture has not occurred.
*flag = 1, Capture occurred.
49
BU-69068 Manual
ddcCardState
PROTOTYPE
#include int.h
Error_t __DECL ddcCardState (Device_p pCrd, CARD_STATE *state)
DESCRIPTION
This routine returns the current state of the card.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT, RUN_MONITOR, HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
state
(output parameter)
Pointer to a CARD_STATE structure in which the following elements are
updated bc_emulated = an integer specifying whether or not the card
emulates a BC
Valid values:
YES
NO
bcrt = an integer specifying the BC/RT state
Valid values:
HALTED
RUNNING
mon = an integer specifying the Monitor state
Valid values:
HALTED
RUNNING
card = an integer specifying the overall card state
Valid values:
HALT_STATE
RUN_BCRT_STATE
RUN_MONITOR_STATE
RUN_BCRT_MONITOR_STATE
50
BU-69068 Manual
ddcCardState (continued)
The value of the card's state is derived from the BCRT and MON states as follows:
CARD
HALT_STATE
RUN_MONITOR_STATE
RUN_BCRT_STATE
RUN_BCRT_MONITOR_STATE
BCRT
HALTED
HALTED
RUNNING
RUNNING
MON
HALTED
RUNNING
HALTED
RUNNING
51
BU-69068 Manual
ddcDecodeMonMessage
PROTOTYPE
#include mt.h
Error_t __DECL ddcDecode_mon_message (Device_p pCrd, U16BIT *buf, MON_MSG
*msg)
DESCRIPTION
This routine decodes a message that was stored in the binary format employed by the card.
See Appendix D for the communication stack structure.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
buf
(input parameter)
Pointer to start of message
msg
(output parameter)
Pointer to structure which contains the decoded message. The fields are
defined as follows:
comm_type
Specifies the communication type
Valid values:
RECEIVE
TRANSMIT
RT_RT
MODE.
bus
Specifies the active bus
Valid values:
BUS_A
BUS_B
Capture
Specifies detection of a capture event
Valid values:
"1" defines that the capture event has occurred
"0" otherwise.
52
BU-69068 Manual
ddcDecodeMonMessage (continued)
broadcast
Specifies a broadcast command
Valid values:
YES
NO
rtc
Specifies the value of the 32 bit Real-Time Clock. The value is sampled at
the beginning of the message. Its resolution is 1 microseconds.
cmd_1
The RX command, mode command or illegal command.
cmd_2
The TX command or invalid command.
rx_status
The status word of the receiving RT.
tx_status
The status word of the transmitting RT.
word_count
Specifies the number of data words received by the monitor.
Valid values:
Range 0-32.
aux_word_count
Equals word_count, except in the case of a long word error. For long
word errors, aux_word_count = word_count-1, where aux_word_count
equals the number of data words up to and including the long word.
error
YES if there is an error, NO otherwise.
data_buf
Pointer to the data associated with the message.
next_msg
Pointer to the next message.
cmd_1_flag
"1" if cmd_1 has been received, "0" otherwise.
cmd_2_flag
"1" if cmd_2 has been received, "0" otherwise.
stat_r_flag
"1" if rx_status has been received, "0" otherwise.
53
BU-69068 Manual
ddcDecodeMonMessage (continued)
stat_t_flag
"1" if tx_status has been received, "0" otherwise.
Irigtime
32-bit IRIG time word.
error_inf
structure of type ERR_ST, containing the following fields:
code
Error code as issued by the card
illegal
Specifies the legality of the command(s).
Valid values:
YES specifies illegal command(s)
NO specifies legal command(s)
rx_status
Specifies the error detected in a valid RX status.
Valid values:
NO_ERROR
EXCEPTION_BIT
WRONG_RT
tx_status
Specifies the error detected in a valid TX status.
Valid values:
NO_ERROR
EXCEPTION_BIT
WRONG_RT
Type
Specifies timing and encoding errors.
Valid values:
NO_ERROR - no error
TYPE_MANCHESTER - Manchester encoding
TYPE_INVERSE - inverse sync
TYPE_SHORT_WORD - short word
TYPE_LONG_WORD - long word
TYPE_PARITY - parity error
TYPE_EARLY_RESPONSE - early response
TYPE_NO_RESPONSE - no response
TYPE_GAP - a gap before a data word
TYPE_EXTRA_WORD - a valid sync +2 valid bits followed the
"last" word in the message
54
BU-69068 Manual
ddcDecodeMonMessage (continued)
word_type
Specifies the location of the timing or encoding error (when the type is not
equal to NO_ERROR).
Valid values:
WORD_CMD - command
WORD_RX - rx_status
WORD_TX - tx_status
WORD_DATA data
word_number
An integer in the range 1-32 which specifies the number of the data word
which contains the error (error_inf.type does not equal NO_ERROR and
error_inf.word_type = WORD_DATA)
s_cmd_1, s_cmd_2
Structures of type COM_ST with bit fields corresponding to fields in the
command(s):
wcnt
sadr
tr
tadr
55
BU-69068 Manual
ddcDefBcExceptionStatus
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_bc_exception_status (Device_p pCrd, U16BIT val)
DESCRIPTION
This routine defines which bits in a responding RT's status word will be flagged by the BC
as exceptional.
Note: If the Bus Controller is receiving the RT status word with bits set is associated with
the intermessage routine "INT_ON_END_OF_MESSAGE", then the card will issue
an interrupt of type "BIT_LIT_IN_STATUS", not end of message.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(input parameter)
A U16BIT mask that will be used to compare the incoming RT
Status word bits to 1. If any of the bits in this word that are set to
1 and the appropriate bit in the incoming status word is also set,
then an exception will be detected.
Error Condition
(output parameter)
56
BU-69068 Manual
ddcDefDataBuffering
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_data_buffering (Device_p pCrd, S16BIT type)
DESCRIPTION
This routine specifies whether the data tables are double buffered or not. Double buffering
can be used to avoid contention when the user's application and the 1553 bus access data
tables asynchronously.
If data tables are double-buffered, the host exchanges the table pointers before it reads
data and after it writes data. The routine ddcDefDataBuffering assigns size=0 to data
tables 1 to 250 and size=32 to tables 0 and 251. In addition, it allocates memory by
assigning appropriate values to the data table pointers. As a result, if the user has
previously defined data table sizes, they must be redefined after calling ddcDefTableSize.
Note: The FRAME is assigned size=0 and should also be redefined.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
type
(input parameter)
Specify the type of data buffering that should be used by the card.
Valid values:
SINGLE
DOUBLE
Error Condition
(output parameter)
57
BU-69068 Manual
ddcDefEmulateBc
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_emulate_bc (Device_p pCrd, S16BIT tadr, S16BIT emulate)
DESCRIPTION
This routine specifies whether or not a BC is emulated and assigns a terminal address to
the emulated BC (the BC requires a terminal address since it may pass control and become
a RT).
Note: A call to ddcRunBc will override this function, assuming emulate is set to no.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
An integer in the range 0-30 which defines the terminal address of
the BC
emulate
(input parameter)
Specify whether BC should be emulated
Valid values:
YES
NO
Error Condition
(output parameter)
58
BU-69068 Manual
ddcDefEmulateRt
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_emulate_rt (Device_p pCrd, S16BIT tadr, S16BIT emulate)
DESCRIPTION
This routine defines whether or not an RT with a given terminal address should be
emulated.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0-30 which defines the terminal
address.
emulate
(input parameter)
A S16BIT value that specifies that the RTs should be emulated.
Valid values:
YES
NO
Error Condition
(output parameter)
59
BU-69068 Manual
ddcDefFrame
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_frame (Device_p pCrd, S16BIT length, U16BIT *frame)
DESCRIPTION
This routine defines a FRAME, which specifies the contents and timing of a complete
communication cycle of the BC. Each entry in the FRAME is either a message number (11023) or a special symbol (see ddcDefMessage for details).
The FRAME is divided into minor frames of equal duration. The end of a minor frame is
specified by the symbol END_OF_MINOR_FRAME . When the BC encounters this symbol,
it waits until the minor frame time has expired before proceeding to the next message. The
minor frame time is defined by the routine ddcDefMinorFrameTime.
The end of the FRAME is specified by the symbol END_OF_MAJOR_FRAME. The FRAME
can be run one or more times and the total time will be the time for each frame times the
number of times the frame is completed.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
length
(input parameter)
A S16BIT which defines the number of bytes in the frame. This
must be between 1 and 1023
frame
(input parameter)
A U16BIT array that defines a sequence of message numbers.
Each entry is a U16BIT that corresponds to a message (1-1024),
or a special symbol (SKIP, BREAK_POINT,
END_OF_MINOR_FRAME, END_OF_MAJOR_FRAME).
See ddcDefMessage for details.
Note: The symbol, END_OF_MAJOR_FRAME, must appear in the frame at least once.
After "ddcRunBc" is issued, the card will execute the messages from the frame
index specified in ddcRunBc until the first occurrence of END_OF_MAJOR_FRAME.
All the messages contained in the frame as well as the minor frame time must be
defined ( "ddcDefMessage" and "ddcDefMinorFrameTime") before calling
"ddcDefFrame". Messages appearing after the END_OF_MAJOR_FRAME symbol
can be referred to by the routine "ddcInsertMessage".
Error Condition
(output parameter)
60
BU-69068 Manual
ddcDefFrameTime
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_frame_time (Device_p pCrd, S16BIT length, U16BIT *frame,
U32BIT *frame_time)
DESCRIPTION
This routine defines a FRAME, which specifies the contents and timing of a complete
communication cycle by the BC. Each entry in the FRAME is either a message number (11023) or a special symbol.
The FRAME is divided into minor frames of equal duration. Each message in the minor
frame is executed after a delay of frame_time from the beginning of the minor frame. The
end of a minor frame is specified by the symbol END_OF_MINOR_FRAME. When the BC
encounters this symbol, it waits until the minor frame time has expired before proceeding to
the next message. The minor frame time is defined by the routine ddcDefFrameTime.
The end of the FRAME is specified by the symbol END_OF_MAJOR_FRAME. The FRAME
can be run one or more times. The total time will be computed as the time for each frame,
times the number of times the frame is completed.
This routine can be used instead of ddcDefFrame; the only difference is that this routine
allows the user to define the timing of BC messages.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
length
(input parameter)
A S16BIT which defines the number of bytes in the frame. This
value
must be between 1 and 1023.
frame
(input parameter)
A U16BIT array which defines a sequence of message numbers.
Each entry is a U16BIT which corresponds to a message (1 1023), or a special symbol (SKIP, BREAK_POINT,
END_OF_MINOR_FRAME, END_OF_MAJOR_FRAME).
See ddcDefMessage for details.
61
BU-69068 Manual
ddcDefFrameTime (continued)
frame_time
(input parameter)
A U32BIT array that defines a sequence of message times; each
entry is a long integer which specifies the message time in
microseconds from the beginning of a minor frame. The BC will
issue the message no earlier than the specified time.
Note: The symbol, END_OF_MAJOR_FRAME, must appear in the frame at least once.
After "ddcRunBc" is issued, the card will execute the messages from the start index
until the first occurrence of END_OF_MAJOR_FRAME. All the messages contained
in the frame as well as the minor frame time must be defined (by "ddcDefMessage"
and "ddcDefMinorFrameTime") before calling "ddcDefFrameTime". Messages
appearing after the END_OF_MAJOR_FRAME symbol can be referred to by the
routine "ddcInsertMessage".
Error Condition
(output parameter)
62
BU-69068 Manual
ddcDefIntCmdTemplate
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_int_cmd_template (Device_p pCrd, U16BITmaskwd,
U16BIT cmpwd)
DESCRIPTION
This routine specifies the 1553 commands that will cause an emulated RT to issue an
interrupt to the host. Interrupts will be requested whenever the cmpwd = command AND
maskwd.
The interrupts are issued by intermessage routines.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
maskwd
(input parameter)
A U16BIT value that defines a 16 bit mask.
cmpwd
(input parameter)
A U16BIT value that defines a 16 bit value to be compared to
command AND maskwd.
Error Condition
(output parameter)
63
BU-69068 Manual
ddcDefIntMask
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_int_mask (Device_p pCrd, U16BIT maskreg)
DESCRIPTION
This routine defines which interrupt requests from the card to the host should be masked
(see Section 15.1 for details). ddcDefIntMask affects the BCRT and Monitor modes.
APPLICABLE STATE
HALT
PARAMETERS
Input
pCrd
(input parameter)
Device Handle (See ddcResetCard)
maskreg
(input parameter)
A U16BIT value where each bit in this word corresponds to a
family of interrupt requests.
Error Condition
(output parameter)
64
BU-69068 Manual
ddcDefIntMaskBcrt
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_int_mask_bcrt (Device_p pCrd, U16BIT maskreg)
DESCRIPTION
This routine defines which interrupt requests from the card to the host should be masked
(see Section 15.1 for details). ddcDefIntMaskBcrt affects the BCRT mode only.
APPLICABLE STATE
HALT, RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
maskreg
(input parameter)
A U16BIT value where each bit in this word corresponds to a
family of interrupt requests.
Error Condition
(output parameter)
65
BU-69068 Manual
ddcDefIntMaskMonitor
PROTOTYPE
#include mt.h
Error_t __DECL ddcDef_int_mask_monitor (Device_p pCrd U16BIT maskreg)
DESCRIPTION
This routine defines which interrupt requests from the card to the host should be masked
(see Section 15.1 for details). ddcDefIntMaskMonitor affects the Monitor mode only.
APPLICABLE STATE
HALT, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
maskreg
(input parameter)
A U16BIT value where each bit in this word corresponds to a
family of interrupt requests.
Error Condition
(output parameter)
66
BU-69068 Manual
ddcDefLastCmd
PROTOTYPES
#include rt.h
Error_t __DECL ddcDef_last_cmd (Device_p pCrd, S16BIT tadr, U16BIT val)
DESCRIPTION
This routine defines the value of the LAST COMMAND for a specified RT.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0-30 specifying the terminal address
of the RT.
val
(input parameter)
A U16BIT value specifying the LAST COMMAND
Error Condition
(output parameter)
67
BU-69068 Manual
ddcDefLastStatus
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_last_status (Device_p pCrd, S16BIT tadr, U16BIT val)
DESCRIPTION
This routine defines the value of the LAST STATUS for a specified RT.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0-30 specifying the terminal address
of the RT.
val
(input parameter)
A U16BIT value specifying the LAST STATUS
Error Condition
(output parameter)
68
BU-69068 Manual
ddcDefLegalityBcst
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_legality_bcst (Device_p pCrd, S16BIT legality)
DESCRIPTION
This routine defines the legality of broadcast commands. Illegal broadcast commands are
ignored by RTs. By default, broadcast is legal.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
legality
(input parameter)
A S16BIT value that broadcast is legal.
Valid values:
LEGAL
ILLEGAL
Error Condition
(output parameter)
69
BU-69068 Manual
ddcDefLegalityDetection
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_legality_detection (Device_p pCrd, S16BIT detect)
DESCRIPTION
This routine defines whether or not RTs should detect legality. If legality detection is
selected, RTs will respond to illegal messages with ME=1 in the status and data
transmission will be suppressed. By default, illegality is not detected.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
detect
(input parameter)
A S16BIT value that specifies the legality detection.
Valid values:
YES
NO
Error Condition
(output parameter)
70
BU-69068 Manual
ddcDefMessage
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_message (Device_p pCrd, S16BIT id,
struct tagMESSAGE *message)
DESCRIPTION
This routine defines a message for the BC and then loads the result into the card's internal
memory. The user must define all fields in the MESSAGE structure that are passed as
inputs, except when message ID is assigned the value of a special frame symbol. In this
case, the only relevant fields in the following MESSAGE structure are "first and
second_intermessage_routine" and "time_to_next_message".
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16BIT value in the range 1-1023 which specifies a message
number or a special frame symbol;
Valid values:
1-1023 - message number except for these values
251 - reserved
252 - SKIP - This symbol causes the next message in the
frame to be skipped; however, the intermessage routines
associated with the SKIP are executed.
253 - BREAK_POINT - This symbol causes the BC to halt.
If a ddcRunContinue is subsequently issued, the
communication will continue from the next frame symbol.
254 - END_OF_MAJOR_FRAME - Refer to ddcDefFrame
for details.
255 - END_OF_MINOR_FRAME - Refer to ddcDefFrame
for details.
71
BU-69068 Manual
ddcDefMessage (continued)
message
(input parameter)
A pointer to a MESSAGE structure which receives the following
inputs:
Note: Tables 0 and 251 are illegal tables which cannot be used for a
message. If they are used, error 102 ILLEGAL_TABLE_ID will be
returned by ddcDef_message().
comm_type:
Char defining the type of communication
Valid values:
RECEIVE
TRANSMIT
MODE
RT_RT
NOP
cmd_1:
CMD structure defining the command appearing in the message
(decimal values for terminal address, T/R, sub-address, word
count: see Appendix F).
cmd_2:
CMD structure defining the commands appearing in the message
(decimal values for terminal address, T/R, sub-address, word
count: see Appendix F).
Time_to_next_message:
A U16BIT value in the range 1-216 microseconds, which defines
the time from the start of the present message to the start of the
next message.
Data_table_no:
A U16BIT value in the range 1-1023 which defines the data table.
This field is taken to be the first data table number to be used for
block data.
last_data_table_no:
A U16BIT value in the range 1-1023 which is used for the last data
table number for block data. If the Intermessage Routine
IMR_BLOCK_DATA_BC is assigned to this message, the BC will
treat the sequence of tables from data_table_no to
last_data_table_no as one block of data. The BC will then
cyclically update the number of the data table to be used each
time the message is transmitted.
72
BU-69068 Manual
ddcDefMessage (continued)
bus:
A U8BIT value defining the bus to be used for transfer
Valid values:
BUS_A
BUS_B
first_intermessage_routine:
A U8BIT value in the range 1-127 which specify the routines to be
executed by the onboard processor during the intermessage gap
following the message (see APPENDIX C for details).
second_intermessage_routine:
A U8BIT value in the range 1-127 which specify the routines to be
executed by the onboard processor during the intermessage gap
following the message (see APPENDIX C for details).
inj_error_ptr:
A INJ_ERR pointer to a structure defining the injected error type.
See Table 6 for definitions.
Note: "No error" can be defined by assigning inj_error_ptr = NILL.
Valid values:
E_NONE
LENGTH_BIT
LENGTH_WORD
ENCODE_WORD_GLITCH
ENCODE_WORD_INVERSE
GAP_ERROR
Note: If communication_type = NOP, then no communication is performed. However, the
BC still executes the other features associated with the message (i.e., the
intermessage routines are performed and the next message in the FRAME is sent
after at least "time_to_next_message" microseconds have elapsed).
73
BU-69068 Manual
ddcDefMessage (continued)
Table 6. BC Error Definitions
ERROR_TYPE
SUB_ERROR_1
SUB_ERROR_2
0-32
(Word number)
SUB_ERROR_3
E_NONE
LENGTH_BIT
LENGTH_WORD
ENCODE_WORD_GLITCH
or
ENCODE_WORD_INVERSE
3 - 32
(Gap width in
microseconds, zerocross to zero-cross)
GAP_ERROR
Error Condition
0-32
(Number of word with
error)
0-39
(Start of error in resolution
of 500 nsec.)
1-60
(Error width in units of
50 nsec.)
1-32
(Number of word preceded
by gap)
(output parameter)
74
BU-69068 Manual
ddcDefMinorFrameTime
PROTOTYPES
#include bc.h
Error_t __DECL ddcDef_minor_frame_time (Device_p pCrd, S32BIT val)
DESCRIPTION
This routine specifies the minor frame time for the BC.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
Error Condition
(output parameter)
75
BU-69068 Manual
ddcDefModeLegality
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_mode_legality (Device_p pCrd, S16BIT mode_code,
S16BIT legality)
DESCRIPTION
This routine defines the legality of mode commands. The definition is common to all RTs.
By default, all reserved mode commands as well as "Selected Transmitter Shutdown" and
"Override Selected Transmitter Shutdown" are illegal.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
mode_code
(input parameter)
An integer in the range 0-31 which corresponds to the mode code.
legality
(input parameter)
A S16BIT value that specifies legality of mode commands.
Valid values:
LEGAL
ILLEGAL
Error Condition
(output parameter)
76
BU-69068 Manual
ddcDefModeRoutine
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_mode_routine (Device_p pCrd, S16BIT mode_code,
S16BIT im_routine_1, S16BIT im_routine_2
DESCRIPTION
This routine assigns 2 intermessage routines to a mode command. An emulated RT
executes these routines immediately after the mode command is executed.
Note: The 2 RT intermessage routines will only be executed if the BC is not emulated (i.e.,
the BC is external to the BU-65570/2i, BU-65570/2T, BU-65570/2v and BU65570M). If the BC is emulated, then the intermessage routines associated with the
message structure are executed instead.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
mode_code
(input parameter)
A S16BIT value in the range 0-31 specifying the mode code.
im_routine_1
(input parameter)
A S16BIT value in the range 1-127 specifying the first
intermessage routine to be executed by the RT.
im_routine_2
(input parameter)
A S16BIT value in the range 1-127 specifying the second
intermessage routine to be executed by the RT.
Error Condition
(output parameter)
77
BU-69068 Manual
ddcDefMonExceptionStatus
PROTOTYPE
#include mt.h
Error_t __DECL ddcDef_mon_exception_status (Device_p pCrd, U16BIT val)
DESCRIPTION
This routine defines which bits in a responding RT's status word will be flagged by the
Monitor as exceptional.
Note: If the monitor is receiving the RT status word with bits set is associated with the
intermessage routine "IMR_INT_ON_END_OF_MESSAGE", then the card will
issues an interrupt of type "BIT SET IN STATUS", not end of message.
Note: The error, "BIT SET IN STATUS", which is recorded in the message structure
relates only to the ME and BUSY bits.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(input parameter)
A U16BIT mask that will be used to compare the incoming RT
Status word bits to 1. If any of the bits in this word are set to 1
and the appropriate bit in the incoming status word is also set,
then an exception will be flagged by the monitor.
Error Condition
(output parameter)
78
BU-69068 Manual
ddcDefMonitorStack
PROTOTYPE
#include mt.h
Error_t __DECL ddcDef_monitor_stack (Device_p pCrd, U16BIT type)
DESCRIPTION
This routine defines whether or not the Monitor's buffer in the card's shared memory is
cyclic. Based on the value of the type parameter, the monitor stack can be set up as a
single pass queue or a circular buffer that will recycle when the end is reached.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
type
(input parameter)
This U16BIT value defines the operation of the monitor stack.
Based on the value, the monitor stack will either run to the end
and stop receiving new messages from the bus or it will wrap back
to the beginning of the stack
Valid values:
CYCLIC_STACK
NON_CYCLIC_STACK
Error Condition
(output parameter)
79
BU-69068 Manual
ddcDefRt
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_rt (Device_p pCrd, S16BIT tadr, struct _tagRT_DEFS *rt)
DESCRIPTION
This routine defines the operation of an RT. The basic operation of the RT will be specified
by the RT terminal address and the data entries of the RT_DEFS structure.
APPLICABLE STATE
HALT
PARAMETERS
Input
pCrd
tadr
(input parameter)
Device Handle (See ddcResetCard)
(input parameter)
A S16BIT value in the range 0-30 which defines the RT terminal
address.
Note: Terminal address 31 is reserved for broadcast commands.
rt
(input parameter)
A pointer to an RT_DEFS structure which defines the RT
parameters. The following defines the entries of this structure and
the values to which they can be set.
basic_status
A S16BIT value OR'd with the communication status
before it is sent by the RT; the most significant 5 bits
(terminal address field) do not affect the status.
inj_error
A INJ_ERR pointer to a structure consisting of 4 integers:
error_type, sub_error_1, sub_error_2, sub_error_3. The
values are given in Table 7.
dbca
A S16BIT value that defines the response to the mode
command "Dynamic Bus Control"
Valid values:
YES (the RT will set the DBCA bit in the status and
accept control)
NO (specifies that the RT will not accept control)
80
BU-69068 Manual
ddcDefRt (continued)
dbc_delay
A S32BIT value in the range 40 - 130,000 which specifies
the delay (in microseconds) before sending the first
message after receiving control.
Note: The DBC delay time MUST be a LONG integer.
Error Condition
(output parameter)
SUB_ERROR_1
SUB_ERROR_2
SUB_ERROR_3
E_NONE
LENGTH_BIT_STATUS
LENGTH_BIT_DATA
LENGTH_WORD
ENCODE_STATUS_GLITCH
or
ENCODE_STATUS_INVERSE
ENCODE_WORD_GLITCH
or
ENCODE_WORD_INVERSE
ALTERNATE_STATUS
GAP_ERROR
1-60
(error width in units of
50 nsec.)
1-32
(number of word with
error)
tadr, excluding
current tadr
3 - 32
(gap width in
microseconds, zerocross to zero-cross)
0-39
(start of error in
resolution of 500
nsec)
1-60
(error width in units of
50 nsec.)
NO_RESPONSE_A
NO_RESPONSE_B
NO_RESPONSE_BOTH
LATE_RESPONSE
12-30
(response time in
microseconds)
ALTER_BUS_RESPONSE
81
BU-69068 Manual
ddcDefRtMap
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_rt_map (Device_p pCrd, S16BIT tadr, S16BIT tr_bit, S16BIT sadr,
S16BIT table_id)
DESCRIPTION
This routine determines which data tables should be used by a given RT when responding
to the given receive/transmit command. Data tables will be attached to a RT based on RT
terminal address, the transmit/receive bit and the Sub-address. A table may also be
attached to any number of RTs, T/Rs and Sub-addresses. This function will have to be run
each time a data table is mapped to a RT.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Logical Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0-31 specifying the terminal address
of the RT
tr_bit
(input parameter)
A S16BIT value that determines whether the message is a
transmit or receive.
Valid values:
RECEIVE
TRANSMIT
sadr
(input parameter)
A S16BIT value in the range 1-30 specifying the sub-address.
table_id
(input parameter)
A S16BIT value in the range 1-1023 specifying the data table
number. The value of this parameter must be greater than or
equal to first_table_id.
Note: By default all receive/transmit commands are illegal (i.e., receive
commands are mapped to rxillegal (data table 0) and transmit
commands to txillegal (data table 251).
Error Condition
(output parameter)
82
BU-69068 Manual
ddcDefRtMapBlock
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_rt_map_block (Device_p pCrd, S16BIT tadr, S16BIT tr_bit,
S16BIT sadr, S16BIT start_table_id,
S16BIT end_table_id)
DESCRIPTION
This routine determines which contiguous block of data tables should be used by a given
RT when responding to the given receive/transmit command.
It assigns a sequence of data tables from the first_table to the last_table for the given RT
when responding to the given receive/transmit command.
In order for the block to be implemented, the Intermessage
IMR_BLOCK_DATA_RT, must be assigned to each of the data tables.
Routine,
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0-31 specifying the terminal address
of the RT
tr_bit
(input parameter)
A S16BIT value that determines whether the message is a
transmit or receive.
Valid values:
RECEIVE
TRANSMIT
sadr
(input parameter)
A S16BIT value in the range 1-30 specifying the sub-address.
start_table_id
(input parameter)
A S16BIT value in the range 1-1023 specifying the first data table
number
83
BU-69068 Manual
ddcDefRtMapBlock (continued)
end_table_id
(input parameter)
A S16BIT value in the range (Start_table_id+1)-1023 specifying
the last_data table number. It must be greater than or equal to
first_table_id.
Note: By default all receive/transmit commands are illegal (i.e., receive
commands are mapped to table 0 and transmit commands to
table 255).
Error Condition
(output parameter)
84
BU-69068 Manual
ddcDefTableRoutine
PROTOTYPE
#include rt.h
Error_t __DECL ddcDef_table_routine (Device_p pCrd, S16BIT id,
S16BIT im_routine_1,S16BIT im_routine_2)
DESCRIPTION
This routine assigns 2 intermessage routines to a data table. An emulated RT executes
these routines immediately after processing the message that caused it to access the data
table.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16BIT in the range 0-1023 which identifies the data table.
im_routine_1
(input parameter)
A S16BIT in the range 1-127 which specifies a routine to be
executed by the RT. Refer to APPENDIX C.
im_routine_2
(input parameter)
A S16BIT in the range 1-127 which specifies a routine to be
executed by the RT. Refer to APPENDIX C.
Error Condition
(output parameter)
85
BU-69068 Manual
ddcDefTableSize
PROTOTYPE
#include bc.h
Error_t __DECL ddcDef_table_size (Device_p pCrd, S16BIT id, S16BIT size)
DESCRIPTION
This routine defines the number of words in a data table. The total amount of memory
allocated to all the data tables is limited by the available memory of the BU-65570/2i, BU65570/2v and BU-65570M, which has a maximum of 64K words available for all data tables
and message entries. The BU-65570/2T has a maximum of 12K words.
Note: If the size of a data table is changed, then all pointers to subsequent tables (i.e.,
those with a larger identification number) are also changed. Since data is not
moved after the pointers are adjusted, the contents of the tables must be redefined.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16BIT in the range 0-1023 which identifies the table.
size
(input parameter)
A S16BIT in the range 0-32 which specifies the number of words
in the table (0 specifies that the table is not used); the size for
tables 0 and 251 is fixed to 32 words (the user should not change
it), all other tables are assigned size 0.
Error Condition
(output parameter)
86
BU-69068 Manual
ddcDeselectAllMessages
PARAMETER
#include mt.h
Error_t __DECL ddcDeselect_all_messages (Device_p pCrd, U16BIT tadr)
DESCRIPTION
This routine specifies that all messages to a given RT shall be deselected by the Monitor
(by default all messages are selected).
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A U16BIT value in the range 0-31 which specifies the RT address.
Error Condition
(output parameter)
87
BU-69068 Manual
ddcDeselectMessage
PROTOTYPE
#include mt.h
Error_t __DECL ddcDeselect_message ( Device_p pCrd, U16BIT tadr, U16BIT tr, U16BIT
sadr)
DESCRIPTION
This routine specifies the messages to be deselected by the Monitor. The decision is based
on the values of RT address, T/R bit and sub-address.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A U16BIT value in the range 0-31 which specifies the RT address.
tr
(input parameter)
A U16BIT value that specifies the direction of the message.
Valid values:
TRANSMIT
RECEIVE
sadr
(input parameter)
A U16BIT value in the range 0-31 which specifies the subaddress.
Note: Mode commands are selected by specifying sadr = 0 or 31
Error Condition
(output parameter)
88
BU-69068 Manual
ddcDisableDma
PROTOTYPE
#include mt.h
Error_t __DECL ddcDisableDma(Device_p pCrd)
DESCRIPTION
This function is used to disable DMA operation for the specified Device. Once DMA
operations have been disabled, the host buffer that was created for use with DMA will be
discarded. All data that resides in the DMA buffer will be destroyed, and should not be
accessed.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
89
BU-69068 Manual
ddcEnableDma
PROTOTYPE
#include mt.h
Error_t __DECL ddcEnableDma (Device_p pCrd, U32BIT dwSize)
DESCRIPTION
This routine is used to enable DMA operation while in the monitor mode.
Note: Presently this is only available for monitor operations, but may be added to RT and
BC operations in the future. This routine is used to enable the DMA transfer of data
from the Monitor circular buffers to a host buffer. The host buffer size is defined in
BYTES using the second parameter.
The DMA buffer has a minimum value of 64K. The maximum value must be able to fit within
the systems memory. If and incorrect size is specified, the function will return an error.
Note: This mode is not available for the BU-65570M PCMCIA card.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
dwSize
(input parameter)
A U32BIT value specifying the size of the DMA buffer to be
created and enabled in the host computer.
Valid values:
Must be greater than 64K
Must be able to fit in the system memory.
Error Condition
(output parameter)
90
BU-69068 Manual
ddcEnableIrig
PROTOTYPE
#include mt.h
Error_t __DECL ddcEnableIrig(Device_p pCrd, U16BIT Enable)
DESCRIPTION
This function is used to enable or disable IRIG time on the card.
Note: To get complete IRIG time an external IRIG clock is needed.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Enable
(input parameter)
A U16BIT value that is either TRUE to enable the IRIG time or
FALSE to disable IRIG.
Error Condition
(output parameter)
91
BU-69068 Manual
ddcFlushDmaBuffer
PROTOTYPE
#include mt.h
Error_t __DECL ddcFlushDmaBuffer(Device_p pCrd)
DESCRIPTION
This function is used to flush all of the data that is presently stored in the DMA buffer.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
92
BU-69068 Manual
ddcGetBcDataTable
PROTOTYPE
#include bc.h
Error_t __DECL ddcGet_bc_data_table (Device_p pCrd, S16BIT
message_id, S16BIT t_r, S16BIT *data_table_number)
DESCRIPTION
This routine returns the data table number last used by the BC for the specified
receive/transmit message. This is useful when using the BLOCK_DATA feature for the BC,
since the BC can be cyclically running through a set of data tables.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
message_id
(input parameter)
A S16BIT value in the range 1-1023 that specifies a message
number.
t_r
(input parameter)
A S16BIT value defining the type of command in the message
Valid values:
RECEIVE
TRANSMIT
data_table_number
(output parameter)
Address of a S16BIT value that will contain the return value of the
data table number that was last accessed by the BC for the
specified message.
93
BU-69068 Manual
ddcGetBcHaltParameters
PROTOTYPE
#include bc.h
Error_t __DECL ddcGet_bc_halt_parameters (Device_p pCrd, S32BIT *rem_times,
S16BIT *frame_pos, S16BIT *bc_tadr)
DESCRIPTION
This routine reads the BC parameters after the BC transitions to the HALT state.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
rem_times
(output parameter)
Address of a S32BIT pointer to the remaining number of times to execute
the frame.
frame_pos
(output parameter)
Address of a S16BIT pointer to the message position of the BC in the
frame.
bc_tadr
(output parameter)
Address of a S16BIT pointer to the terminal address of the current BC. If
the BC is not emulated, the value by default is 0 and the operation is
Off.
94
BU-69068 Manual
ddcGetErrorMessage
PROTOTYPE
#include err.h
Error_t __DECL ddcGetErrorMessage(Device_p pCrd, Error_t error_number, char
*error_string)
DESCRIPTION
This function is used to obtain the RTL error string for the corresponding error number.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
error_number
(input parameter)
Error code that is returned by a RTL function
error_string
(output parameter)
Buffer which receives the error string for the corresponding error
number.
95
BU-69068 Manual
ddcGetGlueLogicVersion
PROTOTYPE
#include int.h
Error_t __DECL ddcGetGlueLogicVersion(Device_p pCrd, U16BIT *gl_ver)
DESCRIPTION
This function is used to get the version number for FPGA Glue Logic.
Note: The glue logic version for the BU-65570M card is 0.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
gl_ver
(output parameter)
Returns the glue logic version of the card.
96
BU-69068 Manual
ddcGetMTCounters
PROTOTYPE
#include mt.h
Error_t __DECL ddcGetMTCounters(Device_p pCrd, U32BIT *invalid, U32BIT *total,
U16BIT *buff)
DESCRIPTION
This routine is used by the Tester/Simulator Menu (BU-69065) to display the activity on the
bus while the card is running.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
invalid
(output parameter)
A U32BIT pointer that specifies the location of the total number of invalid
messages that have been sent across the bus.
total
(output parameter)
A U32BIT pointer that specifies the location of the total number of
messages that have been sent across the bus.
buff
(output parameter)
A U16BIT pointer that specifies the location of the copy of the stack.
97
BU-69068 Manual
ddcHaltBcrt
PROTOTYPE
#include bc.h
Error_t __DECL ddcHalt_bcrt (Device_p pCrd )
DESCRIPTION
This routine halts the BC and RTs. In addition, it resets the card's queue which holds
pending interrupt requests.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT, RUN_MONITOR, HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
98
BU-69068 Manual
ddcHaltIdea
PROTOTYPE
#include int.h
Error_t __DECL ddcHaltIdea (Device_p pCrd )
DESCRIPTION
This routine halts the BC, RTs and Monitor. In addition, it resets the card's queue which
holds pending interrupt requests.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT, HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
99
BU-69068 Manual
ddcHaltMon
PROTOTYPE
#include mt.h
Error_t __DECL ddcHalt_mon (Device_p pCrd )
DESCRIPTION
This routine halts the Monitor.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT, HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
100
BU-69068 Manual
ddcIdeaVersion
PROTOTYPE
#include int.h
Error_t __DECL ddcIdeaVersion(Device_p pCrd, char *rtl_ver, char *driver_ver ,char
*part_no)
DESCRIPTION
This function is called to get the Runtime Library, Driver, and Hardware version that the
user is currently running.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
rtl_ver
(output parameter)
Character value that returns the version of the RTL.
driver_ver
(output parameter)
Character value that returns the version of the driver installed on your
system.
part_no
(output parameter)
Character value that returns the card that you are currently using.
101
BU-69068 Manual
ddcInsertMessage
PROTOTYPE
#include bc.h
Error_t __DECL ddcInsert_message (Device pCrd, S16BIT pos)
DESCRIPTION
This routine causes the BC to insert a message after the current message. The inserted
message must be defined somewhere in the frame before OR after the
END_OF_MAJOR_FRAME symbol (see ddcDefFrame).
APPLICABLE STATE
RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
pos
(input parameter)
A S16BIT value that defines the position of the additional
message in the frame. This value is 0 based, so the first
message in the frame is designated as 0, the second is 1 and so
on. The range of "pos" must be compatible with the frame length
as defined by ddcDefFrame
Error Condition
(output parameter)
102
BU-69068 Manual
ddcPrintErrorMessage
PROTOTYPE
#include err.h
Error_t __DECL ddcPrintErrorMessage(Device_p pCrd, S16BIT errcode, S8BIT
*user_string)
DESCRIPTION
This routine outputs a message to the screen describing the error code returned by a RTL
function.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
errcode
(input parameter)
Error code to be described
user_string
(input parameter)
User defined message
Error Condition
(output parameter)
103
BU-69068 Manual
ddcReadAmp
PROTOTYPE
#include int.h
Error_t __DECL ddcReadAmp(Device_p pCrd, S16BIT *val)
DESCRIPTION
This function is used to read the amplitude on the BU-65572i, and BU-65572v cards.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
Error Condition
(output parameter)
104
BU-69068 Manual
ddcReadCoupling
PROTOTYPE
#include int.h
Error_t __DECL ddcReadCoupling(Device_p pCrd, S16BIT *val)
DESCRIPTION
This function is used to see what the value of the coupling is set to on the BU-65572i, and
BU-65572v cards.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(output parameter)
S16BIT value which represents the coupling on the BU-65572i,
BU-65572T, and BU-65572v cards. See table below for description of
bit fields.
Function
Chan A Coupling
Chan
A
Termination
Chan
A
Termination
Chan B Coupling
2
3
4
5
615
Chan
Termination
Chan
Termination
Not Used
Bit = 1
Direct
Coupled
78 Ohm load
Bit = 0
Transformer Coupled
78 Ohm load
No load
Transformer Coupled
Direct
Coupled
78 Ohm load
78 Ohm load
No load
No load
No load
Notes: 1. Channels A and B will always have the same coupling and termination
configuration.
2. Half Termination is applied using a single 78 Ohm load on bits 1 and 4.
3. Full Termination is applied by placing both 78 Ohm loads in parallel for each
channel (bits 1, 2 and 4, 5).
105
BU-69068 Manual
ddcReadData
PROTOTYPE
#include bc.h
Error_t __DECL ddcRead_data (Device_p pCrd, S16BIT id, S16BIT*buf, S16BIT count)
DESCRIPTION
This routine reads a data table resident in the cards shared memory. If data tables are
double-buffered, the table pointers are exchanged before the data is read.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16BIT value in the range 0-1023 which identifies the table to be
copied.
buf
(output parameter)
A S16BIT buffer that will receive the copied data.
count
(output parameter)
A S16BIT value that specifies the number of words to be copied from the
card to the user buffer. This parameter must be less than or equal to the
size of the buf parameter size (in S16BIT words).
106
BU-69068 Manual
ddcReadDataPart
PROTOTYPE
#include bc.h
Error_t __DECL ddcRead_data_part(Device_p pCrd, S16BIT id, S16BIT *buf,
S16BIT count, S16BIT pos)
DESCRIPTION
This routine reads part of a data table resident in the cards shared memory. If data tables
are double-buffered, the table pointers are exchanged before the data is read.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16BIT value in the range 0-1023 which identifies the table to be
copied.
pos
(input parameter)
A S16BIT value that specifies the starting position in the table to read
from.
Valid Values:
0 through 31
buf
(output parameter)
A S16BIT buffer that will receive the copied data. The data read is raw
stack data. There is no conversion to message information in this routine.
count
(output parameter)
A S16BIT value that specifies the number of words to be copied from the
card to the user buffer. This parameter must be less than or equal to the
size of the buf parameter size (in S16BIT words).
107
BU-69068 Manual
ddcReadDmaStack
PROTOTYPE
#include mt.h
Error_t __DECL ddcReadDmaStack(Device_p pCrd, S16BIT *buf,S32BIT *count)
DESCRIPTION
This function is used to read data from the host DMA buffer to a user buffer. The total
amount of data transferred is limited by the size of the user buffer. The number of data
words returned in the buffer will also be returned in the parameter count.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
buf
(input parameter)
A S16BIT pointer to a user pointer that returns the data from the
DMA buffer
count
(input parameter)
A S32BIT pointer to a user variable that will be used to return the
number of words returned in the user buffer.
Error Condition
(output parameter)
108
BU-69068 Manual
ddcReadIrig
PROTOTYPE
#include mt.h
Error_t __DECL ddcReadIrig(Device_p pCrd, S16BIT *IrigMissing, S16BIT *Day, S16BIT
*Hour, S16BIT *Minute, S16BIT * *Second);
DESCRIPTION
This routine reads the IRIG time off the Tester/Simulator card.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
IrigMissing
(input parameter)
A S16BIT value that specifies if there is an external IRIG source.
Day
(input parameter)
A S16BIT value that specifies the Day in a calendar year.
Valid Values:
0 through 366
Hour
(input parameter)
A S16BIT value that specifies the hour in a 24 hour day.
Valid Values:
0 through 23
Minute
(input parameter)
A S16BIT value that specifies the minutes in an hour.
Valid Values
0 through 59
Second
(input parameter)
A S16BIT value that specifies the seconds in a minute.
Valid Values
0 through 59
Error Condition
(output parameter)
109
BU-69068 Manual
ddcReadLastMonMessage
PROTOTYPE
#include mt.h
Error_t __DECL ddcRead_last_mon_message (Device_p pCrd, U16BIT *buf, U16BIT
*count)
DESCRIPTION
This routine reads the last message from the Monitor's communication stack. The pointer to
the last message is updated by the card only if the interrupt of type "1/3 of circular buffer" is
disabled. If the interrupt is enabled, the routine will return an error and will not update the
user's buffer.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard
)
buf
(output parameter)
A U16BIT pointer to the buffer which is to receive the contents of the
message (the buffer must hold at least 40 words, or 42 words if IRIG is
enabled).
count
(output parameter)
A U16BIT pointer to the parameter which will return the number of words
copied to the buffer. If no messages have been received since the
previous call to ddcReadLastMonMessage or if the 1/3 circular buffer
interrupt is enabled, then count = 0 and the return error code indicates
NO_NEW_MESSAGES.
110
BU-69068 Manual
ddcReadLastStatusCmd
PROTOTYPE
#include rt.h
Error_t __DECL ddcRead_last_status_cmd (Device_p pCrd, S16BIT tadr,
*last_status, U16BIT *last_cmd)
U16BIT
DESCRIPTION
This routine reads the LAST STATUS and LAST COMMAND associated with the specified
internal RT.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
Terminal address of the RT.
last_status
(output parameter)
The value of the LAST STATUS.
last_cmd
(output parameter)
The value of the LAST COMMAND.
111
BU-69068 Manual
ddcReadMessage
PROTOTYPE
#include bc.h
Error_t __DECL ddcRead_message(Device_p pCrd, S16BIT id, struct tagMESSAGE
*message)
DESCRIPTION
This routine reads the results of a given message issued by the BC.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16bit value that defines the message number.
message
(output parameter)
A pointer to a MESSAGE structure which receives the following inputs:
comm_type
Char defining the type of communication
Valid values:
RECEIVE
TRANSMIT
MODE
RT_RT
NOP
cmd_1
CMD structure defining the command appearing in the message (decimal
values for terminal address, T/R, sub-address, word count: see Appendix
E).
cmd_2
CMD structure defining the commands appearing in the message
(decimal values for terminal address, T/R, sub-address, word count: see
Appendix E).
Time_to_next_message
A U16BIT value in the range 1-216 microseconds, which defines the time
from the start of the present message to the start of the next message.
112
BU-69068 Manual
ddcReadMessage (continued)
Data_table_no:
A U16BIT value in the range 1-1023 which defines the datatable. This
field is taken to be the first data table number to be used for block data.
last_data_table_no:
A U16BIT value in the range 1-1023 which is used for the last data table
number for block data. If the Intermessage Routine
IMR_BLOCK_DATA_BC is assigned to this message, the BC will treat
the sequence of tables from data_table_no to last_data_table_no as one
block of data. The BC will then cyclically update the number of the data
table to be used each time the message is transmitted.
Bus
A U8BIT value defining the bus to be used for transfer
Valid values:
BUS_A
BUS_B
first_intermessage_routine
A U8BIT value in the range 1-127 which specify the routines to be
executed by the onboard processor during the intermessage gap
following the message (see APPENDIX C for details).
second_intermessage_routine
A U8BIT value in the range 1-127 which specify the routines to be
executed by the onboard processor during the intermessage gap
following the message (see APPENDIX C for details).
inj_error_ptr
A INJ_ERR pointer to a structure defining the injected error type.
Note: "No error" can be defined by assigning inj_error_ptr = NILL.
Valid values:
E_NONE
LENGTH_BIT
LENGTH_WORD
ENCODE_WORD_GLITCH
ENCODE_WORD_INVERSE
GAP_ERROR
Det_error
Detected error updated by BC.
Valid values:
NO_ERROR
INVERSE_SYNC
INVALID_DATA
GAP
NO_RESPONSE
INVALID_STATUS
113
BU-69068 Manual
ddcReadMessage (continued)
BIT_LIT_IN_STATUS
WRONG_TADR_IN_STATUS
rx_status
Returned RX status updated by BC.
tx_status
Returned TX status updated by BC.
114
BU-69068 Manual
ddcReadModeData
PROTOTYPE
#include rt.h
Error_t __DECL ddcRead_mode_data (Device_p pCrd, S16BIT tadr, S16BIT mode_code,
S16BIT *val)
DESCRIPTION
This routine reads data associated with mode commands, except for the case of "Transmit
Last Command Word". The data words sent to the BC are read by specifying the BC's
terminal address (the BC is always assigned a terminal address).
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value representing the terminal address of the RT or BC.
Valid value:
0 through 31
mode_code
(input parameter)
A S16BIT value representing the mode code that should be read.
Valid value:
16 through 31
val
(output parameter)
A S16BIT pointer to the variable into which the data associated with the
mode command will be returned.
115
BU-69068 Manual
ddcReadMonRtc
PROTOTYPE
#include mt.h
Error_t __DECL ddcRead_mon_rtc (Device_p pCrd, U32BIT *val)
DESCRIPTION
This routine reads the 32-bit Real-Time Clock (RTC) of the Monitor.
Notes: 1. The resolution of the RTC is 1 microsecond.
2. The RTC is reset by the routine "ddcResetCard"
3. The RTC can be initialized to any arbitrary value by the routine
"ddcSetRtc".
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(output parameter)
A U32BIT pointer to a variable that will return the value of the RTC.
116
BU-69068 Manual
ddcReadMonStack
PROTOTYPE
#include mt.h
Error_t __DECL ddcRead_mon_stack (Device_p pCrd, S16BIT *buf, S16BIT *count)
DESCRIPTION
The routine ddcReadMonStack reads all the messages that have accumulated in the
Monitor's circular buffer since the previous call to ddcReadMonStack or
ddcReadMonStackPart. See APPENDIX C.
If the "1/3 of Circular Buffer" or "End of Message" interrupts are enabled, then the Monitor
updates the "Next Message Pointer" only when it issues an interrupt. When these interrupts
are enabled, an additional interrupt will be requested when ddcHaltMon is called. This
interrupt causes the "Next Message Pointer" to be updated and thus allows the tail-end of
the buffer to be read by calling ddcReadMonStack.
If the Monitor interrupts are disabled, then the "Next Message Pointer" is updated after
every message; hence, "ddcReadMonStack" or ddcReadMonStackPart can be polled to
copy the messages from the card to the user's buffer.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
buf
(output parameter)
A S16BIT pointer to the buffer which is to receive the contents of the
stack (the buffer should hold 12*1024 words).
count
(output parameter)
A S16BIT pointer to the variable which will return the number of words
which are copied to the user's buffer.
Note: Since the card's buffer may be circular, the user should guarantee that
"ddcReadMonStack" is called frequently enough so that information will not be
overwritten.
117
BU-69068 Manual
ddcReadMonStackPart
PROTOTYPE
#include mt.h
Error_t __DECL ddcRead_mon_stack_part (Device_p pCrd, S16BIT*buf, S16BIT *count,
S16BIT *messages)
DESCRIPTION
The routine ddcReadMonStackPart is similar to ddcReadMonStack except that the
number of messages read is limited by the parameter "messages".
If the "1/3 of Circular Buffer" or "End of Message" interrupts are enabled, then the Monitor
updates the "Next Message Pointer" only when it issues an interrupt. When these interrupts
are enabled, an additional interrupt will be requested when "ddcHaltMon is called. This
interrupt causes the "Next Message Pointer" to be updated and thus allows the tail-end of
the buffer to be read by calling ddcReadMonStack.
If the Monitor interrupts are disabled, then the "Next Message Pointer" is updated after
every message; hence, ddcReadMonStack or ddcReadMonStackPart can be called
sequentially to copy the accumulated messages from the card to the user's buffer.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
Input
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Output
buf
(output parameter)
A S16BIT pointer to the buffer which is to receive the contents of the
stack (the buffer must hold at least 40 * "messages" words).
count
(output parameter)
A S16BIT pointer to a variable which will return the number of words
copied to the user's buffer.
messages
(output parameter)
A S16BIT pointer to a user defined input parameter. This parameter will
contain the desired number of messages to be read. The number will be
decreased by the number of messages actually read from the Monitor's
buffer.
Note: Since the cards buffer may be circular, the user should guarantee that
ddcReadMonStack is called frequently enough so that information will not be
overwritten.
118
BU-69068 Manual
ddcReadTimeTags
PROTOCOL
#include rt.h
Error_t __DECL ddcRead_time_tags (Device_p pCrd, void *buf, S16BIT *count)
DESCRIPTION
This routine reads the time tags stored by the intermessage routine TIME_TAG. The time
tags are stored in a circular queue residing in the shared memory. The number of time tags
returned is the number on the queue since the last call to this function.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
buf
(output parameter)
A void pointer to the buffer which is to receive the contents of the time
tag table.
count
(output parameter)
A S16BIT pointer to a variable which will return the number of words
placed into the buffer.
119
BU-69068 Manual
ddcReplayFillStack
PROTOTYPE
#include rep.h
Error_t __DECL ddcReplayFillStack(Device_p pCrd, U16BIT StackNum)
DESCRIPTION
This routine loads copies next block of messages from opened file onto card stack 1 or 2.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
StackNum
(input parameter)
Which stack is to be filled
Error Condition
(output parameter)
120
BU-69068 Manual
ddcReplayReset
PROTOTYPE
#include rep.h
Error_t __DECL ddcReplayReset(Device_p *pCrd, U16BIT LogNum)
DESCRIPTION
This routine loads the embedded code for Reconstructor. The ddcReplayReset routine
must be run AFTER ddcResetCard().
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
LogNum
(input parameter)
This is the logical number of the 1553 device as specified in the
DDC 1553 CARD MANAGER.
Error Condition
(output parameter)
121
BU-69068 Manual
ddcReplayRTActive
PROTOTYPE
#include rep.h
Error_t __DECL ddcReplayRTActive(Device_p pCrd, U16BIT RTNum, U16BIT Active)
DESCRIPTION
This routine is used to activate a RT for operation during replay. Each call to this routine will
activate one of the possible RTs on the bus. Any RT that is not activated with this routine
will not participate in the replay of the fixed length stack file (*.fls).
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
RTNum
(input parameter)
A S32BIT value that specifies the address of the RT on the bus.
Active
(input parameter)
A yes/no value to determine if the RT is active.
Valid values:
YES
NO
Error Condition
(output parameter)
122
BU-69068 Manual
ddcReplayRunBC
PROTOTYPE
#include rep.h
Error_t __DECL ddcReplayRunBC(Device_p pCrd, const char *file, S32BIT times, U16BIT
immediate)
DESCRIPTION
Plays back BC and emulated RTs from a fixed length record stack file (*.fls). This stack
file could be a stack file created by a previous version of the DDC Tester/simulator card and
converted using the appropriate utility.
All BCs and RTs that have been setup in the current session will be emulated during the
playback. Any messages addressing RTs that are not emulated must actually be present
on the bus or a No Response error will occur during the message.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
file
(input parameter)
A const char pointer to a string which contains the name of the file
(and path) that specifies which *.fls file will be played back.
times
(input parameter)
A S32BIT value that specifies the number of times the stack file
should be replayed on the bus.
Valid values:
1 through 2**32 = actual count repeated
-1 = forever
immediate
(input parameter)
A U16BIT value describing whether or not the replay should be
started immediately.
Valid Values:
YES Start message processing immediately
NO Start Message processing after the receipt of the BC
external trigger
Error Condition
(output parameter)
123
BU-69068 Manual
ddcReplayRunRTs
PROTOTYPE
#include rep.h
Error_t __DECL ddcReplayRunRTs(Device_p pCrd, const char *file, S32BIT times,
U16BIT immediate)
DESCRIPTION
Activates emulated RTs for the replay of the stack file. All RTs that are being emulated and
have been setup for this session will be activated for the replay. Incoming BC messages will
be expected from an external BC on the 1553 bus, and must be in the same order as the
stack file.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
file
(input parameter)
A const char pointer to a string which contains the name of the file
(and path) that specifies which *.fls file will be played back.
times
(input parameter)
A S32BIT value that specifies the number of times the stack file
should be replayed on the bus.
Valid values:
1 through 2**32 = actual count repeated
-1 = forever
immediate
(input parameter)
A U16BIT value describing whether or not the replay should be
started immediately.
Valid Values:
YES Start message processing immediately
NO Start Message processing after the receipt of the BC
external trigger
Error Condition
(output parameter)
124
BU-69068 Manual
ddcReplaySetRespDelay
PROTOTYPE
#include rep.h
Error_t __DECL ddcReplaySetRespDelay(Device_p pCrd, U16BIT delay)
DESCRIPTION
This routine will set the RT response delay for the present Replay session. This delay will
be used to determine whether or not a message results in a No Response Error. This
would be flagged if the BC sends a message to an RT, and the RT fails to respond within
the delay time set by the routine.
Note: This delay time is global for all RT responses.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
delay
(input parameter)
A S16BIT value specifying the maximum time (in microseconds)
before declaring a no response timeout error.
Valid values:
2 through 29 (microseconds)
Error Condition
(output parameter)
125
BU-69068 Manual
ddcResetBroadcast
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_broadcast (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the broadcast bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code " NOT_READY".
126
BU-69068 Manual
ddcResetBusy
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_busy (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the busy bit in the RT's basic status response word
while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code " NOT_READY".
127
BU-69068 Manual
ddcResetBusySetSrq
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_busy_set_srq(Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine is called to reset the busy bit in the RT status.
APPLICABLE STATE
HALT, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
128
BU-69068 Manual
ddcResetCard
PROTOTYPE
#include int.h
Error_t __DECL ddcResetCard (Device_p *pCrd, DRV_CONFIG *config, U16BIT LogNum)
DESCRIPTION
This routine resets the BU-65570/2i, BU-65570/2T, BU-65570/2v and BU-65570M card
and assigns default values as follows:
All transmit/receive messages are illegalized (i.e., TX (RX) messages are
mapped to data tables 251 (0) ).
All RTs are disabled and their basic statuses are zeroed, no errors are
injected, and bus control acceptance is inhibited
Legality detection is disabled
Broadcast legality is enabled
Mode command legality:
Mode Code
0-8
9-15
16-19
20-31
Legality
legal
illegal
legal
illegal
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
config
(input parameter)
A DRV_CONFIG pointer to the configuration structure that will be used for
all other functions in the library.
LogNum
(input parameter)
This is the logical number of the 1553 device as specified in the DDC
1553 CARD MANAGER.
pCrd
(output parameter)
Pointer to a Device Handle
129
BU-69068 Manual
ddcResetCard
Notes: 1. The runtime library provides support for multiple cards running in a single
computer. Each card requires a separate instance of the library. The instantiation of
a device is accomplished through a call to the ddcResetCard function. The
ddcResetCard function will return a device handle, which must be passed as a
parameter into each function in the library. The device handle establishes the
context for a specific instance of the library.
2. The user must call "ResetCard" at the start of the program. Since this routine
establishes the card addressing, none of the RTL routines will work before this
routine is called.
130
BU-69068 Manual
ddcResetCardBCRT
PROTOTYPE
#include int.h
Error_t __DECL ddcResetCardBCRT(Device_p *pCrd, DRV_CONFIG *config, U16BIT
LogNum)
DESCRIPTION
This routine resets the BC and RT portions of the Tester/Simulator card and assigns the
default values. A call to ddcResetCard will have the same results on the BC and RT as this
routine.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
config
(input parameter)
A DRV_CONFIG pointer to the configuration structure that will be used for
all other functions in the library.
LogNum
(input parameter)
This is the logical number of the 1553 device as specified in the DDC
1553 CARD MANAGER.
pCrd
(output parameter)
Device Handle (See ddcResetCard)
131
BU-69068 Manual
ddcResetCardMonitor
PROTOTYPE
#include int.h
Error_t __DECL ddcResetCardMonitor(Device_p *pCrd, DRV_CONFIG *config, U16 BIT
LogNum)
DESCRIPTION
This routine resets the Monitor portion of the Tester/Simulator card and assigns default
values. A call to ddcResetCard will have the same results on the Monitor as this routine.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
config
(input parameter)
A DRV_CONFIG pointer to the configuration structure that will be used for
all other functions in the library.
LogNum
(input parameter)
This is the logical number of the 1553 device as specified in the DDC
1553 CARD MANAGER
pCrd
(output parameter)
Device Handle (See ddcResetCard)
132
BU-69068 Manual
ddcResetDBCAcceptance
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_dbc_acceptance (Device_p pCrd, S16BIT tadr, S16BIT
immediate)
DESCRIPTION
This routine causes the card to reset the dynamic bus control acceptance bit in the RT's
basic status response word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code
" ERROR_NOT_READY".
133
BU-69068 Manual
ddcResetInstrumentation
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_instrumentation (Device_p pCrd, S16BIT tadr, S16BIT
immediate)
DESCRIPTION
This routine causes the card to reset the instrumentation bit in the RT's basic status
response word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code
" ERROR_NOT_READY".
134
BU-69068 Manual
ddcResetMessageError
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_message_error (Device_p pCrd, S16BIT
tadr,
S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the message error bit in the RT's basic status
response word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code
" ERROR_NOT_READY".
135
BU-69068 Manual
ddcResetMon
PROTOTYPE
#include mt.h
Error_t __DECL ddcReset_mon(Device_p pCrd, S8BIT *bcrt_file, S8BIT *mon_file, S8BIT
*imrlib_file)
DESCRIPTION
This routine is called to reset the monitor portion (only) of the Tester/Simulator card. A call
to ddcResetCard will have the same results on the monitor as this routine.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
bcrt_file
(input parameter)
A S8BIT value.
mon_file
(input parameter)
A S8BIT value.
imrlib_file
(input parameter)
A S8BIT value.
Error Condition
(output parameter)
136
BU-69068 Manual
ddcResetReservedBit
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_reserved_bit (Device_p pCrd, S16BIT
tadr, S16BIT bit, S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the reserved bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
bit
(input parameter)
A S16BIT value specifying which Reserved bit to reset.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code " NOT_READY".
137
BU-69068 Manual
ddcResetSerq
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_serq (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the service request bit in the RT's basic status
response word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code " NOT_READY".
138
BU-69068 Manual
ddcResetSubsystem
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_subsystem (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the subsystem bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code " NOT_READY".
139
BU-69068 Manual
ddcResetTerminalFlag
PROTOTYPE
#include rt.h
Error_t __DECL ddcReset_terminal_flag (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to reset the terminal flag bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to reset the bit - the routine returns the error code " NOT_READY".
140
BU-69068 Manual
ddcRunBc
PROTOTYPE
#include bc.h
Error_t __DECL ddcRun_bc(Device_p pCrd, S16BIT position, S32BIT times)
DESCRIPTION
This routine activates the BC and emulated RTs.
APPLICABLE STATE
HALT, RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
position
(input parameter)
A S16BIT value which specifies the position of the first entry in the
frame to be executed by the BC. The range must be compatible
with the length of the frame as defined by ddcDefFrame
Valid values:
Must be less than the position of the
END_OF_MAJOR_FRAME symbol.
times
(input parameter)
A long integer in the range -1 - 100,000,000 which specifies the
number of times the BC should send the frame; times =
FOREVER (-1) specifies that the frame should be transmitted
indefinitely.
Error Condition
(output parameter)
141
BU-69068 Manual
ddcRunContinue
PROTOTYPE
#include bc.h
Error_t __DECL ddcRun_continue (Device_p pCrd )
DESCRIPTION
This routine causes the BC and RTs to resume operation after being halted. The next
message to be processed will be the next message in the frame list.
APPLICABLE STATE
HALT, RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
142
BU-69068 Manual
ddcRunMon
PROTOTYPE
#include mt.h
Error_t __DECL ddcRun_mon (Device_p pCrd)
DESCRIPTION
This routine activates the Monitor. Messages are stored starting from the beginning of the
Monitor stack.
APPLICABLE STATE
HALT, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
143
BU-69068 Manual
ddcRunRt
PROTOTYPE
#include rt.h
Error_t __DECL ddcRun_rt (Device_p pCrd)
DESCRIPTION
This routine activates (only) the emulated RTs.
APPLICABLE STATE
HALT, RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
144
BU-69068 Manual
ddcSelectAllMessages
PROTOTYPE
#include mt.h
Error_t __DECL ddcSelect_all_messages (Device_p pCrd, U16BIT tadr)
DESCRIPTION
This routine specifies that all messages to a given RT shall be selected by the Monitor (by
default all messages are selected).
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A U16BIT value in the range 0-31 which specifies the RT address.
Error Condition
(output parameter)
145
BU-69068 Manual
ddcSelectBus
PROTOTYPE
#include mt.h
Error_t __DECL ddcSelect_bus (Device_p pCrd, U16BIT bus_a_state,
bus_b_state)
U16BIT
DESCRIPTION
This routine enables and inhibits the monitoring of messages on bus A and bus B.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
bus_a_state
(input parameter)
A U16BIT value that selects monitoring on bus A.
Valid values:
BUS_OPEN
BUS_CLOSE
bus_b_state
(input parameter)
A U16BIT value that selects monitoring on bus B.
BUS_OPEN
BUS_CLOSE
Error Condition
(output parameter)
146
BU-69068 Manual
ddcSelectMessage
PROTOTYPE
#include mt.h
Error_t __DECL ddcSelect_message (Device_p pCrd, U16BIT tadr, U16BIT tr,
U16BIT sadr)
DESCRIPTION
This routine specifies the messages to be selected or deselected by the Monitor. The
decision is based on the values of RT address, T/R bit, and sub-address.
APPLICABLE STATE
HALT
PARAMETERS
Input
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A U16BIT value in the range 0-31 which specifies the RT address.
tr
(input parameter)
Specifies the direction of the message.
Valid values:
TRANSMIT
RECEIVE
sadr
(input parameter)
A U16BIT value in the range 0-31 which specifies the subaddress.
Error Condition
(output parameter)
147
BU-69068 Manual
ddcSetAmp
PROTOTYPE
#include Int.h
Error_t __DECL ddcSetAmp (Device_p pCrd, S16BIT val)
DESCRIPTION
This routine defines the transmission amplitude of BC and RT bus traffic.
Note: This routine is only available for BU-65572i/72v/72T. The BU-65570i/v/T have fixed
output 1553 bus outputs.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(input parameter)
A S16BIT value in the range 0-4095. Maximum amplitude
corresponds to a value of 4095 (approximately 21 volts across a
77 ohm load connected to the card's twinax connector).
Error Condition
(output parameter)
148
BU-69068 Manual
ddcSetBcrtEvent
PROTOTYPE
#include irq.h
Error_t __DECL ddcSetBCRTEvent(Device_p pCrd, Error_t(*usr_handler)(Device_p pCrd,
S16BIT type, S16BIT param))
DESCRIPTION
This routine defines the event handler for a BC/RT interrupt. The argument "usr_handler" is
a pointer to a user routine which handles a BC/RT interrupt event. This routine allows
interrupts on message or data table greater than 256.
Note: The event handler, specified by the user, is a routine with two arguments of type
S16BIT. Through these two arguments the vector interrupt is passed from the
BC/RT to the user. The user function must be declared as a __DECL". This macro
should be used, as the meaning of the macro (and ultimately the use of the
function) may change in future versions.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
usr_handler
(input parameter)
A pointer to the user interrupt handler routine. This function must
be declared using the __DECL" macro which defines the calling
convention.
Error Condition
(output parameter)
149
BU-69068 Manual
ddcSetBcrtEventEx
PROTOTYPE
#include irq.h
Error_t __DECL ddcSetBCRTEventEx(Device_p pCrd, Error_t(*usr_handler)(Device_p
pCrd, S16BIT type, S16BIT SubType, S16BIT param))
DESCRIPTION
This routine defines the event handler for a BC/RT interrupt. The argument "usr_handler" is
a pointer to a user routine which handles a BC/RT interrupt event.
Note: The event handler, specified by the user, is a routine with three arguments of type
S16BIT. Through these three arguments the vector interrupt is passed from the
BC/RT to the user. The user function must be declared as a __DECL". This macro
should be used, as the meaning of the macro (and ultimately the use of the
function) may change in future versions.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
usr_handler
(input parameter)
A pointer to the user interrupt handler routine. This function must
be declared using the __DECL" macro which defines the calling
convention.
Error Condition
(output parameter)
150
BU-69068 Manual
ddcSetBroadcast
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_broadcast (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the broadcast bit in the RT's basic status response word
while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code " NOT_READY".
151
BU-69068 Manual
ddcSetBusy
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_busy (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the busy bit in the RT's basic status response word
while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when one of the above routine is called
and immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code "READY".
152
BU-69068 Manual
ddcSetBusyResetSrq
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_busy_reset_srq(Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine is called to set the busy bit in the RT status word.
APPLICABLE STATE
HALT, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
153
BU-69068 Manual
ddcSetCoupling
PROTOTYPE
#include int.h
Error_t __DECL ddcSetCoupling(Device_p pCrd,U16BIT Coupling, U16BIT Termination)
DESCRIPTION
This routine is used to set the coupling on the BU-65570/2iX, BU-65570/2TX and BU65570/2vX cards.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Coupling
(input parameter)
A U16BIT value that represents the coupling on the
Tester/Simulator card.
Valid Values:
COUPLING_DIRECT
COUPLING_TRANSFORMER
Termination
(input parameter)
A U16BIT value that represents the Termination on the
Tester/Simulator Card.
Valid Values:
TERMINATION_NONE
TERMINATION_HALF
TERMINATION_FULL
Error Condition
(output parameter)
154
BU-69068 Manual
ddcSetDBCAcceptance
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_dbc_acceptance (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the dynamic bus control acceptance bit in the RT's basic
status response word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code " NOT_READY".
155
BU-69068 Manual
ddcSetInstrumentation
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_instrumentation (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the instrumentation bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_ BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code " NOT_READY".
156
BU-69068 Manual
ddcSetIrig
PROTOTYPE
#include mt.h
Error_t __DECL ddcSetIrig(Device_p pCrd, S16BIT Day, S16BIT Hour, S16BIT Minute,
S16BIT Second)
DESCRIPTION
This routine allows the user to set the IRIG time on the Tester/Simulator Card
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Day
(input parameter)
A S16BIT value that represents day in an IRIG time signal.
Valid Values:
0 through 365
Hour
(input parameter)
A S16BIT value that represents the hour in an IRIG time signal.
Valid Values:
0 though 23
Minute
(input parameter)
A S16BIT value represents the minutes in an IRIG time signal.
Valid Values:
0 through 59
Second
(input parameter)
A S16BIT value that represents the seconds in an IRIG time
signal.
Valid Values:
0 through 59
Error Condition
(output parameter)
157
BU-69068 Manual
ddcSetMessageError
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_message_error (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the message error bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code " NOT_READY".
158
BU-69068 Manual
ddcSetMonEvent
PROTOTYPE
#include Irq.h
Error_t __DECL ddcSetMONEvent (Device_p pCrd, Error_t(*usr_handler)(Device_p
pCrd));
DESCRIPTION
This routine defines the user event handler for a Monitor interrupt.
Note: The event handler, "usr_handler", is a routine one argument. The calling convention
must use the __DECL macro.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
usr_handler
(input parameter)
A pointer to the user interrupt handler routine. This function must
be declared using the __DECL" macro which defines the calling
convention.
Error Condition
(output parameter)
159
BU-69068 Manual
ddcSetReservedBit
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_reserved_bit (Device_p pCrd, S16BIT tadr,
S16BIT bit, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the reserved bit in the RT's basic status response word
while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
bit
(input parameter)
A S16BIT value specifying the Reserved bit to set.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code " NOT_READY".
160
BU-69068 Manual
ddcSetRespTimeout
PROTOTYPE
#include int.h
Error_t __DECL ddcSetRespTimeout (Device_p pCrd, S16BIT val)
DESCRIPTION
This routine defines the response timeout for the BC/RT and Monitor. The response timeout
is the time that is allowed to pass between the end of the message being sent to the RT
and the status response being returned to the BC. If, within this time, no status is received
by the BC, then the message is said to have no response.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(input parameter)
A S16BIT values specifying the maximum time (in microseconds)
before declaring a "no response timeout" error.
Valid values:
2 through 29 (microseconds)
Error Condition
(output parameter)
161
BU-69068 Manual
ddcSetRtc
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_rtc (Device_p pCrd, U32BIT val)
DESCRIPTION
This routine sets the Real-Time Clock of the Monitor.
Note: The Monitor resets its RTC when ddcRunMon is called.
APPLICABLE STATE
HALT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
val
(input parameter)
A U32BIT value specifying the time to be loaded into the RTC of
the Monitor
Error Condition
(output parameter)
162
BU-69068 Manual
ddcSetSerq
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_serq (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the service request bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code "NOT_READY".
163
BU-69068 Manual
ddcSetSubsystem
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_subsystem (Device_p pCrd, S16BIT tadr,S16BIT immediate)
DESCRIPTION
This routine causes the card to set the subsystem bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code "NOT_READY".
164
BU-69068 Manual
ddcSetTerminalFlag
PROTOTYPE
#include rt.h
Error_t __DECL ddcSet_terminal_flag (Device_p pCrd, S16BIT tadr, S16BIT immediate)
DESCRIPTION
This routine causes the card to set the terminal flag bit in the RT's basic status response
word while the RT is running.
APPLICABLE STATE
RUN_BCRT_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0 - 30 which specifies the RT
address.
immediate
(input parameter)
A S16BIT value that specifies when to modify the basic status. If a
BC is emulated, then the input value specified by the user is
overridden by the value YES.
immediate = YES specifies that the basic status should be
modified immediately (provided that the BC and RTs
are not currently transferring a message).
immediate = NO specifies that the basic status will be modified
after the next "end of message".
Error Condition
(output parameter)
Note: If the RT is not in the middle of a message when the above routine is called and
immediate = YES, then the next status word sent by the RT will contain the
modified bit. If the RT is in the middle of a message when the above routine is
called and immediate = YES, then the message will be aborted and the next status
word sent by the RT will contain the modified bit. If immediate = NO, the modified
status will appear only after the next message. However, there is no danger of a
message being aborted. If this routine is called again before the card has had a
chance to set the bit - the routine returns the error code "NOT_READY".
165
BU-69068 Manual
ddcShutDownIdea
PROTOTYPE
#include int.h
Error_t __DECL ddcShutDownIdea (Device_p *pCrd)
DESCRIPTION
This routine shuts down the BU-65570/2i, BU-65570/2T, BU65570/72v and BU-65570M
cards. The routine disables the interrupt support, the DMA, and resets the DSP on the card
to a known state.
APPLICABLE STATE
RESET, HALT, RUN_BCRT, RUN_MONITOR, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
Error Condition
(output parameter)
166
BU-69068 Manual
ddcSkipNextMessage
PROTOTYPE
#include bc.h
Error_t __DECL ddcSkip_next_message (Device_p pCrd, S16BIT yes_no)
DESCRIPTION
This routine enables and disables intermessage routine 31 (skip next message). Refer to
Appendix C on intermessage routines for a full explanation of intermessage routine 31.
APPLICABLE STATE
HALT, RUN_MONITOR, RUN_BCRT, RUN_BCRT_MONITOR
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
yes_no
(input parameter)
A S16BIT value that will specify whether or not the intermessage
routine 31 should be enabled.
Valid values:
YES
NO
Error Condition
(output parameter)
167
BU-69068 Manual
ddcSynchronizeAllCards
PROTOTYPE
#include rt.h
Error_t __DECL ddcSynchronizeAllCards()
DESCRIPTION
This routine will synchronize all the Tester/Simulator cards. This function will reset the real
time clock of the monitor, and synchronize it with all other Tester/Simulator cards.
The Bus Controller must be in the halt state to use this function. If the Bus Controller is in
the run state a call to ddcHalt_bcrt() is required before the call to ddcSynchronizeAllCards().
To restart the Bus Controller at the point in which it was halted, call ddcRun_continue().
APPLICABLE STATE
HALT, RUN_MONITOR
PARAMETERS
Error Condition
(output parameter)
168
BU-69068 Manual
ddcWriteData
PROTOTYPE
#include bc.h
Error_t __DECL ddcWrite_data (Device_p pCrd, S16BIT id, S16BIT
*buf, S16BIT count, S16BIT pos)
DESCRIPTION
This routine updates the selected data table. This is performed asynchronously with the
communication. Thus, there is no guarantee that a table will not be updated while in use.
However, if data tables are double-buffered, first the data is updated in shared memory and
then the table pointer for communication is updated, thus ensuring data integrity. This
routine may be called while communication is in progress.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
id
(input parameter)
A S16BIT value in the range 0-1023 which identifies the table
buf
(input parameter)
A S16BIT pointer to the buffer that contains the information to be
copied to the data table in card memory.
count
(input parameter)
A S16BIT value in the range 1-32 specifying the number of words
to be copied.
pos
(input parameter)
A S16BIT value specifying the relative location in the table to
which the data should be copied. The number one (1) specifies
the first location in the buffer and the data table. Therefore, if the
data in the buffer should be written to the data table following word
5, this parameter should be set to 6.
Error Condition
(output parameter)
169
BU-69068 Manual
ddcWriteModeData
PROTOTYPE
#include rt.h
Error_t __DECL ddcWrite_mode_data (Device_p pCrd, S16BIT tadr, S16BIT mode_code,
S16BIT val)
DESCRIPTION
This routine defines a data word associated with mode commands (except for "Transmit
Last Command Word" and "Transmit Last Status Word") for a given terminal address. The
data word sent by the BC is defined by specifying the BC's terminal address.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
pCrd
(input parameter)
Device Handle (See ddcResetCard)
tadr
(input parameter)
A S16BIT value in the range 0-31 which defines the terminal
address of an internal RT or the BC.
mode_code
(input parameter)
A S16BIT value in the range 16-31 which specifies the mode
code.
val
(input parameter)
A S16BIT value that contains the data that should be written to the
mode code.
Error Condition
(output parameter)
170
BU-69068 Manual
ddcVxCreateDevs
PROTOTYPE
#include vxworks.h
S16BIT ddcVxCreateDevs (U16BIT wIrqLevel)
DESCRIPTION
This routine is used to setup ALL Tester/Simulator VME cards in the system. This function
should be run once per power on of the system. Once the routine is run, each channel will
have a unique logical device number which can then be used by ddcResetCard to access
the correct channel. The level which the Tester/Simulator cards will use to generate
interrupts must be passed as a parameter. This routine returns the number of channels
configured in the system.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
wIrqLevel
(input parameter)
a 16-bit parameter. Bits 7-0 are the PCI interrupt vector used by the
single board computer. Bits 15-8 are the VME interrupt level to be used
by the card.
Output
The number of channels found on the system or 0 for no cards found.
171
BU-69068 Manual
ddcVxGetDevInfo
PROTOTYPE
#include vxworks.h
S16BIT ddcVxGetDevInfo (S16BIT wDevNum, U16BIT *pLA, U16BIT *pChannel)
DESCRIPTION
This routine is used to retrieve information associated with a mapped logical device. The
channel is fully specified by its Logical Address and its channel number (0-3).
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
wDevNum
(input parameter)
The logical device number of the installed card.
Return
(input parameter)
0 if successful, otherwise 1.
pLA
(input parameter)
The address of a 16-bit buffer. When the routine is run the VXI logical
address of the card will be returned to this address.
pChannel
(input parameter)
The address of a 16-bit buffer. The channel on the card (0-3) will be
returned to this address.
172
BU-69068 Manual
ddcVxGetDevNum
PROTOTYPE
#include vxworks.h
S16BIT ddcVxGetDevNum (S16BIT *pDevNum, U16BIT wLA, U16BIT wChannel)
DESCRIPTION
This routine is used to retrieve a logical device number associated with a particular channel.
The channel is fully specified by its Logical Address and Channel Number.
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
Input
wLA
(input parameter)
The VXI logical address of the card.
wChannel
(input parameter)
The channel on the card (0-3).
Return
(output parameter)
0 if successful, otherwise 1.
pDevNum
(output parameter)
The address of a 16-bit buffer. The logical device number will be returned
to this dereferenced pointer The returned value must be passed to the
LogNum parameter of the ddcResetCard function.
173
BU-69068 Manual
ddcVxSetVMEAddressInfo
PROTOTYPE
#include vxworks.h
S16BIT ddcVxSetVMEAddressInfo
(U32BIT dwA32BaseAddress, U32BIT dwA32Size,
U32BIT dwA24BaseAddress, 32BIT dwA24Size)
DESCRIPTION
This function allows the user to specify what A32/A24 address space is available for
Tester/Simulator cards to be mapped to. The default base address and size are as follows:
A32 base
= 0x08000000;
A32 size
= 0x08000000;
A24 base
= 0x00000000;
A24 size
= 0x01000000;
APPLICABLE STATE
HALT, RUN_BCRT_MONITOR, RUN_MONITOR, RUN_BCRT
PARAMETERS
dwA32BaseAddress (input parameter)
The new A32 starting address of free memory.
dwA32Size
(input parameter)
The size of the free A32 memory
(input parameter)
The size of the free A24 memory
Error Condition
(output parameter)
174
BU-69068 Manual
12 LabVIEW INTRODUCTION
This section describes the LabVIEW software designed for use with the
Tester/Simulator Card series (BU-65558, BU-65570M, BU-65570/2i, BU65570/2T). The following describes how to use the card from LabVIEW,
Version 6.0 or later.
The LabVIEW package allows a programmer to program the card without
writing any C code. However, this section assumes that the programmer
is proficient in LabVIEW programming.
The LabVIEW interface uses the cards Runtime Library of functions to
allow the host to program the card from a LabVIEW library environment.
This section contains an alphabetical listing broken down by function
type, of all the Vls (Virtual Instruments), and reference to the C function
call.
Any VI that does not directly call a C function in the
Tester/Simulator library will be documented in this section. There is also
information about example and demo VIs that combine several function
VIs to perform simple operations.
12.2 Installation
It is recommended that National Instruments LabView be installed before
installing the Tester/Simulator Labview support. If the library files are
installed
directly
to
an
existing
Program
Files\National
Instruments\LabVIEW\USER.LIB\" directory, LabView will automatically
compile vi's, sub-vi's, automatically search for required libraries, and add
all of the supplementary vi's to the user tools palette.
Not installing directly to \USER.LIB\ will require more operator
intervention.
LabVIEW support for the Tester/Simulator cards is installed when you
install the Tester/Simulator Library software package (BU-69068S0).
During installation you will be prompted to install the LabVIEW software
in the USER.LIB directory. The files bc.llb, err.llb, int.llb, rep.llb, mt.llb,
and rt.llb will be installed in a sub directory named TestSim LabView.
Data Device Corporation
175
BU-69068 Manual
LABVIEW INTRODUCTION
These files will contain VIs which supports the functions in the
Tester/Simulator Runtime Library.
12.3 LabVIEW VI
Each LabVIEW VI has a one-to-one mapping with the Tester/Simulator
C library. The tables below list each VI in the Tester/Simulator library
and its equivalent C function call. For detailed information on each VI,
please refer to the API section of this manual.
bc.h
ddcDefBcExceptionStatus.vi
ddcDefDataBuffering.vi
ddcDefEmulateBc.vi
ddcDefFrame.vi
ddcDefFrameTime.vi
ddcDefIntMask.vi
ddcDefIntMaskBcrt.vi
ddcDefMessage.vi
ddcDefMinorFrameTime.vi
ddcDefTableSize.vi
ddcGetBcDataTable.vi
ddcGetBcHaltParameters.vi
ddcHaltBcrt.vi
ddcInsertMessage.vi
ddcReadData.vi
ddcReadDataPart.vi
ddcReadMessage.vi
ddcRunBc.vi
ddcRunContinue.vi
ddcSkipNextMessage.vi
ddcWriteData.vi
ddcDefBcExceptionStatus()
ddcDefDataBuffering()
ddcDefEmulateBc()
ddcDefFrame()
ddcDefFrameTime()
ddcDefIntMask()
ddcDefIntMaskBcrt()
ddcDefMessage()
ddcDefMinorFrameTime()
ddcDefTableSize()
ddcGetBcDataTable()
ddcGetBcHaltParameters()
ddcHaltBcrt()
ddcInsertMessage()
ddcReadData()
ddcReadDataPart()
ddcReadMessage()
ddcRunBc()
ddcRunContinue()
ddcSkipNextMessage()
ddcWriteData()
Page
56
57
58
60
61
64
65
71
75
86
93
94
98
102
106
107
112
141
142
167
169
bc.h
ddcGetErrorMessage()
176
Page
95
BU-69068 Manual
LABVIEW INTRODUCTION
int.h
ddcCardState.vi
ddcHaltIdea.vi
ddcIdeaVersion.vi
ddcReadAmp.vi
ddcReadCoupling.vi
ddcResetCard.vi
ddcResetCardBCRT.vi
ddcResetCardMonitor.vi
ddcSetAmp.vi
ddcSetCoupling.vi
ddcSetRespTimeout.vi
ddcShutDownIdea.vi
ddcCardState()
ddcHaltIdea()
ddcIdeaVersion()
ddcReadAmp()
ddcReadCoupling()
ddcResetCard()
ddcResetCardBCRT()
ddcResetCardMonitor()
ddcSetAmp()
ddcSetCoupling()
ddcSetRespTimeout()
ddcShutDownIdea()
Page
50
99
101
104
105
129
131
132
148
154
161
166
mt.h
ddcCaptureEvent()
ddcCaptureOccurred()
ddcDecodeMonMessage()
ddcDefIntMaskMonitor()
ddcDefMonExceptionStatus()
ddcDefMonitorStack()
ddcDeselectAllMessages()
ddcDeselectMessage()
ddcDisableDma()
ddcEnableDma()
ddcEnableIrig()
ddcFlushDmaBuffer()
ddcGetMTCounters()
ddcHaltMon()
ddcReadDmaStack()
ddcReadIrig()
ddcReadLastMonMessage()
ddcReadMonRtc()
ddcReadMonStack()
ddcReadMonStackPart()
ddcResetMon()
ddcRunMon()
ddcSelectAllMessages()
ddcSelectBus()
ddcSelectMessage()
ddcSetIrig()
177
Page
47
49
52
66
78
79
87
88
89
90
91
92
97
100
108
109
110
116
117
118
136
143
145
146
147
157
BU-69068 Manual
LABVIEW INTRODUCTION
rep.h
ddcReplayReset()
ddcReplayRTActive()
ddcReplayRunBC()
ddcReplayRunRTs()
ddcReplaySetRespDelay()
Page
121
122
123
124
125
rt.h
ddcDefEmulateRt()
ddcDefIntCmdTemplate()
ddcDefLastCmd()
ddcDefLastStatus()
ddcDefLegalityBcst()
ddcDefLegalityDetection()
ddcDefModeLegality()
ddcDefModeRoutine()
ddcDefRt()
ddcDefRtMap()
ddcDefRtMapBlock()
ddcDefTableRoutine()
ddcReadLastStatusCmd()
ddcReadModeData()
ddcReadTimeTags()
ddcResetBroadcast()
ddcResetBusy()
ddcResetBusySetSrq()
ddcResetDBCAcceptance()
ddcResetInstrumentation()
ddcResetMessageError()
ddcResetReservedBit()
ddcResetSerq()
ddcResetSubsystem()
ddcResetTerminalFlag()
ddcRunRt()
ddcSetBroadcast()
ddcSetBusy()
ddcSetBusyResetSrq()
ddcSetDBCAcceptance()
ddcSetInstrumentation()
ddcSetMessageError()
ddcSetReservedBit()
ddcSetRtc()
ddcSetSerq()
ddcSetSubsystem()
ddcSetTerminalFlag()
ddcSynchronizeAllCards()
ddcWriteModeData()
178
Page
59
63
67
68
69
70
76
77
80
82
83
85
111
115
119
126
127
128
133
134
135
137
138
139
140
144
151
152
153
155
156
158
160
162
163
164
165
168
170
BU-69068 Manual
LABVIEW INTRODUCTION
179
BU-69068 Manual
LABVIEW INTRODUCTION
12.6 RT Sample
The RTdemo.vi sample is a simple RT example that enables the card for
use as a single RT. A data table is assigned to a specific sub address.
After the card is running, a call to read the data table is issued. The user
can stop the program by clicking on the stop button, which will halt the
RT and shutdown the Tester/Simulator card.
180
BU-69068 Manual
13.2 Installation
Visual Basic support for the Tester/Simulator library is installed when
you install the Tester/Simulator Library software package (BU69068S0). The bas files included are:
Bc.bas
Err.bas
Int.bas
Irq.bas
Mt.bas
Rep.bas
Rt.bas
TS_cons.bas
Data Device Corporation
181
BU-69068 Manual
TS_drv.bas.
The sample files included are:
BC_RT_MT
MT_demo
RT_demo.
bc.h
ddcDefBcExceptionStatus()
ddcDefDataBuffering()
ddcDefEmulateBc()
ddcDefFrame()
ddcDefFrameTime()
ddcDefIntMask()
ddcDefIntMaskBcrt()
ddcDefMessage()
ddcDefMinorFrameTime()
ddcDefTableSize()
ddcGetBcDataTable()
ddcGetBcHaltParameters()
ddcHaltBcrt()
ddcInsertMessage()
ddcReadData()
ddcReadDataPart()
ddcReadMessage()
ddcRunBc()
ddcRunContinue()
ddcSkipNextMessage()
ddcWriteData()
182
Page
56
57
58
60
61
64
65
71
75
86
93
94
98
102
106
107
112
141
142
167
169
BU-69068 Manual
bc.h
ddcGetErrorMessage()
Page
95
int.h
ddcCardState()
ddcHaltIdea()
ddcIdeaVersion()
ddcReadAmp()
ddcReadCoupling()
ddcResetCard()
ddcResetCardBCRT()
ddcResetCardMonitor()
ddcSetAmp()
ddcSetCoupling()
ddcSetRespTimeout()
ddcShutDownIdea()
Page
50
99
101
104
105
129
131
132
148
154
161
166
irq.h
ddcSetBcrtEvent()
c()
ddcSetMonEvent()
183
Page
149
150
159
BU-69068 Manual
mt.h
ddcCaptureEvent()
ddcCaptureOccurred()
ddcDecodeMonMessage()
ddcDefIntMaskMonitor()
ddcDefMonExceptionStatus()
ddcDefMonitorStack()
ddcDeselectAllMessages()
ddcDeselectMessage()
ddcDisableDma()
ddcEnableDma()
ddcEnableIrig()
ddcFlushDmaBuffer()
ddcGetMTCounters()
ddcHaltMon()
ddcReadDmaStack()
ddcReadIrig()
ddcReadLastMonMessage()
ddcReadMonRtc()
ddcReadMonStack()
ddcReadMonStackPart()
ddcResetMon()
ddcRunMon()
ddcSelectAllMessages()
ddcSelectBus()
ddcSelectMessage()
ddcSetIrig()
Page
47
49
52
66
78
79
87
88
89
90
91
92
97
100
108
109
110
116
117
118
136
143
145
146
147
157
rep.h
ddcReplayFillStack
ddcReplayReset()
ddcReplayRTActive()
ddcReplayRunBC()
ddcReplayRunRTs()
ddcReplaySetRespDelay()
184
Page
120
121
122
123
124
125
BU-69068 Manual
rt.h
ddcDefEmulateRt()
ddcDefIntCmdTemplate()
ddcDefLastCmd()
ddcDefLastStatus()
ddcDefLegalityBcst()
ddcDefLegalityDetection()
ddcDefModeLegality()
ddcDefModeRoutine()
ddcDefRt()
ddcDefRtMap()
ddcDefRtMapBlock()
ddcDefTableRoutine()
ddcReadLastStatusCmd()
ddcReadModeData()
ddcReadTimeTags()
ddcResetBroadcast()
ddcResetBusy()
ddcResetBusySetSrq()
ddcResetDBCAcceptance()
ddcResetInstrumentation()
ddcResetMessageError()
ddcResetReservedBit()
ddcResetSerq()
ddcResetSubsystem()
ddcResetTerminalFlag()
ddcRunRt()
ddcSetBroadcast()
ddcSetBusy()
ddcSetBusyResetSrq()
ddcSetDBCAcceptance()
ddcSetInstrumentation()
ddcSetMessageError()
ddcSetReservedBit()
ddcSetRtc()
ddcSetSerq()
ddcSetSubsystem()
ddcSetTerminalFlag()
ddcSynchronizeAllCards()
ddcWriteModeData()
185
Page
59
63
67
68
69
70
76
77
80
82
83
85
111
115
119
126
127
128
133
134
135
137
138
139
140
144
151
152
153
155
156
158
160
162
163
164
165
168
170
BU-69068 Manual
13.7 RT Sample
The RT_demo sample will allow the user to setup the Tester/Simulator
card as an RT. After assigning the RT address the user can start the
RT. While the RT is running, the user may read the data from the data
tables assigned to the RTs subaddress. To stop the RT the user may
click on the Halt T/S button.
186
BU-69068 Manual
14 APPENDIX A
14.1 RTL Error Messages
This appendix defines the RTL error codes and their corresponding
messages. The error codes are returned by RTL routines whenever an
illegal condition is detected and they are intended to facilitate the
debugging of user programs. The error messages can be obtained by
calling ddcGetErrorMessage.
000 NO_ERROR
Self explanatory.
101 NO_SPACE_FOR_TABLE
This message appears after calling the routine ddcDefTableSize when
insufficient memory is available for a data table.
102 ILLEGAL_TABLE_ID
This message appears after calling the routine ddcDefTableSize when
the argument "id" is out of range. The range must be 1 - 1023.
103 ILLEGAL_TABLE_SIZE
This message appears after calling the routine ddcDefTableSize when
the argument "size" is out of range. The range must be 0 - 32.
121 FRAME_OVERFLOW
This message appears after calling the routine ddcDefFrame when the
time required by a major frame exceeds 232 microseconds.
122 MINOR_FRAME_OVERFLOW
This message appears after calling the routine ddcDefFrame when the
time required by a minor frame exceeds the minor frame time.
123 ILLEGAL_FRAME_LENGTH
This message appears after calling the routine ddcDefFrame when the
argument "length" is out of range. The range must be 1 - 1024 buffered
data.
141 ILLEGAL_FRAME_POSITION
This message appears after calling the routine ddcRunBc when the
argument "pos" is out of range. The range must be 1 - length (where
length is the argument passed to ddcDefFrame).
Data Device Corporation
187
BU-69068 Manual
APPENDIX A
142 ILLEGAL_RUN_TIMES
This message appears after calling the routine ddcRunBc when the
argument "times" is out of range. The range must be -1 - 100,000,000.
161 ILLEGAL_MINOR_FRAME_TIME
This message appears after calling the routine ddcDefMinorFrameTime
when its argument is out of range. The range must be 0 - (232-1).
181 LOCK_BIT_TIME_OUT
This message appears when the data table read by the routine
ddcReadData was not released after being accessed by the card
(BC/RT). This error is relevant only when data is double-buffered.
201 ILLEGAL_GAP_ERROR
This message appears after calling ddcDefRt when the argument
defining the gap error is out of range. The range must be 3 - 5.
202 ILLEGAL_RESPONSE_TIME
This message appears after calling ddcDefRt when the argument
defining the late response error is out of range. The range must be 12 30.
203 ILLEGAL_ALTER_TADR
This message appears after calling ddcDefRt when the argument
defining the Terminal address or alternate terminal address is out of
range.
204 ILLEGAL_LENGTH_ERROR
This message appears after calling ddcDefRt when the argument
defining the word length or word count error is out of range.
205 ILLEGAL_STATUS_ENC_ERR
This message appears after calling ddcDefRt when the parameters
ENCODE_STATUS_GLITCH or ENCODE_STATUS_INVERSE which
define the status encoding error have illegal values.
206 ILLEGAL_WORD_ENC_ERR
This message appears after calling ddcDefRt when the parameters
ENCODE_WORD_GLITCH or ENCODE_WORD_INVERSE that defines
the data encoding error have illegal values.
188
BU-69068 Manual
APPENDIX A
207 ILLEGAL_ERROR_TYPE
This message appears after calling ddcDefRt when the argument
defining the error type is illegal.
208 ILLEGAL_DBC_DELAY
This message appears after calling ddcDefRt when the argument
defining the delay after accepting bus control is out of range. The range
must be 40 - 130,000.
221 ILLEGAL_BUFFERING_MODE
This message appears after calling ddcDefDataBuffering when its
argument has an illegal value. The value must be either SINGLE or
DOUBLE.
241 NOT_INIT_STATE
This message appears when a routine which should only be called in the
INIT state was called in another state. This error is not applicable to this
library. It is only applicable to older versions of the library.
242 NOT_HALT_STATE
This message appears when a routine which should only be called in the
HALT state was called in another state.
243 NOT_RUN_STATE
This message appears when a routine which should only be called in the
RUN state was called in another state.
244 NOT_HALT_OR_RUN_STATE
This message appears when a routine which should only be called in the
HALT or RUN state was called in the INIT state. This error is not
applicable to this library. It is only applicable to older versions of the
library.
245 NOT_BCRT_HALT_STATE
This message appears when a routine which should only be called in the
HALT or RUN MONITOR states was called while the BC/RT was
running.
246 NOT_MON_HALT_STATE
This message appears when a routine which should only be called in the
HALT or RUN BC/RT states was called while the Monitor was running.
189
BU-69068 Manual
APPENDIX A
247 NOT_BCRT_RUN_STATE
This message appears when a routine which should only be called when
the BC/RT is running is called when it is halted.
248 NOT_MON_RUN_STATE
This message appears when a routine which should only be called when
the Monitor is running is called when it is halted.
249 RUN_STATE
This message appears when the card is in the run state and a routine is
called that cannot be executed in run state.
250 CARD_NOT_ACTIVE
This message appears after calling the routine ddcResetCard. When
the card is not active the routine ddcResetCard will not be able to run
and will fail.
251 CARD_IS_NOT_READY
This message appears after calling a routine which resets the card
(ddcResetCard or ddcLoadSetupToCard) when the versions of the
DDC software and hardware are not compatible.
252 RESET_IN_PROGRESS
This message appears after calling the routine ddcResetCard while
other routines are trying to access the card.
253 NOT_ENOUGH_MEMORY
This message appears after routines that access memory are called
(ddcResetCard, ddcEnableDma). These routines check to see if there
is enough available free memory, if not then the error is returned.
254 UNSUPPORTED_OS
This message appears if the operating system that the Tester/Simulator
Menu is running on is unsupported.
255 IOCTL_FAILED
This message appears if an IO control call made from the Runtime
Library to the device driver fails.
256 MMAP_FAILED
This message appears if a memory mapping call made from the Runtime
Library to the device driver fails.
Data Device Corporation
190
BU-69068 Manual
APPENDIX A
257 MUNMAP_FAILED
This message appears if a memory un-mapping call made from the
Runtime Library to the device driver fails.
258 INVALID_HANDLE
This message appears if the card device handle passed back from the
system is invalid.
268 SYMBOL_CHECK_SUM_8
This message appears after calling ddcResetCard if the file ".i0" either
incompatible with the software version or its contents have been
corrupted. The RTL software should be reinstalled from the original
diskette.
269 CANNOT_OPEN_DDC_SYM
This message appears when the routine ddcResetCard cannot find the
file ".i0".
281 ILLEGAL_LEGALITY
This message appears after calling the routine ddcDefFrame when the
argument "legality" is not equal to either YES or NO.
282 ILLEGAL_MODE_CODE
This message appears after calling the routine ddcDefModeLegality
when the argument "mode_code" is out of range. The range must be 0 31.
283 ILLEGAL_FIRST_MC_IMR
This message appears after calling ddcDefModeRoutine when the
argument defining the first intermessage routine is out of range. The
range must be 1-127.
284 ILLEGAL_SECOND_MC_IMR
This message appears after calling ddcDefModeRoutine when the
argument defining the second intermessage routine is out of range. The
range must be 1-127.
301 ILLEGAL_EMUL_TADR
This message appears after calling routines ddcDefEmulateRt or
ddcDefEmulateBc when the argument "tadr" is not in the range 0 30
for the RT and 0 30 for the BC.
191
BU-69068 Manual
APPENDIX A
302 ILLEGAL_EMULATE_BC
This message appears after calling the routine ddcDefEmulateBc when
the argument defining BC emulation has an illegal value. The value must
be YES or NO.
303 ILLEGAL_EMULATE_RT
This message appears after calling the routine ddcDefEmulateRt when
the argument defining RT emulation has an illegal value. The value must
be YES or NO.
321 NO_SUCH_CODE_FILE
This message appears when the file "*.io" cannot be opened or read
properly.
322 NO_BCRT_CODE_FILE
This message appears when the file "*.io" cannot be opened or read
properly.
323 NO_IMRLIB_CODE_FILE
This message appears when the file "*.io" cannot be opened or read
properly.
324 NO_MON_CODE_FILE
This message appears when the file "*.io" cannot be opened or read
properly.
341 ILLEGAL_MESSAGE_ID
This message appears after calling the routine ddcDefMessage when
the argument defining the message id is out of range. The range must be
1 1023.
342 ILLEGAL_CMD_TYPE
This message appears after calling the routine ddcDefMessage when
the argument defining the message type has an illegal value. The values
must be RECEIVE, TRANSMIT, MODE, RT_RT, or NOP.
343 ILLEGAL_MSG_ERR_TYPE
This message appears after calling the routine ddcDefMessage when
the argument defining the injected error type has an illegal value.
192
BU-69068 Manual
APPENDIX A
344 ILL_MSG_BIT_WORD_ERR
This message appears after calling the routine ddcDefMessage when
the argument defining the word in which the BC should inject extra bits is
out of range. The range should be 0 - 32.
345 ILL_MSG_BIT_IN_WRD_ERR
This message appears after calling the routine ddcDefMessage when
the argument defining the number of extra/missing bits to be injected by
the BC is out of range. The range should be: 1 - 3.
346 ILLEGAL_ENCODE_ERR_TYPE
This message appears after calling the routine ddcDefMessage when
the argument defining the encoding error type has an illegal value. The
legal
values
are
ENCODE_WORD_GLITCH
or
ENCODE_WORD_INVERSE.
347 ILLEGAL_GAP_TIME_ERROR
This message appears after calling the routine ddcDefMessage when
the argument defining the gap time in the error injected by the BC has an
illegal value. The legal values are 3, 4 or 5 microseconds.
348 ILLEGAL_GAP_WORD_ERROR
This message appears after calling the routine ddcDefMessage when
the argument defining the location of the gap error injected by the BC is
out of range. The gap is injected before word N, where N must be in the
range 1 - 32.
349 ILL_MSG_EN_BEGIN_WRD
This message appears after calling the routine ddcDefMessage when
the argument defining the location of the encoding error injected by the
BC is out of range.
350 ILL_MSG_EN_WIDTH_ERR
This message appears after calling the routine ddcDefMessage when
the argument defining the width of the encoding error injected by the BC
is out of range. The width of the encoding error (glitch or inverse) must
be in the range 1 - 60.
351 ILLEGAL_MESSAGE_BUS
This message appears after calling the routine ddcDefMessage when
the argument defining the bus has an illegal value. The value must be
BUS_A or BUS_B.
193
BU-69068 Manual
APPENDIX A
353 ILLEGAL_FIRST_MSG_IMR
This message appears after calling the routine ddcDefMessage when
the argument defining the first intermessage routine is out of range. The
range must be 1-127.
354 ILLEGAL_SECOND_MSG_IMR
This message appears after calling the routine ddcDefMessage when
the argument defining the second intermessage routine is out of range.
The range must be 1-127.
355 ILLEGAL_TADDRESS
This message appears after calling the routine ddcDefMessage when
the terminal address is not compatible with the communication type field
in the message structure.
356 ILLEGAL_SUBADDRESS
This message appears after calling the routine ddcDefMessage when
the subaddress is not compatible with the communication type field in the
message structure.
382 ERROR_IN_COMMAND
This message appears when the host cannot pass instructions to the
card. The card should be reset.
383 COMMAND_DID_NOT_START
This message appears when the card is unable to complete a
handshake with the host. The card should be reset.
384 COMMAND_DID_NOT_END
This message appears when the card is unable to complete a
handshake with the host. The card should be reset.
413 CARD_SELF_TEST_FAILED
This message appears after calling the routine ddcResetCard when the
card self-test has failed. If the problem persists, the card should be
returned for repair.
431 ILLEGAL_BCST
This message appears after calling the routine ddcDefLegalityBcst
when the argument defining legality has an illegal value. The legal values
are either YES or NO.
194
BU-69068 Manual
APPENDIX A
441 ILLEGAL_AMPLITUDE
This message appears after calling the routine ddcSetAmp with an
argument that is out of range. The range must be 0 - 255.
442 ILLEGAL_AMPLITUDE_PCI
This message appears after calling the routine ddcSetAmp with an
argument that is out of range. The range must be 0 - 4095.
451 ILLEGAL_RESP_TIMEOUT
This message appears after calling the routine ddcSetReservedBit with
an argument that is out of range. The legal values are: 14, 16, 18 and 20.
461 ILLEGAL_LAST_STATUS_TADR
This message appears after calling the routine ddcDefLastStatus when
the argument that defines the RT address is out of range. The range
must be 0 - 30.
471 ILLEGAL_MAP_TADR
This message appears after calling the routine ddcDefRtMapBlock
when the argument that defines the RT address is out of range. The
range must be 0 - 31.
472 ILLEGAL_MAP_SADR
This message appears after calling the routine ddcDefRtMapBlock
when the argument that defines the subaddress is out of range. The
range must be 1 - 30.
473 ILLEGAL_MAP_TR_BIT
This message appears after calling the routine ddcDefRtMapBlock
when the argument, which defines transmit or receive has an illegal
value. The legal values are either TRANSMIT or RECEIVE.
474 ILLEGAL_MAP_TABLE_ID
This message appears after calling the routine ddcDefRtMapBlock
when the argument, which defines the first or last data table ID is out of
range. The range must be 0 - 1023.
481 ILLEGAL_WR_ID
This message appears after calling the routine ddcWriteData when the
argument, which defines the data table ID is out of range. The range
must be 0 - 1023.
195
BU-69068 Manual
APPENDIX A
483 ILLEGAL_WR_COUNT
This message appears after calling the routine ddcWriteData when the
argument, which defines the number of words to be copied is out of
range. The range must be 1 - 32.
484 ILLEGAL_WR_POS
This message appears after calling the routine ddcWriteData when the
argument, "pos", which defines the position in the table where the first
word shall be copied, is incompatible with the argument "count". The
value of "pos" must be in the range 1 - 32 and the value of "pos+count"
must not exceed 33.
491 ILLEGAL_WR_MC_TADR
This message appears after calling the routine ddcWriteModeData
when the argument defining the RT address is out of range. The range
must be 0 - 31.
492 ILLEGAL_WR_MODE_CODE
This message appears after calling the routine ddcWriteModeData
when the argument defining the mode code is out of range. The range
must be 16 - 31.
501 ILLEGAL_RD_MC_TADR
This message appears after calling the routine ddcWriteModeData
when the argument defining the RT address is out of range. The range
must be 0 - 31.
502 ILLEGAL_RD_MODE_CODE
This message appears after calling the routine ddcWriteModeData
when the argument defining the mode code is out of range. The range
must be 16 - 31.
511 NO_NEW_MESSAGES
This
message
appears
after
calling
the
routine
ddcReadLastMonMessage when the Monitor has received no new
messages since the routine was last called.
512 THIRD_BUFF_INT_ENABLED
This message appears after calling ddcReadLastMonMessage when
the interrupt "1/3 of circular buffer" is enabled instead of masked.
196
BU-69068 Manual
APPENDIX A
522 INSUFFICIENT_MEMORY
This message appears after calling ddcResetCard when there isn't
enough room in the host's RAM.
523 ILLEGAL_IDEA_SYM
This message appears after calling the routine ddcResetCard when the
.I0 file is corrupted.
531 ILLEGAL_SET_BIT_TADR
This message appears after calling a routine that sets (resets) a bit in an
RT's status when the argument specifying the terminal address is out of
range. The range must be 0 - 30.
532 ILLEGAL_SET_BIT_NO
This message appears after calling the routines ddcSetReservedBit or
ddcResetReservedBit when the argument specifying the bit location is
out of range. The range must be 1 - 3.
533 NOT_READY
This message appears after calling a routine to set/reset a status bit
before a previous request has been completed.
534 ILLEGAL_IMMEDIATE
This message appears after calling a routine that sets (resets) a bit in an
RT's status when the argument "immediate" has an illegal value. The
value must be either YES or NO.
541 ILLEGAL_SELECT_TADR
This message appears after calling the routines ddcSelectMessage,
ddcDeselectMessage,
ddcSelectAllMessages
or
ddcDeselectAllMessages when the argument defining the terminal
address is out of range. The range must be 0 - 31.
542 ILLEGAL_SELECT_TR
This message appears after calling the routines ddcSelectMessage or
ddcDeselectMessage, when the argument defining transmit/receive is
out of range. The legal values are 0 (receive) and 1 (transmit).
543 ILLEGAL_SELECT_SADR
This message appears after calling the routines ddcSelectMessage or
ddcDeselectMessage, when the argument defining subaddress is out of
range. The range must be 0 - 31.
Data Device Corporation
197
BU-69068 Manual
APPENDIX A
551 ILLEGAL_CAPTURE_TYPE
This message appears after calling the routine ddcCaptureEvent when
the argument defining the capture type has an illegal value. The legal
values are: CAPTURE_IMMEDIATE, CAPTURE_COMMAND_TEMPLATE,
CAPTURE_EXCEPTION, CAPTURE_TRIGGER.
552 ILLEGAL_CAPTURE_EXCEPTION
This message appears after calling the routine ddcCaptureEvent when
"type"=" CAPTURE_EXCEPTION" and par1 (which defines the
exception condition) is out of range. The range must be 0 - 8.
553 ILLEGAL_CAPTURE_TRIGGER
This message appears after calling the routine ddcCaptureEvent when
"type"= " CAPTURE_TRIGGER" and par1 (which defines the output
trigger pin) is out of range. The range must be 0 - 3.
561 ILLEGAL_EXCEPTION_BITS
This
message
appears
after
calling
the
routines
ddcDefMonExceptionStatus or ddcDefBcExceptionStatus when the
argument defining the status bits to be flagged by the Monitor or BC is
out of range. The range is 0 - 0x7FF.
571 ILLEGAL_STACK_TYPE
This message appears after calling the routine ddcDefMonitorStack
when the argument that defines the stack type has an illegal value. The
legal values are: CYCLIC or NON_CYCLIC.
572 CANNOT_READ_STACK
This message appears after a call to either ddcReadLastMonMessage,
or ddcReadMonStack and the stack file is corrupted.
581 UNDEFINED_CARD_STATE
This message appears after calling the routine ddcCardState when the
CARD_STATE structure has illegal values (see routine ddcCardState
for legal values).
591 ILLEGAL_FIRST_DTAB_IMR
This message appears after calling the routine ddcDefTableRoutine
when the argument defining the first intermessage routine is out of
range. The range must be 1 - 128.
198
BU-69068 Manual
APPENDIX A
592 ILLEGAL_SECOND_DTAB_IMR
This message appears after calling the routine ddcDefTableRoutine
when the argument defining the second intermessage routine is out of
range. The range must be 1 - 128.
601 ILLEGAL_IN_MSG_POS
This message appears after calling the routine ddcInsertMessage when
the argument "pos" is out of range. The range must be 1 1024.
602 IN_MSG_NOT_READY
This message appears after calling the routine ddcInsertMessage
when the card has not completed the previous special request.
603 IN_MSG_BC_NOT_EMULATED
This message appears after calling the routine ddcInsertMessage
when there is no emulated BC.
611 ILLEGAL_CARD_NUMBER
This message appears when the IDEA card number is set out of the
legal values of 0 through 7. This message is for backwards compatibility
with the IDEA cards.
621 CANNOT_OPEN_STORE_FILE
This message appears after a call to ddcStoreDriverVariables when
the file cannot be opened. Check to see the location of the file, and if the
file exists.
622 CANNOT_WR_TO_STORE_FILE
This message appears after a call to ddcStoreDriverVariables when
the file cannot be written to. Check the properties of the file (make sure
not Read-Only -- or not already open).
623 CANNOT_CLOSE_STORE_FILE
This message appears after a call to ddcStoreDriverVariables when
the file cannot be closed
631 CANNOT_OPEN_VARS_FILE
This
message
appears
when
a
call
to
the
routine
ddcStoreDriverVariables when the file name that is passed in by the
user is incorrect name.
199
BU-69068 Manual
APPENDIX A
632 CANNOT_READ_VARS_FILE
This
message
appears
when
a
call
to
the
routine
ddcStoreDriverVariables when the file name that is passed in by the
user is incorrect name.
633 CANNOT_CLOSE_VARS_FILE
This
message
appears
when
a
call
to
the
routine
ddcStoreDriverVariables when the file name that is passed in by the
user is incorrect name.
641 RESET_BEFORE_LOAD_FAILED
This message appears after calling the routine ddcResetCard when the
DSP failed to boot.
642 NO_INIT_MK2_CODE_FILE
This message appears when a routine which should only be called when
the Monitor is running is called when it is halted.
643 MON_SHARED_MEM_ADR_ERR
This message appears after calling the routine ddcResetCard when
there is a hardware problem in the Monitor shared memory.
644 BCRT_SHARED_MEM_ADR_ERR
This message appears after calling the routine ddcResetCard when
there is a hardware problem in the BCRT shared memory.
645 MON_SHARED_MEM_DATA_ERR
This message appears after calling the routine ddcResetCard when
there is a hardware problem in the Monitor shared memory.
646 BCRT_SHARED_MEM_DATA_ERR
This message appears after calling the routine ddcResetCard when
there is a hardware problem in the BCRT shared memory.
647 NOT_DDC_HW
This message appears after calling the routine ddcResetCard when the
DDC card is not detected.
648 SELF_TEST_FAILED
This message appears after calling the routine ddcResetCard when the
card's self-test has failed.
200
BU-69068 Manual
APPENDIX A
671 UNDEFINED_PART_NUMBER
This message appears after calling the routine ddcResetCard when the
card is of an unknown type.
683 ILLEGAL_BUS_STATE
This message appears after calling the routine ddcSelectBus when the
argument defining the Monitor Bus state has an illegal value. Legal
values are: OPEN or CLOSE.
742 STP_CANNOT_OPEN_FILE
This message appears after calling the routine ddcReplayRunBC or
ddcReplayRunRTs when the stack file cannot be opened.
800 WRONG_RBF_VERSION
This message appears when there is a failure in the FPGA or the version
of the FPGA does not match the version of the RTL.
801 WRONG_EMBEDDED_VERSION
This message appears when the I0 version does not match the version
of the RTL.
802 WRONG_DRIVER_VERSION
This message appears when the driver version that is installed on your
system does not match with the .dll that is installed in you
windows\system directory.
803 CANNOT_ENABLE_CARD
This message appears when Card Services cannot gain access to the
cards resources. This message pertains to DOS only.
804 CANNOT_REGISTER_CARD
This message appears when Card Services cannot gain access to the
card. This message pertains to DOS only.
805 LOG_DEV_NOT_FOUND
This message appears after a call to the routine ddcResetCard when
the Logical Device number assigned to the card is not the card you are
running in your program. Check the active card number in the
Tester/Simulator Menu against the Logical Device Number in the DDC
1553 Card Manager.
201
BU-69068 Manual
APPENDIX A
806 LOG_DEV_NOT_TESTSIM
This message appears after a call to the routine ddcResetCard when
the Logical Device number that is assigned to your card is not a
Tester/Simulator Card.
807 NO_NT40_MULTIPLE_CARDS
This message appears when using Windows NT. Multiple numbers of
the same card are not supported in Windows NT.
808 DMA_NOT_SUPPORTED
This message appears after a call to ddcEnableDma, ddcDisableDma,
or ddcReadDmaStack when the Tester/Simulator Card does not support
DMA. The BU-65570M PC card does not support DMA.
809 DMA_TOO_SMALL
This message appears when the amount of DMA allocated is too small
for our card. The Tester/Simulator cards need 32k for DMA.
810 AMPLITUDE_NOT_SUPPORTED
This message appears after a call to the routine ddcReadAmp when the
Tester/Simulator card does not support software programmable
amplitude. The BU-65570i, BU-65570v and the BU-65570M, are not
supported.
811 IRIG_NOT_SUPPORTED
This message appears after a call to ddcEnableIrig or ddcReadIrig and
the Tester/Simulator card does not have IRIG support. The BU-65570M
card does not support IRIG.
812 COUPLING_NOT_SUPPORTED
This message appears after a call to ddcSetCoupling when coupling
cannot be set in software. The BU-65570M card does not allow the user
to program the values for coupling.
813 INVALID_COUPLING
This message appears after a call to ddcSetCoupling when an invalid
value for coupling is set.
For valid values for coupling see
ddcSetCoupling.
202
BU-69068 Manual
APPENDIX A
203
BU-69068 Manual
APPENDIX A
825 SELF_BOOT_NOT_SUPPORTED
This message appears when a call is made to ddcResetCard with the
self boot feature enabled and the card being initialized does not posses
the self boot feature.
826 MON_STACK_OVERFLOW
This message appears when a call is made to ddcReadMonStack or
ddcReadMonStackPart and a message stack overflow had occurred.
827 CARD_NOT_READY_READ_RTC
This message appears when a call is made to ddcReadMonRtc and the
runtime library is unable to read the RTC within 2msec.
828 CARD_NOT_READY_WRITE_RTC
This message appears when a call is made to ddcSetRtc and the
runtime library is unable to write the RTC within 2msec.
829 CARD_NOT_READY_IRIG
This message appears when a call is made to ddcEnableIrig and the
runtime library is unable to enable IRIG because the card is busy.
830 VXI_A16_ONLY
This message appears when the DMA feature of a VXI card is being
utilized and the NI-VXI controller must be set to share memory in A32
space in order for this to be accomplished.
831 CARD_NOT_READY_SYNCHRONIZE
This message appears when a call is made to ddcSynchronizeAllCards
and the runtime library cannot perform this operation because the card is
busy.
832 CARD_NOT_READY_DEF_BC_EXCEPTION_STATUS
This
message
appears
when
a
call
is
made
to
ddcDefBcExceptionStatus and the runtime library cannot perform this
operation because the card is busy.
833 CARD_NOT_READY_DEF_EMULATE_BC
This message appears when a call is made to ddcDefEmulateBc and
the runtime library cannot perform this operation because the card is
busy.
204
BU-69068 Manual
APPENDIX A
834 CARD_NOT_READY_DEF_MINOR_FRAME_TIME
This message appears when a call is made to ddcDefMinorFrameTime
and the runtime library cannot perform this operation because the card is
busy.
835 CARD_NOT_READY_RUN_BC
This message appears when a call is made to ddcRunBc and the
runtime library cannot perform this operation because the card is busy.
836 CARD_NOT_READY_RUN_CONTINUE
This message appears when a call is made to ddcRunContinue and the
runtime library cannot perform this operation because the card is busy.
837 CARD_NOT_READY_SKIP_NEXT_MESSAGE
This message appears when a call is made to ddcSkipNextMessage
and the runtime library cannot perform this operation because the card is
busy.
838 CARD_NOT_READY_INIT
This message appears when a call is made to ddcResetCard and the
runtime library cannot perform this operation because the card is busy.
839 CARD_NOT_READY_SET_RESP_TIMEOUT
This message appears when a call is made to ddcSetRespTimeout and
the runtime library cannot perform this operation because the card is
busy.
840 CARD_NOT_READY_CAPTURE_EVENT
This message appears when a call is made to ddcCaptureEvent and
the runtime library cannot perform this operation because the card is
busy.
841 CARD_NOT_READY_DEF_MON_EXCEPTION
This
message
appears
when
a
call
is
made
to
ddcDefMonExceptionStatus and the runtime library cannot perform this
operation because the card is busy.
842 CARD_NOT_READY_DEF_MON_STACK
This message appears when a call is made to ddcDefMonitorStack and
the runtime library cannot perform this operation because the card is
busy.
205
BU-69068 Manual
APPENDIX A
843 CARD_NOT_READY_RUN_MON
This message appears when a call is made to ddcRunMon and the
runtime library cannot perform this operation because the card is busy.
844 CARD_NOT_READY_SELECT_BUS
This message appears when a call is made to ddcSelectBus and the
runtime library cannot perform this operation because the card is busy.
845 CARD_NOT_READY_REPLAY_RUN_BC
This message appears when a call is made to ddcReplayRunBC and
the runtime library cannot perform this operation because the card is
busy.
846 CARD_NOT_READY_REPLAY_RUN_RTS
This message appears when a call is made to ddcReplayRunRTs and
the runtime library cannot perform this operation because the card is
busy.
847 CARD_NOT_READY_RUN_RT
This message appears when a call is made to ddcRunRt and the
runtime library cannot perform this operation because the card is busy.
848 CARD_NOT_READY_DEF_LEG_BCST
This message appears when a call is made to ddcDefLegalityBcst and
the runtime library cannot perform this operation because the card is
busy.
849 CARD_NOT_READY_DEF_LEG_DET
This message appears when a call is made to ddcDefLegalityDetection
and the runtime library cannot perform this operation because the card is
busy.
850 CARD_NOT_READY_DEF_INT_CMD_TEMPL
This message appears when a call is made to ddcDefIntCmdTemplate
and the runtime library cannot perform this operation because the card is
busy.
851 LOG_DEV_IN_USE
This message appears when a call is made to ddcResetCard and the
runtime library determines that the device is already in use, or it was not
shutdown properly.
206
BU-69068 Manual
APPENDIX A
900 ILLEGAL_DAT_POS_MAG
This message appears when a call to the routine ddcReadDataPart
when the value of the position is greater than 32.
901 ILLEGAL_DAT_POS
This message appears after a call to the routine "ddcReadDataPart"
when the specified position to read from is out of the range of the size of
the data block.
902 WARNING_COUNT_READ
This message appears after a call to the routine ddcReadDataPart
when the number of words to be read is greater than the number of
remain data words in the table. An example is when you want to read 10
words starting at position 25, when there are only 32 data words in a
table.
950 CONFIG_FILE_NOT_FOUND
This message appears when a call is made to ddcResetCard and the
configuration file is corrupt or cannot be found.
951 DEVICE_MAPPING_ERROR
This message appears when a call is made to ddcResetCard and the
device memory cannot be mapped to user address space.
952 HW_NOT_DOS_ENABLED
This message appears when a call is made to ddcResetCard and the
device is not enabled.
953 HW_DEVICE_NOT_FOUND
This message appears when a call is made to ddcResetCard and the
device cannot be found.
954 UNSUPPORTED_CARD_TYPE
This message appears when a call is made to ddcResetCard and the
device being initialized is not supported.
207
BU-69068 Manual
15 APPENDIX B
15.1 Interrupts
Both the BC/RT and the Monitor request interrupts to the PC. The IREQ
vector is selected by the operating system during card installation. The
interrupts are serviced by an interrupt handler which checks the interrupt
source (BC/RT or Monitor). It then reads the interrupt vector from the
BC/RT or Monitor shared memory calls the appropriate user routine
(defined using ddcSetMonEvent and ddcSetBcrtEvent), and then
prepares the card for the next interrupt.
The user "mon_event_handler" has no arguments. The RTL interrupt
handler passes two arguments to the user "bcrt_event_handler". The
inputs are defined as follows:
U16BIT vector_type - the first word of the interrupt vector
U16BIT vector_parameter - the second word of the interrupt vector
The initialization of the PC's interrupt controller and the CPU's vector
table is performed by the Device Driver.
The RTL can handle interrupts from more than one DDC card, provided
the user assigns separate service routines using "ddcSetMonEvent"
and ddcSetBcrtEvent.
208
BU-69068 Manual
APPENDIX B
TYPE
PARAMETER
SUBTYPE
PARAMETER
EVENT
00
table
number
command
ME=0,
transmit/receive
01
mode
code
command
ME=0, mode
command
02
table
number
command
ME=1,
transmit/receive
03
mode
code
command
ME=1, mode
command
04-7F
mode
code
RESERVED
Note: The ME bit is taken from the last status (i.e., the status which would
be sent in response to a mode command SEND LAST STATUS)
209
BU-69068 Manual
APPENDIX B
SUB-TYPE
PARAMETER
EVENT
80
message number
0000
successful message
81
message number
error code
communication error
82
message number
status
83
FC
N/A
83
FD
N/A
83
FE
N/A
frame entry=
END_OF_MAJOR_FRAME
83
FF
N/A
frame entry=
END_OF_MINOR_FRAME
84-FF
RESERVED
ERROR CODE
ERROR TYPE
0000
no error
0002
0004
invalid data
0008
0010
no response
0020
invalid status
0040
0080
210
BU-69068 Manual
APPENDIX B
INTERRUPT TYPE
00
01
02
03
80
81
82
83
XX
XX
10
XX
11
XX
12
XX
13
XX
14
15
211
BU-69068 Manual
16 APPENDIX C
16.1 Intermessage Routines
During each intermessage gap, the BC/RT executes 2 INTERMESSAGE
ROUTINES specified by the user. These routines are chosen from the
supplied RTL and they can be assigned to:
212
BU-69068 Manual
APPENDIX C
FUNCTION
NO OPERATION
RETRY CURRRENT MESSAGE ON ALTERNATE BUS
RETRY CURRENT MESSAGE AND REMAIN ON ALTERNATE BUS
RETRY ON SAME BUS
INTERRUPT ON END OF MESSAGE
INTERRUPT ON FRAME SYMBOL
SET SERVICE REQUEST BIT IN STATUS
RESET SERVICE REQUEST BIT IN STATUS
INTERRUPT AFTER ACCESSING TX/RX DATA TABLE
INTERRUPT AFTER MODE COMMAND
INTERRUPT AFTER TX/RX COMMAND TEMPLATE MATCH
INTERRUPT AFTER MODE COMMAND TEMPLATE MATCH
TIME-TAG (STORE RTC IN A CIRCULAR QUEUE)
RESERVED
RETRY ON SAME BUS AND THEN ON ALTERNATE BUS
SET STATUS BIT IN STATUS
RESET STATUS BIT IN STATUS
SET OUTPUT TRIGGER
RESET OUTPUT TRIGGER
WAIT FOR INPUT TRIGGER
RESERVED
NO RESPONSE ON BOTH BUSES
SET BUSY BIT IN STATUS
RESET BUSY BIT IN STATUS
SET BUSY AND RESET SRQ IN STATUS
SET SRQ AND RESET BUSY IN STATUS
RESERVED
SKIP NEXT MESSAGE
SET_DISCRETE_0
SET_DISCRETE_1
SET_DISCRETE_2
SET_DISCRETE_3
RESET_DISCRETE_0
RESET_DISCRETE_1
RESET_DISCRETE_2
RESET_DISCRETE_3
RESERVED
SKIP NEXT MESSAGE ONCE
RESERVED
BLOCK_DATA_BC
BLOCK_DATA_RT
RESERVED
SKIP_NEXT_MESSAGE_ONCE_EX
213
BU-69068 Manual
APPENDIX C
DEFINITION OF ROUTINES
Function: NO OPERATION
Index: 1
Description:
This routine defines a null routine.
Used by: BC and RT
If a communication error occurs, a retry is performed on the alternate bus. The next time
the message is issued the first bus will be used. The communication error types are:
command sync instead of data sync
invalid data word
gap between data words
no response
invalid status
terminal address error in status
Used by: BC
If a communication error occurs, a retry is performed on the alternate bus. The next time
the message is issued the alternate bus will be used. The communication error types
are:
command sync instead of data sync
invalid data word
gap between data words
no response
invalid status
terminal address error in status
Used by: BC
214
BU-69068 Manual
APPENDIX C
An interrupt is issued to the host (provided the request is not masked) at the end of
message. The interrupt vector indicates whether or not there was a communication
error or a bit set in the status.
Used by: BC
An interrupt is issued to the host (provided the request is not masked) when at the end
of the message the following symbols appear in the communication FRAME (provided
the routine is assigned to the symbol by ddcDefMessage) :
SKIP
BREAK POINT
END OF MINOR FRAME
END OF MAJOR FRAME
Used by: BC
215
BU-69068 Manual
APPENDIX C
This routine sets the service request bit in the basic status of the RT which responded
to the last command.
Used by: BC and RT
This routine resets the service request bit in the basic status of the RT that responded
to the last command.
Used by: BC and RT
An interrupt is issued to the host (provided the request is not masked) after an emulated
RT accesses a data table associated with a transmit/receive command. The vector
pushed onto the interrupt request queue defines:
the value of the ME bit in the status
data table number
command word
The type field in the interrupt vector equals 0 or 2.
Used by: RT (for TX/RX messages only)
An interrupt is issued to the host (provided the request is not masked) after an emulated
RT receives a mode command. The vector pushed onto the interrupt request queue
defines:
the value of the ME bit in the status
mode code
command word
The type field in the interrupt vector equals 1 or 3.
Used by: RT (for mode commands only)
216
BU-69068 Manual
APPENDIX C
An interrupt is issued to the host (provided the request is not masked) after an emulated
RT accesses a data table associated with a transmit/receive command which matches a
template as follows:
cmpwd = command AND maskwd.
The compare word (cmpwd) and mask word (maskwd) are defined by the RTL routine
ddcDefIntCmdTemplate.
The type field in the interrupt vector equals 0 or 2.
Used by: RT (for TX/RX messages only)
An interrupt is issued to the host (provided the request is not masked) after an emulated
RT executes a mode command that matches a template as follows:
cmpwd = command AND maskwd.
The compare word (cmpwd) and mask word (maskwd) are defined by the RTL routine
ddcDefIntCmdTemplate.
The type field in the interrupt vector equals 1 or 3.
Used by: RT (for mode commands only)
Function: TIME-TAG
Index: 13
Description:
The 32 bit Real-Time-Clock of the BCRT is stored in a circular queue which contains up
to 64 time tags. The time has a resolution of 1 microseconds and a maximum sampling
inaccuracy of 1 microsecond.
Used by: RT
217
BU-69068 Manual
APPENDIX C
218
BU-69068 Manual
APPENDIX C
219
BU-69068 Manual
APPENDIX C
Function: SET_DISCRETE_0
Index: 32
Description:
This routine sets discrete output pin 0 to a logic 1.
Note: This functions is supported by the BU-65570 / BU-65572 PCI, cPCI and VME
cards.
220
BU-69068 Manual
APPENDIX C
Function: SET_DISCRETE_1
Index: 33
Description:
This routine sets discrete output pin 1 to a logic 1.
Note: This function is supported by the BU-65570 / BU-65572 PCI, cPCI and VME
cards.
Function: SET_DISCRETE_2
Index: 34
Description:
This routine sets discrete output pin 2 to a logic 1.
Note: This function is supported by the BU-65570 / BU-65572 PCI and VME cards.
Function: SET_DISCRETE_3
Index: 35
Description:
This routine sets discrete output pin 3 to a logic 1.
Note: This function is supported by the BU-65570 / BU-65572 PCI and VME cards.
Function: RESET_DISCRETE_0
Index: 36
Description:
This routine sets discrete output pin 0 to a logic 0.
Note: This function is supported by the BU-65570 / BU-65572 PCI, cPCI and VME
cards.
Function: RESET_DISCRETE_1
Index: 37
Description:
This routine sets discrete output pin 1 to a logic 0.
Note: This function is supported by the BU-65570 / BU-65572 PCI, cPCI and VME
cards.
221
BU-69068 Manual
APPENDIX C
Function: RESET_DISCRETE_2
Index: 38
Description:
This routine sets discrete output pin 2 to a logic 0.
Note: This function is supported by the BU-65570 / BU-65572 PCI and VME cards.
Function: RESET_DISCRETE_3
Index: 39
Description:
This routine sets discrete output pin 3 to a logic 0.
Note: This function is supported by the BU-65570 / BU-65572 PCI and VME cards.
222
BU-69068 Manual
APPENDIX C
Function: SKIP_NEXT_MESSAGE_ONCE_EX
Index: 51
Description:
With this routine the message is only skipped once, and sent by the BC the rest of the time.
The message is skipped only once after the IMR was re-enabled by the host.
Used by: BC.
223
BU-69068 Manual
17 APPENDIX D
17.1 Communication Stack Structure
The COMMUNICATION STACK is a circular buffer that resides in the
Monitor's shared memory. Each monitored message is stored in the form
of an 8 word MESSAGE HEADER, or a 10 word MESSAGE HEADER in
the case that IRIG time is used, followed by data words. The routine
ddcDecodeMonMessage can be used to read and decode the
communication stack's contents. If the GUI Menu creates the stack file, it
will contain a dummy first message. This message will be used to
encode extra information if necessary. The messages can be obtained
directly from the card's memory or from files of stacks previously saved
by the menu driven version of the DDC software. The MESSAGE
HEADER has the following structure:
14
13
12
11
10
FLS FLG
CMODE
ILL
XX
CA
P
BU
S
IRIG HIGH
IRIG LOW
BUS
BUS = 0(1) defines A(B) as the active bus.
CAP
CAP = 1 signifies that the capture event was detected before the end of the message.
The bit
remains set for all subsequent messages.
ILL
ILL = 1 denotes an illegal command. The possibilities are:
Transmit broadcast (non-mode) command
Mode command with broadcast forbidden by MIL-STD-1553B
Mode command with incorrect T/R bit
Unimplemented mode commands, as defined by the LEGALITY menu
Data Device Corporation
224
BU-69068 Manual
APPENDIX E
CMODE
CMODE defines the message type. The possibilities are:
00 - Mode command
01 - Receive
10 - Transmit
11 - RT to RT
WORD COUNT
WORD COUNT defines the actual number of data words in the message stored in the
circular buffer. The field contains 6 bits; values 0 and 32 appear as 000000 and 100000
respectively.
IRIG FLG
If IRIG is enabled for the monitor session, then this value will be 02b. At all other times
this value is 00b. If IRIG is enabled, words 9 and 10 will be present.
RECEIVE/MODE COMMAND/SYSTEM DATE
This word contains valid RECEIVE or MODE commands.
If the message encodes IRIG and the stack file is a *.FLS GUI Menu generated stack
file, then the first message in the stack is a dummy message. This dummy message will
contain the computers system date as recorded when the stack file was created. This
will allow a stack file (FLS) to be referenced to a year as well as month, day and
second.
TRANSMIT/INVALIDCOMMAND
This word contains TRANSMIT or INVALID commands.
TRANSMIT STATUS
This word contains the STATUS word belonging to a command with T/R=1.
RECEIVE STATUS
This word contains the STATUS word belonging to a command with T/R=0.
RTC HIGH
This word contains the most significant 16 bits of the time tag.
RTC LOW
This word contains the least significant 16 bits of the time tag. The resolution is 1
microsecond.
ERROR CODE
The ERROR CODE is a 6 bit field with the values given in Table 30.
LW
LW = 1 denotes that there was a long word error (time between successive syncs
greater than 21 microseconds) in the second to last monitored data word.
225
BU-69068 Manual
APPENDIX E
V
V = 0 signifies a Manchester encoding error in the last monitored word.
P
P = 0 signifies a parity error in the last monitored word.
SW
SW = 0 signifies a short word error in the last monitored word.
FLS FLG
This 3 bit flag indicates that the stack file is a Fixed Length Stack (FLS) file. A FLS stack
file will only be created by the GUI Menu, and will contain a dummy first message. This
format reserves the maximum number of words per message. If a message is one word
long or 32 words long, each entry in a FLS file will use 40 16-bit words if the stack does
not implement IRIG (see IRIG FLG), or 42 words if the stack does encode IRIG.
100
80
40
20
10
Days
20
10
Hours
15
Fail
N/A
pass_L
40
20
10
Minutes
40
20
10
Seconds
15
Note: The bits LW, V, P, and SW have meaningful values only if the
ERROR CODE indicates an INVALID WORD. Erroneous messages
always result in an ERROR CODE with a non-zero value in the 4
least significant bits.
226
BU-69068 Manual
APPENDIX E
ERROR
00 0000
NO ERROR
00 0001
00 0010
00 0011
Invalid data
00 0100
Invalid command
00 0101
00 0110
00 0111
Invalid data
00 1000
Invalid command
00 1001 00 1011
UNDEFINED
00 1100
Extra word
00 1101
00 1110
00 1111
Invalid command
01 0000
NO ERROR
01 0001
01 0010
01 0011
UNDEFINED
01 0100
01 0101
01 0110
01 0111
01 1000
Invalid data
01 1001
01 1010
01 1011
Invalid data
01 1100
01 1101
01 1110
01 1111
10 0000
NO ERROR
10 0001
10 0010
10 0011
UNDEFINED
227
BU-69068 Manual
APPENDIX E
ERROR
10 0100
No response (TX)
10 0101
10 0110
10 0111
Invalid TX status
10 1000
Invalid TX status
10 1001 10 1011
UNDEFINED
10 1100
Early response TX
10 1101
10 1110
Invalid status TX
10 1111
Invalid status TX
11 0000
NO ERROR
11 0001
11 0010
11 0011
UNDEFINED
11 0100
No response RX
11 0101
11 0110
11 0111
UNDEFINED
11 1000
Invalid status RX
11 1001
11 1010
11 1011
UNDEFINED
11 1100
Early response RX
11 1101
11 1110
11 1111
UNDEFINED
The stack resides in the Monitor's shared memory and contains approximately 6K
words.
Raw stack data is not available for access from the card. The Monitor stack data must
be transferred to a host buffer via DMA and then processed to a user buffer.
228
BU-69068 Manual
APPENDIX E
18 APPENDIX E
18.1 Structures
18.1.1 CARD_STATE
typedef struct
{
S16BIT bc_emulated;
18.1.2 ERR_ST
typedef struct
{
S16BIT code,
illegal,
rx_status,
tx_status,
type,
word_type,
word_number;
} ERR_ST;
18.1.3 COM_ST
typedef struct com
{
unsigned wcnt
unsigned sadr
unsigned tr
unsigned tadr
} COM_ST;
5;
5;
1;
5;
229
BU-69068 Manual
APPENDIX E
18.1.4 MON_MSG
typedef struct tagMON_MSG
{
S16BIT
comm_type,
bus,
capture,
broadcast;
S32BIT
rtc;
S16BIT
cmd_1,
cmd_2,
/* communication type */
/* bus ID, A or B
/* capture occurred */
/* message was a broadcast */
/* real time counter, 32-bits */
/* command 1 of message */
/* command 2 of message
(if RT-to-RT) */
/* status of message, receive */
/* status of message, transmit */
/* word count of message */
rx_status,
tx_status,
word_count,
aux_word_count,
error;
/* message had an error */
S16BIT
*data_buf,
*next_msg;
ERR_ST
error_inf;
struct com
s_cmd_1,
s_cmd_2;
S16BIT
cmd_1_flag,
cmd_2_flag,
stat_t_flag,
stat_r_flag;
S32BIT IrigTime;
} MON_MSG;
/* data of message */
/* error structure for message */
/* command structures */
/*
/*
/*
/*
/*
command 1 is valid */
command 2 is valid */
transmit status is valid */
receive status is valid */
IRIG time tag */
/*
/*
/*
/*
/*
RT_DEFS typedef */
basic status */
INJ_ERR - see TS_drv.h */
bus control acceptance */
delay before activating BC */
/*
/*
/*
/*
/*
RT_DEFS typedef */
basic status */
bus control acceptance */
delay before activating BC */
INJ_ERR - see TS_drv.h */
18.1.5 RT_DEFS
typedef struct _tagRT_DEFS
{
S16BIT
basic_status;
INJ_ERR
*inj_error;
S16BIT
dbca;
S32BIT
dbc_delay;
} RT_DEFS;
18.1.6 RT_DEFS_NEW
typedef struct _tagRT_DEFS_NEW
{
S16BIT
basic_status;
S16BIT
dbca;
S32BIT
dbc_delay;
INJ_ERR
inj_error;
} RT_DEFS_NEW;
230
BU-69068 Manual
19 APPENDIX F
19.1 Compiler issues: Microsoft Visual C++ vs. Borland
The Tester Simulator RTL was created for use under various compiler
environments, with the default environment being MSVC 5 and MSVC 6.
The Tester Simulator RTL Dynamic Link Library (TestSim32.dll) is build
to utilize the Standard call calling convention and has its structure
member alignment set at Quad word (8-byte).
When compiling a software application using MSVC, the steps are
generally simple when creating your program and have it dynamically
linked to our RTL. This process begins by insuring your project source
includes TS_drv.h (the main Test and Simulation header file). Your
project workspace must also include the TestSim32.lib library file. When
compiling, TestSim32.lib provides the necessary entry points into the
TestSim32.dll. Your executable program will now reference our
TestSim32.dll for any necessary RTL functions.
When using a Borland compiler environment the TestSim32.lib library
file can not be linked to directly. An import library application must be
called to create a Borland type .lib file. This is done by using the
implib.exe application supplied with the Borland compiler.
The following details apply when using the Tester Simulator RTL under a
Borland compiler environment. Different rules apply when using Borland
Builder vs. Borland C++ Suite 5.0x:
231
BU-69068 Manual
APPENDIX F
to link your project to our dll. To extract the necessary .dll entry
points you must run implib.exe against the TestSim32.dll file that
installed with the TestSim RTL. TestSim32.dll is generally located
in the \WINDOWS\system32 directory. Perform a search to locate
this file before attempting to run implib.exe. The following is an
example of how to use implib.exe:
implib TestSimBorlandBuilder.lib TestSim32.dll
This command will result in the TestSimBorlandBuilder.lib file
being created to include all TestSim32.dll entry points.
5. You can now include the TestSimBorlandBuilder.lib file into your
project workspace. This will allow you to compile and link your
application to the TestSim32.dll dynamic link library.
232
BU-69068 Manual
APPENDIX F
233
BU-69068 Manual
20 APPENDIX G
20.1 Using the LabWindows/CVI Software
This section will explain the examples that are included in this software
library for use with LabWindows/CVI. This appendix does not teach the
user about LabWindows/CVI nor does it teach the user how to program.
20.1.1 Header Files
20.1.1.1
234
BU-69068 Manual
APPENDIX G
Available (See Figure 22). If the library file is properly inserted in the
project then there will be a date in the next column (See Figure 23).
235
BU-69068 Manual
APPENDIX G
20.2 Examples
The following section describes how to use the included example
programs. The example programs offer the capability of running some
basic functions of the Tester/Simulator card without actually writing any
code to program the card. This gives users the convenience of using the
card through a LabWindows/CVI user interface without writing any C
code.
20.2.1 Version Sample
This example calls the function to display version information to the UIR
panel for the user. This function displays the Runtime Library version
and the Driver version. A Close Window button is provided so that the
user can stop the UIR from running (see Figure 24 and Figure 25).
236
BU-69068 Manual
APPENDIX G
237
BU-69068 Manual
APPENDIX G
238
BU-69068 Manual
APPENDIX G
239
BU-69068 Manual
APPENDIX G
240
BU-69068 Manual
APPENDIX G
241
BU-69068 Manual
21 APPENDIX H
21.1 Dual Processor and Dual Core Support for Windows
This section will cover the steps needed to use the Tester Simulator Run
Time Library with a Dual Core or Dual Processor CPU. DDCs Tester
Simulator RTL does not inherently support Dual Core or Dual Processors
and is not considered thread safe.
When using the Tester Simulator RTL and one of the Tester Simulator
cards
under
a
Dual
Core/Processor
system
the
SetProcessAffinityMask() function maybe required under a Windows
Operating System. When using a Dual Core/Processor system with the
Tester Simulator RTL, there may be several operating issues, such as
issues receiving interrupts, or reading data off of the Tester Simulator
hardware. If these issues are occurring with your application and your
system has multi-processors or is a Dual Core system, then you will
need to use the SetProcessAffinityMask() function.
The SetProcessAffinityMask() function allows the user to set a process
affinity on a running thread for the threads of a specified process on
multi-processor computers. A processor affinity mask is a bit vector in
which each bit represents the processor on which the threads of the
process are allowed to run.
SetProcessAffinityMask Definition
BOOL SetProcessAffinityMask(
HANDLE hProcess,
DWORD dwProcessAffinityMask
);
// handle to process
// process affinity mask
PARAMETERS
hProcess
A handle to the process whose affinity mask the function sets. This handle must have the
PROCESS_SET_INFORMATION access right. For more information, see Process Objects.
dwProcessAffinityMask
Specifies an affinity mask for the threads of the process.
RETURN VALUES
If the function succeeds, the return value is nonzero. If the function fails, the return value is
zero. To get extended error information, call GetLastError.
242
BU-69068 Manual
APPENDIX H
To use this function along with the Tester Simulator library the process ID must first be
known. The process ID can be found by calling GetCurrentProcess(). This function
returns a handle to the current process which can then be passed into the
SetProcessAffinityMask() call. These calls must be made prior to ddcResetCard() or
ddcReplayResetCard() when using with the Tester Simulator RTL. An example of using
the SetProcessAffinityMask() is shown below:
243
BU-69068 Manual
INDEX
22 INDEX
ddcDefRtMapBlock .................................... 83
ddcDefTableRoutine ................................... 85
ddcDefTableSize ......................................... 86
ddcDeselectAllMessages ............................. 87
ddcDeselectMessage ................................... 88
ddcDisableDma ........................................... 89
ddcEnableDma ............................................ 90
ddcEnableIrig .............................................. 91
ddcFlushDmaBuffer .................................... 92
ddcGetBcDataTable .................................... 93
ddcGetBcHaltParameters ............................ 94
ddcGetErrorMessage ................................... 95
ddcGetGlueLogicVersion............................ 96
ddcGetMTCounters ..................................... 97
ddcHaltBcrt ................................................. 98
ddcHaltIdea ................................................. 99
ddcHaltMon............................................... 100
ddcIdeaVersion.......................................... 101
ddcInsertMessage ...................................... 102
ddcPrintErrorMessage ............................... 103
ddcReadAmp ............................................. 104
ddcReadCoupling ...................................... 105
ddcReadData ............................................. 106
ddcReadDataPart ....................................... 107
ddcReadDmaStack .................................... 108
ddcReadIrig ............................................... 109
ddcReadLastMonMessage ........................ 110
ddcReadLastStatusCmd ............................ 111
ddcReadMessage ....................................... 112
ddcReadModeData .................................... 115
ddcReadMonRtc ........................................ 116
ddcReadMonStack .................................... 117
ddcReadMonStackPart .............................. 118
ddcReadTimeTags ..................................... 119
ddcReplayFillStack ................................... 120
ddcReplayReset ......................................... 121
ddcReplayRTActive .................................. 122
ddcReplayRunBC ...................................... 123
ddcReplayRunRTs .................................... 124
ddcReplaySetRespDelay ........................... 125
ddcResetBroadcast .................................... 126
ddcResetBusy ............................................ 127
ddcResetBusySetSrq ................................. 128
ddcResetCard ............................................ 129
ddcResetCardBCRT .................................. 131
ddcResetCardMonitor ............................... 132
ddcResetDbcAcceptance ........................... 133
ddcResetInstrumentation ........................... 134
ddcResetMessageError .............................. 135
B
bc.h ............................................................ 38
BLOCK_DATA ........................................ 93
BREAK_POINT ....................................... 71
C
CAPTURE FLAG ..................................... 47
card services drivers .................................... 9
Command Structure .................................. 31
Communication Stack Structure
Monitor Message Header
WORD COUNT .................................... 225
CYCLIC_STACK ..................................... 79
D
DLL Function Calls
ddcCaptureEvent ......................................... 47
ddcCaptureOccurred .................................... 49
ddcCardState................................................ 50
ddcDecodeMonMessage .............................. 52
ddcDefBcExceptionStatus ........................... 56
ddcDefDataBuffering .................................. 57
ddcDefEmulateBc........................................ 58
ddcDefEmulateRt ........................................ 59
ddcDefFrame ............................................... 60
ddcDefFrameTime ....................................... 61
ddcDefIntCmdTemplate .............................. 63
ddcDefIntMask ............................................ 64
ddcDefIntMaskBcrt ..................................... 65
ddcDefIntMaskMonitor ............................... 66
ddcDefLastCmd ........................................... 67
ddcDefLastStatus ......................................... 68
ddcDefLegalityBcst ..................................... 69
ddcDefLegalityDetection............................. 70
ddcDefMessage ........................................... 71
ddcDefMinorFrameTime ............................. 75
ddcDefModeLegality ................................... 76
ddcDefModeRoutine ................................... 77
ddcDefMonExceptionStatus ........................ 78
ddcDefMonitorStack ................................... 79
ddcDefRt...................................................... 80
ddcDefRtMap .............................................. 82
244
BU-69068 Manual
INDEX
ddcResetMon ............................................. 136
ddcResetReservedBit ................................. 137
ddcResetSerq ............................................. 138
ddcResetSubsystem ................................... 139
ddcResetTerminalFlag ............................... 140
ddcRunBc .................................................. 141
ddcRunContinue ........................................ 142
ddcRunMon ............................................... 143
ddcRunRt ................................................... 144
ddcSelectAllMessages ............................... 145
ddcSelectBus ............................................. 146
ddcSelectMessage...................................... 147
ddcSetAmp ................................................ 148
ddcSetBcrtEvent ........................................ 149
ddcSetBcrtEventEx.................................... 150
ddcSetBroadcast ........................................ 151
ddcSetBusy ................................................ 152
ddcSetBusyResetSrq.................................. 153
ddcSetCoupling ......................................... 154
ddcSetDbcAcceptance ............................... 155
ddcSetInstrumentation ............................... 156
ddcSetIrig .................................................. 157
ddcSetMessageError .................................. 158
ddcSetMonEvent ....................................... 159
ddcSetReservedBit..................................... 160
ddcSetRespTimeout ................................... 161
ddcSetRtc ................................................... 162
ddcSetSerq ................................................. 163
ddcSetSubsystem ....................................... 164
ddcSetTerminalFlag................................... 165
ddcShutDownIdea ..................................... 166
ddcSkipNextMessage ................................ 167
ddcSynchronizeAllCards ........................... 168
ddcVxCreateDevs ...................................... 171
ddcVxGetDevInfo ..................................... 172
ddcVxGetDevNum .................................... 173
ddcVxSetVMEAddressInfo ....................... 174
ddcWriteData ............................................. 169
ddcWriteModeData ................................... 170
DOS
PCMCIA
requirements .............................................. 9
E
Emulate RT ............................................... 33
END_OF_MAJOR_FRAME .................... 60
END_OF_MINOR_FRAME .................... 60
err.h ........................................................... 39
error injection ............................................ 32
error messages (RTL)
000 NO_ERROR ....................................... 187
245
BU-69068 Manual
INDEX
343 ILLEGAL_MSG_ERR_TYPE ........... 192
344 ILL_MSG_BIT_WORD_ERR ........... 193
345 ILL_MSG_BIT_IN_WRD_ERR ........ 193
346 ILLEGAL_ENCODE_ERR_TYPE ... 193
347 ILLEGAL_GAP_TIME_ERROR ...... 193
348 ILLEGAL_GAP_WORD_ERROR .... 193
349 ILL_MSG_EN_BEGIN_WRD........... 193
350 ILL_MSG_EN_WIDTH_ERR ........... 193
351 ILLEGAL_MESSAGE_BUS ............. 193
353 ILLEGAL_FIRST_MSG_IMR .......... 194
354 ILLEGAL_SECOND_MSG_IMR ..... 194
355 ILLEGAL_TADDRESS ..................... 194
356 ILLEGAL_SUBADDRESS ............... 194
382 ERROR_IN_COMMAND ................. 194
383 COMMAND_DID_NOT_START ..... 194
384 COMMAND_DID_NOT_END ......... 194
413 CARD_SELF_TEST_FAILED .......... 194
431 ILLEGAL_BCST ............................... 194
441 ILLEGAL_AMPLITUDE .................. 195
442 ILLEGAL_AMPLITUDE_PCI .......... 195
451 ILLEGAL_RESP_TIMEOUT ............ 195
461 ILLEGAL_LAST_STATUS_TADR . 195
471 ILLEGAL_MAP_TADR .................... 195
472 ILLEGAL_MAP_SADR .................... 195
473 ILLEGAL_MAP_TR_BIT ................. 195
474 ILLEGAL_MAP_TABLE_ID ............ 195
481 ILLEGAL_WR_ID ............................. 195
483 ILLEGAL_WR_COUNT ................... 196
484 ILLEGAL_WR_POS.......................... 196
491 ILLEGAL_WR_MC_TADR .............. 196
492 ILLEGAL_WR_MODE_CODE ........ 196
501 ILLEGAL_RD_MC_TADR ............... 196
502 ILLEGAL_RD_MODE_CODE ......... 196
511 NO_NEW_MESSAGES .................... 196
512 THIRD_BUFF_INT_ENABLED ....... 196
522 INSUFFICIENT_MEMORY ............. 197
523 ILLEGAL_IDEA_SYM ..................... 197
531 ILLEGAL_SET_BIT_TADR ............. 197
532 ILLEGAL_SET_BIT_NO .................. 197
533 NOT_READY .................................... 197
534 ILLEGAL_IMMEDIATE .................. 197
541 ILLEGAL_SELECT_TADR .............. 197
542 ILLEGAL_SELECT_TR.................... 197
543 ILLEGAL_SELECT_SADR .............. 197
551 ILLEGAL_CAPTURE_TYPE ........... 198
552 ILLEGAL_CAPTURE_EXCEPTION
............................................................... 198
553 ILLEGAL_CAPTURE_TRIGGER .... 198
561 ILLEGAL_EXCEPTION_BITS......... 198
571 ILLEGAL_STACK_TYPE ................ 198
572 CANNOT_READ_STACK................ 198
581 UNDEFINED_CARD_STATE .......... 198
BU-69068 Manual
INDEX
826 MON_STACK_OVERFLOW............ 204
828 CARD_NOT_READY_WRITE_RTC
............................................................... 204
829 CARD_NOT_READY_IRIG ............. 204
830 VXI_A16_ONLY ............................... 204
831
CARD_NOT_READY_SYNCHRONIZE
............................................................... 204
832
CARD_NOT_READY_DEF_BC_EXCEP
TION_STATUS .................................... 204
833
CARD_NOT_READY_DEF_EMULATE_
BC ......................................................... 204
834
CARD_NOT_READY_DEF_MINOR_FR
AME_TIME .......................................... 205
835 CARD_NOT_READY_RUN_BC ..... 205
836
CARD_NOT_READY_RUN_CONTINU
E ............................................................ 205
837
CARD_NOT_READY_SKIP_NEXT_ME
SSAGE .................................................. 205
838 CARD_NOT_READY_INIT ............. 205
839
CARD_NOT_READY_SET_RESP_TIME
OUT....................................................... 205
840
CARD_NOT_READY_CAPTURE_EVE
NT ......................................................... 205
841
CARD_NOT_READY_DEF_MON_EXC
EPTION................................................. 205
842
CARD_NOT_READY_DEF_MON_STA
CK ......................................................... 205
843 CARD_NOT_READY_RUN_MON . 206
844 CARD_NOT_READY_SELECT_BUS
............................................................... 206
845
CARD_NOT_READY_REPLAY_RUN_B
C ............................................................ 206
846
CARD_NOT_READY_REPLAY_RUN_R
TS .......................................................... 206
847 CARD_NOT_READY_RUN_RT ...... 206
848
CARD_NOT_READY_DEF_LEG_BCST
............................................................... 206
849 CARD_NOT_READY_DEF_LEG_DET
............................................................... 206
850
CARD_NOT_READY_DEF_INT_CMD_
TEMPL ................................................. 206
851 LOG_DEV_IN_USE .......................... 206
900 ILLEGAL_DAT_POS_MAG ............ 207
901 ILLEGAL_DAT_POS ....................... 207
902 WARNING_COUNT_READ ............ 207
950 CONFIG_FILE_NOT_FOUND ......... 207
951 DEVICE_MAPPING_ERROR .......... 207
952 HW_NOT_DOS_ENABLED ............ 207
953 HW_DEVICE_NOT_FOUND ........... 207
954 UNSUPPORTED_CARD_TYPE ...... 207
Error_t
Return Value ............................................... 31
EXCEPTION ............................................ 54
F
Frame ........................................................ 60
Frame Array .............................................. 32
H
headquarters ................................................ 1
I
IMR ........................................................... 83
Installation
Software Menu .............................................. 4
Software RTL ................................................ 4
int.h ........................................................... 40
Intermessage Routines ............................ 212
BLOCK_ DATA_BC ................................ 222
BLOCK_ DATA_RT ................................ 223
INTERRUPT AFTER ACCESSING TX/RX
DATA TABLE...................................... 216
INTERRUPT AFTER MODE COMMAND
TEMPLATE MATCH .......................... 217
INTERRUPT AFTER MODE COMMANDS
.............................................................. 216
INTERRUPT AFTER TX/RX COMMAND
TEMPLATE MATCH .......................... 217
INTERRUPT ON END OF MESSAGE ... 215
INTERRUPT ON FRAME SYMBOL ...... 215
NO OPERATION ..................................... 214
NO RESPONSE ON BOTH BUSES ........ 219
RESET DISCRETE 0................................ 221
RESET DISCRETE 1................................ 221
RESET DISCRETE 2................................ 222
RESET DISCRETE 3................................ 222
RESET OUTPUT TRIGGER.................... 219
RESET STATUS BIT IN STATUS .......... 218
247
BU-69068 Manual
INDEX
RESET THE BUSY BIT IN STATUS ...... 220
RESET THE SERVICE REQUEST BIT IN
STATUS ................................................ 216
RETRY CURRENT MESSAGE ON
ALTERNATE BUS............................... 214
RETRY CURRENT MESSAGEAND
REMAIN ON ALTERNATE BUS ....... 214
RETRY ON SAME BUS .......................... 215
RETRY ON SAME BUS AND THEN ON
ALTERNATE BUS............................... 218
SET BUSY BIT AND RESET SRQ BIT .. 220
SET DISCRETE 0 ..................................... 220
SET DISCRETE 1 ..................................... 221
SET DISCRETE 2 ..................................... 221
SET DISCRETE 3 ..................................... 221
SET OUTPUT TRIGGER ......................... 218
SET SRQ BIT AND RESET BUSY BIT IN
STATUS ................................................ 220
SET STATUS BIT IN STATUS ............... 218
SET THE BUSY BIT IN STATUS ........... 219
SET THE SERVICE REQUEST BIT IN
STATUS ................................................ 216
SKIP NEXT MESSAGE ........................... 220
SKIP NEXT MESSAGE ONCE ............... 222
SKIP NEXT MESSAGE ONCE EX ......... 223
TIME-TAG ................................................ 217
WAIT FOR INPUT TRIGGER ................. 219
mt.h ........................................................... 42
N
Next Message Pointer ............................. 117
NON_CYCLIC_STACK .......................... 79
P
PCMCIA
standard ......................................................... 9
rep.h .......................................................... 43
response timeout ..................................... 161
rt.h ............................................................. 44
RTC ......................................................... 116
generating .................................................... 26
MT ............................................................... 26
Interrupts
INTERRUPT MASK................................. 211
irq.h ........................................................... 41
L
LAST COMMAND ................................ 111
LAST STATUS ...................................... 111
legality....................................................... 76
Menu Installation........................................... 4
RTL Installation ............................................ 4
Structures
248
BU-69068 Manual
INDEX
249
BU-69068 Manual