record(ao, "$(user):circle:step") { field(VAL , "1.0") field(DRVL, "0.0") field(DRVH, "359") field(PINI, "YES") } record(ao, "$(user):circle:period") { field(VAL , "1.0") field(PINI, "YES") field(OUT , "$(user):circle:tick.ODLY NPP") } record(calc, "$(user):circle:angle") { field(PINI, "RUNNING") # bootstrap field(INPA, "$(user):circle:angle NPP") field(INPB, "$(user):circle:step NPP") field(INPD, "360") field(DESC, "Angle") field(EGU , "deg") field(LOLO, "45") field(LOW , "135") field(HIGH, "225") field(HIHI, "315") field(LLSV, "MAJOR") field(LSV , "MINOR") field(HSV , "MINOR") field(HHSV, "MAJOR") field(CALC, "C:=A+B;(C>=D)?C-D:C") field(FLNK, "$(user):circle:x") field(PREC, "3") info(Q:group, { "$(user):circle":{"angle": {+channel:"VAL"}}, "$(user):line":{"a": {+channel:"VAL"}} }) alias("$(user):line:a") } record(calc, "$(user):circle:x") { field(INPA, "$(user):circle:angle NPP") field(CALC, "cos(A*PI/180)") field(TSEL, "$(user):circle:angle.TIME") field(FLNK, "$(user):circle:y") field(PREC, "3") info(Q:group, { "$(user):circle":{"x": {+channel:"VAL"}} }) } record(calc, "$(user):circle:y") { field(INPA, "$(user):circle:angle NPP") field(CALC, "sin(A*PI/180)") field(TSEL, "$(user):circle:angle.TIME") field(PREC, "3") field(FLNK, "$(user):line:b") info(Q:group, { "$(user):circle":{"y": {+channel:"VAL", +trigger:"*"}} }) } record(ai, "$(user):line:b") { field(INP, "$(user):line:a NPP") field(FLNK, "$(user):circle:tick") info(Q:group, { "$(user):line":{"b": {+channel:"VAL", +trigger:"*"}} }) } record(calcout, "$(user):circle:tick") { field(ODLY, "1.0") field(OUT , "$(user):circle:angle.PROC CA") # loop }