STRE SGLB Misc/Class Reference CLAS 350756 ESBR SORD 2 LITO 1 state PVAL 0.0199896 /o,-2000,2000,0.1,2000;Delay time (s) ESBR SORD 3 LITO 0 timing state TIME 0.000 target time ESBR SGLB Output/#1 LCON /*+;Non-inverted Output ESBR SGLB Output/#2 LCON /*+;Inverted Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354031 ESBR SGLB General/Initialize CMNT Expects: É ¥ inst/É LITO 0 É ¥ 0/inst/É CALL 354064 PRIM Heap/Store self ESBR SGLB Logic/Input /3t,false,true;Input CMNT Expects: É ¥ inst/data/É CALL 354063 É ¥ state/data/inst/É STRE state s-tree SORD 1 low BRFL branch if input is low PRIM Heap/Store self BRTR LCAL Timer É ¥ inst/É LITO 3 É ¥ 3/inst/É CALL 354065 ESBR SORD 2 high BRFL branch if input is low LITO 0 É ¥ 0/inst/É CALL 354064 É ¥ inst/É LITO 1 É ¥ 1/inst/É CALL 354065 BRTR PRIM Heap/Store self ESBR SORD 3 timing BRFL branch if input=0 LITO 1 É ¥ 1/inst/É CALL 354065 BRTR PRIM Heap/Store self ESBR ESTR ESBR SGLB Logic/Trigger for internal use by class only ! CMNT Expects: É ¥ inst/time/É CALL 354063 É ¥ state/time/inst/É PRIM Stack/Xdrop É ¥ state/inst/É STRE state s-tree SORD 0 either low or high PRIM Stack/Drop É ¥ inst/É LCAL reset É ¥ inst/É PRIM Heap/Store self ESBR SORD 3 timing LITO 2 É ¥ 2/inst/É LITO 3 É ¥ 3/2/inst/É PRIM S_tree/Read É ¥ target time/inst/É PRIM Timer/Get PAT É ¥ time now/target time/inst/É PRIM Timer/Compare É ¥ rslt/target time/inst/É BRFL branch if timeout complete PRIM Stack/Drop É ¥ inst/É LCAL reset É ¥ inst/É LITO 1 É ¥ 1/inst/É CALL 354064 É ¥ inst/É LITO 2 É ¥ 2/inst/É CALL 354065 BRTR PRIM Stack/Pop to aux É/target time ¥ inst/É LCAL send É ¥ inst/É PRIM Heap/Store self ESBR ESTR ESBR SGLB Logic/Delay Time /3v,-2000,2000,0.1,2000;Delay time in seconds:) LITO 2 LITO 2 CALL 354087 ESBR SGLB Logic/Get Delay Time /2v,-2000,2000;%4.1f seconds LITO 2 LITO 2 CALL 354086 ESBR SGLB Logic/Get Output /2e,error,false,true,timing (false) LITO 1 LITO 2 CALL 354086 ESBR ESTR LDEF Timer CMNT Sends a timer message CMNT Input: É ¥ inst/É CMNT Output: É ¥ inst/É LITO 2 É ¥ 2/inst/É LITO 2 É ¥ 2/2/inst/É PRIM S_tree/Read É ¥ secs/inst/É CMNT Implicit ordinal to value conversion occurs here! TIME 61.037 É ¥ k/secs/inst/É PRIM Stack/Swap É ¥ secs/k/inst/É PRIM Timer/Multiply É ¥ Æt/inst/É PRIM Timer/Get PAT É ¥ time/Æt/inst/É PRIM Timer/Add É ¥ target time/inst/É PRIM Stack/Pop to aux É/target time ¥ inst/É LITO 3 É/target time ¥ 3/inst/É PRIM S_tree/Get exact É/target time ¥ list/3/inst/É PRIM List/Behead É/target time ¥ state/list'/3/inst/É PRIM Stack/Xdrop É/target time ¥ state/3/inst/É BRFL branch if no pending timer PRIM Stack/Dup from aux É/target time ¥ target time/3/inst/É LCAL pback É/target time ¥ inst/É LCAL send É ¥ inst/É BRTR PRIM Stack/Push from aux É ¥ target time/3/inst/É LCAL pback É ¥ inst/É EDEF LDEF pback CMNT re-assembles the timer control entry (3) CMNT Input: É ¥ target time/3/inst/É CMNT Output: É ¥ inst/É PRIM List/Item to list É ¥ list/3/inst/É LITO 1 É ¥ state/list/3/inst/É PRIM List/Splice É ¥ list'/3/inst/É PRIM S_tree/Put É ¥ inst/É EDEF LDEF send CMNT Sends a timer message CMNT Input: É/time ¥ inst/É CMNT Output: É ¥ inst/É LIST É/target time ¥ list/inst/É GSYM Logic/Trigger ELST PRIM Heap/Name of self É/target time ¥ self/list/inst/É PRIM List/Splice É/target time ¥ list'/inst/É PRIM Tags/Set delegate É/target time ¥ list''/inst/É PRIM List/Item to list É/target time ¥ MSGE/inst/É PRIM Stack/Push from aux É ¥ target time/MSGE/inst/É PRIM List/Splice É ¥ message/inst/É PRIM Timer/Post event É ¥ inst/É EDEF LDEF reset CMNT Resets the timing state CMNT Input: É ¥ inst/É CMNT Output: É ¥ É LITO 0 É ¥ 0/inst/É LITO 1 É ¥ 1/0/inst/É LITO 3 É ¥ 3/1/0/inst/É PRIM S_tree/Replace É ¥ inst/É EDEF CMNT Note that this class contains a horrible KLUDGE CMNT There is no way to multiply a time by a value CMNT soÉa word size of 16 is assumedÉ CMNT Éand an implicit value to ordinal conversion occurs