STRE SGLB Misc/Class Reference CLAS 354028 ESBR SORD 2 main data PORD 0 /t,Voltage,Current;Output type ESBR SORD 3 /e,,,,Input #1;Setup Parameters LITO 65 /o,1,10000,3.072;Sample Rate (ms) LITO 0 /o;Destination Slot LITO 0 /o;Destination Node (0 if none) ESBR SORD 4 /e,,,,,Input #2;Setup Parameters LITO 65 /o,1,10000,3.072;Sample Rate (ms) LITO 0 /o;Destination Slot LITO 0 /o;Destination Node (0 if none) ESBR SORD 5 /e,,,,,,Input #3;Setup Parameters LITO 65 /o,1,10000,3.072;Sample Rate (ms) LITO 0 /o;Destination Slot LITO 0 /o;Destination Node (0 if none) ESBR SORD 6 /e,,,,,,,Input #4;Setup Parameters LITO 65 /o,1,10000,3.072;Sample Rate (ms) LITO 0 /o;Destination Slot LITO 0 /o;Destination Node (0 if none) ESBR SORD 7 /e,,,,,,,,Input #5;Setup Parameters LITO 65 /o,1,10000,3.072;Sample Rate (ms) LITO 0 /o;Destination Slot LITO 0 /o;Destination Node (0 if none) ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize /1 LITO 6 initial count for Inputs LCAL Inputs initialize inputs LCAL Output ESBR SGLB Analog/Output /3v/-10,10,0,10;Ouput (0 - 10 Volts) ... PRIM Heap/Store self É ¥ arg/É PRIM Analog/SEND_ANLG_OUT ESBR SGLB Analog/Set Output Type /3t,Voltage,Current;Output type PRIM Stack/Swap data/inst/É LITO 1 output type index LITO 2 main data structure PRIM S_tree/Replace inst/É LCAL Output ESBR SGLB Analog/Set Output High Cal /3v/-10,10,0,10;Output High Cal ... CMNT expects: É ¥ inst/target/É LITO 0 É ¥ 0/inst/target/É PRIM Stack/Rotate down É ¥ target/0/inst/É ASIO Analog/SET_SLOPE É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #1 High Cal /3v/-10,10,0,10;Input #1 High Cal ... CMNT expects: É ¥ inst/target/É LITO 1 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/1/inst/É ASIO Analog/SET_SLOPE É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #2 High Cal /3v/-10,10,0,10;Input #2 High Cal ... CMNT expects: É ¥ inst/target/É LITO 2 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/2/inst/É ASIO Analog/SET_SLOPE É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #3 High Cal /3v/-10,10,0,10;Input #3 High Cal ... CMNT expects: É ¥ inst/target/É LITO 3 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/3/inst/É ASIO Analog/SET_SLOPE É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #4 High Cal /3v/-10,10,0,10;Input #4 High Cal ... CMNT expects: É ¥ inst/target/É LITO 4 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/4/inst/É ASIO Analog/SET_SLOPE É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #5 High Cal /3v/-10,10,0,10;Input #5 High Cal ... CMNT expects: É ¥ inst/target/É LITO 5 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/5/inst/É ASIO Analog/SET_SLOPE É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set Output Low Cal /3v/-10,10,0,10;Output Low Cal ... CMNT expects: É ¥ inst/target/É LITO 0 É ¥ 0/inst/target/É PRIM Stack/Rotate down É ¥ target/0/inst/É ASIO Analog/SET_INTERCEPT É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #1 Low Cal /3v/-10,10,0,10;Input #1 Low Cal ... CMNT expects: É ¥ inst/target/É LITO 1 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/1/inst/É ASIO Analog/SET_INTERCEPT É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #2 Low Cal /3v/-10,10,0,10;Input #2 Low Cal ... CMNT expects: É ¥ inst/target/É LITO 2 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/2/inst/É ASIO Analog/SET_INTERCEPT É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #3 Low Cal /3v/-10,10,0,10;Input #3 Low Cal ... CMNT expects: É ¥ inst/target/É LITO 3 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/3/inst/É ASIO Analog/SET_INTERCEPT É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #4 Low Cal /3v/-10,10,0,10;Input #4 Low Cal ... CMNT expects: É ¥ inst/target/É LITO 4 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/4/inst/É ASIO Analog/SET_INTERCEPT É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Set #5 Low Cal /3v/-10,10,0,10;Input #5 Low Cal ... CMNT expects: É ¥ inst/target/É LITO 5 É ¥ ch#/inst/target/É PRIM Stack/Rotate down É ¥ target/5/inst/É ASIO Analog/SET_INTERCEPT É ¥ inst/É PRIM Heap/Store self ESBR SGLB Analog/Get Input 1 /2v/-10,10;%1.4f Volts LITO 1 ASIO Analog/GET_ANLG_INPUT CALL 354056 ESBR SGLB Analog/Get Input 2 /2v/-10,10;%1.4f Volts LITO 2 ASIO Analog/GET_ANLG_INPUT CALL 354056 ESBR SGLB Analog/Get Input 3 /2v/-10,10;%1.4f Volts LITO 3 ASIO Analog/GET_ANLG_INPUT CALL 354056 ESBR SGLB Analog/Get Input 4 /2v/-10,10;%1.4f Volts LITO 4 ASIO Analog/GET_ANLG_INPUT CALL 354056 ESBR SGLB Analog/Get Input 5 /2v/-10,10;%1.4f Volts LITO 5 ASIO Analog/GET_ANLG_INPUT CALL 354056 ESBR SGLB Analog/Get Output /2v/-10,10;%1.4f Volts CMNT expects: É ¥ inst/route/É LITO 0 ASIO Analog/GET_ANLG_INPUT É ¥ setpoint/route/É CALL 354056 ESBR SGLB Analog/Get Output Type /2t,Voltage,Current LITO 1 output type index LITO 2 main data structure CALL 354086 ESBR SGLB Analog/Servo ICal /1 CMTL expects: É ¥ inst/É CMNT This method is designed for use with analog modules CMNT which are connected to SSD's analog calibration station. CMNT In general, it will not work otherwise. ECMT PRIM Heap/Store self É ¥ É LVAL 0.0499893 É ¥ .05/É (LoSetpoint) LVAL 0.239998 É ¥ .24/.05/É (LoRef/LoSP) LITO 1 É ¥ 1/.24/.05/É (LoRecalFlag/LoRef/LoSP) LITO 0 É ¥ 0/1/.24/.05/É (LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LVAL 0.749992 É ¥ .75/0/1/.24/.05/É (HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LVAL 0.800012 É ¥ .8/.75/0/1/.24/.05/É (HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LITO 1 É ¥ 1/.8/.75/0/1/.24/.05/É (HiRecalFlag/HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LITO 1 É ¥ 1/1/.8/.75/0/1/.24/.05/É (HiDataSetFlag/HiRecalFlag/HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LITO 20 É ¥ 20/1/1/.8/.75/0/1/.24/.05/É (LoopCount/HiDataSetFlag/HiRecalFlag/HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LCAL ServoLoop É ¥ rsltFlag/É (0 = failed; 1 = succeeded) PRIM Stack/Drop É ¥ É ESBR SGLB Analog/Servo VCal /1 CMTL expects: É ¥ inst/É CMNT This method is designed for use with analog modules CMNT which are connected to SSD's analog calibration station. CMNT In general, it will not work otherwise. ECMT PRIM Heap/Store self É ¥ É LVAL 0.0499893 É ¥ .05/É (LoSetpoint) LVAL 0.0499893 É ¥ .05/.05/É (LoRef/LoSP) LITO 1 É ¥ 1/.05/.05/É (LoRecalFlag/LoRef/LoSP) LITO 0 É ¥ 0/1/.05/.05/É (LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LVAL 0.950011 É ¥ .95/0/1/.05/.05/É (HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LVAL 0.950011 É ¥ .95/.95/0/1/.05/.05/É (HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LITO 1 É ¥ 1/.95/.95/0/1/.05/.05/É (HiRecalFlag/HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LITO 1 É ¥ 1/1/.95/.95/0/1/.05/.05/É (HiDataSetFlag/HiRecalFlag/HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LITO 20 É ¥ 20/1/1/.95/.95/0/1/.05/.05/É (LoopCount/HiDataSetFlag/HiRecalFlag/HiRef/HiSP/LoDataSetFlag/LoRecalFlag/LoRef/LoSP) LCAL ServoLoop É ¥ rsltFlag/É (0 = failed; 1 = succeeded) PRIM Stack/Drop É ¥ É ESBR ESTR LDEF Inputs count/inst/É CMNT on exit É ¥ inst/É PRIM Ordinal/Decrement channel #/inst/É PRIM Stack/Dup to aux É/channel # ¥ channel #/inst/É BRFL branch if done (channel # == 0) PRIM Stack/Drop from aux É ¥ inst/É BRTR LITO 0 get all of list PRIM Stack/Dup from aux É/channel # ¥ channel #/0/inst/É LITO 2 PRIM Ordinal/Add É/channel # ¥ info index/0/inst/É PRIM S_tree/Read É/channel # ¥ list/inst/É PRIM Stack/Dup from aux É/channel # ¥ channel #/list/inst/É PRIM Stack/Swap É/channel # ¥ list/channel #/inst/É PRIM List/Remove É/channel # ¥ list/count/channel #/inst/É PRIM List/Remove É/channel # ¥ list/slot/count/channel #/inst/É PRIM List/List to item É/channel # ¥ node/slot/count/channel #/inst/É ASIO Analog/SET_INPUT_TC É/channel # ¥ inst/É PRIM Stack/Push from aux É ¥ channel #/inst/É LCAL Inputs EDEF LDEF Output LITO 1 output type index LITO 2 main data structure PRIM S_tree/Read É ¥ output type/inst/É ASIO Analog/ANLG_OP_TYPE É ¥ inst/É PRIM Heap/Store self EDEF LDEF delay CMNT waits for 0.5 seconds PRIM Timer/Get PAT É ¥ time_now/É TIME 500.000 É ¥ 0.5s/time_now/É PRIM Timer/Add É ¥ time_target/É LCAL loop É ¥ É EDEF LDEF loop CMNT delay loop PRIM Timer/Get PAT É ¥ time_now/time_target/É PRIM Timer/Compare É ¥ rslt/time_target/É BRFL branch if done PRIM Stack/Drop É ¥ É BRTR LCAL loop EDEF LDEF delay2 CMNT waits for 0.1 seconds PRIM Timer/Get PAT É ¥ time_now/É TIME 100.000 É ¥ 0.1s/time_now/É PRIM Timer/Add É ¥ time_target/É LCAL loop É ¥ É EDEF LDEF ServoLoop CMNT expects: É ¥ LoopCount/DataSetFlag/RecalFlag/Ref/SP/DataSetFlag/RecalFlag/Ref/SP/É CMNT abbrev.: É ¥ LC/1DF/1RF/1Ref/1SP/2DF/2RF/2Ref/2SP/É CMTL More info: CMNT This code works by repeatedly calibrating the analog output CMNT based on four data values (given as LoRef, LoSetpoint, HiRef, HiSetpoint) CMNT which give the desired relationship for output setpoint and CMNT output measured value at two different points along a line. CMNT It is designed to be used with ServoVCal and ServoICal CMNT and an analog module connected to SSD's calibration station. ECMT PRIM Ordinal/Decrement É ¥ LC-1/1DF/1RF/1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Duplicate É ¥ LC-1/LC-1/1DF/1RF/1Ref/1SP/2DF/2RF/2Ref/2SP/É BRFL É ¥ LC-1/1DF/1RF/1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Drop É ¥ HDF/HRF/HiRef/HiSP/LDF/LRF/LoRef/LoSP/É PRIM Stack/Drop É ¥ HRF/HiRef/HiSP/LDF/LRF/LoRef/LoSP/É PRIM Stack/Drop É ¥ HiRef/HiSP/LDF/LRF/LoRef/LoSP/É PRIM Stack/Drop É ¥ HiSP/LDF/LRF/LoRef/LoSP/É PRIM Stack/Drop É ¥ LDF/LRF/LoRef/LoSP/É PRIM Stack/Drop É ¥ LRF/LoRef/LoSP/É PRIM Stack/Drop É ¥ LoRef/LoSP/É PRIM Stack/Drop É ¥ LoSP/É PRIM Stack/Drop É ¥ É LITO 0 É ¥ rsltFlag/É (0 = unsuccessful calibration) BRTR PRIM Stack/Pop to aux É/LC-1 ¥ 1DF/1RF/1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF ¥ 1RF/1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF ¥ 1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Over É/LC-1/1DF/1RF ¥ 1SP/1Ref/1SP/2DF/2RF/2Ref/2SP/É ASIO Analog/SEND_ANLG_OUT É/LC-1/1DF/1RF ¥ 1Ref/1SP/2DF/2RF/2Ref/2SP/É LCAL delay3 (wait for 1.0 seconds) PRIM Stack/Dup to aux É/LC-1/1DF/1RF/1Ref ¥ 1Ref/1SP/2DF/2RF/2Ref/2SP/É LITO 1 É/LC-1/1DF/1RF/1Ref ¥ 1/1Ref/1SP/2DF/2RF/2Ref/2SP/É ASIO Analog/GET_ANLG_INPUT É/LC-1/1DF/1RF/1Ref ¥ feedback/1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Dup to aux É/LC-1/1DF/1RF/1Ref/fb ¥ fb/1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Value/Difference É/LC-1/1DF/1RF/1Ref/fb ¥ fb-1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Value/Absolute É/LC-1/1DF/1RF/1Ref/fb ¥ |fb-1Ref|/1SP/2DF/2RF/2Ref/2SP/É GSYM Value/zero É/LC-1/1DF/1RF/1Ref/fb ¥ zero/|fb-1Ref|/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref/fb ¥ |fb-1Ref|/zero/1SP/2DF/2RF/2Ref/2SP/É PRIM Value/Compare É/LC-1/1DF/1RF/1Ref/fb ¥ rslt/zero/1SP/2DF/2RF/2Ref/2SP/É (rslt = 0 for fb ­ ref) PRIM Stack/Xdrop É/LC-1/1DF/1RF/1Ref/fb ¥ rslt/1SP/2DF/2RF/2Ref/2SP/É BRFL É/LC-1/1DF/1RF/1Ref/fb ¥ 1SP/2DF/2RF/2Ref/2SP/É (branch if fb ­ ref) CMNT branch taken if fb ­ ref; recal flag will be set by SetCal PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref ¥ fb/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref ¥ 1SP/fb/2DF/2RF/2Ref/2SP/É PRIM Stack/Dup down É/LC-1/1DF/1RF/1Ref ¥ 1SP/fb/1SP/2DF/2RF/2Ref/2SP/É PRIM Value/Multiply É/LC-1/1DF/1RF/1Ref ¥ 1SP*fb/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Dup from aux É/LC-1/1DF/1RF/1Ref ¥ 1Ref/1SP*fb/1SP/2DF/2RF/2Ref/2SP/É PRIM Value/Divide É/LC-1/1DF/1RF/1Ref ¥ 1SP*fbÖ1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref ¥ 1SP/ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref/1SP ¥ ScaledSP/2DF/2RF/2Ref/2SP/É LCAL SetCal É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/2RF/2Ref/2SP/É LCAL SetSwap É ¥ LC-1/2DF/2RF/2Ref/2SP/1DF/1RF/1Ref/1SP/É (activates inactive data point) LCAL ServoLoop BRTR CMNT branch not taken if fb = ref; clear active recal flag PRIM Stack/Drop from aux É/LC-1/1DF/1RF/1Ref ¥ 1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF ¥ 1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Drop from aux É/LC-1/1DF ¥ 1Ref/1SP/2DF/2RF/2Ref/2SP/É LITO 0 É/LC-1/1DF ¥ 0/1Ref/1SP/2DF/2RF/2Ref/2SP/É (clear active recal flag) PRIM Stack/Pop to aux É/LC-1/1DF/1RF ¥ 1Ref/1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref ¥ 1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Rotate down É/LC-1/1DF/1RF/1Ref ¥ 2RF/1SP/2DF/2Ref/2SP/É PRIM Stack/Dup to aux É/LC-1/1DF/1RF/1Ref/2RF ¥ 2RF/1SP/2DF/2Ref/2SP/É PRIM Stack/Rotate up É/LC-1/1DF/1RF/1Ref/2RF ¥ 1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref ¥ 2RF/1SP/2DF/2RF/2Ref/2SP/É BRFL É/LC-1/1DF/1RF/1Ref ¥ 1SP/2DF/2RF/2Ref/2SP/É CMNT branch taken if both recal flags are clear indicating successful calibration PRIM Stack/Drop É/LC-1/1DF/1RF/1Ref ¥ 2DF/2RF/2Ref/2SP/É PRIM Stack/Drop É/LC-1/1DF/1RF/1Ref ¥ 2RF/2Ref/2SP/É PRIM Stack/Drop É/LC-1/1DF/1RF/1Ref ¥ 2Ref/2SP/É PRIM Stack/Drop É/LC-1/1DF/1RF/1Ref ¥ 2SP/É PRIM Stack/Drop É/LC-1/1DF/1RF/1Ref ¥ É PRIM Stack/Drop from aux É/LC-1/1DF/1RF ¥ É PRIM Stack/Drop from aux É/LC-1/1DF ¥ É PRIM Stack/Drop from aux É/LC-1 ¥ É PRIM Stack/Drop from aux É ¥ É LITO 1 É ¥ rsltFlag/É (1 = successful calibration) BRTR CMNT branch not taken if inactive recal flag is set CMNT indicating that inactive data point must be cal'ed PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/2RF/2Ref/2SP/É LCAL SetSwap É ¥ LC-1/2DF/2RF/2Ref/2SP/1DF/1RF/1Ref/1SP/É (activates inactive data point) LCAL ServoLoop EDEF LDEF SetCal CMTL expects: É/LC-1/1DF/1RF/1Ref/1SP ¥ ScaledSP/2DF/2RF/2Ref/2SP/É CMNT Aux Stack holds active data; Eval Stack holds inactive data CMNT If 1DF = 0 then 2DF = 1 and Set Intercept is required CMNT If 1DF = 1 then 2DF = 0 and Set Slope is required ECMT CMNT Makes call to Set Slope or Set Intercept based on Hi/Lo data flag CMNT using ScaledSP as target; also sets recal flag for active data set PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref ¥ 1SP/ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF ¥ 1Ref/1SP/ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Drop from aux É/LC-1/1DF ¥ 1Ref/1SP/ScaledSP/2DF/2RF/2Ref/2SP/É LITO 1 É/LC-1/1DF ¥ 1/1Ref/1SP/ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF ¥ 1Ref/1SP/ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref ¥ 1SP/ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref/1SP ¥ ScaledSP/2DF/2RF/2Ref/2SP/É PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/ScaledSP/2RF/2Ref/2SP/É LITO 0 É/LC-1/1DF/1RF/1Ref/1SP ¥ 0/2DF/ScaledSP/2RF/2Ref/2SP/É (0 is channel number for output calibration) PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/ch#/ScaledSP/2RF/2Ref/2SP/É PRIM Stack/Duplicate É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/2DF/ch#/ScaledSP/2RF/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref/1SP/2DF ¥ 2DF/ch#/ScaledSP/2RF/2Ref/2SP/É BRFL É/LC-1/1DF/1RF/1Ref/1SP/2DF ¥ ch#/ScaledSP/2RF/2Ref/2SP/É (branch if 2DF = 0; do Set Slope) PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref/1SP/2DF ¥ ScaledSP/ch#/2RF/2Ref/2SP/É ASIO Analog/SET_SLOPE É/LC-1/1DF/1RF/1Ref/1SP/2DF ¥ 2RF/2Ref/2SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/2RF/2Ref/2SP/É BRTR PRIM Stack/Swap É/LC-1/1DF/1RF/1Ref/1SP/2DF ¥ ScaledSP/ch#/2RF/2Ref/2SP/É ASIO Analog/SET_INTERCEPT É/LC-1/1DF/1RF/1Ref/1SP/2DF ¥ 2RF/2Ref/2SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/2RF/2Ref/2SP/É EDEF LDEF SetSwap CMNT expects: É/LC-1/1DF/1RF/1Ref/1SP ¥ 2DF/2RF/2Ref/2SP/É CMNT returns: É ¥ LC-1/2DF/2RF/2Ref/2SP/1DF/1RF/1Ref/1SP/É CMNT Exchanges active and inactive data sets; also sets up stack frame CMNT for tail recursive call to ServoLoop. PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref ¥ 1SP/2DF/2RF/2Ref/2SP/É PRIM Stack/Rotate up ....É/LC-1/1DF/1RF/1Ref ¥ 2DF/2RF/1SP/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref/2DF ¥ 2RF/1SP/2Ref/2SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/1Ref/2DF/2RF ¥ 1SP/2Ref/2SP/É PRIM Stack/Rotate up ....É/LC-1/1DF/1RF/1Ref/2DF/2RF ¥ 2Ref/2SP/1SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref/2DF ¥ 2RF/2Ref/2SP/1SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF/1Ref ¥ 2DF/2RF/2Ref/2SP/1SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF ¥ 1Ref/2DF/2RF/2Ref/2SP/1SP/É PRIM Stack/Rotate up ....É/LC-1/1DF/1RF ¥ 2DF/2RF/1Ref/2Ref/2SP/1SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/2DF ¥ 2RF/1Ref/2Ref/2SP/1SP/É PRIM Stack/Pop to aux É/LC-1/1DF/1RF/2DF/2RF ¥ 1Ref/2Ref/2SP/1SP/É PRIM Stack/Rotate up ....É/LC-1/1DF/1RF/2DF/2RF ¥ 2Ref/2SP/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF/2DF ¥ 2RF/2Ref/2SP/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1/1DF/1RF ¥ 2DF/2RF/2Ref/2SP/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1/1DF ¥ 1RF/2DF/2RF/2Ref/2SP/1Ref/1SP/É PRIM Stack/Rotate up ....É/LC-1/1DF ¥ 2DF/2RF/1RF/2Ref/2SP/1Ref/1SP/É PRIM Stack/Pop to aux É/LC-1/1DF/2DF ¥ 2RF/1RF/2Ref/2SP/1Ref/1SP/É PRIM Stack/Pop to aux É/LC-1/1DF/2DF/2RF ¥ 1RF/2Ref/2SP/1Ref/1SP/É PRIM Stack/Rotate up ....É/LC-1/1DF/2DF/2RF ¥ 2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1/1DF/2DF ¥ 2RF/2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1/1DF ¥ 2DF/2RF/2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1 ¥ 1DF/2DF/2RF/2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Rotate up ....É/LC-1 ¥ 2DF/2RF/1DF/2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Pop to aux É/LC-1/2DF ¥ 2RF/1DF/2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Pop to aux É/LC-1/2DF/2RF ¥ 1DF/2Ref/2SP/1RF/1Ref/1SP/É PRIM Stack/Rotate up ....É/LC-1/2DF/2RF ¥ 2Ref/2SP/1DF/1RF/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1/2DF ¥ 2RF/2Ref/2SP/1DF/1RF/1Ref/1SP/É PRIM Stack/Push from aux É/LC-1 ¥ 2DF/2RF/2Ref/2SP/1DF/1RF/1Ref/1SP/É PRIM Stack/Push from aux É ¥ LC-1/2DF/2RF/2Ref/2SP/1DF/1RF/1Ref/1SP/É EDEF LDEF delay3 CMNT waits for 1.0 seconds PRIM Timer/Get PAT É ¥ time_now/É TIME 1000.000 É ¥ 1.0s/time_now/É PRIM Timer/Add É ¥ time_target/É LCAL loop É ¥ É EDEF