STRE Prototype SGLB Misc/Class Reference CLAS 354575 Up Down Pot ESBR SORD 2 LITO 0 State: 0 - none, 1 - raise, 2 - lower, 3 - contention PVAL 0 /o,-100,100,-100,100;Delta (%) ESBR SORD 3 LVAL 0 setpoint TIME 2000.000 /o;Time Range (ms) PVAL 1 /o,-100,100,0,100;Time (% of Time Range) ESBR CMNT SORD 5 used by timer SGLB Output/#1 LCON /*+;Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 Object ESBR SGLB General/Initialize For internal class use only!! CMNT Expects: É ¥ inst/É LITO 5 É ¥ 5/inst/É CALL 354305 É ¥ inst/É PRIM Heap/Store self ESBR SGLB Timer/Timeout For internal class use only CMNT Expects: (handled by 'Timer/Receiver') CALL 354308 É/(time) ¥ ref/inst/É BRFL branch if no timeout PRIM Heap/Store self BRTR LCAL Send ESBR SGLB SignalP/Setpoint /3v7,-100,100,-100,100;Setpoint (%) LITO 1 CALL 354075 Method 3 Set ESBR SGLB SignalP/Get Setpoint /2v6,-100,100;%3.2f%% LITO 1 CALL 354074 Method 3 Get ESBR SGLB SignalP/Delta /3v7,-100,100,-100,100;Delta (%) LITO 2 CALL 354073 Method 2 Set ESBR SGLB SignalP/Get Delta /2v6,-100,100;%3.2f%% LITO 2 CALL 354072 Method 2 Get ESBR SGLB SignalP/Time /3v8,-100,100,0,100;Time (% of Time Range) LITO 3 CALL 354075 Method 3 Set ESBR SGLB SignalP/Get Time /2v6,-100,100;%3.2f%% LITO 3 CALL 354074 Method 3 Get ESBR SGLB SignalP/Raise /3t5,false,true;Raise input CMNT Expects: É ¥ inst/data/É LCAL Input ESBR SGLB SignalP/Lower /3t5,false,true;Lower input CMNT Expects: É ¥ inst/data/É PRIM Stack/Swap É ¥ data/inst/É LITO 2 É ¥ 2/data/inst/É PRIM Ordinal/Add É ¥ signal/inst/É PRIM Stack/Swap É ¥ inst/signal/É LCAL Input ESBR SGLB SignalP/Get State /2e,None, Raise, Lower,Contention LITO 1 CALL 354072 Method 2 Get ESBR ESTR LDEF Send CMNT Sends output and requeues timer CMNT Input: É/time ¥ inst/É CMNT Output: É ¥ inst/É LCAL Send1 É/PAT ¥ inst/delta/É LITO 3 É/time ¥ 3/inst/delta/É PRIM S_tree/Entry to stack É/time ¥ Time/range/setpoint/inst/delta/É PRIM Timer/Multiply É/time ¥ TimeÆ/setpoint/inst/delta/É PRIM Stack/Push from aux É ¥ time/TimeÆ/setpoint/inst/delta/É PRIM Timer/Add É ¥ PAT/setpoint/inst/delta/É PRIM Stack/Pop to aux É/PAT ¥ setpoint/inst/delta/É PRIM Stack/Rotate down É/PAT ¥ delta/setpoint/inst/É PRIM Value/Add É/PAT ¥ output/inst/É GSYM Output/#1 É/PAT ¥ #1/output/inst/É PRIM Misc/Send entry É/PAT ¥ inst/É PRIM Stack/Push from aux É ¥ PAT/inst/É LITO 5 É ¥ 5/PAT/inst/É CALL 354306 É ¥ inst/É PRIM Heap/Store self EDEF LDEF Send1 CMNT Given the current state, returns the appropriate delta CMNT Input: É/PAT ¥ inst/É CMNT Output: É/PAT ¥ inst/delta/É LITO 2 É ¥ 2/inst/É PRIM S_tree/Entry to stack É ¥ delta/state/inst/É PRIM Stack/Swap É ¥ state/delta/inst/É STRE SORD 1 PRIM Stack/Swap É ¥ inst/delta/É ESBR SORD 2 PRIM Value/Negate É ¥ -delta/inst/É PRIM Stack/Swap É ¥ inst/-delta/É ESBR ESTR EDEF LDEF Input CMNT Processes a new raise or lower input CMNT Input: É ¥ inst/signal/É CMNT Output: É ¥ É CMNT Signals: 0 - raise=0, 1 - raise=1, 2 - lower=0, 3 - lower=1 CALL 354063 É ¥ state/signal/inst/É STRE SORD 0 none STRE SORD 0 raise->0 PRIM Heap/Store self ESBR SORD 1 raise->1 LITO 1 É ¥ 1/inst/É LCAL Start É ¥ É ESBR SORD 2 lower->0 PRIM Heap/Store self ESBR SORD 3 lower->1 LITO 2 É ¥ 2/inst/É LCAL Start É ¥ É ESBR ESTR ESBR SORD 1 raise STRE SORD 0 raise->0 LITO 0 É ¥ 0/inst/É LCAL Stop ESBR SORD 1 raise->1 PRIM Heap/Store self ESBR SORD 2 lower->0 PRIM Heap/Store self ESBR SORD 3 lower->1 LITO 3 É ¥ 3/inst/É LCAL Stop ESBR ESTR ESBR SORD 2 lower STRE SORD 0 raise->0 PRIM Heap/Store self ESBR SORD 1 raise->1 LITO 3 É ¥ 3/inst/É LCAL Stop ESBR SORD 2 lower->0 LITO 0 É ¥ 0/inst/É LCAL Stop ESBR SORD 3 lower->1 PRIM Heap/Store self ESBR ESTR ESBR SORD 3 contention STRE SORD 0 raise->0 LITO 2 É ¥ 2/inst/É LCAL Start É ¥ É ESBR SORD 1 raise->1 PRIM Heap/Store self ESBR SORD 2 lower->0 LITO 1 É ¥ 1/inst/É LCAL Start É ¥ É ESBR SORD 3 lower->1 PRIM Heap/Store self ESBR ESTR ESBR ESTR EDEF LDEF Start CMNT Transition to a new active state CMNT Sends a new output, starts the timer, stores new state CMNT Input: É ¥ newState/inst/É CMNT Output: É ¥ É LITO 1 É ¥ 1/newState/inst/É LITO 2 É ¥ 2/1/newState/inst/É PRIM S_tree/Replace É ¥ inst/É PRIM Timer/Get PAT É ¥ PAT/inst/É PRIM Stack/Pop to aux É/PAT ¥ inst/É LCAL Send É ¥ É EDEF LDEF Stop CMNT Transition to a new inactive state CMNT Stops the timer, stores new state CMNT Input: É ¥ newState/inst/É CMNT Output: É ¥ É PRIM Stack/Swap É ¥ inst/newState/É LITO 5 É ¥ 5/inst/newState/É CALL 354286 É ¥ inst/newState/É PRIM Stack/Swap É ¥ newState/inst/É CALL 354065 É ¥ É EDEF