Sage: DEFINITIONS = BEGIN Error: ERROR [why: ErrorReason]; ErrorReason: TYPE = {nilChannelVector}; PulseLine: TYPE = [0..16); PulsePair: TYPE = [0..LAST[PulseLine]/2]; WidthPulseLine: PulseLine = 7; CyclePulseLine: PulseLine = 15; Tap: TYPE = [0..64); Channel: TYPE = [0..64); OutputStage: TYPE = [0..32); DriveState: TYPE = {L, T, H}; InputStage: TYPE = [0..16); TesterCycle: TYPE = [0..16]; ChannelVector: TYPE = REF ChannelVectorRec; ChannelVectorRec: TYPE = RECORD[ testerCycles: TesterCycle _ LAST[TesterCycle], stageData: PACKED ARRAY Channel OF StageData]; StageData: TYPE = RECORD[ force: ForceData, sense: SenseData]; ForceData: TYPE = PACKED ARRAY OutputStage OF DriveState _ ALL[T]; SenseData: TYPE = PACKED ARRAY InputStage OF BOOL _ ALL[FALSE]; PulseLineTaps: TYPE = REF PulseLineTapRec; PulseLineTapRec: TYPE = RECORD[ taps: ARRAY PulseLine OF Tap]; ChannelControlData: TYPE = REF ChannelControlDataRec; ChannelControlDataRec: TYPE = RECORD[ channels: ARRAY Channel OF SingleChannelData]; SingleChannelData: TYPE = RECORD[ localHold: BOOL _ FALSE, inputPulseLine: PulseLine _ 0, outputPulsePair: PulsePair _ 0]; Tester: TYPE = REF TesterRec; HANDLETester: TYPE = Tester; TesterRec: TYPE; InitializeTester: PROC [pulseTaps: PulseLineTaps, channelControl: ChannelControlData, initialData: ChannelVector, feedBack15: BOOL _ FALSE] RETURNS [HANDLETester]; FinalizeTester: PROC [t: HANDLETester]; Run: PROC [t: HANDLETester, v: ChannelVector]; END. ~Sage.mesa Last Edited by: Barth, January 31, 1985 8:22:30 pm PST Last Edited by: Gasbarro, June 14, 1985 3:37:49 pm PDT ÊX˜Jšœ ™ Jšœ6™6J™6J˜JšœÏk œ˜J˜Jš˜J˜Jšœœ˜ Jšœ œ˜'J˜Jšœ œ ˜Jšœ œœ˜)J˜J˜Jšœœ ˜Jšœ œ ˜Jšœ œ ˜Jš œ œœœœ˜Jšœ œ ˜Jšœ œ ˜J˜Jšœœœ˜+šœœœ˜ Jšœœ˜.Jšœ œœ œ ˜.—šœ œœ˜J˜J˜—Jš œ œœœ œœœ˜BJšœ œœœ œœœœ˜?J˜Jšœœœ˜*šœœœ˜Jšœœ œ˜J˜—Jšœœœ˜5šœœœ˜%Jšœ œ œ˜.—šœœœ˜!Jšœ œœ˜J˜J˜ J˜—Jšœœœ ˜Jšœœ ˜Jšœ œ˜J˜Jš Ïnœœhœœœ˜£Jšžœœ˜'Jšžœœ%˜.J˜Jšœ˜—…—¾”