Home
M4K708-SW - Excalibur Systems, Inc.
Contents
1. Various combinations of these modules may be present on the board at one time One application may access any of the following configurations one module multiple modules of the same type located on one board multiple modules of the same type located on separate boards multiple modules of different types located on one or separate boards A general purpose DLL accompanies the M4K708 module for each of the EXC 4000 boards Depending on the carrier board and compiler used the names of the files are Carrier board Borland Microsoft 4000PCI EXC4000 DLL EXC4000MS DLL 4000VME VXI EXCV4000 DLL EXCV4000MS DLL The functions that operate at the 4000 carrier board level are contained in the EXC4000 c file for EXC 4000PCI carrier boards and the EXCv4000 c file for EXC 4000VME VXI boards The function Get_4000Module_Type may be called for each board and module number to check which if any modules are currently available at that location This function is also called automatically from Init_Module_708 to ascertain that the type of module is a M4K708 module These DLLs are installed automatically in the Windows System folder when the Software Tools are installed for modules The function Select_Time_Tag_Source_4000 sets the Time tag source for all the modules on the carrier board The Time Tag source cannot be set for individual modules For other functions that operate at the carrier board level see the applicable carrier board s
2. The functions described in this chapter are Init Module 708 Release Module 708 GetHWRev_708 SetLoopback_708 GetModuleTimetag_708 ModuleTimetagReset_708 Get_Error_String_708 M4K708 Software Tools Programmer s Reference page 2 1 Chapter 2 Init_Module_708 page 2 2 Description Syntax Input parameters or Note Output parameters Return Values M4K708 Initialization Functions Init_Module_708 is the first function the user must call for each M4K708 module on each device that is accessed in the application program Before exiting a program call Release_Module_708 for each module initialized with Init_Module_708 On EXC 4000PCI or EXC 4000cPCI carrier boards Init_Module_708 enables the user to access up to four modules on a single board or any combination of up to 16 modules on four separate boards On EXC 4000VME or EXC 4000VXI carrier boards Init_Module_708 enables the user to access up to eight modules on a single board or any combination of up to 32 modules on four separate boards The function may be called with the SIMULATE argument If the SIMULATE argument is used a portion of the memory equal to the size of the board s dual port RAM is set aside This area is then initialized with an id and version number for use in testing programs when no module is available Multiple modules may be simulated It is possible to have real or SIMULATED modules in one application On EXC 4000PCI or EXC 4000
3. The handle designated by Init_Module_708 ENABLE To set up internal loopback mode DISABLE To disable loopback mode If an invalid devhandle was specified must be value returned by Init_Module_708 If an illegal value is used as an input If successful Excalibur Systems Chapter 2 GetModuleTimetag_708 Description Syntax Input Parameters Output Parameters Return Values ModuleTimetagReset_708 Description Syntax Input Parameters Output Parameters Return Values M4K708 Initialization Functions GetModuleTimetag_708 gets the current value of the running Time tag on the module GetModuleTimetag_708 int devhandle unsigned int timetag devhandle The handle designated by Init_Module_708 timetag 32 bit Time tag ebadhandle If invalid handle specified must be value returned by Init_Module_708 0 If successful ModuleTimetagReset_708 sets the value of the running Time tag on the module to 0 ModuleTimetagReset_708 int devhandle devhandle The handle designated by Init_Module_708 none ebadhandle If invalid handle specified must be value returned by Init_Module_708 0 Tf successful M4K708 Software Tools Programmer s Reference page 2 5 Chapter 2 Get Error_String_708 page 2 6 Description Syntax Example Input Parameters Output Parameters Return Values M4K708 Initialization Functions Get Error_String_708 accepts the error of return values from other M4K708 Software Tool
4. chanhandle frequency none ebadchanhandle einval 0 The handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 The frequency at which to generate a status bit or interrupt Default value is 1 Module rev B Maximum values Transmit 655 Receive 636 Module rev A values 1 80 If an invalid channel value is specified Must be the handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 If an illegal value is used as an input If successful Excalibur Systems Chapter 4 M4K708 Communication Functions 4 M4K708 Communication Functions Chapter 4 contains descriptions of the receive and transmit communication functions necessary to write test programs for the M4K708 module Each function is presented with its formal definition including data types of all input and output variables A brief description of the purpose of the function is provided along with the legal values for the inputs where applicable The communication functions are ClearStatus_708 StartReceive_708 GetStatus_708 StartTransmit_708 NumberWordsInBuffer_708 Stop_708 ReadWord_708 WriteWord_708 The ARINC 708 utility functions are GetData_708 SetControlData_708 SetData_708 GetPixel_708 GetControlData_708 SetPixel_708 See Appendix E Flags for Use with M4K708 Software Tools for typedef of control data structure ClearStatus_708 Description Call ClearStatus_708 to clear selected bits of the channel status inter
5. 1 Insert the board into an available PCI slot in your computer 2 Add M4K708 Software Tools to your Windows 2000 XP system To verify that the board was installed correctly run the test programs included on the Excalibur Installation CD To install the Excalibur EXC 4000PCI Board 1 Make sure the computer is turned off Insert the board into one of the available slots For more information see the Installation section in the hardware User s Manual 2 Turn on the computer and wait several moments while Windows 2000 XP boots up 3 The message Building driver information data may or may not appear After several seconds the message New Hardware Found is displayed Next the Update Device Driver Wizard is displayed Note If the Update Device Driver Wizard is not displayed and you are upgrading from a previous version of the PCI Windows Hardware Installation follow these steps to invoke the Update Device Driver Wizard Right click My Computer then click Hardware Device Manager Excalibur PCI Cards Excalibur 4000PCI card Double click and select Driver Update Drivers 4 Insert the Excalibur Installation CD in the drive and follow the on screen instructions 5 When the following message appears Windows found the following updated driver for this device Excalibur EXC 4000 card click Finish 6 Board installation is completed If prompted to reboot the computer do so now Next continue with board verification below
6. Functions for interaction with kernel driver for Windows operating systems function for returning error messages page F 2 EXC4000 ForM4K708 modules on PCI carrier boards functions for extracting information associated with the carrier board EXCv4000 For M4K708 modules on VME XVI carrier boards functions for extracting information associated with the carrier board init 708 Initialization and Release module functions Source Header config 708 Header file for configuration functions ies comm_708 Header file for communication functions deviceio 708 error devio error 708 EXC4000 EXCv4000 Excsysio Flags 708 Instance 708 proto _ 708 708Incl Reg _ 708 Header file for interaction with kernel driver Header file containing error codes for the Excalibur kernel drivers Header file containing error message codes For M4K708 on PCI carrier boards Header file containing prototypes for functions associated with the carrier board For M4K708 on VME VXI carrier boards Header file containing prototypes for functions associated with the carrier board Header file which defines control codes in kernel drivers and defines strings for module names for use in Init_Module_708 calls to kernel drivers Header file containing flags for M4K708 for applications Header file for global module structure Header file prototypes of all functions This will include all the header files needed for applications He
7. Wait for_Multiple_Interrupts_708 5 5 WriteWord_708 4 5 Index 1 The information contained in this document is believed to be accurate However no responsibility is assumed by Excalibur Systems Inc for its use and no license or rights are granted by implication or otherwise in connection therewith Specifications are subject to change without notice January 2006 Rev A 2
8. Generation Status Interrupts and Output Triggers Three events can occur Abit is set in the Channel Status register the status bits are read by GetStatus_708 and are cleared with ClearStatus_708 See GetStatus_708 on page 4 2 and ClearStatus_708 on page 4 1 An interrupt is generated An output trigger is generated Channel Status Bit The TXRX status bit is set for a receive channel when a specified number of ARINC 708 words is received by the channel See SetEventFrequency_708 on page 3 4 The TXRX status bit is set for a transmit channel when a specified number of ARINC 708 words is received by the channel See SetEventFrequency_708 on page 3 4 The error status bit is set for a receive channel when receiving and the buffer is full overrun condition An error status bit is set for a transmit channel when transmitting in CONTINUOUS or RETRANSMIT mode and the buffer is empty Interrupt Trigger An interrupt trigger is generated when the conditions above are fulfilled and the interrupt trigger has been enabled for that condition for the channel See SetInterrupt 708 on page 3 3 and SetTrigger_708 on page 3 4 M4K708 Software Tools Programmer s Reference page 3 1 Chapter 3 SetupTransmitChannel_708 Description Syntax Input Parameters Output Parameters Return Values SetupReceiveChannel_708 Description Syntax Input Parameters Output Parameters Return Values page 3 2 M4K708 Conf
9. If there is an error in kernel function Get_Event Handle first part If there is an error in kernel function Get_ Event Handle second part If an invalid handle specified in the devhandle array should be values returned by Init Module_708 If error initializing kernel related data If input parameter is invalid If the specified device was not opened If output parameter buffer is invalid ekerneltimeout M4K708 Software Tools Programmer s Reference Successful if either The wait timed out without receiving an interrupt or If successful page 5 5 Chapter 5 Using Interrupt Functions page 5 6 Excalibur Systems Appendix A ARINC 708 Specifications ARINC 708 Specifications Display Data Bus Format Bits Data Display Function details On page 01 08 Label 09 10 Control Accept Table A 2 Control Accept Functions A 2 11 Slave 1 Slave 0 Master Normal 12 13 Spare 14 Turbulence Alert Automatic sensing of a Turbulence alert has occurred 15 Weather Alert Automatic sensing of a reflectivity Weather alert has occurred 16 AntiClutter Clutter elimination circuitry is in operation 17 Sector Scan Reduced Sector scan is in operation 18 Stability Limits Aircraft attitude and or tilt control exceeds the system s design limits 19 Cooling Fault 20 Display Fault 21 Calibration T R Fault 22 Altitude input Fault 23 Control Fault 24 Antenna Fault 25 Transmitter receiver Fault 26 Stabilization On 27 29 Mod
10. may not appear After several seconds the message New Hardware Found is displayed Next the Update Device Driver Wizard is displayed Note If the Update Device Driver Wizard is not displayed and you are upgrading from a previous version of the PCI Win 9x ME Hardware Installation follow these steps to invoke the Update Device Driver Wizard Right click My Computer then click Properties Device Manager Excalibur PCI Cards Excalibur 4000PCI Card Properties Driver Update Driver 4 Insert the Excalibur Installation CD in the drive and follow the on screen instructions 5 When the following message appears Windows found the following updated driver for this device Excalibur EXC 4000 card click Finish 6 Board installation is completed If prompted to reboot the computer do so now Next continue with board verification below M4K708 Software Tools Programmer s Reference page B 1 EXC 4000PCI Boards Installation Instructions To verify board installation 1 Make certain the Excalibur EXC 4000PCI board is in place in the computer 2 Right click My Computer Select Properties The System Properties dialog box appears 3 In the System Properties dialog box click the Device Manager tab 4 Double click Excalibur PCI Card Verify that the Excalibur EXC 4000PCI board is listed next to a gray diamond shaped icon Board installation verification is successful Note If you see an exclamation point superimposed o
11. on the Excalibur Installation CD All the files needed to run M4K708 on Windows operating systems are on the Excalibur Installation CD Note M4K708 Software Tools for VME boards were written for VISA standard To install the EXC 4000VME board 1 Ensure the National Instruments PCI MXI 2 system is installed correctly 2 Before installing the Excalibur board it is very important to determine the board s logical address The board requires a 1MB area of memory Choose a log ical address that does not conflict with any other devices in your system The board is set at default address 80H 128 Dec Warning If a logical address is already in use and it is also used for the EXC 4000VME the board will not function properly 3 Set the Board Logical Address DIP switch SW1 according to the logical address chosen See the section on DIP Switch Settings in the EXC 4000VME hardware User s Manual 4 Turn on your VME and PC computers Run the two programs that establish the connection to the VME VXIINIT the hardware initialization program and Resman the resources manager program Note Later versions of the National Instruments PCI MXI 2 may not require running VXIINIT M4K708 Software Tools Programmer s Reference page C 1 EXC 4000VME Boards Installation Instructions for PCI MX1 2 Systems page C 2 Excalibur Systems Multiple Board Support for EXC 4000 Carrier Boards Appendix D Multiple Board Support for EXC 4000 Carrier
12. part egeteventhand2 1010 Error in kernel Get_Event_Handle second part eopenscmant 1011 Error in openscmanager in startkerneldriver eopenservicet 1012 Error in openservice in startkerneldriver estartservice 1013 Error in startservice in startkerneldriver eopenscmanp 1014 Error in openscmanager in stopkerneldriver eopenservicep 1015 Error in openservice in stopkerneldriver econtrolservice 1016 Error in controlservice in stopkerneldriver eunmapmem 1017 Error in kernel unmapmemory egetirq 1018 Error in Get_IRQ_Number eallocresources 1019 Error allocating resources See readme pdf for details on resource allocation problems egetramsize 1020 Error in kernel getramsize ekernelwriteattrib 1021 Error in kernel write attribute ekernelreadattrib 1022 Kernel read attribute error ekernelfrontdesk 1023 Kernel frontdesk error ekerneloscheck 1024 Kernel Oscheck error ekernelfrontdeskload 1025 Kernel frontdeskload error ekerneliswin2000compatible 1026 Kernel iswin2000compatible error ekernelbankramsize 1027 Kernel banksize error ekernelgetcardtype 1028 Kernel getcardtype error emodnum 1029 Invalid module number specified Excalibur Systems Error Messages Error Code Value Explanation regnotset 1030 Board not configured Reboot after ExcConfig is run and board is in slot ekernelbankphysaddr 1031 Error in GetBankPhysAddress ekernelclosedevice 1032 Error in CloseKernelDrive ekerneldevicenotopen 1034 Kerne
13. the define value EXC_4000PCI can be used instead of the device number The configuration program allows the user to set or change settings on the board itself Excalibur boards will work only after device values are properly entered and saved in the ExcConfig exe utility Instructions for entering values in the utility program are in Appendix D Multiple Board Support for EXC 4000 Carrier Boards and In the readme pdf file on the Excalibur Installation CD you received with your Excalibur board 4000VME VXI Carrier Boards To configure multiple VME and VXI boards see the section EXC 4000VME and EXC 4000VXI Boards on page D 2 in Appendix D Multiple Board Support for EXC 4000 Carrier Boards page 1 2 Excalibur Systems Chapter 1 Introduction The Excalibur Systems Website The software provided with Excalibur boards and modules is for Windows operating systems The latest versions of the software and the M4K708 Software Tools Programmer s Reference can be downloaded from our website Check our website periodically for the latest updates www mil 1553 com In addition information about our full range of products can be found at this site For further assistance contact your Excalibur representative or write to excalibur mil 1553 com The M4K708 Module The M4K708 is an interface module for the Excalibur EXC 4000 family of carrier boards This module supports the ARINC 708 453 Airborne Weather Radar protocol Over
14. the Wait_for_Interrupt_708 function initializes the interrupt handling automatically when it is first called However in certain situations such as a program in which the Wait_for_Interrupt_708 function is not run in a separate thread but is executed sequentially in the main thread one may wish to initialize the interrupt handling before calling Wait_for_Interrupt_708 Thus if an interrupt occurs after the initialization but before the call to Wait_for_Interrupt_708 the latter call will return immediately reporting the interrupt which occurred previously InitializationInterrupt_708 int devhandle devhandle The handle designated by Init_Module_708 none ebadhandle If an invalid handle is specified should be value returned by Init_Module_708 egetevenhandlel If there is an error in kernel function Get_Event_Handle first part egetevenhandle2 If there is an error in kernel function Get_Event_Handle second part ekernelinitmodule If error initializing kernel related data ekernelbadparam If input parameter is invalid ekerneldevicenotopen If specified device was not opened 0 If successful M4K708 Software Tools Programmer s Reference page 5 3 Chapter 5 Using Interrupt Functions Wait _for_Interrupt 708 Description Wait For_Interrupt 708 waits for an interrupt on the module It suspends control of the calling thread while waiting and returns control to the thread upon receipt of the interrupt or upon expiration of the t
15. to a different directory when the Install Wiz ard asks to which directory to install the software 1 Insert the Excalibur Installation CD in the drive click Install Drivers Applications Utilities 2 Follow the on screen instructions to select the software that matches your product 3 When the Excalibur Configuration Utility ExcConfig screen appears double click the Type field Select 4000PCI 4 Leave the Auto values and click Save Note Remember the device number it is the parameter for the Init Module_708 function 5 Reboot the computer at the end of the installation procedure The EXC 4000PCI board is now ready to run Running test programs Excalibur provides test programs to verify that the board is operating properly The source code is provided with the test programs as a guide to develop your own applications To run the test programs in M4K708 Software Tools the EXC 4000PCI must be linked up to a loopback cable For details refer to the section Mechanical and Electrical Specification in the M4K708 Module User s Manual Go to Start Programs Product Name to run the test programs M4K708 Software Tools Programmer s Reference page B 3 EXC 4000PCI Boards Installation Instructions Windows 2000 XP Procedures The Excalibur Installation CD contains the files for PCI Hardware Installation for Windows 2000 XP M4K708 Software Tools To install an EXC 4000PCI board on a Windows 2000 XP system
16. 0 If successful Excalibur Systems SetPixel_708 Description Syntax Input Parameters Output Parameters Return Values GetControlData_708 Description Syntax Input Parameters Output Parameters Return Values SetControlData_708 Description Syntax Input Parameters Output Parameters Return Values M4K708 Software Tools Programmer s Reference M4K708 Communication Functions SetPixel_708 writes a specific pixel to the data portion of the ARINC 708 word SetPixel_708 WORD wordarray int pixnum WORD pixel wordarray Array of 100 WORDs containing one ARINC 708 word pixnum Pixel number a value 1 512 pixel One WORD Pixel data is in the lowest 3 bits wordarray The updated array of 100 WORDs containing one ARINC 708 word einval If an invalid value was used as an input 0 If successful Call GetControlData_708 to read the control data portion from the ARINC 708 word array into a structure GetControlData_708 WORD wordarray t ControlData controlData Array of 100 words containing one ARINC 708 word wordarray controlData Structure containing control data 0 Always Call SetControlData_708 to add control data information into a ARINC 708 word SetControlData_708 t_controlStruct controlStruct WORD wordarray wordarray Array of 100 words containing one ARINC 708 word controlStruct Structure containing various parts of the Control data wordarray The updated array of
17. 00VME and EXC 4000VXI A valid handle is a positive number ranging from 0 32 Description Release_Module_708 releases any grabbed resources on a specific module Call the function for each module initialized with Init_Module_708 before exiting a program To continue accessing the module call Init_Module_708 Syntax Release_Module_708 int devhandle Input Parameters devhandle Output Parameters none Return Values ebadhandle M4K708 Software Tools Programmer s Reference The handle designated by Init Module_708 If an invalid devhandle was specified must be value returned by Init Module 708 If successful page 2 3 Chapter 2 GetHWRev 708 Description Syntax Input Parameters Output Parameters Return Values SetLoopback_708 page 2 4 Description Syntax Input parameters Output parameters Return values M4K708 Initialization Functions GetHWRev_708 returns the hardware revision number GetHWRev_708 int devhandle int hwrev devhandle hwrev ebadhandle The handle designated by Init_Module_708 Returns the current FPGA revision level of the module If an invalid devhandle was specified must be value returned by Init_Module_708 If successful SetLoopback_708 sets up the module to loopback mode where one channel on the module transmits to the other internally without a cable SetLoopback_708 int devhandle int flag devhandle flag none ebadhandle einval 0
18. 100 words containing one ARINC 708 word 0 Always page 4 7 Chapter 4 M4K708 Communication Functions page 4 8 Excalibur Systems Chapter 5 5 Using Interrupt Functions Using Interrupt Functions When writing a Windows program that processes interrupts a separate thread is generally created to handle the interrupt processing This thread calls Wait for_Interrupt 708 in order to wait for the next interrupt When the function returns the interrupt is processed as needed This method is demonstrated in the test program demo 708 int ec which is included with the M4K708 Software Tools Note There is no need to reset the physical interrupt line in the interrupt thread this is handled internally In cases of very high interrupt frequency several interrupts may occur before the interrupt thread resumes execution The Get Interrupt Count 708 function may be used to determine if multiple interrupts have occurred Conversely it is possible that the Wait_for_Interrupt_708 function will indicate an interrupt that has already been processed by the thread This will occur in the case where a subsequent interrupt occurs in between the return of the Wait_for_Interrupt_708 function and the call to Get_Interrupt_Count_708 Once again the Get_Interrupt_Count_708 function may be used to determine if the interrupt has already been processed The following functions are described in this chapter Get_Interrupt_Count_708 Initializelnterrupt_70
19. 8 Wait_for_Interrupt_708 Wait_for Multiple_Interrupts_708 The flags included in each function are defined in Appendix E Flags for Use with M4K708 Software Tools M4K708 Software Tools Programmer s Reference page 5 1 Chapter 5 Get _Interrupt Count_708 page 5 2 Description Syntax Input Parameters Output Parameters Return Values Using Interrupt Functions Get_Interrupt_Count_708 returns the total interrupt count for the specified module from the time the module was initialized with Init_Module_708 Get_Interrupt_Count_708 int devhandle unsigned long pdwInterruptCount devhandle The handle designated by Init_Module_708 pdwInterruptCount Pointer to an unsigned long which receives the interrrupt count ebadhandle If an invalid handle was specified should be value returned by Init_Module_708 egetintcount If there was a kernel error ekernelinitmodule If error initializing kernel related data ekernelbadparameter If input parameter is invalid ekernelbadpointer If output parameter buffer is invalid ekerneldevicenotopen If specified device has not been opened 0 If successful Excalibur Systems Chapter 5 Initializelnterrupt_708 Description Syntax Input Parameters Output Parameters Return Values Using Interrupt Functions Initializelnterrupt_708 may be called to initialize interrupt handling for the given module card In general it is not necessary to call this function since
20. Boards EXC 4000PCI and EXC 4000cPCI Carrier Boards M4K708 Software Tools supports the use of up to four PCI and cPCI boards simultaneously To use multiple boards 1 Each board must be set for a unique ID The ID of a board is set via the SW1 DIP switch To set the ID of the board set the jumpers as follows Board ID SW1 Switch contact 1 2 3 4 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 Set DIP switch SW1 to a unique ID by setting the switch contacts open or off to represent logic 1 and closed or on to represent logic 0 2 In the ExcConfig utility program create a separate device number for each board For each board enter the appropriate values in the Excalibur Configuration Utility Screen as described in the table below Name of field Enter this value Type Select 4000PCI from the drop down list Unique Identifier Set to the unique ID configured above in Step 1 Memory Set to automatic setting Interrupt Setup Set to automatic setting I O ports Set to automatic setting M4K708 Software Tools Programmer s Reference page D 1 Multiple Board Support for EXC 4000 Carrier Boards EXC 4000VME and EXC 4000VXI Boards M4K708 Software Tools supports the simultaneous use of up to eight M4K708 modules on a single VME or VXI board The number of boards supported depends on the user s system A unique Logical Address must be set for each board Use DIP switch SW1 to set the board s Logical Ad
21. E 4 Excalibur Systems M4K708 Software Tools Library Appendix F M4K708 Software Tools Library Appendix F includes a list of the files in the Excalibur M4K708 Software Tools needed to write user defined applications The files are divided into three categories Source code and Header files for the M4K708 Software Tools functions Header files should be included in application programs as needed File Extension Description e source code ll header file DLL and associated lib files PIE Description Extension p dll Borland compiler DLL MS d11 Microsoft compiler DLL lib Index file used to create applications using Borland DLL functions MS d11 Index file used to create applications using Microsoft DLL functions Demo Programs are examples of programs using M4K708 Software Tools They can be used as a basis for user defined programs Demo programs include the following types of files File Extension Description c h Demo source code ide Borland demo project files exe Borland demo executable files dsp Microsoft demo project files dsw MS exe Microsoft demo executable files M4K708 Software Tools Programmer s Reference page F 1 M4K708 Software Tools Library Source Code Files File Name config 708 comm 708 deviceio 708 error 708 Description Functions for configuring M4K708 channels Functions for communication over a M4K708 module
22. If specified device was not opened Successful if either ekerneltimeout The wait timed out without receiving an interrupt or 0 If successful page 5 4 Excalibur Systems Chapter 5 Wait_for Multiple_Interrupts_708 Using Interrupt Functions Description Wait_for_Multiple_Interrupts_708 waits for an interrupt on any of the specified modules It suspends control of the calling thread while waiting and returns control to the thread either upon receipt of the interrupt or upon expiration of the time out If timeout is set to INFINITE then the call will return only upon receipt of the interrupt devhandle array unsigned int timeout unsigned long Syntax Wait_for_Multiple_Interrupts_708 int nummodules int pdw_Interrupt_Bitfield Input Parameters nummodules devhandle array timeout Output Parameters pdw_Interrupt_ Bitfield Return Values egeteventhand1 egeteventhand2 ebadhandle ekernelinitmodule ekernelbadparam ekerneldevicenotopen ekernelbadpointer Number of modules in the devhandle array An array of module handles Timeout is specified in milliseconds or INFINITE Pointer to an unsigned long which receives a bit field indicating which of the modules have interrupted note that more than one module may have interrupted simultaneously The modules are distributed in the bit field such that the lowest bit corresponds to the first module in the devhandle array and so on
23. InBuffer_708 ReadWord_708 Release_Module_708 Select_Time_Tag_Source_4000 SetControlData_708 SetEventFrequency_708 SetInterrupt_708 SetLoopback_708 SetPixel_708 SetTransmitInterval_708 SetTrigger_708 SetupReceiveChannel_708 SetupTransmitChannel_708 StartReceive_708 StartTransmit_708 Stop_708 Wait_for_Interrupt_708 Wait for Multiple_Interrupts_708 WriteWord_708 M4K708 Software Tools Programmer s Reference comm_708 EXC4000 EXCv4000 error 708 deviceio 708 init 708 init 708 comm _708 comm _708 init 708 deviceio 708 init 708 comm _708 comm _708 init 708 EXC4000 comm _708 config 708 config 708 init 708 comm _708 config 708 config 708 config 708 config 708 comm _708 comm _708 comm _708 deviceio 708 deviceio 708 comm 708 page G 1 Code Index page G 2 Excalibur Systems Appendix H Error Messages Error Messages All functions for M4K 708 Software Tools are written as C functions 1 e they return values A negative value signifies an error Full error messages may be printed using the Get_Error_String_708 function Below is a list of all Software Tools error messages the negative value of each and an explanation of the error Error Value Explanation einval 2 Illegal value used as an input sim_no_mem 5 No memory for simulation etimeoutreset 26 Timed out waiting for reset ewrngmodule 27 Module specified on EXC 4000 board in not a M4K708 module enomodule 28 No EXC 4000 module pres
24. M eopendefaultrm 1052 Error in ViOpenDefault RM eviopen 1053 Error in ViOpen evimapaddress 1054 Error in viMapAddress evicommand 1055 Error in VISA command einstallhandler 1056 Error in VISA vilnstallHandler eenableevent 1057 Error in VISA viEnableEvent eunistallhandler 1058 Error in VISA viUnistallHandler eclocksource 1059 If an invalid clock source was specified edevnum 1060 If a device number greater that 255 was used einstr 1061 If a device was not successfully initialized by Init_Module_708 page H 4 Excalibur Systems Functions Index C ClearStatus_708 4 1 G Get 4000Module_Type for PCI boards 1 6 Get 4000Module_Type for VME VXI boards 1 7 Get Error _String_708 2 6 Get Interrupt Count 708 5 2 GetControlData_708 4 7 GetData_708 4 6 GetHWRev_708 2 4 GetModuleTimetag_708 2 5 GetPixel_708 4 6 GetStatus_708 4 2 l Init Module_708 2 2 Initializeinterrupt 708 5 3 M ModuleTimetagReset 708 2 5 N NumberWordsInBuffer_708 4 2 M4K708 Software Tools Programmer s Reference R ReadWord_708 4 3 Release_Module_708 2 3 S Select_Time_Tag_Source_4000 1 8 SetControlData_708 4 7 SetData_708 4 6 SetEventFrequency_708 3 4 SetInterrupt 708 3 3 SetLoopback_708 2 4 SetPixel_708 4 7 SetTransmitInterval_708 3 3 SetTrigger_708 3 4 SetupReceiveChannel_708 3 2 SetupTransmitChannel_708 3 2 StartReceive_708 4 4 StartTransmit_708 4 4 Stop_708 4 5 W Wait For _Interrupt 708 5 4
25. M4K708 Software Tools Programmer s Reference ZN XCALIBUS EXCALIBUR SYSTEMS 311 Meacham Ave Elmont NY11003 tel 516 327 0000 fax 516 327 4645 e mail excalibur mil 1553 com website www mil 1553 com Table of Contents Table of Contents 1 Introduction Getting Started cicte eee ce ee enen ia 1 2 Installation id oe ieee tao ences aes 1 2 Multiple Board Support iiini eaei aa e aaa aaa aaaea aaa rient eaaet 1 2 The Excalibur Systems Website nnen enneeer een enneneeenvennneeeren anneer enneneeenen enn 1 3 The M4K708 Mod le uns zenne soeeeners ee reinen era raanmanten dn duwen den veveasuenenctee nudes deers karenae adden ceed 1 3 Overview of the Weather Radar Display Databus nonnen enene neren ennne nennen 1 3 M4K708 Modul tre cen ude Be see ia 1 4 M4K708 Software Tools Functions ccccccccccnnnnnnnonnnnnccnnnnnenonenannnnnnnnnnnnnnnnnennnenannnnnnnnennnnnnes 1 5 M4K708 Software Tools for the EXC 4000 Family of Carrier Boards 1 5 Get_4000Module_Type for PCI boards nnee nennen eneen ennneenenenrenen eenen ennennenennen 1 6 Get 4000Module Type for VME VXI boards nnn enennenenenen eenen ennennenneeeneeenn enn 1 7 Select Time Tag Source 4000 o ccccccccenscedececeesetceectensedeceeenssedenecnesetecedenaveddeceeneseeeeaenenses 1 8 Compiler Optom EPEE PE A E E AE E EA E N 1 9 Conventions Used in the Programmer s Reference nnee ennnenne nennen e
26. Programmer s Reference M4K708 Software Tools Programmer s Reference page 1 5 Chapter 1 Introduction Get _4000Module_Type for PCI boards Description Get _4000Module_Type for PCI boards checks which if any module is currently in the specified location Up to four M4K708 modules can be mounted on a 4000PCI carrier board Syntax Get_4000Module_Type WORD device num WORD module num WORD modtype Input Parameters device num The define value EXC_4000PCI can 7 be used instead of a device number If more than one board is used run ExcConfig to set the device number module num A module position number A value 0 8 Output Parameters modtype EXC4000 MODTYPE 708 If there is a 708 module EXC4000_MODTYPE_H009 If there is a H009 module EXC4000_MODTYPE_PX If there is a Px module EXC4000_MODTYPE_MCH If there is an MCH module EXC4000_MODTYPE_SERIAL If there is a Serial module EXC4000_MODTYPE_RTX If there is an RTx module EXC4000_MODTYPE_DIO If there is a Discrete module EXC4000_MODTYPE_NONE If there is no module present Return Values emodnum If an invalid module number was specified ekernelnot4000card If the designated board is not a 4000PCI board 0 If successful page 1 6 Excalibur Systems Chapter 1 Get _4000Module_Type for VME VXI boards Introduction Description Get 4000Module_Type for VME VXI boards checks which if any module is in the currently specified location Up to eight M4K708 module
27. Tilt in degrees 36 16 35 8 34 4 33 2 32 1 31 05 30 0 25 Table A 4 Tilt data Note TWO s complement tilt page A 2 Excalibur Systems ARINC 708 Specifications Gain Data Bit 42 41 40 39 38 37 1 1 1 1 1 1 Cal 0 0 0 0 O O Max 0 0 0 1 0 1 5 0 0 1 0 1 1 11 1 1 1 1 1 O 62 Table A 5 Gain data Range Data Bit 48 47 46 45 44 43 0 0 0 0 0 1 5 NM 0 0 0 0 1 0 10 0 0 0 1 0 0 20 0 0 1 0 0 0 40 0 1 0 0 0 0 80 1 0 0 0 0 0 160 1 1 1 1 1 1 315 0 0 0 0 0 0 320 Table A 6 Range Data Data Accept Bit 51 50 Function 0 0 Do not accept data 0 1 Accept data 1 1 0 Accept data 2 1 1 Accept any data Table A 7 Data accept Scan Angle Bit Angle in degrees Bit Angle in degrees 63 180 57 2 8125 62 90 56 1 40625 61 45 55 0 703125 60 22 5 54 0 3415625 59 11 25 53 0 17578125 58 5 625 52 0 087890625 Table A 8 Scan angle M4K708 Software Tools Programmer s Reference page A 3 ARINC 708 Specifications Weather Conditions Reflectivity Data Matrix code Pixel Value Bin 1 3 bits Weather Condition Bit67 Bit66 Bit65 0 No precipitation lt Z2 0 0 0 1 Light precipitation Z2 Z3 0 0 1 2 Moderate precipitation Z3 Z4 0 1 0 3 Heavy precipitation Z4 to Z5 0 1 1 4 Very heavy precipitation gt Z5 1 0 0 5 Reserved 1 0 1 6 Medium turbulence 1 1 0 7 Heavy turbulence 1 1 1 Table A 9 Weather Con
28. To verify board installation 1 Make certain the Excalibur EXC 4000PCI board is in place in the computer 2 Right click My Computer Properties The System Properties dialog box appears 3 In the System Properties dialog box click Hardware Device Manager 4 Double click Excalibur PCI Board Verify that the Excalibur PCI Board is listed next to a gray diamond shaped icon Note If an exclamation point appears superimposed on the gray diamond this indicates that the board is not properly installed Check that there are enough memory resources available in the system Free up more memory or IRQs The board installation verification is successful page B 4 Excalibur Systems EXC 4000PCI Boards Installation Instructions To add M4K708 Software Tools under Windows 2000 XP Note If there is already a previous version of Software Tools for the same module installed on the computer the new version will overwrite it We recommend that you first uninstall the previous version by selecting Start Settings Control Panel Add Remove Programs If you want to save the earlier version you can choose to install the new version to a different directory when the Install Wizard asks to which directory to install the software 1 Insert the Excalibur Installation CD in the drive click Install Drivers Applications Utilities Follow the on screen instructions to select the software that matches your product 2 When the Excalibur Config
29. a guide to develop your own applications To run the test programs in M4K708 Software Tools the EXC 4000PCI must be linked up to a loopback cable For details refer to the section Mechanical and Electrical Specification in the M4K708 Module User s Manual Go to Start Programs Product Name to run the test programs page B 2 Excalibur Systems EXC 4000PCI Boards Installation Instructions Windows NT4 Procedures The Excalibur Installation CD contains the files for M4K708 Software Tools To install an EXC 4000PCI board on a Windows NT4 system 1 Insert the board into an available PCI slot in the computer 2 Add M4K708 Software Tools 3 Reboot the computer 4 To verify that the board was installed correctly run the test programs that are included on the Excalibur Installation CD To install the Excalibur EXC 4000PCI board 1 Make sure the computer is turned off 2 Insert the board into one of the available slots For more information see the section Installation in the hardware Product Name User s Manual To add M4K708 Software Tools to Windows NT4 systems Note If there is already a previous version of Software Tools for the same module installed on the computer the new version will overwrite 1t We recommend that you first uninstall the previous version by selecting Start Settings Control Panel Add Remove Programs If you want to save the earlier version you can choose to install the new version
30. ader file include for recompiling the 708 d11 code not for applications Header file containing data structures Demo Programs demo_708 int demo_708 Interrupt demo Demo illustrating functions of M4K708 Software Tools demo_708 loop Demo illustrating loopback functions back Excalibur Systems M4K708 Software Tools Library File Name Description DLL and LIB The table below shows the name of the DLL file and its files corresponding LIB file for each module under the Borland and Microsoft compilers Module Borland Microsoft Px PX pxms MCH MCH mchms RTx RTX rtxms Discrete M4kdio M4Kdioms Serial excser excserms H009 M4KH009 M4KHO09ms 708 exc708 exc708ms MMSI m4kmmsi m4kmmsims M4K708 Software Tools Programmer s Reference page F 3 M4K708 Software Tools Library page F 4 Excalibur Systems Appendix G Code Index Code Index M4K708 Software Tools is a set of C language functions designed to aid users of the M4K708 module to write test programs Below is an alphabetical listing of all the functions and the name of the Software Tools file which contains its programming code Driver Functions Code File Name c ClearStatus_708 Get_4000Module_Type for PCI boards Get 4000Module_Type for VME VXI boards Get Error_String_708 Get Interrupt Count 708 GetHWRev 708 GetModuleTimetag_708 GetPixel_708 GetStatus_708 Init_Module_708 Initializelnterrupt_708 ModuleTimetagReset_708 NumberWords
31. cPCI carrier boards up to 17 real or SIMULATED modules may be initialized On EXC 4000VME or EXC 4000VXI carrier boards up to 33 or SIMULATED modules may be initialized More than one module may be SIMULATED simultaneously Init Module 708 int device num int module num device num The device number is the index of the entry value set in ExcConfig 0 4 SIMULATE If no module is present module num The module number of the M4K708 module on the board specified by device num 0 4 If only one board is used the define value EXC_4000PCI default device number 25 can be used instead of a device number If more than one board is used the programmer must run the ExcConfig utility to set the device number none eopenkernel If there was an error opening a device emodnum Invalid module number specified Excalibur Systems Chapter 2 Init_Module_708 cont enomodule ewrngmodule etimeoutreset eboardtoomany sim_no mem enoid devhandle Release_Module_708 M4K708 Initialization Functions If no EXC 4000 module present at specified location If module specified on EXC 4000PCI board is not M4K708 module If timed out waiting for reset If too many boards initialized If no memory for simulation If could not find a module at given device address If successful the handle to the specified module on the board EXC 4000CPI and EXC 4000cPCI A valid handle is a positive number ranging from 0 16 EXC 40
32. dition Reflectivity Data 1 page A 4 Out of Calibration Indication Excalibur Systems EXC 4000PCI Boards Installation Instructions Appendix B EXC 4000PCI Boards Installation Instructions Appendix B explains the procedure for installing M4K708 for the e M4K708 module on the EXC 4000PCI M4kK708 module on the EXC c4000PCI M4K708 Software Tools is for several different operating systems Appendix B explains the procedure for installing it on the following systems Windows 9x ME Windows NT4 Windows 2000 XP Warning Whenever you handle an EXC 4000PCI board wear a suitably grounded electrostatic discharge wrist strap Windows 9x ME Procedures The Excalibur Installation CD contains the files for PCI Hardware Installation for Windows 9x ME e M4K708 Software Tools To install an EXC 4000PCI board on a Windows 9x system 1 Insert the board into an available PCI slot in your computer 2 Add M4K708 Software Tools to your Windows 9x system To verify that the board was installed correctly run the test programs included on the Excalibur Installation CD To install the Excalibur EXC 4000PCI board 1 Make sure the computer is turned off Insert the board into one of the available slots For more information see the Installation section in the hardware User s Manual 2 Turn on the computer and wait several moments while Windows 9x ME boots up 3 The message Building driver information data may or
33. dress Examples of Logical Address Switch SW1 Settings MSB Logical Address Switch SW1 LSB A TFT TT FTE T gt 7T gt A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 Logical Address Switch Settings Hex Dec 1 1 0 0 0 0 0 0 0 1 20 32 0 0 1 0 0 0 0 0 80 128 1 0 0 0 0 0 0 0 81 129 1 0 0 0 0 0 0 1 Co 192 1 1 0 0 0 0 0 0 FF 255 1 1 1 1 1 1 1 1 Example For a logical address of CO H A16 Address F000 H set position 1 and 2 to OFF or Open and all other switches to ON or Closed Switch ON or Closed logic 0 at switch position Switch OFF or Open logic 1 at switch position Note 1 Numbers indicate switch positions 2 Address lines A15 and A14 are always decoded as 1 3 Address lines A5 AO are always decoded as 0 page D 2 Excalibur Systems Flags for Use with M4K708 Software Tools Appendix E Flags for Use with M4K708 Software Tools Flags are grouped according to the functions in which they are used Some flags are used in more than one function and they are duplicated in each section for clarity Most flags are input parameters Others are listed for the convenience of the programmer Note Always use flags where provided rather than the value associated with it since values may change For example use SIMULATE with Init Module rather than OxFFFF The flags are grouped by function Init_ Module SIMULATE OxFFFF Test drivers without a module present EXC_4000PCI If only one board is used the def
34. e Table A 3 Operating mode A 2 30 36 Tilt Table A 4 Tilt data A 2 37 42 Gain Table A 5 Gain data A 3 43 48 Range Table A 6 Range Data A 3 49 Spare 50 51 Data Accept Table A 7 Data accept A 3 52 63 Scan Angle Table A 8 Scan angle A 3 64 Spare 65 67 Bin 1 Table A 9 Weather Condition Reflectivity Data A 4 1598 1600 Bin 512 Table A 1 Display Data Bus Format Note The lowest order bit is referred to as bit 1 M4K708 Software Tools Programmer s Reference page A 1 ARINC 708 Specifications Control Accept Function Matrix Code Bit10 Bit9 Function 0 0 0 Do not accept control 1 0 1 IND 1 accept control 2 1 0 IND 2 accept control 3 1 1 All INDs accept control Table A 2 Control Accept Functions Operating Mode Matrix Code Bit29 Bit28 Bit27 Operating Mode 0 0 0 0 Standby 1 0 0 1 Weather only 2 0 1 0 Map 3 0 1 1 Contour 4 1 0 0 Test 5 1 0 1 Turbulence only 6 1 1 0 Weather amp turbulence 7 1 1 1 Reserved Calibration annunciation Table A 3 Operating mode Note Weather only Reflectivity Weather only data should be transmitted on all azimuth addresses Turbulence only Turbulence only data should be transmitted on all azimuth addresses Weather amp turbulence Turbulence data combined with reflectivity data is allowed as a means to transmit both weather only and weather plus turbulence words when Weather amp turbulence mode is selected Tilt Data Bit
35. ecified Must be the handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 0 If successful NumberWordsInBuffer_708 Description NumberWordsInBuffer_708 returns the number of words currently in the buffer for the specified channel Syntax NumberWordsInBuffer_708 int chanhandle int numwords Input Parameters chanhandle The handle returned by Output Parameters numwords Return Values ebadhandle ebadchanhandle page 4 2 SetupReceiveChannel_708 Number of words currently in the buffer returned for the specific channel Values 0 65536 If an invalid handle was specified should be value returned by Init_Module_708 If an invalid channel value is specified Must be the handle returned by SetupReceiveChannel_708 If successful Excalibur Systems Chapter 4 ReadWord_708 Description Syntax Input Parameters Output Parameters Return Values M4K708 Communication Functions ReadWord_708 reads one ARINC 708 word from the buffer for the specified receive channel ReadWord_708 int chanhandle WORD wordarray DWORD timetag WORD wordstatus chanhandle wordarray timetag wordstatus The handle returned by SetupReceiveChannel_708 Pointer to 100 WORDs containing one ARINC 708 word A 32 bit Timetag INVALID_708WORD Manchester error VALID_708WORD Valid 708 word ebadchanhandle If an invalid channel value is specified Must be echantype ebadformat enorcvword 0 the
36. ed in Appendix E Flags for Use with M4K708 Software Tools Functions are written as C functions 1 e they return values A negative value signifies an error Full error messages may be printed using the Get_Error_String_708 function See Appendix H Error Messages In Windows all user defined programs must include the file proto_708 h This file includes all the necessary header files and DLL function prototypes to operate M4K708 Software Tools Conventions Used in the Programmer s Reference To help differentiate between different kinds of information the following character styles are used in the Programmer s Reference Functions look like this Variables look like this Parameter look like this File names look like this FLAGS look like this Note WORD unsigned short int M4K708 Software Tools Programmer s Reference page 1 9 Chapter 1 Introduction page 1 10 Excalibur Systems Chapter 2 M4K708 Initialization Functions 2 M4K708 Initialization Functions Chapter 2 contains descriptions of the initialization functions necessary to write test programs for the M4K708 module Each function is presented with its formal definition including data types of all input and output variables A brief description of the purpose of the function is provided along with the legal values for the inputs where applicable The flags included in each function are defined in Appendix E Flags for Use with M4K708 Software Tools
37. enen enn 1 9 2 M4K708 Initialization Functions IntiModule 108 x2 tnt ar ertsen eel earn te ennen nd teen onraad 2 2 Release Module POB sooter nenten sand tada 2 3 GetHW REV 708 dadas eden 2 4 oetLoopbaek 708 insest liet entente Arde heete bla bihage bet eendeasdh ts aeoe eaaa 2 4 GetModuleTimetag_708 serrie TaT devennnnnetennmensteden 2 5 ModuleTimetagReset_70B ocer a E E a NT an 2 5 Get Error aN AD S E EAA E E E EA E AE ee 2 6 3 M4K708 Configuration Functions Event Generation Status Interrupts and Output Triggers nnen en snnnenenenennneerennn 3 1 Channel Status Bit nanne enn ra a aa a a a a a aa EE aa TE 3 1 InterrupU TAS id A E EE 3 1 SetupTransmitChannel_708 nnen enen en eenneneenenneeene nen een enen ennennnnennnenen eneen 3 2 SetupReceiveChannel_ 708 nn eaaa aa aa aaa aaae eaaa aa aa oaaae 3 2 oetintenr pte709 suri ETE E EA AE EAE T 3 3 setTransmitinterv lt 708 0 anale vleb dh de 3 3 DOTA DO Ate 3 4 SetEventFrequency 708 Aea a tatami eile ated 3 4 4 M4K708 Communication Functions ClearStat s 08 55 2 A E A AE E A 4 1 EEE ET AO AE 4 2 NumberWordsInBuffer_708 nnen nennen ennen ennennennneerenren enen nennennnnnennnneenenenenn enn 4 2 NOT 4 3 otartRete ve 708 nand eet Ee denkende enden 4 4 starthransmit LOG eeaeee a ede iddcocdha baled Mediz Mode aaae siddd ate clad edn hadadel 4 4 MOD o de ei o o 4 5 WrriteWord 708 a a da te ene ca le 4 5 ARINC 708 WORD Utility Functions cccononnmnonoonnonccnncn
38. ent at the specified location ebadhandle 33 Invalid handle specified should be value returned by Init_Module_708 eboardtoomany 36 Too many modules initialized noirqset 53 No interrupt allocated einvalchan 200 Tried to set channel to illegal value ebadchanhandle 203 Invalid handle specified should be value returned by channel setup routine echantype 204 Function invalid for this channel type enoxmtword 205 No room to transmit ARINC 708 word enorcvword 206 No ARINC 708 word received ebadformat 207 No proper ARINC 708 word found in receive buffer erunning 208 Chamnel already running eoneshot 209 Cannot write to buffer when channel running in ONESHOT mode eretransmit 210 Cannot write to buffer when channel running in RETRANSMIT M4K708 Software Tools Programmer s Reference mode page H 1 Error Messages For EXC 4000PCI boards only page H 2 Error Code Value Explanation eopenkernel 1001 Cannot open kernel device check Excalibur Configuration Utility settings ekernelcantmap 1002 Kernel driver cannot map memory ereleventhandle 1003 Error in kernel Release_Event_Handle egetintcount 1004 Error in kernel Get_Interrupt_Count egetchintcount 1005 Error in kernel Get_Channel_Interrupt_Count egetintchannels 1006 Error in kernel Get_Interrupt_Channels ewriteiobyte 1007 Error in kernel writeiobyte ereadiobyte 1008 Error in kernel readiobyte egeteventhand1 1009 Error in kernel Get_Event_Handle first
39. ference page 1 1 Chapter 1 Introduction Getting Started Before starting to write applications 1 On the Excalibur Installation CD included in the package you received with the hardware Locate the appropriate M4K708 Software Tools for your hardware Download a copy of M4K708 Software Tools Programmer s Reference Be sure to download a copy of your hardware s User s Manual 2 Install the hardware For hardware installation instructions refer to the User s Manual 3 Fill out the registration card and return it to your Excalibur representative Note If anything is missing or damaged contact your Excalibur representative Installation 4000PCI Carrier Boards For PCI and cPCI carrier boards see Appendix B EXC 4000PCI Boards Installation Instructionsfor hardware and software installation instructions 4000VME VXI Carrier Boards For VME or VXI carrier boards see Appendix C EXC 4000VME Boards Installation Instructions for PCI MXI 2 Systems for hardware and software installation instructions Multiple Board Support 4000PCI Carrier Boards The Excalibur Configuration Utility program ExcConfig exe is a configuration setup program for PCI and cPCI boards Use the utility program to specify which board in a machine is being used M4K708 Software Tools supports the use of up to four PCI or cPCI boards simultaneously Only if more than one board is used is it necessary to run the utility program If one board is used
40. handle returned by SetupReceiveChannel_708 If channel type is not receive If no proper ARINC 708 word found in receive buffer If no ARINC 708 word was received If successful M4K708 Software Tools Programmer s Reference page 4 3 Chapter 4 StartReceive_708 Description Syntax Input Parameters Output Parameters Return Values StartTransmit_708 Description Syntax Input Parameters Output Parameters Return Values page 4 4 M4K708 Communication Functions Call StartReceive_708 to start receiving data in the buffer for the specified channel StartReceive_708 int chanhandle chanhandle The handle returned by SetupReceiveChannel_708 none ebadchanhandle If handle other than the one returned by SetupReceiveChannel_708 is used echantype If channel type is not receive 0 If successful Call StartTransmit_708 to start transmitting data in the buffer for the specified transmit channel StartTransmit_708 int chanhandle int duration chanhandle The handle returned by SetupTransmitChannel_708 duration DUR_ONESHOT To send out one ARINC 708 word DUR_CONTINUOUS To continuously transmit until transmit buffer is empty buffer can be written to continuously DUR_RETRANSMIT To transmit contents of a buffer again and again until stopped data cannot be written to the buffer none ebadchanhandle If handle other than the one returned by SetupTransmitChannel_708 is used echantype If channel type is n
41. ice number If more than one board is used run ExcConfig to set the device number EXC 4000VME VXI A device number 0 255 as set with the DIP switches See Appendix C EXC 4000VME Boards Installation Instructions for PCI MXI 2 Systems source INTERNAL CLOCK Uses the board s 4 usec timer EXTERNAL_CLOCK See External Signals Connector in the Mechanical and Electrical Specifications chapter in the applicable hardware User s Manual Output Parameters none Return Values einval If an invalid parameter was used as an input eclocksource If an invalid clock source was specified 0 Tf successful page 1 8 Excalibur Systems Chapter 1 Introduction Compiler Options Programmers must use one of the following calling options depending on the compiler used The Borland DLL is compiled using _stdcall options The Microsoft DLL is compiled using _cdecl options The driver functions in M4K708 Software Tools are supplied both in source form and linked as a DLL When writing application programs keep in mind that the module is a physical resource and therefore you cannot run multiple copies of the program simultaneously Each function is presented with its formal definition including data types of all input and output variables A brief description of the purpose of the function is provided along with the legal values for inputs where applicable All structures and flags used by M4K708 Software Tools functions are defin
42. iguration Functions SetupTransmitChannel_708 resets the channel and sets it to transmit SetupTransmitChannel_708 int devhandle int channel int chanhandle devhandle The handle designated by Init_Module_708 channel The channel number 0 or 1 chanhandle The handle to the specified channel on the module This handle is the first parameter in all channel specific functions ebadhandle If an invalid devhandle was specified must be value returned by Init_Module_708 etimeoutreset If timed out waiting for reset einvalchan If tried to set a channel to an illegal value 0 If successful SetupReceiveChannel_708 resets the channel and sets it to receive SetupReceiveChannel_708 int devhandle int channel int chanhandle devhandle The handle designated by Init_Module_708 channel The channel number 0 or 1 chanhandle The handle to the specified channel on the module This handle is the first parameter in all channel specific functions ebadhandle If an invalid devhandle was specified must be value returned by Init_Module_708 etimeoutreset If timed out waiting for reset einvalchan If tried to set a channel to an illegal value 0 If successful Excalibur Systems Chapter 3 SetInterrupt 708 Description Syntax Input Parameters Output Parameters Return Values SetTransmitinterval_708 Description Syntax Output Parameters Return Values M4K708 Software Tools Programmer s Reference M4K708 Co
43. ime out If timeout is set to INFINITE then the call will return only upon receipt of the interrupt Syntax Wait_For_Interrupt 708 int devhandle unsigned int timeout Example Since this function suspends execution of the calling thread it is generally called from a separate thread to allow the main thread to continue its processing An example of a thread routine which waits for interrupts and processes them as they come in is as follows DWORD InterruptThread int referenceParam while 1 int status status Wait For Interrupt_708 devhandle INFINTE if status lt 0 We don t check for ekerneltimeout since we passed in a timeout value of INFINITE All other return values indicate error Process error ExitThread 1 Process interrupt Check total number of interrupts Get_Interrupt_Count_708 devhandle amp numints Input Parameters devhandle The handle designated by Init_Module_708 timeout Timeout is specified in milliseconds or INFINITE Output Parameters none Return Values ebadhandle If an invalid handle is specified should be value returned by Init Module 708 egetevenhandlel If there is an error in kernel function Get_Event_Handle first part egetevenhandle2 If there is an error in kernel function Get_Event_Handle second part ekernelinitmodule If error initializing kernel related data ekernelbadparam If input parameter is invalid ekerneldevicenotopen
44. ine value EXC_4000PCI can be used instead of a device number Create ParseControlData_708 typedef struct WORD label 8 bits WORD _ controlAccept 2 BOOL slave BOOL turbulenceAlert BOOL weatherAlert BOOL antiClutter BOOL sectorScan BOOL stabilityLimits BOOL coolingFault BOOL displayFault BOOL calibrationFault BOOL attitudeFault BOOL controlFault BOOL antennaFault BOOL txRcevFault BOOL stabilization WORD _ operatingMode 3 WORD tilt 7 WORD gain 6 WORD range 6 WORD dataAccept 2 WORD scanAngle 12 t_controlStruct StartTransmit_708 DUR_ONESHOT 0 To send out one ARINC 708 word DUR_CONTINUOUS 1 To continuously transmit until buffer empty DUR_RETRANSMIT 2 To transmit contents of buffer again and again until stopped data cannot be written to the buffer M4K708 Software Tools Programmer s Reference page E 1 Flags for Use with M4K708 Software Tools GetStatus_708 ERROR_STATUS TXRX_STATUS NO_STATUS ClearStatus_708 ERROR_STATUS TXRX_STATUS ALL_STATUS SetInterrupt_708 ERROR INTERRUPT TXRX_INTERRUPT NO_INTERRUPT SetTrigger_708 ERROR_TRIGGER TXRX_TRIGGER NO_TRIGGER SetLoopback_708 DISABLE ENABLE ReadWord_708 INVALID_708WORD VALID_708WORD Error occurred on channel The number of ARINC 708 words set in SetEventFrequency_708 was transmitted received No channel status bits set Clear error status bit Clear TXRX status bit Clear all stat
45. l error device is not opened ekernelinitmodule 1035 Kernel initialization error ekernelbadparam 1036 Kernel error bad input parameter ekernelbadpointer 1037 Kernel error invalid pointer to output buffer ekerneltimeout 1038 Wait for Interrupt function returned with timeout ekernelnotwin2000 1039 Operating System is not Windows 2000 erquestnotification 1040 Request _Interrupt Notification error ekernelnot4000Card 1041 Designated Board is not an EXC 4000 carrier board enotimersirig 1042 Timers and IrigB not supported on this version of EXC 4000 board eclocksource 1059 If an invalid clock source was specified eparmglobalreset 1062 Illegal parameter used for globalreset flag in Start Timer etimernotrunning 1063 Timer not running when ResetWatchdogTimer was called did nothing etimerrunning 1064 Timer already running when StartTimer was called did nothing eparmreload 1065 Illegal parameter used for reload flag in StartTimer eparminterrupt 1066 Illegal parameter used for interrupt flag in StartTlmer ebaddevhandle 1067 Invalid handle specified Use value returned by Init_Timers edevtoomany 1068 Init Timers called for too many boards einvalidOS 1069 If an invalid operating system is used M4K708 Software Tools Programmer s Reference page H 3 Error Messages For EXC 4000VME VXI boards only Error Code Value Explanation eviclosedev 1050 Error in ViClose device evicloserm 1051 Error in ViClose Default R
46. lue is used as an input 0 If successful page 3 3 Chapter 3 SetTrigger_708 Description Syntax Input Parameters Output Parameters Return Values SetEventFrequency_708 page 3 4 Description Syntax Input Parameters Output Parameters Return Values M4K708 Configuration Functions SetTrigger_708 sets the condition or conditions under which the module is to generate an output trigger SetTrigger_708 int chanhandle WORD trigger type e t hanhandle rigger type none ebadchanhandle einval 0 The handle returned by SetupTransmitChannel_708 or SetupReceiveChannel_708 One or both ORed together TXRX_TRIGGER Trigger after each time the specified number of ARINC 708 words is transmitted received The number is set by SetEventFrequency_708 ERROR_TRIGGER Trigger when channel is transmitting in CONTINUOUS or RETRANSMIT mode and buffer is empty or when channel is receiving and buffer is full overrun condition or NO_TRIGGER To disable output triggering If an invalid channel value is specified Must be the handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 If an illegal value is used as an input If successful SetEventFrequency_708 sets the desired number of ARINC 708 words to be tran smitted received either before setting the channel status bit or generating an interrupt or an output trigger SetEventFrequency_708 int chanhandle WORD frequency
47. n the gray diamond this indicates that the board is not properly installed Check the following There are not enough memory resources available in the system free up more memory or IRQs That the computer is Plug and Play compatible Many computers claim to be Plug and Play but are not fully compatible with the Plug and Play specification To Add M4K708 Software Tools to Windows 9x ME Systems Note If there is already a previous version of Software Tools for the same module installed on the computer the new version will overwrite it We recommend that you first uninstall the previous version by selecting Start Settings Control Panel Add Remove Programs If you want to save the earlier version you can choose to install the new version to a different directory when the Install Wizard asks to which directory to install the software 1 Insert the Excalibur Installation CD in the drive click Install Drivers Applications Utilities 2 Follow the on screen instructions to select the software that matches your product 3 When the Excalibur Configuration Utility ExcConfig screen appears double click the Type field Select 4000PCI 4 Leave the Auto values and click Save Note Remember the device number it is the parameter for the Init_Module_708 function Running test programs Excalibur provides test programs to verify that the board is operating properly The source code is provided with the test programs as
48. ncnnnnnannnnnnnennnnnenanenannnnnnancnnns 4 6 GetData 706 cito a A Eta Ea eee 4 6 SetData TU A AS A soa nem nats AAA ded aen 4 6 M4K708 Software Tools Programmer s Reference page i Table of Contents page ii GetPixelt 708 ns a aaa nen snted entente ntb aaa aaa cteuehacadessouedenstel a aaa E dan ied 4 6 DetPIXel LOB fr there a pads het nnen endet 4 7 GetControlData 108 200 rdt Rantanen eedt dad eaten de 4 7 SetControlData_708 nnn een enneeneneeerenreenvensensnnnnnennenren senen EE 4 7 5 Using Interrupt Functions Get Interrupt Count 708 ions terr dein ante A A Eee 5 2 Initializelnterrupt 2085 eee ee ee ee 5 3 Wait f r Interrupt 708 seian abten dtdsral aaa a a aaa eie nde ea aaia 5 4 Wait for Multiple_Interrupts_708 nonnen ennen eenneneenennennee nerven ennennnnennnsennenen 5 5 A ARINC 708 Specifications a cciccicciscscisessisecssssnccusceveduvedivesdivanssnrveviiesvesssvenneeiies A 1 B EXC 4000PCI Boards Installation Instructions cceseeeeeeeeeeeeeeeeeees B 1 C EXC 4000VME Boards Installation Instructions for PCEMXEZ SYSTEMS sen ordeteken and e C 1 D Multiple Board Support for EXC 4000 Carrier Boards anne D 1 E Flags for Use with M4K708 Software Tools nnn annnenennnnene eneen ennnnnnn E 1 F M4K708 Software Tools Library nanne eneneneeeneneenenenennnnnenneneeerennnnnn F 1 G Code INA GK iio ii a ae dana G 1 H Error Messages satinado H 1 Excalibur Systems Chapter 1 I
49. nfiguration Functions SetInterrupt_708 sets the condition or conditions under which the module is to generate interrupts for the M4K708 module SetInterrupt 708 int chanhandle WORD interrupt type The handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 interrupt type One or both ORed together TXRX INTERRUPT Interrupt after each time the specified number of ARINC 708 words is transmitted received The number is set by SetEventFrequency_ 708 ERROR INTERRUPT Interrupt when channel is transmitting in CONTINUOUS or RETRANSMIT mode and buffer is empty or when channel is receiving and buffer is full overrun condition or NO_ INTERRUPT To disable interrupt generation chanhandle none ebadchanhandle If an invalid channel value is specified Must be the handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 noirgset If no interrupt allocated einval If an illegal value is used as an input 0 If successful SetTransmitinterval_708 sets the interval between the beginning of one ARINC 708 word and the next ARINC 708 word in microseconds SetTransmitinterval_708 int chanhandle WORD interval micro chanhandle The handle returned by SetupTransmitChannel_708 interval _ 1600 65535 Interval value in microseconds micro Default value is 5500 none ebadchanhandle If an invalid channel value is specified Must be the handle returned by SetupTransmitChannel_708 einval If an illegal va
50. ntroduction 1 Introduction Chapter 1 provides an overview for M4K708 Software Tools and the avionics communication hardware for the M4K708 Weather Radar Display Databus module on the EXC 4000 family of carrier boards Getting Staite dz caved NO 1 2 EEE LEN eg eset NO 1 2 4000PCI Carrier Boards ee 1 2 4000VME VXI Carrier Boards oe 1 2 Multiple Board Support ennennenneneeereeeeeenennennennenennenseenen enn eenenennennnnnneeen 1 2 4000PCI Carrier Boards 0 000 c eet 1 2 4000VME VXI Carrier Boards oe 1 2 The Excalibur Systems Website nnn ennen eer enneenne en ennnenneee TR aR 1 3 The M4K708 Mod le sn ra Te atnan aeaa an an eana anw aaa vennen 1 3 Overview of the Weather Radar Display Databus noen ennnenne eenen 1 3 MIE Mode e hata r a nae ence 1 4 Receive Modest a Oe 1 4 Transmit Mode oir never dende dE oe Nee ia ete td Ee ee ees 1 4 M4K708 Software Tools Functions nennen nennen vennen vennen 1 5 M4K708 Software Tools for the EXC 4000 Family of Carrier Boards 1 5 Get 4000Module_Type for PCI boards nnn ennen eenen ennen neneeeenen eenen enennnn 1 6 Get 4000Module_ Type for VME VXI boards nnen ennenneneneereenen eenn enennennen 1 7 Select fime Tag Source 4000 naren E AENEA EEO 1 8 Compiler Options e a a aa ibid ies 1 9 Conventions Used in the Programmer s Reference nnee er ennener ee vennennen 1 9 M4K708 Software Tools Programmer s Re
51. ot transmit elnval If an invalid value was used as an input erunning If channel already running 0 If successful Excalibur Systems Chapter 4 Stop _708 Description Syntax Input Parameters Output Parameters Return Values WriteWord_708 Description Syntax Input Parameters Output Parameters Return Values M4K708 Software Tools Programmer s Reference M4K708 Communication Functions Call Stop_708 to stop transmitting receiving data in the buffer for the specified channel Stop_708 int chanhandle chanhandle none ebadchanhandle The handle returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 If handle other than the one returned by SetupReceiveChannel_708 or SetupTransmitChannel_708 1s used Tf successful WriteWord_708 writes one ARINC 708 word to the buffer for the specified channel WriteWord_708 int chanhandle WORD wordarray chanhandle wordarray none ebadchanhandle echantype eoneshot eretransmit enoxmtword 0 The handle returned by SetupTransmitChannel_708 Pointer to 100 WORDs containing one ARINC 708 word If handle other than the one returned by SetupTransmitChannel_708 is used If function invalid for this channel type Cannot write to buffer when channel running in ONESHOT mode Cannot write to buffer when channel running in RETRANSMIT mode If no room to transmit ARINC 708 word If successful page 4 5 M4K708 Communication Func
52. recipitation moderate precipitation heavy precipitation very heavy precipitation reserved medium turbulence N ODO A B W NN O heavy turbulence Table 1 2 Pixel Values Some radar displays do not require 512 pixels they may use only 128 or 256 pixels Such devices have the option of repeating the data more than once which would allow for data error detection When less than 512 pixels are used the actual pixels can occupy the first block of the bin space or alternatively the actual pixels may be interleaved with the unused ones M4K708 Module page 1 4 The M4K708 module contains two ARINC 708 453 channels each software selectable as transmit or receive Receive Mode Each incoming ARINC 708 message is composed of 103 16 bit words comprising two words of timetag 100 words of ARINC 708 data and a status word The user sets the receive channel to receive data on the bus When the user reads a word the drivers will check if a complete message is available for reading and return it if it is Each 16 bit word is checked to verify that the expected word type time tag data or status was read and the entire ARINC 708 is checked for Manchester errors Interrupts can be generated upon receipt of a specified number of ARINC 708 words or upon error condition indicating receive data overrun Transmit Mode Each outgoing ARINC 708 message is composed of ARINC 708 data words The user can write up to 655 ARINC 708 words
53. rupt status for the specified channel Syntax ClearStatus_708 int chanhandle WORD clearflag Input Parameters chanhandle The handle returned by SetupTransmitChannel_708 or SetupReceiveChannel_708 clearflag One or both ORed together TXRX_STATUS Clears the bits indicating ARINC 708 words transmitted received ERROR_STATUS Clears bits indicating error condition or ALL STATUS Clear all status bits Output Parameters none Return Values ebadchanhandle If an invalid channel value is specified Must be the handle returned by SetupTransmitChannel_708 or SetupReceiveChannel_708 einval If an illegal value is used as an input 0 If successful M4K708 Software Tools Programmer s Reference page 4 1 Chapter 4 GetStatus_708 M4K708 Communication Functions Description Call GetStatus_708 to read the channel status for the specified channel This value can be used to ascertain for which channel an interrupt or trigger was generated and the type of event TXRX or ERROR Syntax GetStatus_708 int chanhandle int statusflag Input Parameters chanhandle The handle returned by SetupReceiveChannel_708 Output Parameters statusflag Return Values ebadchanhandle or SetupTransmitChannel_708 One or both ORed together TXRX_STATUS The number of ARINC 708 words set in SetEventFrequency_708 was transmitted received ERROR_STATUS Error occurred on channel or NO_STATUS No channel status set If an invalid channel value is sp
54. s can be mounted on a VME VXI carrier board Syntax Get 4000Module_ Type WORD device num WORD module num WORD modt ype Input Parameters device num module num Output Parameters modtype Return Values emodnum eopendefaultrm eviopen evimapaddress 0 M4K708 Software Tools Programmer s Reference A device number 0 255 as set with the DIP switches See Appendix C EXC 4000VME Boards Installation Instructions for PCI MXI 2 Systems A module position number A value 0 7 EXC4000_MODTYPE_708 If there is a 708 module EXC4000_MODTYPE_H009 If there is a H009 module EXC4000_MODTYPE_PX Tf there is a Px module EXC4000_MODTYPE_MCH If there is an MCH module EXC4000_MODTYPE_SERIAL If there is a Serial module EXC4000_MODTYPE_RTX If there is an RTx module EXC4000_MODTYPE_DIO If there is a Discrete module EXC4000_MODTYPE_NONE If there is no module present If an invalid module number was specified If error in viOpenDefaultRM If error in viOpen If error in viMapAddress If successful page 1 7 Chapter 1 Introduction Select Time_Tag_Source_4000 Description Select Time_Tag_Source_4000 selects the source of the Time Tag used in all modes and for all modules on the board It is one setting for all the modules used Syntax Select Time_Tag_ Source 4000 WORD device num WORD source Input Parameters device num EXC 4000PCI cPCI The define value EXC 4000PCI can be used instead of a dev
55. s functions This function returns the string containing a corresponding error message Get Error String_708 int errcode int errlen char errstring define ERRORLEN 255 char ErrorStr ERRORLEN Get Error String 708 errorcode ERRORLEN sErrorstr printf error is Ss ErrorStr errcode The error code returned from a Software Tools call errlen Maximum length of string to be returned the message string that contains the corresponding error message errorstring An array of errlen characters the message string that contains the corresponding error message In case of bad input this function returns a string denoting that 0 Always Excalibur Systems Chapter 3 M4K708 Configuration Functions 3 M4K708 Configuration Functions Chapter 3 contains descriptions of the configuration functions necessary to write test programs for the M4K708 module Each function is presented with its formal definition including data types of all input and output variables A brief description of the purpose of the function is provided along with the legal values for the inputs where applicable The flags included in each function are defined in Appendix E Flags for Use with M4K708 Software Tools The functions described in this chapter are SetupTransmitChannel_708 SetupReceiveChannel_708 SetInterrupt_708 SetTransmitinterval_708 SetTrigger_708 SetEventFrequency_708 Event
56. tions ARINC 708 WORD Utility Functions See Appendix E Flags for Use with M4K708 Software Tools for typedef of control data structure GetData_708 Description Syntax Input Parameters Output Parameters Return Values SetData_708 Description Syntax Input Parameters Output Parameters Return Values GetPixel_708 Description Syntax Input Parameters Output Parameters Return Values page 4 6 GetData_708 reads control data and all pixel information from ARINC 708 word into structures GetData_708 WORD wordarray t_controlData controlData WORD pixelarray Array containing one ARINC 708 word controlData Structure containing control data wordarray pixelarray Array of 512 WORDs one for each pixel s data 0 Always SetData_708 writes control data and all pixel information from structures into an ARINC 708 word SetData_708 t_controlData controlData WORD pixelarray WORD wordarray controlData Structure containing control data pixelarray Array of 512 WORDs one for each pixel s data wordarray Array containing one ARINC 708 word 0 Always GetPixel_708 reads a specific pixel from the data portion of the ARINC 708 word GetPixel_708 WORD wordarray int pixnum WORD pixel wordarray Array of 100 WORDs containing one ARINC 708 word pixnum Pixel number a value 1 512 pixel One WORD Pixel data is in the lowest 3 bits einval If an illegal value is used as an input
57. to a buffer The drivers will inform the user if there is no space left on the module for more words in which case the user should wait until the module empties the buffer by transmitting the data currently in the buffer The user sets the transmit channel to send data on the bus continuously one shot only one ARINC 708 word at a time or retransmit mode the contents of the buffer are retransmitted over and over until stopped Interrupts can be generated upon transmission of a specified number of ARINC 708 words or upon error condition indicating that there is no data to transmit For more information about Receive and Transmit modes see the M4K708 Module User s Manual Excalibur Systems Chapter 1 Introduction M4K708 Software Tools Functions The M4K708 Software Tools is a set of C language functions designed to aid users of Excalibur s M4K708 modules to write test programs These functions provide access to all of the M4K708 Software Tools functions in a structured and straightforward programming environment M4K708 Software Tools is available for Windows 9x ME NT 2000 and XP The Windows functions were written and tested using Borland C and Microsoft Visual C M4K708 Software Tools for the EXC 4000 Family of Carrier Boards There are numerous modules available for use on the EXC 4000 carrier board To date Excalibur provides M4K708 M4K429 RTx M4K1553Px M4K1553 MCH M4KDiscrete M4KSerial and M4KH009 modules
58. uration Utility ExcConfig screen appears double click the Type field Select 4000PCI 3 Leave the Auto values and click Save Note Remember the device number it is the parameter for the Init_Module_708 function The EXC 4000PCI board is now ready to run Running test programs Excalibur provides test programs to verify that the board is operating properly The source code is provided with the test programs as a guide to develop your own applications To run the test programs in M4K708 Software Tools the EXC 4000PCI must be linked up to a loopback cable For details refer to the section Mechanical and Electrical Specification in the M4K708 Module User s Manual Go to Start Programs Product Name to run the test programs M4K708 Software Tools Programmer s Reference pageB 5 EXC 4000PCI Boards Installation Instructions page B 6 Excalibur Systems EXC 4000VME Boards Installation Instructions for PCI MXI 2 Systems Appendix C EXC 4000VME Boards Installation Instructions for PCI MXI 2 Systems Appendix C explains the procedure for installing the M4K708 Software Tools for the Excalibur EXC 4000VME and EXC 4000VXI boards under a Windows operating system Installation of the EXC 4000VME board on a Windows system is accomplished by determining the board s logical address setting the DIP switch on the board and installing M4K708 Software Tools To verify board installation run the test programs that are included
59. us bits Interrupt when channel is transmitting in CONTINUOUS or RETRANSMIT mode and buffer is empty or when channel is receiving and buffer is full overrun condition Interrupt after each time the specified number of ARINC 708 words is transmitted received The number is set by SetEventFrequency_708 Disable Interrupts Trigger when channel is transmitting in CONTINUOUS or RETRANSMIT mode and buffer is empty or when channel is receiving and buffer is full overrun condition Trigger after each time the specified number of ARINC 708 words is transmitted received The number is set by SetEventFrequency_708 Disable output triggering Disable loopback mode Set up internal loopback mode Manchester error Valid ARINC 708 word Excalibur Systems Module types for EXC 4000 carrier boards EXC4000 MODTYPE SERIAL 2 EXC4000 MODTYPE_ MCH EXC4000_MODTYPE_RTX EXC4000_MODTYPE_PX EXC4000_MODTYPE_MMSI EXC4000_MODTYPE_708 EXC4000_MODTYPE_MA EXC4000_MODTYPE_H009 EXC4000_MODTYPE_DIO Oxd EXC4000_MODTYPE_NONE Ox1F Oo AN DO KR O M4K708 Software Tools Programmer s Reference Flags for Use with M4K708 Software Tools A Serial module is present A MCH module is present An RTx module is present A Px module is present A MMSI module is present A 708 module is present A MicroAce module is present A HOO9 module is present A Discrete module is present No module present page E 3 Flags for Use with M4K708 Software Tools page
60. view of the Weather Radar Display Databus The Weather Radar protocol consists of 1600 bit ARINC 708 words which when interpreted and plotted together form a picture of weather patterns in the surrounding area The various weather conditions are indicated by the colors displayed The picture is formed as follows emanating from the center of a circle a single radius line at a time is drawn where each radius line is the data from a single ARINC 708 word Each ARINC 708 word is composed of 64 bits of control information including the scan angle the angle at which that line is to be drawn on the circle and 512 bins each one a 3 bit value specifying the color of a pixel to be drawn along that line Scan angle information is stored in the 12 bits between bit 52 the 52d pit received and bit 63 Angle 0 degrees is dead ahead up angle 90 degrees is right wing to the right The angle to be used for drawing this line of data is determined by the combination of the 12 bits which are defined as follows Bit Angle in degrees Bit Angle in degrees 63 180 57 2 8125 62 90 56 1 40625 61 45 55 0 703125 60 22 5 54 0 3415625 59 11 25 53 0 17578125 58 5 625 52 0 087890625 Table 1 1 Scan Angle M4K708 Software Tools Programmer s Reference page 1 3 Chapter 1 Introduction The weather conditions represented by the 3 bit pixel data are Pixel Value 3 bits Weather Condition no precipitation light p
Download Pdf Manuals
Related Search
Related Contents
INSメイトV-384取扱説明書 Lincoln 2007 Navigator Automobile User Manual マイクロ動揺計 - 財団法人・鉄道総合技術研究所 Kramer Electronics RC-2 Manuale tecnico (Versione Light) - 2012 - OPERATION MANUAL - Bio-Medical Instruments, Inc. Manual de instrucciones de uso. Orbit Steuerung 2 User Manual HIT-W18 Series Copyright © All rights reserved.
Failed to retrieve file