<> <> <> <> <> DIRECTORY Core, IMSTester, Ports, ViewerClasses; ICTestNew: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Core.ROPE; NSec: TYPE = IMSTester.NSec; FormatType: TYPE = IMSTester.FormatType; Board: TYPE = IMSTester.Board; PodTiming: TYPE = IMSTester.PodTiming; Channel: TYPE = IMSTester.Channel; EvalCycleType: TYPE = {force, sense}; TestButtonsCreateProc: TYPE = PROC[createButton: PROC [buttonName: ROPE, proc: TestProc]]; <> TestProc: TYPE = PROC [p: Ports.Port, Eval: PROC [evalCycleType: EvalCycleType], clientHandle: REF ANY _ NIL]; MakeStandardViewer: PROC [testButtons: TestButtonsCreateProc, cellType: Core.CellType, name: ROPE _ NIL, clientHandle: REF ANY _ NIL]; MakeStandardButtons: PROC [viewer: ViewerClasses.Viewer, height: CARDINAL, testButtons: TestButtonsCreateProc, cellType: Core.CellType, clientHandle: REF ANY _ NIL] RETURNS [newHeight: CARDINAL]; DefineGroup: PROC [wire: Core.Wire, groupName: ROPE _ NIL, format: FormatType, delay: NSec _ 0, width: NSec _ 0, hiDrive: REAL _ 2.4, loDrive: REAL _ 0.4, sample: NSec _ 0, threshold: REAL _ 1.4]; DefineChannel: PROC [atomicWire: Core.Wire, board: Board, podTiming: PodTiming, channel: Channel _ 0]; <> <<>> NextChannel: PROC [board: Board, podTiming: PodTiming, channel: Channel] RETURNS [newBoard: Board, newPodTiming: PodTiming, newChannel: Channel]; END.