ICTestNew.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Created by: Gasbarro September 18, 1985 2:47:39 pm PDT
Last Edited by: Gasbarro November 21, 1985 12:42:11 pm PST
Barth, November 19, 1985 2:01:30 pm PST
DIRECTORY Rope;
ICTestNew: CEDAR DEFINITIONS = BEGIN
ForceAssignments: TYPE = LIST OF ForceAssignment;
ForceAssignment: TYPE = RECORD[card: Card, timingGroup: PodTimingGroup];
AcquireAssignments: TYPE = LIST OF AcquireAssignment;
AcquireAssignment: TYPE = RECORD[card: Card, timingGroup: AcquirePodTimingGroup];
TestButtonsCreateProc: TYPE = PROC[createButton: PROC [buttonName: Rope.ROPE, proc: TestProc]];
Test Buttons are used to select the desired test operation to be performed on the device under test. A Test Button turns gray when buttoned (selected) and all others turn white. When the "Start Test" or "Continue" button is pressed the TestProc associated with the currently selected Test Button is called. The first Test Button registered will be the default selection.
TestProc: TYPE = PROC [p: ValueWire, Eval: PROC, clientHandle: REF ANYNIL];
MakeStandardViewer: PROC [name: ROPENIL, testButtons: TestButtonsCreateProc ← NIL, clientHandle: REF ANYNIL];
MakeStandardButtons: PROC [clientHandle: REF ANYNIL, viewer: Viewers.Viewer, height: CARDINAL, testButtons: TestButtonsCreateProc ← NIL];
DefineForceGroup: PROC [cellType: Core.CellType, groupName: ROPE ← NIL, assignments: ForceAssignments, format: IMSTester.FormatType, delay: NSec ← 0, width: NSec ← 0, hiDrive: REAL ← 2.4, loDrive: REAL ← 0.4];
DefineAcquireGroup: PROC [cellType: Core.CellType, groupName: ROPE ← NIL, assignments: AcquireAssignments, sample: NSec ← 0, threshold: REAL ← 1.4];
Adds an element to the "$IMSGroups" property list on the cellType.
DefineChannel: PROC [wire: Core.Wire, card: Card, timingGroup: PodTimingGroup, channel: PodByteChannel ← 0];
If timingGroup = aTiming OR bTiming then channel is ignored.
END.