diff --git a/LKSH460/LKSH460-IOC-01App/Db/Makefile b/LKSH460/LKSH460-IOC-01App/Db/Makefile new file mode 100644 index 000000000..0cbea6566 --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/Db/Makefile @@ -0,0 +1,23 @@ +TOP=../.. +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE + +#---------------------------------------------------- +# Optimization of db files using dbst (DEFAULT: NO) +#DB_OPT = YES + +#---------------------------------------------------- +# Create and install (or just install) into /db +# databases, templates, substitutions like this +DB += lakeshore460.db +DB += lakeshore460_channels.db + +#---------------------------------------------------- +# If .db template is not named *.template add +# _template = + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/LKSH460/LKSH460-IOC-01App/Db/lakeshore460.db b/LKSH460/LKSH460-IOC-01App/Db/lakeshore460.db new file mode 100644 index 000000000..12b1f0dc6 --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/Db/lakeshore460.db @@ -0,0 +1,83 @@ +record(bo, "$(P)SIM") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") + field(ZNAM, "NO") + field(ONAM, "YES") + field(VAL, "$(RECSIM=0)") +} + +record(bo, "$(P)DISABLE") +{ + field(DESC, "Disable comms") + field(PINI, "YES") + field(VAL, "$(DISABLE=0)") + field(OMSL, "supervisory") + field(ZNAM, "COMMS ENABLED") + field(ONAM, "COMMS DISABLED") +} + +record(stringin, "$(P)IDN") +{ + field(DESC, "SCPI identification string") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto getIDN $(PORT)") + field(PINI, "YES") + field(SDIS, "$(P)DISABLE") + field(SIML, "$(P)SIM") + field(SIOL, "$(P)SIM:IDN") +} + +record(mbbi, "$(P)SOURCE") +{ + field(DESC, "Vector Magnitude Source") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto getSource $(PORT)") + field(ZRST, "XYZ") + field(ONST, "XY") + field(TWST, "XZ") + field(THST, "YZ") + field(FRST, "X-Y") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)SIM") + field(SIOL, "$(P)SIM:SOURCE") + field(SDIS, "$(P)DISABLE") +} + + +record(mbbo, "$(P)SOURCE:SP") +{ + field(DESC, "Set Vector Magnitude Source") + field(SCAN, "1 second") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto setSource $(PORT)") + field(ZRST, "XYZ") + field(ONST, "XY") + field(TWST, "XZ") + field(THST, "YZ") + field(FRST, "X-Y") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)SIM") + field(SIOL, "$(P)SIM:SOURCE:SP") + field(SDIS, "$(P)DISABLE") +} + +### SIMULATION RECORDS ### + +record(stringin, "$(P)SIM:IDN") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(mbbi, "$(P)SIM:SOURCE") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)SIM:SOURCE","$(P)SIM:SOURCE:SP") + diff --git a/LKSH460/LKSH460-IOC-01App/Db/lakeshore460_channels.substitutions b/LKSH460/LKSH460-IOC-01App/Db/lakeshore460_channels.substitutions new file mode 100644 index 000000000..e267b2f97 --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/Db/lakeshore460_channels.substitutions @@ -0,0 +1,8 @@ +file lakeshore460_channels.template { + +pattern { P, PORT, RECSIM, DISABLE, CHANNEL} +{ "\$(P)", "\$(PORT)", "\$(RECSIM=0)", "\$(DISABLE=0)", "X"} +{ "\$(P)", "\$(PORT)", "\$(RECSIM=0)", "\$(DISABLE=0)", "Y"} +{ "\$(P)", "\$(PORT)", "\$(RECSIM=0)", "\$(DISABLE=0)", "Z"} +{ "\$(P)", "\$(PORT)", "\$(RECSIM=0)", "\$(DISABLE=0)", "V"} +} diff --git a/LKSH460/LKSH460-IOC-01App/Db/lakeshore460_channels.template b/LKSH460/LKSH460-IOC-01App/Db/lakeshore460_channels.template new file mode 100644 index 000000000..c0168b64a --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/Db/lakeshore460_channels.template @@ -0,0 +1,682 @@ +record(bo, "$(P)$(CHANNEL):SIM") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") + field(ZNAM, "NO") + field(ONAM, "YES") + field(VAL, "$(RECSIM=0)") +} + +record(bo, "$(P)$(CHANNEL):DISABLE") +{ + field(DESC, "Disable comms") + field(PINI, "YES") + field(VAL, "$(DISABLE=0)") + field(OMSL, "supervisory") + field(ZNAM, "COMMS ENABLED") + field(ONAM, "COMMS DISABLED") +} + +record(bi, "$(P)$(CHANNEL):UNIT") +{ + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)Unit $(PORT)") + field(ZNAM, "G") + field(ONAM, "T") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:UNIT") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):UNIT:SP") +{ + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)Unit $(PORT)") + field(ZNAM, "G") + field(ONAM, "T") + info(INTEREST, "LOW") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:UNIT:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):OUTPUTMODE") +{ + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)ACDCFieldReading $(PORT)") + field(ZNAM, "AC") + field(ONAM, "DC") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:OUTPUTMODE") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):OUTPUTMODE:SP") +{ + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)ACDCFieldReading $(PORT)") + field(ZNAM, "AC") + field(ONAM, "DC") + info(INTEREST, "LOW") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:OUTPUTMODE:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):PRMS") +{ + field(DESC, "Get Peak/RMS Field Reading") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)PRMSReading $(PORT)") + field(ZNAM, "RMS") + field(ONAM, "PEAK") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:PRMS") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):PRMS:SP") +{ + field(DESC, "Set Peak/RMS Field Reading") + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)PRMSReading $(PORT)") + field(ZNAM, "RMS") + field(ONAM, "PEAK") + info(INTEREST, "LOW") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:PRMS:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ai, "$(P)$(CHANNEL):FIELDREADING") +{ + field(DESC, "Magnetic Field Reading") + field(SCAN, "1 second") + field(DTYP, "stream") + field(EGU, "") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)FieldReading $(PORT)") + field(FLNK, "$(P)$(CHANNEL):FIELD:UNIT_MULTIPLIER") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FIELDREADING") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):OUTPUTSTATUS") +{ + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)OnOff $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:OUTPUTSTATUS") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):OUTPUTSTATUS:SP") +{ + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)OnOff $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:OUTPUTSTATUS:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):RELMODE") +{ + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)RelativeMode $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELMODE") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):RELMODE:SP") +{ + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)RelativeMode $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELMODE:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):MAXHOLD") +{ + field(DESC, "Max Hold") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)MaxHold $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "LOW") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:MAXHOLD") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):MAXHOLD:SP") +{ + field(DESC, "Set Max Hold") + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)MaxHold $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "LOW") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:MAXHOLD:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ai, "$(P)$(CHANNEL):RELSMODE") +{ + field(DESC, "Relative Mode Setpoint") + field(SCAN, "1 second") + field(DTYP, "stream") + field(EGU, "") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)RelativeModeSetpoint $(PORT)") + field(FLNK, "$(P)$(CHANNEL):RELS:UNIT_MULTIPLIER") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELSMODE") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ao, "$(P)$(CHANNEL):RELSMODE:SP") +{ + field(DESC, "Relative Mode Setpoint") + field(SCAN, "1 second") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)RelativeModeSetpoint $(PORT)") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELSMODE:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ai, "$(P)$(CHANNEL):FWIN") +{ + field(DESC, "Display Filter Window") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)DisplayFilterWindow $(PORT)") + field(HIHI, "11") + field(EGU, "%") + field(LOLO, "0") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FWIN") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ao, "$(P)$(CHANNEL):FWIN:SP") +{ + field(DESC, "Set Display Filter Window") + field(SCAN, "1 second") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)DisplayFilterWindow $(PORT)") + field(EGU, "%") + field(HIHI, "11") + field(LOLO, "0") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FWIN:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):FILTER") +{ + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)DisplayFilter $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FILTER") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):FILTER:SP") +{ + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)DisplayFilter $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FILTER:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ai, "$(P)$(CHANNEL):RELMODEREADING") +{ + field(DESC, "Relative Mode Reading") + field(SCAN, "1 second") + field(DTYP, "stream") + field(EGU, "") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)RelativeModeReading $(PORT)") + field(FLNK, "$(P)$(CHANNEL):RELRM:UNIT_MULTIPLIER") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELMODEREADING") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bi, "$(P)$(CHANNEL):AUTO") +{ + field(DESC, "Auto Range") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)AutoRange $(PORT)") + field(ZNAM, "OFF") + field(ONAM, "ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:AUTO") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(bo, "$(P)$(CHANNEL):AUTO:SP") +{ + field(DESC, "Set Auto Range") + field(SCAN, "Passive") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)AutoRange $(PORT)") + field(ZNAM, "Auto Range OFF") + field(ONAM, "Auto Range ON") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:AUTO:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ai, "$(P)$(CHANNEL):MAXREADING") +{ + field(DESC, "Max Reading") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)MaxReading $(PORT)") + field(EGU, "") + field(FLNK, "$(P)$(CHANNEL):MAX:UNITS_MULTIPLIER") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:MAXREADING") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(scalcout, "$(P)$(CHANNEL):MAX:UNITS_MULTIPLIER") +{ field(DESC, "Units and Multiplier Concatenation") + field(CALC, "BB + AA") + field(INAA, "$(P)$(CHANNEL):UNIT") + field(INBB, "$(P)$(CHANNEL):MAX:MULTIPLIER") + field(OUT, "$(P)$(CHANNEL):MAXREADING.EGU") + info(INTEREST, "LOW") +} + +record(mbbi, "$(P)$(CHANNEL):MAX:MULTIPLIER") +{ + field(DESC, "Max Reading Multiplier") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto ReadMaxReadingMultiplier $(PORT)") + field(ZRST, "u") + field(ONST, "m") + field(TWST, "") + field(THST, "k") + info(INTEREST, "LOW") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:MAX:MULTIPLIER") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(scalcout, "$(P)$(CHANNEL):FIELD:UNIT_MULTIPLIER") +{ field(DESC, "Units and Multiplier Concatenation") + field(CALC, "BB + AA") + field(INAA, "$(P)$(CHANNEL):UNIT") + field(INBB, "$(P)$(CHANNEL):FIELD:MULTIPLIER") + field(OUT, "$(P)$(CHANNEL):FIELDREADING.EGU") + info(INTEREST, "LOW") +} + +record(mbbi, "$(P)$(CHANNEL):FIELD:MULTIPLIER") +{ + field(DESC, "Multiplier for Magnetic Field FIELDM?") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto getMagneticFieldMultiplier $(PORT)") + field(ZRST, "u") + field(ONST, "m") + field(TWST, "") + field(THST, "k") + info(INTEREST, "LOW") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FIELD:MULTIPLIER") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(scalcout, "$(P)$(CHANNEL):RELRM:UNIT_MULTIPLIER") +{ field(DESC, "Units and Multiplier Concatenation") + field(CALC, "BB + AA") + field(INAA, "$(P)$(CHANNEL):UNIT") + field(INBB, "$(P)$(CHANNEL):RELRM:MULTIPLIER") + field(OUT, "$(P)$(CHANNEL):RELMODEREADING.EGU") + info(INTEREST, "LOW") +} + +record(mbbi, "$(P)$(CHANNEL):RELRM:MULTIPLIER") +{ + field(DESC, "Multiplier for Relative Mode RELRM?") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto getRelativeModeReadingMultiplier $(PORT)") + field(ZRST, "u") + field(ONST, "m") + field(TWST, "") + field(THST, "k") + info(INTEREST, "LOW") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELRM:MULTIPLIER") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(scalcout, "$(P)$(CHANNEL):RELS:UNIT_MULTIPLIER") +{ field(DESC, "Units and Multiplier Concatenation") + field(CALC, "BB + AA") + field(INAA, "$(P)$(CHANNEL):UNIT") + field(INBB, "$(P)$(CHANNEL):RELS:MULTIPLIER") + field(OUT, "$(P)$(CHANNEL):RELSMODE.EGU") + info(INTEREST, "LOW") +} + +record(mbbi, "$(P)$(CHANNEL):RELS:MULTIPLIER") +{ + field(DESC, "Multiplier for Relative Mode RELSM?") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto ReadRelativeModeSetpointMultiplier $(PORT)") + field(ZRST, "u") + field(ONST, "m") + field(TWST, "") + field(THST, "k") + info(INTEREST, "LOW") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RELS:MULTIPLIER") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ai, "$(P)$(CHANNEL):FNUM") +{ + field(DESC, "Display Filter Points") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)FilterPoints $(PORT)") + field(HIHI, "65") + field(LOLO, "1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FNUM") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ao, "$(P)$(CHANNEL):FNUM:SP") +{ + field(DESC, "Set Display Filter Points") + field(SCAN, "1 second") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)FilterPoints $(PORT)") + field(HIHI, "65") + field(LOLO, "1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:FNUM:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(mbbo, "$(P)$(CHANNEL):RANGE:SP") +{ + field(DESC, "Set Manual Range") + field(SCAN, "1 second") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)ManualRange $(PORT)") + field(ZRST, "First Range") + field(ONST, "Second Range") + field(TWST, "Third Range") + field(THST, "Fourth Range") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RANGE:SP") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(mbbi, "$(P)$(CHANNEL):RANGE") +{ + field(DESC, "Manual Range") + field(SCAN, "1 second") + field(DTYP, "stream") + field(INP, "@devLakeshore_460.proto read$(CHANNEL)ManualRange $(PORT)") + field(ZRST, "First Range") + field(ONST, "Second Range") + field(TWST, "Third Range") + field(THST, "Fourth Range") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:RANGE") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + +record(ao, "$(P)$(CHANNEL):MAXCLEAR") +{ + field(DESC, "Clears Max Reading") + field(SCAN, "1 second") + field(DTYP, "stream") + field(OUT, "@devLakeshore_460.proto set$(CHANNEL)MaxClear $(PORT)") + info(INTEREST, "HIGH") + info(archive, "VAL") + field(SIML, "$(P)$(CHANNEL):SIM") + field(SIOL, "$(P)$(CHANNEL):SIM:MAXCLEAR") + field(SDIS, "$(P)$(CHANNEL):DISABLE") +} + + + + +### SIMULATION RECORDS ### + +record(bi, "$(P)$(CHANNEL):SIM:RELMODE") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:RELMODE","$(P)$(CHANNEL):SIM:RELMODE:SP") + +record(ai, "$(P)$(CHANNEL):SIM:MAXREADING") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(bi, "$(P)$(CHANNEL):SIM:AUTO") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:AUTO","$(P)$(CHANNEL):SIM:AUTO:SP") + +record(ai, "$(P)$(CHANNEL):SIM:FWIN") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:FWIN","$(P)$(CHANNEL):SIM:FWIN:SP") + +record(mbbi, "$(P)$(CHANNEL):SIM:RELRM:MULTIPLIER") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(mbbi, "$(P)$(CHANNEL):SIM:FIELD:MULTIPLIER") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(bi, "$(P)$(CHANNEL):SIM:UNIT") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:UNIT","$(P)$(CHANNEL):SIM:UNIT:SP") + +record(mbbi, "$(P)$(CHANNEL):SIM:RANGE") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:RANGE","$(P)$(CHANNEL):SIM:RANGE:SP") + +record(ai, "$(P)$(CHANNEL):SIM:FIELDREADING") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(bi, "$(P)$(CHANNEL):SIM:PRMS") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:PRMS","$(P)$(CHANNEL):SIM:PRMS:SP") + +record(bi, "$(P)$(CHANNEL):SIM:MAXHOLD") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:MAXHOLD","$(P)$(CHANNEL):SIM:MAXHOLD:SP") + +record(bi, "$(P)$(CHANNEL):SIM:OUTPUTMODE") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:OUTPUTMODE","$(P)$(CHANNEL):SIM:OUTPUTMODE:SP") + +record(ai, "$(P)$(CHANNEL):SIM:RELSMODE") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:RELSMODE","$(P)$(CHANNEL):SIM:RELSMODE:SP") + +record(ai, "$(P)$(CHANNEL):SIM:FNUM") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:FNUM","$(P)$(CHANNEL):SIM:FNUM:SP") + +record(bi, "$(P)$(CHANNEL):SIM:FILTER") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:FILTER","$(P)$(CHANNEL):SIM:FILTER:SP") + +record(mbbi, "$(P)$(CHANNEL):SIM:MAX:MULTIPLIER") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(ai, "$(P)$(CHANNEL):SIM:RELMODEREADING") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(ao, "$(P)$(CHANNEL):SIM:MAXCLEAR") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(mbbi, "$(P)$(CHANNEL):SIM:RELS:MULTIPLIER") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +record(bi, "$(P)$(CHANNEL):SIM:OUTPUTSTATUS") +{ + field(SCAN, "Passive") + field(DTYP, "Soft Channel") +} + +alias("$(P)$(CHANNEL):SIM:OUTPUTSTATUS","$(P)$(CHANNEL):SIM:OUTPUTSTATUS:SP") + diff --git a/LKSH460/LKSH460-IOC-01App/Makefile b/LKSH460/LKSH460-IOC-01App/Makefile new file mode 100644 index 000000000..373b86bfc --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/Makefile @@ -0,0 +1,9 @@ +TOP = .. +include $(TOP)/configure/CONFIG +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *protocol*)) +include $(TOP)/configure/RULES_DIRS + diff --git a/LKSH460/LKSH460-IOC-01App/protocol/Makefile b/LKSH460/LKSH460-IOC-01App/protocol/Makefile new file mode 100644 index 000000000..a1acab9ec --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/protocol/Makefile @@ -0,0 +1,15 @@ +TOP=../.. +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE + +#DATA += LKSH460-IOC-01.proto + +#---------------------------------------------------- +# If .db template is not named *.template add +# _TEMPLATE = + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/LKSH460/LKSH460-IOC-01App/src/LKSH460-IOC-01Main.cpp b/LKSH460/LKSH460-IOC-01App/src/LKSH460-IOC-01Main.cpp new file mode 100644 index 000000000..cd06e5ff5 --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/src/LKSH460-IOC-01Main.cpp @@ -0,0 +1,23 @@ +/* LKSH460-IOC-01Main.cpp */ +/* Author: Marty Kraimer Date: 17MAR2000 */ + +#include +#include +#include +#include +#include + +#include "epicsExit.h" +#include "epicsThread.h" +#include "iocsh.h" + +int main(int argc,char *argv[]) +{ + if(argc>=2) { + iocsh(argv[1]); + epicsThreadSleep(.2); + } + iocsh(NULL); + epicsExit(0); + return(0); +} diff --git a/LKSH460/LKSH460-IOC-01App/src/Makefile b/LKSH460/LKSH460-IOC-01App/src/Makefile new file mode 100644 index 000000000..3ca5e89a3 --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/src/Makefile @@ -0,0 +1,9 @@ +TOP=../.. +# This file should do very little - it's purpose is to set the APPNAME and then load build.mak + +# this definition is used in build.mak +APPNAME=LKSH460-IOC-01 + +# If we are ###-IOC-01 leave this as is, if we are ###-IOC-02 or higher change to ###-IOC-01 and delete build.mak from this directory +# there should only be a single build.mak for all IOCs of a given family and it is located in the ###-IOC-01 directory +include $(TOP)/LKSH460-IOC-01App/src/build.mak diff --git a/LKSH460/LKSH460-IOC-01App/src/build.mak b/LKSH460/LKSH460-IOC-01App/src/build.mak new file mode 100644 index 000000000..7fcc283b3 --- /dev/null +++ b/LKSH460/LKSH460-IOC-01App/src/build.mak @@ -0,0 +1,67 @@ +TOP=../.. + +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE +#============================= + +### NOTE: there should only be one build.mak for a given IOC family and this should be located in the ###-IOC-01 directory + +#============================= +# Build the IOC application LKSH460-IOC-01 +# We actually use $(APPNAME) below so this file can be included by multiple IOCs + +PROD_IOC = $(APPNAME) +# LKSH460-IOC-01.dbd will be created and installed +DBD += $(APPNAME).dbd + +# LKSH460-IOC-01.dbd will be made up from these files: +$(APPNAME)_DBD += base.dbd +## ISIS standard dbd ## +$(APPNAME)_DBD += devSequencer.dbd +$(APPNAME)_DBD += icpconfig.dbd +$(APPNAME)_DBD += pvdump.dbd +$(APPNAME)_DBD += asSupport.dbd +$(APPNAME)_DBD += devIocStats.dbd +$(APPNAME)_DBD += caPutLog.dbd +$(APPNAME)_DBD += utilities.dbd +## add other dbd here ## +$(APPNAME)_DBD += stream.dbd +$(APPNAME)_DBD += asyn.dbd +$(APPNAME)_DBD += drvAsynSerialPort.dbd +$(APPNAME)_DBD += drvAsynIPPort.dbd +$(APPNAME)_DBD += calcSupport.dbd +# Add all the support libraries needed by this IOC +## ISIS standard libraries ## +$(APPNAME)_LIBS += seqDev seq pv +$(APPNAME)_LIBS += devIocStats +$(APPNAME)_LIBS += pvdump $(MYSQLLIB) easySQLite sqlite +$(APPNAME)_LIBS += caPutLog +$(APPNAME)_LIBS += icpconfig pugixml +$(APPNAME)_LIBS += autosave +$(APPNAME)_LIBS += utilities pcre libjson zlib +## Add other libraries here ## +$(APPNAME)_LIBS += stream +$(APPNAME)_LIBS += pcre +$(APPNAME)_LIBS += asyn +$(APPNAME)_LIBS += calc sscan + +# LKSH460-IOC-01_registerRecordDeviceDriver.cpp derives from LKSH460-IOC-01.dbd +$(APPNAME)_SRCS += $(APPNAME)_registerRecordDeviceDriver.cpp + +# Build the main IOC entry point on workstation OSs. +$(APPNAME)_SRCS_DEFAULT += $(APPNAME)Main.cpp +$(APPNAME)_SRCS_vxWorks += -nil- + +# Add support from base/src/vxWorks if needed +#$(APPNAME)_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary + +# Finally link to the EPICS Base libraries +$(APPNAME)_LIBS += $(EPICS_BASE_IOC_LIBS) + +#=========================== + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/LKSH460/LKSH460-IOC-02App/Db/Makefile b/LKSH460/LKSH460-IOC-02App/Db/Makefile new file mode 100644 index 000000000..983981d40 --- /dev/null +++ b/LKSH460/LKSH460-IOC-02App/Db/Makefile @@ -0,0 +1,22 @@ +TOP=../.. +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE + +#---------------------------------------------------- +# Optimization of db files using dbst (DEFAULT: NO) +#DB_OPT = YES + +#---------------------------------------------------- +# Create and install (or just install) into /db +# databases, templates, substitutions like this +#DB += xxx.db + +#---------------------------------------------------- +# If .db template is not named *.template add +# _template = + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/LKSH460/LKSH460-IOC-02App/Makefile b/LKSH460/LKSH460-IOC-02App/Makefile new file mode 100644 index 000000000..373b86bfc --- /dev/null +++ b/LKSH460/LKSH460-IOC-02App/Makefile @@ -0,0 +1,9 @@ +TOP = .. +include $(TOP)/configure/CONFIG +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *protocol*)) +include $(TOP)/configure/RULES_DIRS + diff --git a/LKSH460/LKSH460-IOC-02App/protocol/Makefile b/LKSH460/LKSH460-IOC-02App/protocol/Makefile new file mode 100644 index 000000000..a6b3b88cf --- /dev/null +++ b/LKSH460/LKSH460-IOC-02App/protocol/Makefile @@ -0,0 +1,15 @@ +TOP=../.. +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE + +#DATA += LKSH460-IOC-02.proto + +#---------------------------------------------------- +# If .db template is not named *.template add +# _TEMPLATE = + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/LKSH460/LKSH460-IOC-02App/src/LKSH460-IOC-02Main.cpp b/LKSH460/LKSH460-IOC-02App/src/LKSH460-IOC-02Main.cpp new file mode 100644 index 000000000..c0da25314 --- /dev/null +++ b/LKSH460/LKSH460-IOC-02App/src/LKSH460-IOC-02Main.cpp @@ -0,0 +1,23 @@ +/* LKSH460-IOC-02Main.cpp */ +/* Author: Marty Kraimer Date: 17MAR2000 */ + +#include +#include +#include +#include +#include + +#include "epicsExit.h" +#include "epicsThread.h" +#include "iocsh.h" + +int main(int argc,char *argv[]) +{ + if(argc>=2) { + iocsh(argv[1]); + epicsThreadSleep(.2); + } + iocsh(NULL); + epicsExit(0); + return(0); +} diff --git a/LKSH460/LKSH460-IOC-02App/src/Makefile b/LKSH460/LKSH460-IOC-02App/src/Makefile new file mode 100644 index 000000000..5fc70b2da --- /dev/null +++ b/LKSH460/LKSH460-IOC-02App/src/Makefile @@ -0,0 +1,9 @@ +TOP=../.. +# This file should do very little - it's purpose is to set the APPNAME and then load build.mak + +# this definition is used in build.mak +APPNAME=LKSH460-IOC-02 + +# If we are ###-IOC-01 leave this as is, if we are ###-IOC-02 or higher change to ###-IOC-01 and delete build.mak from this directory +# there should only be a single build.mak for all IOCs of a given family and it is located in the ###-IOC-01 directory +include $(TOP)/LKSH460-IOC-01App/src/build.mak diff --git a/LKSH460/Makefile b/LKSH460/Makefile new file mode 100644 index 000000000..19c9068d1 --- /dev/null +++ b/LKSH460/Makefile @@ -0,0 +1,31 @@ +# Makefile at top of application tree +TOP = . +include $(TOP)/configure/CONFIG + +# Directories to build, any order +DIRS += configure +DIRS += $(wildcard *Sup) +DIRS += $(wildcard *App) +DIRS += $(wildcard *Top) +DIRS += $(wildcard iocBoot) + +# The build order is controlled by these dependency rules: + +# All dirs except configure depend on configure +$(foreach dir, $(filter-out configure, $(DIRS)), \ + $(eval $(dir)_DEPEND_DIRS += configure)) + +# Any *App dirs depend on all *Sup dirs +$(foreach dir, $(filter %App, $(DIRS)), \ + $(eval $(dir)_DEPEND_DIRS += $(filter %Sup, $(DIRS)))) + +# Any *Top dirs depend on all *Sup and *App dirs +$(foreach dir, $(filter %Top, $(DIRS)), \ + $(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App, $(DIRS)))) + +# iocBoot depends on all *App dirs +iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS)) + +# Add any additional dependency rules here: + +include $(TOP)/configure/RULES_TOP diff --git a/LKSH460/configure/CONFIG b/LKSH460/configure/CONFIG new file mode 100644 index 000000000..c1a470322 --- /dev/null +++ b/LKSH460/configure/CONFIG @@ -0,0 +1,29 @@ +# CONFIG - Load build configuration data +# +# Do not make changes to this file! + +# Allow user to override where the build rules come from +RULES = $(EPICS_BASE) + +# RELEASE files point to other application tops +include $(TOP)/configure/RELEASE +-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common +ifdef T_A +-include $(TOP)/configure/RELEASE.Common.$(T_A) +-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A) +endif + +CONFIG = $(RULES)/configure +include $(CONFIG)/CONFIG + +# Override the Base definition: +INSTALL_LOCATION = $(TOP) + +# CONFIG_SITE files contain other build configuration settings +include $(TOP)/configure/CONFIG_SITE +-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common +ifdef T_A + -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A) + -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) +endif + diff --git a/LKSH460/configure/CONFIG_SITE b/LKSH460/configure/CONFIG_SITE new file mode 100644 index 000000000..212485ebe --- /dev/null +++ b/LKSH460/configure/CONFIG_SITE @@ -0,0 +1,43 @@ +# CONFIG_SITE + +# Make any application-specific changes to the EPICS build +# configuration variables in this file. +# +# Host/target specific settings can be specified in files named +# CONFIG_SITE.$(EPICS_HOST_ARCH).Common +# CONFIG_SITE.Common.$(T_A) +# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) + +# CHECK_RELEASE controls the consistency checking of the support +# applications pointed to by the RELEASE* files. +# Normally CHECK_RELEASE should be set to YES. +# Set CHECK_RELEASE to NO to disable checking completely. +# Set CHECK_RELEASE to WARN to perform consistency checking but +# continue building even if conflicts are found. +CHECK_RELEASE = YES + +# Set this when you only want to compile this application +# for a subset of the cross-compiled target architectures +# that Base is built for. +#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 + +# To install files into a location other than $(TOP) define +# INSTALL_LOCATION here. +#INSTALL_LOCATION= + +# Set this when the IOC and build host use different paths +# to the install location. This may be needed to boot from +# a Microsoft FTP server say, or on some NFS configurations. +#IOCS_APPL_TOP = + +# For application debugging purposes, override the HOST_OPT and/ +# or CROSS_OPT settings from base/configure/CONFIG_SITE +#HOST_OPT = NO +#CROSS_OPT = NO + +# These allow developers to override the CONFIG_SITE variable +# settings without having to modify the configure/CONFIG_SITE +# file itself. +-include $(TOP)/../CONFIG_SITE.local +-include $(TOP)/configure/CONFIG_SITE.local + diff --git a/LKSH460/configure/Makefile b/LKSH460/configure/Makefile new file mode 100644 index 000000000..925430940 --- /dev/null +++ b/LKSH460/configure/Makefile @@ -0,0 +1,8 @@ +TOP=.. + +include $(TOP)/configure/CONFIG + +TARGETS = $(CONFIG_TARGETS) +CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) + +include $(TOP)/configure/RULES diff --git a/LKSH460/configure/RELEASE b/LKSH460/configure/RELEASE new file mode 100644 index 000000000..74e572c51 --- /dev/null +++ b/LKSH460/configure/RELEASE @@ -0,0 +1,55 @@ +# RELEASE - Location of external support modules +# +# IF YOU MAKE ANY CHANGES to this file you must subsequently +# do a "gnumake rebuild" in this application's top level +# directory. +# +# The build process does not check dependencies against files +# that are outside this application, thus you should do a +# "gnumake rebuild" in the top level directory after EPICS_BASE +# or any other external module pointed to below is rebuilt. +# +# Host- or target-specific settings can be given in files named +# RELEASE.$(EPICS_HOST_ARCH).Common +# RELEASE.Common.$(T_A) +# RELEASE.$(EPICS_HOST_ARCH).$(T_A) +# +# This file is parsed by both GNUmake and an EPICS Perl script, +# so it can ONLY contain definititions of paths to other support +# modules, variable definitions that are used in module paths, +# and include statements that pull in other RELEASE files. +# Variables may be used before their values have been set. +# Build variables that are NOT used in paths should be set in +# the CONFIG_SITE file. + +# Variables and paths to dependent modules: +#MODULES = /path/to/modules +#MYMODULE = $(MODULES)/my-module + +# If using the sequencer, point SNCSEQ at its top directory: +#SNCSEQ = $(MODULES)/seq-ver + +# EPICS_BASE should appear last so earlier modules can override stuff: +EPICS_BASE = C:/Instrument/Apps/EPICS/base/master + +# Set RULES here if you want to use build rules from somewhere +# other than EPICS_BASE: +#RULES = $(MODULES)/build-rules + +# These allow developers to override the RELEASE variable settings +# without having to modify the configure/RELEASE file itself. +-include $(TOP)/../RELEASE.local +-include $(TOP)/configure/RELEASE.local + +# top level master release and local private options +include $(TOP)/../../../configure/MASTER_RELEASE +-include $(TOP)/../../../configure/MASTER_RELEASE.$(EPICS_HOST_ARCH) +-include $(TOP)/../../../configure/MASTER_RELEASE.private +-include $(TOP)/../../../configure/MASTER_RELEASE.private.$(EPICS_HOST_ARCH) + +# optional extra local definitions here +-include $(TOP)/configure/RELEASE.private + +include $(TOP)/../../../ISIS_CONFIG +-include $(TOP)/../../../ISIS_CONFIG.$(EPICS_HOST_ARCH) + diff --git a/LKSH460/configure/RULES b/LKSH460/configure/RULES new file mode 100644 index 000000000..6d56e14e8 --- /dev/null +++ b/LKSH460/configure/RULES @@ -0,0 +1,6 @@ +# RULES + +include $(CONFIG)/RULES + +# Library should be rebuilt because LIBOBJS may have changed. +$(LIBNAME): ../Makefile diff --git a/LKSH460/configure/RULES.ioc b/LKSH460/configure/RULES.ioc new file mode 100644 index 000000000..901987c6c --- /dev/null +++ b/LKSH460/configure/RULES.ioc @@ -0,0 +1,2 @@ +#RULES.ioc +include $(CONFIG)/RULES.ioc diff --git a/LKSH460/configure/RULES_DIRS b/LKSH460/configure/RULES_DIRS new file mode 100644 index 000000000..3ba269dcc --- /dev/null +++ b/LKSH460/configure/RULES_DIRS @@ -0,0 +1,2 @@ +#RULES_DIRS +include $(CONFIG)/RULES_DIRS diff --git a/LKSH460/configure/RULES_TOP b/LKSH460/configure/RULES_TOP new file mode 100644 index 000000000..d09d668d5 --- /dev/null +++ b/LKSH460/configure/RULES_TOP @@ -0,0 +1,3 @@ +#RULES_TOP +include $(CONFIG)/RULES_TOP + diff --git a/LKSH460/iocBoot/Makefile b/LKSH460/iocBoot/Makefile new file mode 100644 index 000000000..91e47d0b5 --- /dev/null +++ b/LKSH460/iocBoot/Makefile @@ -0,0 +1,6 @@ +TOP = .. +include $(TOP)/configure/CONFIG +DIRS += $(wildcard *ioc*) +DIRS += $(wildcard as*) +include $(CONFIG)/RULES_DIRS + diff --git a/LKSH460/iocBoot/iocLKSH460-IOC-01/Makefile b/LKSH460/iocBoot/iocLKSH460-IOC-01/Makefile new file mode 100644 index 000000000..09b391227 --- /dev/null +++ b/LKSH460/iocBoot/iocLKSH460-IOC-01/Makefile @@ -0,0 +1,6 @@ +TOP = ../.. +include $(TOP)/configure/CONFIG +#ARCH = windows-x64 +ARCH = $(EPICS_HOST_ARCH) +TARGETS = envPaths dllPath.bat relPaths.sh runIOC.bat runIOC.sh +include $(TOP)/configure/RULES.ioc diff --git a/LKSH460/iocBoot/iocLKSH460-IOC-01/config.xml b/LKSH460/iocBoot/iocLKSH460-IOC-01/config.xml new file mode 100644 index 000000000..fad97ea37 --- /dev/null +++ b/LKSH460/iocBoot/iocLKSH460-IOC-01/config.xml @@ -0,0 +1,9 @@ + + + +LKSH460 + + + + + diff --git a/LKSH460/iocBoot/iocLKSH460-IOC-01/st-common.cmd b/LKSH460/iocBoot/iocLKSH460-IOC-01/st-common.cmd new file mode 100644 index 000000000..a763f17cf --- /dev/null +++ b/LKSH460/iocBoot/iocLKSH460-IOC-01/st-common.cmd @@ -0,0 +1,33 @@ +epicsEnvSet "STREAM_PROTOCOL_PATH" "$(LKSH460)/Lakeshore_460Sup" + +##ISIS## Run IOC initialisation +< $(IOCSTARTUP)/init.cmd + +# For dev sim devices +$(IFDEVSIM) drvAsynIPPortConfigure("L0", "localhost:$(EMULATOR_PORT=)") + +## For real device use: +$(IFNOTDEVSIM) $(IFNOTRECSIM) drvAsynSerialPortConfigure("L0", "$(PORT=NO_PORT_MACRO)", 0, 0, 0, 0) +$(IFNOTDEVSIM) $(IFNOTRECSIM) asynSetOption("L0", -1, "baud", "$(BAUD=9600)") +$(IFNOTDEVSIM) $(IFNOTRECSIM) asynSetOption("L0", -1, "bits", "$(BITS=7)") +$(IFNOTDEVSIM) $(IFNOTRECSIM) asynSetOption("L0", -1, "parity", "$(PARITY=even)") +$(IFNOTDEVSIM) $(IFNOTRECSIM) asynSetOption("L0", -1, "stop", "$(STOP=1)") + +##ISIS## Load common DB records +< $(IOCSTARTUP)/dbload.cmd + +## Load our record instances +dbLoadRecords("${TOP}/db/lakeshore460.db","P=$(MYPVPREFIX)$(IOCNAME):, PORT=L0, RECSIM=$(RECSIM=0), DISABLE=$(DISABLE=0)") +dbLoadRecords("${TOP}/db/lakeshore460_channels.db","P=$(MYPVPREFIX)$(IOCNAME):, PORT=L0, RECSIM=$(RECSIM=0), DISABLE=$(DISABLE=0)") + +##ISIS## Stuff that needs to be done after all records are loaded but before iocInit is called +< $(IOCSTARTUP)/preiocinit.cmd + +cd "${TOP}/iocBoot/${IOC}" +iocInit + +## Start any sequence programs +#seq sncxxx,"user=hgv27692Host" + +##ISIS## Stuff that needs to be done after iocInit is called e.g. sequence programs +< $(IOCSTARTUP)/postiocinit.cmd diff --git a/LKSH460/iocBoot/iocLKSH460-IOC-01/st.cmd b/LKSH460/iocBoot/iocLKSH460-IOC-01/st.cmd new file mode 100644 index 000000000..e522759b6 --- /dev/null +++ b/LKSH460/iocBoot/iocLKSH460-IOC-01/st.cmd @@ -0,0 +1,15 @@ +#!../../bin/windows-x64/LKSH460-IOC-01 + +## You may have to change LKSH460 to something else +## everywhere it appears in this file + +< envPaths + +cd ${TOP} + +## Register all support components +dbLoadDatabase "${TOP}/dbd/LKSH460-IOC-01.dbd" +LKSH460_IOC_01_registerRecordDeviceDriver pdbbase + +## calling common command file in ioc 01 boot dir +< ${TOP}/iocBoot/iocLKSH460-IOC-01/st-common.cmd diff --git a/LKSH460/iocBoot/iocLKSH460-IOC-02/Makefile b/LKSH460/iocBoot/iocLKSH460-IOC-02/Makefile new file mode 100644 index 000000000..09b391227 --- /dev/null +++ b/LKSH460/iocBoot/iocLKSH460-IOC-02/Makefile @@ -0,0 +1,6 @@ +TOP = ../.. +include $(TOP)/configure/CONFIG +#ARCH = windows-x64 +ARCH = $(EPICS_HOST_ARCH) +TARGETS = envPaths dllPath.bat relPaths.sh runIOC.bat runIOC.sh +include $(TOP)/configure/RULES.ioc diff --git a/LKSH460/iocBoot/iocLKSH460-IOC-02/st.cmd b/LKSH460/iocBoot/iocLKSH460-IOC-02/st.cmd new file mode 100644 index 000000000..6472360bb --- /dev/null +++ b/LKSH460/iocBoot/iocLKSH460-IOC-02/st.cmd @@ -0,0 +1,13 @@ +#!../../bin/windows-x64/LKSH460-IOC-02 + +## You may have to change LKSH460 to something else +## everywhere it appears in this file + +< envPaths + +## Register all support components +dbLoadDatabase "${TOP}/dbd/LKSH460-IOC-02.dbd" +LKSH460_IOC_02_registerRecordDeviceDriver pdbbase + +## calling common command file in ioc 01 boot dir +< ${TOP}/iocBoot/iocLKSH460-IOC-01/st-common.cmd diff --git a/Makefile b/Makefile index 816d831d1..a6d554518 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ IOCDIRS = AG33220A AG3631A AG53220A CCD100 CONEXAGP CONTROLSVCS CRYVALVE DELFTAR IOCDIRS += HAMEG8123 HIFIMAG HLG HVCAEN INHIBITR INSTETC INSTRON ISISDAE JULABO KHLY2400 KEPCO LINKAM95 LINMOT LKSH218 LKSH336 IOCDIRS += MCLEN MERCURY_ITC MK2CHOPR MK3CHOPR NANODAC NEOCERA PDR2000 PIMOT PSCTRL IOCDIRS += RUNCTRL SCIMAG3D SDTEST SKFCHOPPER SMC100 SPINFLIPPER306015 STPS350 STSR400 TDK_LAMBDA_GENESYS TEKAFG3XXX TEKDMM40X0 TEKMSO4104B TEST TPG26x TPG300 TTIEX355P BKHOFF -IOCDIRS += ROTSC AMINT2L SPRLG FERMCHOP SAMPOS RKNPS CYBAMAN EGXCOLIM IEG +IOCDIRS += ROTSC AMINT2L SPRLG FERMCHOP SAMPOS RKNPS CYBAMAN EGXCOLIM IEG LKSH460 ## check on missing directories IOCMAKES = $(wildcard */Makefile)