Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

Commit

Permalink
Merge pull request #78 from lnls-dig/devel
Browse files Browse the repository at this point in the history
Devel
  • Loading branch information
ericonr authored Nov 27, 2023
2 parents 8e26022 + 90e4354 commit 78b843e
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 0 deletions.
13 changes: 13 additions & 0 deletions BPMApp/Db/BPMDsp.template
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ record(longout,"$(P)$(R)PosKx-SP"){
field(SCAN,"Passive")
field(OUT,"@asynMask($(PORT),$(ADDR),0xFFFFFFFF,$(TIMEOUT))DSP_KX")
field(EGU, "nm")
field(ASG, "Interlock")
}

record(longin,"$(P)$(R)PosKx-RB"){
Expand All @@ -35,6 +36,7 @@ record(longout,"$(P)$(R)PosKy-SP"){
field(SCAN,"Passive")
field(OUT,"@asynMask($(PORT),$(ADDR),0xFFFFFFFF,$(TIMEOUT))DSP_KY")
field(EGU, "nm")
field(ASG, "Interlock")
}

record(longin,"$(P)$(R)PosKy-RB"){
Expand Down Expand Up @@ -68,6 +70,7 @@ record(longout,"$(P)$(R)PosKsum-SP"){
field(PINI,"YES")
field(SCAN,"Passive")
field(OUT,"@asynMask($(PORT),$(ADDR),0xFFFFFFFF,$(TIMEOUT))DSP_KSUM")
field(ASG, "Interlock")
}

record(longin,"$(P)$(R)PosKsum-RB"){
Expand All @@ -84,6 +87,7 @@ record(longout,"$(P)$(R)PosXOffset-SP"){
field(SCAN,"Passive")
field(OUT,"@asyn($(PORT),$(ADDR),$(TIMEOUT))DSP_XOFFSET")
field(EGU, "nm")
field(ASG, "Interlock")
}

record(longin,"$(P)$(R)PosXOffset-RB"){
Expand All @@ -101,6 +105,7 @@ record(longout,"$(P)$(R)PosYOffset-SP"){
field(SCAN,"Passive")
field(OUT,"@asyn($(PORT),$(ADDR),$(TIMEOUT))DSP_YOFFSET")
field(EGU, "nm")
field(ASG, "Interlock")
}

record(longin,"$(P)$(R)PosYOffset-RB"){
Expand Down Expand Up @@ -142,6 +147,7 @@ record(ao,"$(P)$(R)SwDirGainA-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH0_SWDIR")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwDirGainA-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -156,6 +162,7 @@ record(ao,"$(P)$(R)SwDirGainB-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH1_SWDIR")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwDirGainB-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -170,6 +177,7 @@ record(ao,"$(P)$(R)SwDirGainC-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH2_SWDIR")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwDirGainC-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -184,6 +192,7 @@ record(ao,"$(P)$(R)SwDirGainD-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH3_SWDIR")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwDirGainD-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -198,6 +207,7 @@ record(ao,"$(P)$(R)SwInvGainA-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH0_SWINV")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwInvGainA-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -212,6 +222,7 @@ record(ao,"$(P)$(R)SwInvGainB-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH1_SWINV")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwInvGainB-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -226,6 +237,7 @@ record(ao,"$(P)$(R)SwInvGainC-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH2_SWINV")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwInvGainC-RB"){
field(DTYP,"asynFloat64")
Expand All @@ -240,6 +252,7 @@ record(ao,"$(P)$(R)SwInvGainD-SP"){
field(SCAN,"Passive")
field(DRVH,"0.9999999403953552")
field(OUT,"@asyn($(PORT))DSP_ADC_CH3_SWINV")
field(ASG, "Interlock")
}
record(ai,"$(P)$(R)SwInvGainD-RB"){
field(DTYP,"asynFloat64")
Expand Down
14 changes: 14 additions & 0 deletions BPMApp/Db/BPMIntlk.template
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ record(bo,"$(P)$(R)IntlkMinSumEn-Sel"){
field(ZNAM, "Off")
field(ONAM, "On")
field(OUT, "@asynMask($(PORT),$(ADDR),0x1,$(TIMEOUT))INTLK_MIN_SUM_EN")
field(ASG, "Interlock")
}

record(bi,"$(P)$(R)IntlkMinSumEn-Sts"){
Expand All @@ -61,6 +62,7 @@ record(bo,"$(P)$(R)IntlkPosEn-Sel"){
field(ZNAM, "Off")
field(ONAM, "On")
field(OUT, "@asynMask($(PORT),$(ADDR),0x1,$(TIMEOUT))INTLK_TRANS_EN")
field(ASG, "Interlock")
}

record(bi,"$(P)$(R)IntlkPosEn-Sts"){
Expand Down Expand Up @@ -91,6 +93,7 @@ record(bo,"$(P)$(R)IntlkAngEn-Sel"){
field(ZNAM, "Off")
field(ONAM, "On")
field(OUT, "@asynMask($(PORT),$(ADDR),0x1,$(TIMEOUT))INTLK_ANG_EN")
field(ASG, "Interlock")
}

record(bi,"$(P)$(R)IntlkAngEn-Sts"){
Expand Down Expand Up @@ -370,6 +373,7 @@ record(ao, "$(P)$(R)IntlkLmtMinSum-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(FLNK, "$(P)$(R)IntlkLmtMinSumCalc-SP")
field(ASG, "Interlock")
}

# The Sum calculation in the FPGA is done with fixed-point
Expand All @@ -389,6 +393,7 @@ record(calc, "$(P)$(R)IntlkLmtMinSumCalc-SP"){
field(INPB, "24")
field(CALC, "CEIL(A/2^B)")
field(FLNK, "$(P)$(R)IntlkLmtMinSumHw-SP")
field(ASG, "Interlock")
}

record(longout, "$(P)$(R)IntlkLmtMinSumHw-SP"){
Expand All @@ -398,6 +403,7 @@ record(longout, "$(P)$(R)IntlkLmtMinSumHw-SP"){
field(OMSL, "closed_loop")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_MIN_SUM")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtMinSumHw-RB"){
Expand Down Expand Up @@ -435,6 +441,7 @@ record(longout, "$(P)$(R)IntlkLmtPosMaxX-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_TRANS_MAX_X")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtPosMaxX-RB"){
Expand All @@ -450,6 +457,7 @@ record(longout, "$(P)$(R)IntlkLmtPosMaxY-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_TRANS_MAX_Y")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtPosMaxY-RB"){
Expand All @@ -465,6 +473,7 @@ record(longout, "$(P)$(R)IntlkLmtAngMaxX-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_ANG_MAX_X")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtAngMaxX-RB"){
Expand All @@ -480,6 +489,7 @@ record(longout, "$(P)$(R)IntlkLmtAngMaxY-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_ANG_MAX_Y")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtAngMaxY-RB"){
Expand All @@ -495,6 +505,7 @@ record(longout, "$(P)$(R)IntlkLmtPosMinX-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_TRANS_MIN_X")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtPosMinX-RB"){
Expand All @@ -510,6 +521,7 @@ record(longout, "$(P)$(R)IntlkLmtPosMinY-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_TRANS_MIN_Y")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtPosMinY-RB"){
Expand All @@ -525,6 +537,7 @@ record(longout, "$(P)$(R)IntlkLmtAngMinX-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_ANG_MIN_X")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtAngMinX-RB"){
Expand All @@ -540,6 +553,7 @@ record(longout, "$(P)$(R)IntlkLmtAngMinY-SP"){
field(PINI, "YES")
field(SCAN, "Passive")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))INTLK_ANG_MIN_Y")
field(ASG, "Interlock")
}

record(longin, "$(P)$(R)IntlkLmtAngMinY-RB"){
Expand Down
1 change: 1 addition & 0 deletions BPMApp/Db/BPMSwitching.template
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ record(longout,"$(P)$(R)SwDivClk-SP"){
field(PINI,"YES")
field(SCAN,"Passive")
field(OUT,"@asynMask($(PORT),$(ADDR),0xFFFFFFFF,$(TIMEOUT))SW_DIVCLK")
field(ASG, "Interlock")
}

record(longin,"$(P)$(R)SwDivClk-RB"){
Expand Down
12 changes: 12 additions & 0 deletions BPMApp/Db/accessSecurityFile.acf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
ASG(DEFAULT){
RULE(1,READ)
RULE(1,WRITE)
}

ASG(Interlock){
INPA($(P)$(R)IntlkEn-Sel)
RULE(1,READ)
RULE(1,WRITE){
CALC("A=0")
}
}
3 changes: 3 additions & 0 deletions iocBoot/iocBPM/stBPM250M.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ epicsEnvSet("ST_CMD","stBPM250.cmd")

< BPM.config

asSetFilename("$(TOP)/BPMApp/Db/accessSecurityFile.acf")
asSetSubstitutions("P=$(P),R=$(R)")

## Register all support components
dbLoadDatabase("${TOP}/dbd/BPM.dbd")
BPM_registerRecordDeviceDriver (pdbbase)
Expand Down

0 comments on commit 78b843e

Please sign in to comment.