Skip to content
This repository has been archived by the owner on Mar 22, 2021. It is now read-only.

Commit

Permalink
feat: Added support for DLY universal modules.
Browse files Browse the repository at this point in the history
  • Loading branch information
javicereijo authored and jerzyjamroz committed Apr 14, 2020
1 parent ec81afa commit 4852be8
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 1 deletion.
1 change: 1 addition & 0 deletions evrMrmApp/Db/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ DB += mrmevrbase.template
DB += mrmevrdc.template
DB += mrmevrbufrx.db
DB += sequencedemo.db
DB += mrmevrdlymodule.template

DB += evr-pmc-230.db
DB += evr-cpci-230.db
Expand Down
78 changes: 78 additions & 0 deletions evrMrmApp/Db/mrmevrdlymodule.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Delay Module control
#
# Macros:
# P = record name prefix
# OBJ = devObj name
# SLOT = Delay module can be fitted in slot 0 or slot 1.
# Enabled = Enable or disable the module. When disabled outputs are pulled to logic low.
# Delay0 = The delay (in ns) of the first output
# Delay1 = The delay (in ns) of the second output

record(bo, "$(P)Ena-SP") {
field( DESC, "Enable")
field( DTYP, "Obj Prop bool")
field( OUT , "@OBJ=$(OBJ):UnivDlyModule$(SLOT), PROP=Enable")
field( PINI, "YES")
field( ZNAM, "Disabled")
field( ONAM, "Enabled")
field( VAL , "1") # Default to enabled
field( FLNK, "$(P)Ena-RB")
info(autosaveFields_pass0, "VAL")
}

record(bi, "$(P)Ena-RB") {
field( DESC, "Is module enabled")
field( DTYP, "Obj Prop bool")
field( INP , "@OBJ=$(OBJ):UnivDlyModule$(SLOT), PROP=Enable")
field( ZNAM, "Disabled")
field( ONAM, "Enabled")
}

record(ao, "$(P)Delay0-SP") {
field( DESC, "First delay output")
field( DTYP, "Obj Prop double")
field( OUT , "@OBJ=$(OBJ):UnivDlyModule$(SLOT), PROP=Delay0")
field( EGU , "ns")
field( PINI, "YES")
field( VAL , "2.200")
field( HOPR, "12.430")
field( LOPR, "2.200")
field( PREC, 2)
field( FLNK, "$(P)Delay0-RB")
info( autosaveFields_pass0, "VAL")
}

record(ai, "$(P)Delay0-RB") {
field( DESC, "First delay readback")
field( DTYP, "Obj Prop double")
field( INP , "@OBJ=$(OBJ):UnivDlyModule$(SLOT), PROP=Delay0")
field( HIHI, "12.431")
field( LOLO, "2.199")
field( PREC, 2)
field( EGU, "ns")
}

record(ao, "$(P)Delay1-SP") {
field( DESC, "Second delay output")
field( DTYP, "Obj Prop double")
field( OUT , "@OBJ=$(OBJ):UnivDlyModule$(SLOT), PROP=Delay1")
field( EGU , "ns")
field( PINI, "YES")
field( VAL , "2.200")
field( HOPR, "12.430")
field( LOPR, "2.200")
field( PREC, 2)
field( FLNK, "$(P)Delay1-RB")
info( autosaveFields_pass0, "VAL")
}

record(ai, "$(P)Delay1-RB") {
field( DESC, "Second delay readback")
field( DTYP, "Obj Prop double")
field( INP , "@OBJ=$(OBJ):UnivDlyModule$(SLOT), PROP=Delay1")
field( HIHI, "12.431")
field( LOLO, "2.199")
field( PREC, 2)
field( EGU, "ns")
}

2 changes: 1 addition & 1 deletion evrMrmApp/src/drvemSetup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ static const EVRMRM::Config mtca_evr_300 = {
18, // FPUV outputs (16 via external IFB + 2 handled specially)
0, // RB outputs
8, // Backplane outputs
0, // FP Delay outputs
2, // FP Delay outputs
0, // CML/GTX outputs
MRMCML::typeTG300,
2, // FP inputs
Expand Down

0 comments on commit 4852be8

Please sign in to comment.