db/LakeShore331.db
changeset 0 77d8eafe2a07
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/LakeShore331.db	Thu Mar 07 09:23:26 2019 +0100
@@ -0,0 +1,487 @@
+record (stringin, "$(P)LS331:$(Q):IDN") {
+  field(DTYP, "stream")
+  field(INP, "@LK331.proto getIDN $(PORT)")
+}
+
+record(stringin, "$(P)LS331:$(Q):serial") {
+  field(DTYP, "stream")
+  field(INP, "@LK331.proto getSERIAL $(PORT)")
+}
+
+record(stringin, "$(P)LS331:$(Q):model") {
+  field(DTYP, "stream")
+  field(INP, "@LK331.proto getSERIAL $(PORT)")
+}
+
+
+grecord(dfanout,"$(P)LS331:$(Q):Init") {
+	field(SCAN,"1 second")
+	field(OUTA,"$(P)LS331:$(Q):Input_sel.PROC  PP NMS")
+	field(OUTB,"$(P)LS331:$(Q):Units_sel.PROC  PP NMS")
+	field(OUTC,"$(P)LS331:$(Q):HeatRg.PROC  PP NMS")
+	field(OUTD,"$(P)LS331:$(Q):Gain_set.PROC  PP NMS")
+	field(OUTE,"$(P)LS331:$(Q):Rset_set.PROC  PP NMS")
+	field(OUTF,"$(P)LS331:$(Q):Rate_set.PROC  PP NMS")
+	field(OUTG,"$(P)LS331:$(Q):RampR_set.PROC  PP NMS")
+	field(OUTH,"$(P)LS331:$(Q):InitB.PROC  PP NMS")
+}
+
+grecord(dfanout,"$(P)LS331:$(Q):InitB") {
+	field(SCAN,"Passive")
+	field(OUTA,"$(P)LS331:$(Q):Ramp_on.PROC  PP NMS")
+	field(OUTB,"$(P)LS331:$(Q):wr_SP.PROC  PP NMS")
+	field(OUTC,"$(P)LS331:$(Q):read.PROC  PP NMS")
+	field(OUTD,"$(P)LS331:$(Q):readPID.PROC  PP NMS")
+	field(OUTE,"$(P)LS331:$(Q):Init.SCAN CA NMS")
+}
+
+record(ao, "$(P)LS331:$(Q):Rset_set") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):setRset.VAL  PP MS")
+  field(PREC, "0")
+}
+
+record(ao, "$(P)LS331:$(Q):Rate_set") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):setRate.VAL  PP MS")
+  field(PREC, "0")
+}
+
+record(ao, "$(P)LS331:$(Q):RampR_set") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):setRamp.VAL  PP MS")
+  field(PREC, "1")
+}
+
+record(ao, "$(P)LS331:$(Q):wr_SP") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):SP_scalc.VAL  PP MS")
+  field(PREC, "3")
+}
+
+record(ao, "$(P)LS331:$(Q):Gain_set") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):setGain.VAL  PP MS")
+  field(PREC, "0")
+}
+
+record(mbbi, "$(P)LS331:$(Q):Rg_rdbk") {
+  field(DTYP, "Soft Channel")
+  field(INP, "$(P)LS331:$(Q):Range.VAL  NPP MS")
+  field(ZRST, "OFF")
+  field(ONST, "100 mA")
+  field(TWST, "300 mA")
+  field(THST, "1 A")
+}
+
+record(mbbi, "$(P)LS331:$(Q):Ramp_state") {
+  field(DTYP, "Soft Channel")
+  field(INP, "$(P)LS331:$(Q):Ramp_scalc.VAL  NPP MS")
+  field(ZRST, "OFF")
+  field(ONST, "ON")
+}
+
+record(mbbo, "$(P)LS331:$(Q):Input_sel") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):SetCtl.VAL  NPP MS")
+  field(ZRVL, "0")
+  field(ONVL, "1")
+  field(TWVL, "0")
+  field(THVL, "0")
+  field(ZRST, "A")
+  field(ONST, "B")
+}
+
+record(mbbo, "$(P)LS331:$(Q):Units_sel") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):SetCtl.VAL  NPP MS")
+  field(ZRVL, "1")
+  field(ONVL, "2")
+  field(TWVL, "0")
+  field(THVL, "0")
+  field(ZRST, "K")
+  field(ONST, "C")
+}
+
+record(mbbo, "$(P)LS331:$(Q):HeatRg") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):SetHeat.VAL  PP MS")
+  field(ZRVL, "0")
+  field(ONVL, "1")
+  field(TWVL, "2")
+  field(THVL, "3")
+  field(FRVL, "0")
+  field(FVVL, "0")
+  field(ZRST, "OFF")
+  field(ONST, "100 mA")
+  field(TWST, "300 mA")
+  field(THST, "1 A")
+}
+
+record(mbbo, "$(P)LS331:$(Q):Ramp_on") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "$(P)LS331:$(Q):setRamp.PROC  PP MS")
+  field(ZRVL, "0")
+  field(ONVL, "1")
+  field(TWVL, "0")
+  field(THVL, "0")
+  field(ZRST, "OFF")
+  field(ONST, "ON")
+}
+
+record(seq, "$(P)LS331:$(Q):readPID") {
+  field(PREC, "1")
+  field(DLY1, ".05")
+  field(LNK1, "$(P)LS331:$(Q):rd_Gain.PROC  PP MS")
+  field(DLY2, ".05")
+  field(LNK2, "$(P)LS331:$(Q):rd_Rset.PROC  PP MS")
+  field(DLY3, ".05")
+  field(LNK3, "$(P)LS331:$(Q):rd_Rate.PROC  PP MS")
+  field(DLY4, ".05")
+  field(LNK4, "$(P)LS331:$(Q):rd_Ramp.PROC  PP MS")
+}
+
+record(seq, "$(P)LS331:$(Q):read") {
+  field(PREC, "1")
+  field(DLY1, ".05")
+  field(LNK1, "$(P)LS331:$(Q):readCtl.PROC  PP MS")
+  field(DLY2, ".05")
+  field(LNK2, "$(P)LS331:$(Q):rd_rdat_scalc.PROC  PP MS")
+  field(DLY3, ".05")
+  field(LNK3, "$(P)LS331:$(Q):rd_SplA_scalc.PROC  PP MS")
+  field(DLY4, ".05")
+  field(LNK4, "$(P)LS331:$(Q):rd_SplB_scalc.PROC  PP MS")
+  field(DLY5, ".05")
+  field(LNK5, "$(P)LS331:$(Q):rd_Heater.PROC  PP MS")
+  field(DLY6, ".05")
+  field(LNK6, "$(P)LS331:$(Q):readSP.PROC  PP MS")
+}
+
+record(stringout, "$(P)LS331:$(Q):rd_Rset") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "0")
+  field(VAL, "RSET?")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Rset.AOUT  PP MS")
+}
+
+record(stringout, "$(P)LS331:$(Q):rd_Rate") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "0")
+  field(VAL, "RATE?")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Rate.AOUT  PP MS")
+}
+
+record(stringout, "$(P)LS331:$(Q):rd_Ramp") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "0")
+  field(VAL, "RAMP?")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Ramp.AOUT  PP MS")
+}
+
+record(stringout, "$(P)LS331:$(Q):readSP") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "0")
+  field(VAL, "SETP?")
+  field(OUT, "$(P)LS331:$(Q):rd_SP.AOUT  PP MS")
+}
+
+record(stringout, "$(P)LS331:$(Q):rd_Gain") {
+  field(DTYP, "Soft Channel")
+  field(FLNK, "0")
+  field(VAL, "GAIN?")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Gain.AOUT  PP MS")
+}
+
+record(asyn, "$(P)LS331:$(Q):wr_rd_Rset") {
+  field(FLNK, "$(P)LS331:$(Q):I.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):wr_rd_Rate") {
+  field(FLNK, "$(P)LS331:$(Q):D.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):wr_rd_Gain") {
+  field(FLNK, "$(P)LS331:$(Q):P.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):rd_Ctl") {
+  field(FLNK, "$(P)LS331:$(Q):Control.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):rd_CtlParms") {
+  field(FLNK, "$(P)LS331:$(Q):CtlInput.PROC  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):rd_Heater") {
+  field(FLNK, "$(P)LS331:$(Q):Heater.VAL  PP MS")
+  field(PORT, "$(PORT)")
+  field(AOUT, "HTR?")
+}
+
+record(asyn, "$(P)LS331:$(Q):write_SP") {
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):rd_SP") {
+  field(FLNK, "$(P)LS331:$(Q):SP.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):rd_Spl_a") {
+  field(FLNK, "$(P)LS331:$(Q):SampleA.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):rd_Spl_b") {
+  field(FLNK, "$(P)LS331:$(Q):SampleB.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):wr_rd_Htr") {
+  field(FLNK, "$(P)LS331:$(Q):Range.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(asyn, "$(P)LS331:$(Q):wr_rd_Ramp") {
+  field(FLNK, "$(P)LS331:$(Q):Ramp_scalc.VAL  PP MS")
+  field(PORT, "$(PORT)")
+}
+
+record(scalcout, "$(P)LS331:$(Q):setRset") {
+  field(DESC, "Format string for PID input")
+  field(CALC, "$P('RSET %d;RSET?',A)")
+  field(INPA, "$(P)LS331:$(Q):Rset_set.VAL  NPP MS")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Rset.AOUT  PP MS")
+  field(PREC, "1")
+}
+
+record(scalcout, "$(P)LS331:$(Q):setRate") {
+  field(DESC, "Format string for PID input")
+  field(CALC, "$P('RATE %d;RATE?',A)")
+  field(INPA, "$(P)LS331:$(Q):Rate_set.VAL  NPP MS")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Rate.AOUT  PP MS")
+  field(PREC, "1")
+}
+
+record(scalcout, "$(P)LS331:$(Q):setGain") {
+  field(DESC, "Format string for PID input")
+  field(CALC, "$P('GAIN %d;GAIN?',A)")
+  field(INPA, "$(P)LS331:$(Q):Gain_set.VAL  NPP MS")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Gain.AOUT  PP MS")
+  field(PREC, "1")
+}
+
+record(scalcout, "$(P)LS331:$(Q):Ramp_scalc") {
+  field(FLNK, "$(P)LS331:$(Q):RampR.PROC  PP MS")
+  field(CALC, "INT(AA)")
+  field(INAA, "$(P)LS331:$(Q):wr_rd_Ramp.AINP  NPP MS")
+  field(PREC, "1")
+}
+record(scalcout, "$(P)LS331:$(Q):RampR") {
+  field(FLNK, "$(P)LS331:$(Q):Ramp_state.PROC  PP MS")
+  field(CALC, "SSCANF(AA,'%s')[2,10]")
+  field(INAA, "$(P)LS331:$(Q):wr_rd_Ramp.AINP  NPP MS")
+  field(PREC, "1")
+}
+
+record(scalcout, "$(P)LS331:$(Q):P") {
+  field(CALC, "INT(AA)")
+  field(INAA, "$(P)LS331:$(Q):wr_rd_Gain.AINP  NPP MS")
+  field(PREC, "0")
+}
+
+record(scalcout, "$(P)LS331:$(Q):I") {
+  field(CALC, "INT(AA)")
+  field(INAA, "$(P)LS331:$(Q):wr_rd_Rset.AINP  NPP MS")
+  field(PREC, "0")
+}
+
+record(scalcout, "$(P)LS331:$(Q):D") {
+  field(CALC, "INT(AA)")
+  field(INAA, "$(P)LS331:$(Q):wr_rd_Rate.AINP  NPP MS")
+  field(PREC, "0")
+}
+
+record(scalcout, "$(P)LS331:$(Q):Control") {
+  field(DESC, "Format string for Ctl query")
+  field(CALC, "DBL(AA)")
+  field(INAA, "$(P)LS331:$(Q):rd_Ctl.AINP  NPP MS")
+  field(INEE, "0")
+  field(PREC, "3")
+}
+
+record(scalcout, "$(P)LS331:$(Q):Heater") {
+  field(DESC, "Format string for Ctl query")
+  field(CALC, "DBL(AA)")
+  field(INAA, "$(P)LS331:$(Q):rd_Heater.AINP  NPP MS")
+  field(INEE, "0")
+  field(PREC, "0")
+}
+
+record(scalcout, "$(P)LS331:$(Q):Range") {
+  field(DESC, "Format string for Ctl query")
+  field(FLNK, "$(P)LS331:$(Q):Rg_rdbk.PROC  PP MS")
+  field(CALC, "INT(AA)")
+  field(INAA, "$(P)LS331:$(Q):wr_rd_Htr.AINP  NPP MS")
+  field(INEE, "0")
+  field(PREC, "2")
+}
+
+record(scalcout, "$(P)LS331:$(Q):SP") {
+  field(DESC, "Format string for Ctl query")
+  field(CALC, "DBL(AA)")
+  field(INAA, "$(P)LS331:$(Q):rd_SP.AINP  NPP MS")
+  field(INEE, "0")
+  field(PREC, "3")
+}
+
+record(scalcout, "$(P)LS331:$(Q):SP_scalc") {
+  field(DESC, "Format string for Ctl query")
+  field(FLNK, "$(P)LS331:$(Q):readSP.PROC  PP MS")
+  field(CALC, "$P('SETP 1,%6.3f',A)")
+  field(INPA, "$(P)LS331:$(Q):wr_SP.VAL  NPP MS")
+  field(INEE, "0")
+  field(OUT, "$(P)LS331:$(Q):write_SP.AOUT  PP MS")
+  field(PREC, "3")
+}
+
+record(scalcout, "$(P)LS331:$(Q):SampleA") {
+  field(DESC, "Convt str fror SplA query")
+  field(CALC, "DBL(AA)")
+  field(INAA, "$(P)LS331:$(Q):rd_Spl_a.AINP  PP MS")
+  field(INEE, "0")
+  field(PREC, "3")
+}
+
+record(scalcout, "$(P)LS331:$(Q):SampleB") {
+  field(DESC, "Convrt str from SplB query")
+  field(CALC, "DBL(AA)")
+  field(INAA, "$(P)LS331:$(Q):rd_Spl_b.AINP  PP MS")
+  field(INEE, "0")
+  field(PREC, "3")
+}
+
+record(scalcout, "$(P)LS331:$(Q):CtlInput") {
+  field(DESC, "Parse string for Ctl Input")
+  field(FLNK, "$(P)LS331:$(Q):CtlUnits.PROC  PP MS")
+  field(CALC, "SSCANF(AA,'%s')[0,0]")
+  field(INAA, "$(P)LS331:$(Q):rd_CtlParms.AINP  NPP MS")
+  field(PREC, "1")
+  field(AA, "A")
+}
+
+record(scalcout, "$(P)LS331:$(Q):CtlUnits") {
+  field(DESC, "Parse string for Ctl Unit")
+  field(FLNK, "$(P)LS331:$(Q):CtlUnits_str.PROC  PP MS")
+  field(CALC, "INT(SSCANF(AA,'%s')[2,2])")
+  field(INAA, "$(P)LS331:$(Q):rd_CtlParms.AINP  NPP MS")
+  field(PREC, "1")
+  field(AA, "A,2")
+}
+
+record(scalcout, "$(P)LS331:$(Q):CtlUnits_str") {
+  field(DESC, "Make Ctl Input string")
+  field(CALC, "A=1?BB:CC")
+  field(INPA, "$(P)LS331:$(Q):CtlUnits.VAL  NPP MS")
+  field(PREC, "1")
+  field(A, "1")
+  field(BB, "K")
+  field(CC, "C")
+}
+
+record(scalcout, "$(P)LS331:$(Q):SetCtl") {
+  field(DESC, "Format string for Ctl Set")
+  field(FLNK, "$(P)LS331:$(Q):read.PROC  PP MS")
+  field(CALC, "AA+(B?FF:EE)+','+STR(C)[0,0]+DD")
+  field(INAA, "")
+  field(INBB, "$(P)LS331:$(Q):Input_sel.VAL  PP MS")
+  field(INPB, "$(P)LS331:$(Q):Input_sel.VAL  PP MS")
+  field(INPC, "$(P)LS331:$(Q):Units_sel.RVAL  PP MS")
+  field(INDD, "")
+  field(OUT, "$(P)LS331:$(Q):rd_CtlParms.AOUT  PP MS")
+  field(PREC, "1")
+  field(AA, "CSET 1,")
+  field(BB, "A")
+  field(B, "0")
+  field(C, "1")
+  field(DD, ",0,1;CSET?")
+  field(EE, "A")
+  field(FF, "B")
+}
+
+record(scalcout, "$(P)LS331:$(Q):readCtl") {
+  field(DESC, "Format string for Ctl query")
+  field(CALC, "AA")
+  field(INAA, "0")
+  field(OUT, "$(P)LS331:$(Q):rd_CtlParms.AOUT  PP MS")
+  field(PREC, "1")
+  field(AA, "CSET?")
+}
+
+record(scalcout, "$(P)LS331:$(Q):SetHeat") {
+  field(CALC, "AA+BB+CC")
+  field(INAA, "0")
+  field(INBB, "$(P)LS331:$(Q):HeatRg.RVAL  NPP MS")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Htr.AOUT  PP MS")
+  field(PREC, "1")
+  field(AA, "RANGE ")
+  field(BB, "0")
+  field(CC, ";RANGE?")
+}
+
+record(scalcout, "$(P)LS331:$(Q):rd_SplA_scalc") {
+  field(DESC, "Format str for A query")
+  field(CALC, "AA+BB")
+  field(INAA, "$(P)LS331:$(Q):CtlUnits_str.SVAL  PP MS")
+  field(INBB, "0")
+  field(OUT, "$(P)LS331:$(Q):rd_Spl_a.AOUT  PP MS")
+  field(PREC, "1")
+  field(AA, "K")
+  field(BB, "RDG? A")
+}
+
+record(scalcout, "$(P)LS331:$(Q):rd_SplB_scalc") {
+  field(DESC, "Format str for B query")
+  field(CALC, "AA+BB")
+  field(INAA, "$(P)LS331:$(Q):CtlUnits_str.SVAL  PP MS")
+  field(INBB, "0")
+  field(OUT, "$(P)LS331:$(Q):rd_Spl_b.AOUT  PP MS")
+  field(PREC, "1")
+  field(AA, "K")
+  field(BB, "RDG? B")
+}
+
+record(scalcout, "$(P)LS331:$(Q):rd_rdat_scalc") {
+  field(DESC, "Format str for rd query")
+  field(CALC, "A=2?EE+BB+CC:DD+BB+CC")
+  field(INPA, "$(P)LS331:$(Q):CtlUnits.VAL  NPP MS")
+  field(INBB, "0")
+  field(INCC, "$(P)LS331:$(Q):CtlInput.SVAL  NPP MS")
+  field(INDD, "0")
+  field(INEE, "0")
+  field(OUT, "$(P)LS331:$(Q):rd_Ctl.AOUT  PP MS")
+  field(PREC, "1")
+  field(A, "1")
+  field(BB, "RDG? ")
+  field(DD, "K")
+  field(EE, "C")
+}
+
+record(scalcout, "$(P)LS331:$(Q):setRamp") {
+  field(DESC, "Format string for PID input")
+  field(CALC, "AA+$P('%d',A)+','+$P('%5.1f',B)+BB")
+  field(INPA, "$(P)LS331:$(Q):Ramp_on.RVAL  NPP MS")
+  field(INPB, "$(P)LS331:$(Q):RampR_set.VAL  NPP MS")
+  field(OUT, "$(P)LS331:$(Q):wr_rd_Ramp.AOUT  PP MS")
+  field(PREC, "1")
+  field(AA, "RAMP 1,")
+  field(BB, ";RAMP?")
+  field(CC, "0")
+}
+
+