Upgrading Software to SynqNet Phase II

Similar documents
Motor Objects. Methods

SynqNet-ZMP Hardware Quick Start Guide. Table of Contents

Table of Contents. Safety Warnings 3. Install MDK (software).. 5. Install Controller 9 PCI. 10 PMC Connect Hardware Motion Console.

Platform Objects. Introduction. Methods. meiplatformalloc meiplatformassertset

To obtain the current global trace mask, call meitraceget(...). To modify the global trace mask, call meitraceset(...).

NOTE: Debug and DebugSingle are the only MPI library configurations that will produce trace output.

Path Objects. Introduction. Methods. Data Types. Create, Delete, Validate Methods. Configuration and Information Methods. Relational Methods

libquadflash API 1 General Operations

The Design Process. General Development Issues. C/C++ and OO Rules of Thumb. Home

Unlike the methods of all other objects in the MPI, Control object methods are not thread-safe. Error Messages

Types and Structures

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

Nubotics Device Interface DLL

Camera Firmware or (5.50 fixes security vulnerability introduced in 5.20) Document Revision Date: 07/15/2016

This resource describes how to program the myrio in C to perform timer interrupts.

TIP120-SW-42. VxWorks Device Driver. Motion Controller with Incremental Encoder Interface. Version 2.1.x. User Manual. Issue 2.1.

Minimum Core Module Version: 4.0 Build 1452 Comments: AXIS IP Utility , Camera Firmware 4.40 Document Revision Date: 2/13/2013

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide

CS Spring 05 - MidTerm

PoKeys55 user s manual

Brushless IDEA Drive

1. Overview Ethernet FIT Module Outline of the API API Information... 5

Pulse Streamer-API migration document

To learn more about using MPI Motion Attributes and MEI Motion Attributes, click here. Error Messages. Validate Motion object

CS11 Advanced C++ Fall Lecture 4

TIP670-SW-95. QNX-Neutrino Device Driver. User Manual. The Embedded I/O Company. Digital I/O. Version 1.0.x. Issue August 2008.

IMPORTANT QUESTIONS IN C FOR THE INTERVIEW

CrossWorks Device Library

Command Reference Description of the Nanotec firmware serial commands For SMCI33 / SMCI47-S drivers

C Language, Token, Keywords, Constant, variable

Everything s possible. Modbus Communication. Reference Manual. DigiFlex Performance Servo Drives. MNCMMBRF-02

Review Questions II KEY

Week 7: Assignment Solutions

Copley Indexer 2 Program User Guide

Respiratory Motion Software RELEASE NOTES

Generalised User Interface for Embedded Applications using an LCD screen and keypad.

EL6483: Brief Overview of C Programming Language

Structures. Dr. Donald Davendra Ph.D. (Department of Computing Science, Structures FEI VSB-TU Ostrava)

Extending CircuitPython: An Introduction

PMX Support FAQ There may be a few different causes to this issue. Check each item below:

CS504 4 th Quiz solved by MCS GROUP

Scientific Programming in C X. More features & Fortran interface

switch case Logic Syntax Basics Functionality Rules Nested switch switch case Comp Sci 1570 Introduction to C++

Titan Aero Repetier Configuration

C: How to Program. Week /Mar/05

Keithley KPCI-ISO Series. Using DriverLINX with Your Hardware

Armide Documentation. Release Kyle Mayes

Short Notes of CS201

Compulite Systems (2000) Ltd.

Everything Else C Programming and Software Tools. N.C. State Department of Computer Science

TIP610-SW-95 QNX-Neutrino Device Driver TIP610 16/20 Channel Digital I/O on SBS PCI40 Carrier

BACnet Protocol Implementation Conformance Statement

CS201 - Introduction to Programming Glossary By

Release Note. How to Use the OptoCon Connection Module. 1 Introduction. Option C Revision 4 Revised 8/13/98

True or False (15 Points)

NVJPEG. DA _v0.1.4 August nvjpeg Libary Guide

KOLLMORGEN. SERVOSTAR CD. SERCOS IDN Manual M-SS rev. F. Solutions by D A N A H E R M O T I O N

Chapter. Getting Started, Basics. and Examples. In This Chapter...

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

libtheora Reference Manual

Chapter 2 - Introduction to C Programming

LOG Storm Studio. User's Guide. Revision Jan Byte Paradigm

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Main Program. C Programming Notes. #include <stdio.h> main() { printf( Hello ); } Comments: /* comment */ //comment. Dr. Karne Towson University

IMPLEMENTING THE PROFIBUS-DP MESSAGE MODE

Target Definition Builder. Software release 4.20

CMSC 212 Midterm #2 (Fall 2005) ANSWERS AND GRADING KEY

CENG 447/547 Embedded and Real-Time Systems. Review of C coding and Soft Eng Concepts

Fundamental Data Types. CSE 130: Introduction to Programming in C Stony Brook University

AN Use Beckhoff TwinCAT System Manager to configure EtherCAT masters for control of ABB MicroFlex e150 servo drives

Types, Operators and Expressions

Modeling HDL components for FPGAs in control applications

Student Number: Computer Science 211b Final Examination. 28 April hours

EE 355 Unit 5. Multidimensional Arrays. Mark Redekopp

An overview of how to write your function and fill out the FUNCTIONINFO structure. Allocating and freeing memory.

Switch Protection Module

1 Do not confuse the MPU with the Nios II memory management unit (MMU). The MPU does not provide memory mapping or management.

CS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language. Krste Asanović & Randy Katz

Programming in C++ 4. The lexical basis of C++

C Programming Language (Chapter 2 of K&R) Variables and Constants

The University of Alabama in Huntsville Electrical and Computer Engineering CPE Example of Objective Test Questions for Test 4

I Introduction to Real-time Applications By Prawat Nagvajara

Artemis SDK. Copyright Artemis CCD Limited October 2011 Version

C OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure

INTEGRATED MICROSTEPPING MOTOR DRIVER AND HIGH PERFORMANCE MACHINE/PROCESS CONTROLLER

Agenda. CS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language 8/29/17. Recap: Binary Number Conversion

Compiling and Running a C Program in Unix

8.7. Finite state machines with statically-allocated linked structures Stepper motor controller L 293

III. Classes (Chap. 3)

MIDI CPU Firmware V User Manual

Object-Oriented Programming

Trio Motion Technology Sigma II SERCOS Interface Users Manual

C OVERVIEW. C Overview. Goals speed portability allow access to features of the architecture speed

EPOS2 Positioning Controllers

In the CERTAINTY project, an application is defined as a network of independent processes with the following features:

Keithley KPCI-3160 Series

Binghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program

Option H Motion Library Version Dec Firmware Version 2.40, Rev G4, Opt 1

Do not write in this area EC TOTAL. Maximum possible points:

LVD Digital Servo Drive

Transcription:

Upgrading Software to SynqNet Phase II The introduction of SynqNet Phase II has necessitated changes to motor I/O and capture interfaces in the MPI library. Since the number of available motor I/O pinouts vary from node to node, different structures must be used to enumerate I/O signal access through the MPI. Some of the changes necessary to switch from old versions of the MPI (Analog and SynqNet Phase I) to SynqNet Phase II MPI are listed below. Additional Include File and Directory Motor I/O Enumeration Changes Changes to the MEIMotorConfig Structure MEIMotorConfig Parameter Changes New Capture Engine Features Capture Enumeration Changes Changes to the MPICaptureConfig structure MPICaptureConfig Parameter Changes Creating MPICapture Objects Capture Engine Diagrams file:///p /SynqNet/phase2/phase2/home.htm [7/21/2003 4:24:20 PM]

Additional Include File and Directory Additional Include File and Directory To access the node-specific enumerations, the file "sqnodelib.h" must be #included in application code. This requires the addition of the directory, "\xmp\sqnodelib\include" to the list of additional include directories in the Project- >Settings C/C++ tab. If only general MPI enumerations are used, then there is no need to #include "sqnodelib.h" in an application. file:///p /SynqNet/phase2/phase2/phase2_01.htm [7/21/2003 4:24:20 PM]

Motor I/O Enumeration Changes Motor I/O Enumeration Changes With old versions of the MPI, all digital inputs were included into one enumeration, MEIMotorInput, while all digital outputs were included in another, MEIMotorOutput. With SynqNet Phase II, digital I/O has been split up into 3 categories: Dedicated Inputs - represented by MEIMotorDedicatedIn, refers to common inputs such as the home line. Dedicated Outputs - represented by MEIMotorDedicatedOut, refers to common outputs such as the brake enable line. Configurable and/or Node - Specific I/O, represented by MEIMotorIoMask. Presently, these only support digital inputs or outputs. In the future, support for stepper motor output and compares will be supported by these I/O. When upgrading application code to SynqNet Phase II, check the drive manufacturer's configuration type and documentation for details about which configurable I/O are supported. If the enumerations are replaced without verifying a drive's capabilities, an application will compile, but it may not work. The tables below shows how to upgrade motor I/O enumerations to SynqNet Phase II. Analog & SynqNet Phase I MPI MEIMotorInputAMP_FAULT MEIMotorInputHOME MEIMotorInputOVERTRAVEL_POS MEIMotorInputOVERTRAVEL_NEG MEIMotorInputINDEX MEIMotorInputBROKEN_WIRE MEIMotorInputILLEGAL_STATE MEIMotorInputSIM4_INDEX MEIMotorInputSIM4_ENCA MEIMotorInputSIM4_ENCB SynqNet Phase II MPI MEIMotorDedicatedInAMP_FAULT MEIMotorDedicatedInHOME MEIMotorDedicatedInLIMIT_HW_POS MEIMotorDedicatedInLIMIT_HW_NEG MEIMotorDedicatedInINDEX MEIMotorDedicatedInFEEDBACK_FAULT MEIMotorDedicatedInBRAKE_APPLIED MEIMotorDedicatedInDRIVE_STATUS_0 MEIMotorDedicatedInDRIVE_STATUS_1 MEIMotorDedicatedInDRIVE_STATUS_2 Sinusoidal Interpolation Not Supported file:///p /SynqNet/phase2/phase2/phase2_02.htm (1 of 3) [7/21/2003 4:24:21 PM]

Motor I/O Enumeration Changes MEIMotorOutputBRAKE_ENABLE MEIMotorDedicatedOutAMP_ENABLE MEIMotorDedicatedOutBRAKE_RELEASE Analog & SynqNet Phase I MPI RMB Specific Values Equivalent General MPI Values MEIMotorTransceiverConfigINPUT (none - use generic MPI value > ) MEIMotorIoTypeINPUT MEIMotorTransceiverConfigOUTPUT (none - use generic MPI value > ) MEIMotorIoTypeOUTPUT MEIMotorTransceiverConfigSTEP MEIMotorTransceiverConfigDIR MEIMotorTransceiverConfigCW MEIMotorTransceiverConfigCCW MEIMotorTransceiverConfigQUAD_A MEIMotorTransceiverConfigQUAD_B MEIMotorTransceiverConfigCOMPARE (No equivalent enum -- Step Engine Not Yet Implemented) (No equivalent enum -- Step Engine Not Yet Implemented) (No equivalent enum -- Step Engine Not Yet Implemented) (No equivalent enum -- Step Engine Not Yet Implemented) (No equivalent enum -- Step Engine Not Yet Implemented) (No equivalent enum -- Step Engine Not Yet Implemented) (No equivalent enum -- Step Engine Not Yet Implemented) MEIMotorTransceiverIdA RMBMotorIoConfigXCVR_A MEIMotorIoConfigIndex0 MEIMotorTransceiverIdB RMBMotorIoConfigXCVR_B MEIMotorIoConfigIndex1 MEIMotorTransceiverIdC RMBMotorIoConfigXCVR_C MEIMotorIoConfigIndex2 MEIMotorTransceiverExtendedIdD RMBMotorIoConfigXCVR_D MEIMotorIoConfigIndex3 MEIMotorTransceiverExtendedIdE RMBMotorIoConfigXCVR_E MEIMotorIoConfigIndex4 MEIMotorTransceiverExtendedIdF RMBMotorIoConfigXCVR_F MEIMotorIoConfigIndex5 RMBMotorIoConfigUSER_0_IN MEIMotorIoConfigIndex6 RMBMotorIoConfigUSER_0_OUT MEIMotorIoConfigIndex7 MEIMotorInputXCVR_A RMBMotorXcvrA MEIMotorIoMask0 MEIMotorInputXCVR_B RMBMotorXcvrB MEIMotorIoMask1 MEIMotorInputXCVR_C RMBMotorXcvrC MEIMotorIoMask2 MEIMotorInputUSER RMBMotorOptoUSER0_IN MEIMotorIoMask6 MEIMotorInputUSER_0 RMBMotorOptoUSER0_OUT MEIMotorIoMask6 MEIMotorInputUSER_1 (Not Supported by RMB) (Vendor Specific) file:///p /SynqNet/phase2/phase2/phase2_02.htm (2 of 3) [7/21/2003 4:24:21 PM]

Motor I/O Enumeration Changes MEIMotorOutputXCVR_A RMBMotorXcvrA MEIMotorIoMask0 MEIMotorOutputXCVR_B RMBMotorXcvrB MEIMotorIoMask1 MEIMotorOutputXCVR_C RMBMotorXcvrC MEIMotorIoMask2 MEIXmpMotorIOMaskXCVR_D RMBMotorXcvrD MEIMotorIoMask3 MEIXmpMotorIOMaskXCVR_E RMBMotorXcvrE MEIMotorIoMask4 MEIXmpMotorIOMaskXCVR_F RMBMotorXcvrF MEIMotorIoMask5 MEIMotorOutputUSER RMBMotorOptoUSER0_OUT MEIMotorIoMask7 MEIMotorOutputUSER_0 RMBMotorOptoUSER0_OUT MEIMotorIoMask7 MEIMotorOutputUSER_1 (Not Supported by RMB) (Vendor Specific) - RMB Specific Values are for only MEI RMB-10V Nodes file:///p /SynqNet/phase2/phase2/phase2_02.htm (3 of 3) [7/21/2003 4:24:21 PM]

Changes to the MEIMotorConfig Structure Changes to the MEIMotorConfig structure Analog (20020117.1.6) typedef struct MEIMotorConfig {... MEIMotorTransceiver Transceiver[MEIXmpMotorTransceivers]; MEIMotorTransceiver TransceiverExtended[MEIXmpMotorTransceiversExtended]; long UserOutInvert; /* Output Polarity */... } MEIMotorConfig; typedef struct MEIMotorTransceiver { long Invert; /* TRUE = invert (not valid for INPUT) */ MEIMotorTransceiverConfig Config; } MEIMotorTransceiver; SynqNet Phase I (20011220.1.16) typedef struct MEIMotorConfig {... MEIMotorTransceiver Transceiver[MEIXmpMotorTransceivers]; MEIMotorTransceiver TransceiverExtended[MEIXmpMotorTransceiversExtended]; long UserOutInvert[MEIXmpMotorUserOptos]; /* Output Polarity */... } MEIMotorConfig; typedef struct MEIMotorTransceiver { long Invert; /* TRUE = invert (not valid for INPUT) */ MEIMotorTransceiverConfig Config; } MEIMotorTransceiver; file:///p /SynqNet/phase2/phase2/phase2_03.htm (1 of 2) [7/21/2003 4:24:21 PM]

Changes to the MEIMotorConfig Structure SynqNet Phase II (20030620.1.1) typedef struct MEIMotorConfig {... MEIMotorIoConfig Io[MEIMotorIoConfigIndexLAST];... } MEIMotorConfig; typedef struct MEIMotorIoConfig { MEIMotorIoType Type; } MEIMotorIoConfig; file:///p /SynqNet/phase2/phase2/phase2_03.htm (2 of 2) [7/21/2003 4:24:21 PM]

MEIMotorConfig Parameter Changes MEIMotorConfig Parameter Changes The table below shows how to upgrade motor I/O configuration code to SynqNet Phase II. Analog & SynqNet Phase I MPI SynqNet Phase II MPI Type Parameter Type Parameter long MEIMotorConfig.Transceiver[].Invert (No equivalent enum -- No longer supported) MEIMotorTransceiverConfig MEIMotorConfig.Transceiver[].Config MEIMotorIoType MEIMotorConfig.Io[].Type long MEIMotorConfig.TransceiverExtended[].Invert long No equivalent enum. No longer supported. MEIMotorTransceiverConfig MEIMotorConfig.TransceiverExtended[].Config MEIMotorIoType MEIMotorConfig.Io[].Type long MEIMotorConfig.UserOutInvert (analog) long (No equivalent enum -- No longer supported) long MEIMotorConfig.UserOutInvert[0] (phase I) long (No equivalent enum -- No longer supported) (all parameters) MEIMotorConfig.Stepper.Xxx (No equivalent enum -- Step Engine Not Yet Implemented) long MEIMotorConfig.pulseEnable (No equivalent enum -- Compare Engine Not Yet Implemented) long MEIMotorConfig.pulseWidth (No equivalent enum -- Step & Compare Engines Not Yet Implemented) file:///p /SynqNet/phase2/phase2/phase2_04.htm [7/21/2003 4:24:21 PM]

New Capture Engine Features New Capture Engine Features The next few sections on captures explain how to update code for the old capture engine to code for the new capture engine. The new capture engine includes additional support for "global" capturing (capturing the positions of multiple encoders from a single trigger). Global capturing is only global to a single SynqNet node. The reason for this is because position capturing is supposed to be a high-speed process, on the order of tens of nanoseconds. Communicating information across the SynqNet network would seriously degrade the timing of the capture engine. The way the global capturing works is that an internal "global" bit is kept inside a node's FPGA. This bit is considered as one of the inputs into a capture's engine. Each capture also has the ability to link this bit to its trigger state. (Please see the Capture Engine Diagrams.) At any given time, only one capture may link to the global bit. One should not configure a capture to use the global bit as an input and then link to the global bit with the same capture. In SynqNet Phase II MPI, instead of a trigger mask for capture, there is now an array of trigger sources, each with an enable and invert option. The following few sections will explain how this array functions. The new capture engine supported by SynqNet Phase II MPI, also supports capturing on different edges of the trigger state. (Please see the Capture Engine Diagrams.) Capturing can now happen on the rising edge, the falling edge, or any transition of the trigger state. This is specified by the edge member of the MPICaptureConfig structure: MPICaptureEdgeRISING MPICaptureEdgeFALLING MPICaptureEdgeEITHER MPICaptureEdgeNONE Capture on the rising edge of the trigger state Capture on the falling edge of the trigger state Capture on an transition of the trigger state Never Capture file:///p /SynqNet/phase2/phase2/phase2_05.htm [7/21/2003 4:24:22 PM]

Capture Enumeration Changes Capture Enumeration Changes The table below shows how to upgrade capture enumerations to SynqNet Phase II. Analog & SynqNet Phase I MPI MPIIoType SynqNet Phase II MPI (Enumeration no longer necessary) MEIMotorInputHOME MEIMotorInputOVERTRAVEL_POS MEIMotorInputOVERTRAVEL_NEG MEIMotorInputINDEX MEIMotorInputXCVR_A MEIMotorInputXCVR_B MEIMotorInputXCVR_C MPICaptureSourceHOME MPICaptureSourceOVERTRAVEL_POS MPICaptureSourceOVERTRAVEL_NEG MPICaptureSourceINDEX MPICaptureSourceMOTOR_IO_0 (MEI RMB Only) MPICaptureSourceMOTOR_IO_1 (MEI RMB Only) MPICaptureSourceMOTOR_IO_2 (MEI RMB Only) MPICaptureSourceGLOBAL MPICaptureSourceINDEX_SECONDARY Configured through MPIMotorConfig.captureOnChange MPICaptureEdge See MPICaptureConfig Parameter Changes section. file:///p /SynqNet/phase2/phase2/phase2_06.htm [7/21/2003 4:24:22 PM]

Changes to the MEICaptureConfig structure Changes to the MEICaptureConfig structure Analog / SynqNet Phase I (20020117.1.6 / 20011220.1.16) typedef struct MPICaptureConfig { MPIIoTrigger trigger; long latchcount;... } MPICaptureConfig; /* MPIIoTrigger */ typedef struct MPIIoTrigger {... unsigned long mask; unsigned long pattern; } MPIIoTrigger; SynqNet Phase II (20030620.1.1) typedef struct MPICaptureConfig { MPICaptureTrigger source[mpicapturesourcecount]; MPICaptureEdge edge; MPICaptureTriggerGlobal global; MPICaptureType type; long capturemotornumber; long feedbackmotornumber; /* the same as capturemotornumber for POSITION capture */ MPIMotorEncoder encoder; long captureindex /* 0, 1,... */ } MPICaptureConfig; typedef struct MPICaptureTrigger { long enabled; /* TRUE/FALSE */ long invert; /* TRUE = invert, FALSE = normal */ } MPICaptureTrigger; typedef struct MPICaptureTriggerGlobal { long enabled; /* TRUE/FALSE */ } MPICaptureTriggerGlobal; file:///p /SynqNet/phase2/phase2/phase2_07.htm (1 of 2) [7/21/2003 4:24:22 PM]

MPICaptureConfig Parameter Changes MPICaptureConfig Parameter Changes The table below shows how to upgrade capture configuration code to SynqNet Phase II. Trigger when input is: Analog / SynqNet Phase I SynqNet Phase II trigger.mask trigger.pattern source[sourcebit].enabled source[sourcebit].invert High Include MPIMotorInput bit Include MPIMotorInput bit TRUE FALSE Low Include MPIMotorInput bit Exclude MPIMotorInput bit TRUE TRUE Don't use as a trigger Exclude MPIMotorInput bit Exclude MPIMotorInput bit FALSE (n/a) Use Global Trigger Flag for Capture Set Global Trigger FlagOn Capture (n/a) (n/a) source[mpicapturesourceglobal].enabled = TRUE source[mpicapturesourceglobal].invert = FALSE MPICaptureConfig.global = TRUE - The bit associated with this motor input should be on - The bit associated with this motor input should be off New MPICaptureConfig Parameter Descriptions type Specifies either postion-based or time-based capture. Use MPICaptureTypePOSITION for position-based capture and MPICaptureTypeTIME for time-based capture. capturemotornumber The number of the motor whose "source" (MPICaptureTrigger) is used to capture position. feedbackmotornumber encoder captureindex The number of the motor whose position is being returned from the capture event. (It must be the same as capturemotornumber for position capture). Specifies the encoder feedback being captured. A zero-based index that specifies which capture resource on an axis is to be associated with the capture object. Each axis on a node has a given number of captures associated with it. Normally, each axis has only 1 capture resource, but an azis may have up to 4 capture resources. file:///p /SynqNet/phase2/phase2/phase2_08.htm [7/22/2003 3:13:48 PM]

Creating MPICapture Objects Creating MPICapture Objects The way MPICapture Objects are created has also changed. MPICapture objects are now associated with encoders. Before SynqNet, each capture could easily be enumerated across the entire controller, and thus MPICapture objects were created using an MPIControl handle. But with SynqNet, different drives can support different numbers of encoders, so this enumeration is now impossible. In SynqNet Phase II, MPICapture objects are now created using an MPIMotor handle. SynqNet Phase I had two different ways to access capture objects, one of which was identical to the analog MPI and the second was specific to SynqNet Phase I. The table below lists some of the differences between the ways capture objects are created or accessed. MPI Version Method for Creating/Accessing Capture Objects Handle Type Used to Create Capture Objects Capture Objects Need Deletion? Analog mpicapturecreate MPIControl Yes SynqNet Phase I mpicapturecreate MPIControl Yes SynqNet Phase I meimotorcapture MPIMotor No SynqNet Phase II mpicapturecreate MPIControl Yes - These capture objects were created and deleted by the motor object. The function prototypes for creating or accessing capture objects is listed below: Analog / SynqNet Phase I const MPICapture mpicapturecreate(mpicontrol control, long number); const MPICapture meimotorcapture(mpimotor motor, long index); SynqNet Phase II MPICapture mpicapturecreate(mpicontrol control, long number); The encoder argument identifies which encoder to create a capture for. file:///p /SynqNet/phase2/phase2/phase2_09.htm (1 of 2) [7/21/2003 4:24:23 PM]

Creating MPICapture Objects The number argument tells which capture to use on a particular encoder. Number represents the index of a zero-indexed array of captures, similar to the number argument for other mpicreate methods. The function prototype for the for the mpicapturedelete() method has not changed. file:///p /SynqNet/phase2/phase2/phase2_09.htm (2 of 2) [7/21/2003 4:24:23 PM]

Capture Engine Diagrams Capture Engine Diagrams Analog / SynqNet Phase I Capture Engine file:///p /SynqNet/phase2/phase2/phase2_10.htm (1 of 2) [7/21/2003 4:24:24 PM]

Capture Engine Diagrams SynqNet Phase II Capture Engine file:///p /SynqNet/phase2/phase2/phase2_10.htm (2 of 2) [7/21/2003 4:24:24 PM]