<> <> <> <> <<>> KnobRotation: CEDAR DEFINITIONS = BEGIN KnobIndex: TYPE ~ {left, right}; OffsetSinceLastCall: PROC [knobIndex: KnobIndex, returnZero: BOOLEAN _ FALSE] RETURNS [offset: INTEGER, waitCycles: INT _ 0]; <> < the routine WILL NOT return until the dial has been fiddled with.>> < the routine will ALWAYS return immediately.>> <> <<>> InitializeOffset: PROC [knobIndex: KnobIndex] ~ INLINE { <> [] _ OffsetSinceLastCall[knobIndex]; }; END.