From 59d8a692dc705a57fc2815385a8e1c4bd34bf195 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 15 Mar 2026 18:55:33 -0700 Subject: [PATCH 1/7] automatically include QSRV if in path Detect presence in RELEASE from cfg/CONFIG_* files. Prefer QSRV2 if both present. --- mrfApp/src/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mrfApp/src/Makefile b/mrfApp/src/Makefile index 9db24387..41cb073f 100644 --- a/mrfApp/src/Makefile +++ b/mrfApp/src/Makefile @@ -60,12 +60,18 @@ mrf_DBD += caPutLog.dbd mrf_LIBS += caPutLog endif -ifneq ($(PVA2PVA),) +# Link QSRV +ifdef PVXS_MAJOR_VERSION # prefer v2 +mrf_DBD += pvxsIoc.dbd +mrf_LIBS += pvxsIoc pvxs +else +ifdef EPICS_QSRV_MAJOR_VERSION # fallback to v1 mrf_DBD += PVAServerRegister.dbd mrf_DBD += qsrv.dbd mrf_LIBS += qsrv mrf_LIBS += $(EPICS_BASE_PVA_CORE_LIBS) endif +endif # Finally link to the EPICS Base libraries mrf_LIBS += $(EPICS_BASE_IOC_LIBS) From ec9851708f6d2451c0a99bb52a55a8c360e64d4b Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 15 Mar 2026 15:44:49 -0700 Subject: [PATCH 2/7] WIP: support PXIe-EVR-300 --- documentation/lspci/pxie-evr-300.txt | 27 +++ evrMrmApp/Db/Makefile | 1 + evrMrmApp/Db/evr-pxie-300.substitutions | 305 ++++++++++++++++++++++++ evrMrmApp/src/drvemSetup.cpp | 20 ++ mrmShared/linux/uio_mrf.c | 10 + mrmShared/src/mrmpci.h | 3 + 6 files changed, 366 insertions(+) create mode 100644 documentation/lspci/pxie-evr-300.txt create mode 100644 evrMrmApp/Db/evr-pxie-300.substitutions diff --git a/documentation/lspci/pxie-evr-300.txt b/documentation/lspci/pxie-evr-300.txt new file mode 100644 index 00000000..6005c729 --- /dev/null +++ b/documentation/lspci/pxie-evr-300.txt @@ -0,0 +1,27 @@ +0c:00.0 RAM memory: Xilinx Corporation Device 0505 + Subsystem: Device 1a3e:112c + Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx- + Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TBIN[0:7] +# STAR[0:16] -> TBIN[8:24] +# DSTARC[0:16] -> TBIN[25:41] +} diff --git a/evrMrmApp/src/drvemSetup.cpp b/evrMrmApp/src/drvemSetup.cpp index b7ecf274..eb4a3273 100755 --- a/evrMrmApp/src/drvemSetup.cpp +++ b/evrMrmApp/src/drvemSetup.cpp @@ -81,6 +81,9 @@ static const epicsPCIID mrmevrs[] = { /* PCIe-EVR-300DC */ ,DEVPCI_SUBDEVICE_SUBVENDOR(PCI_DEVICE_ID_XILINX_DEV, PCI_VENDOR_ID_XILINX, PCI_SUBDEVICE_ID_PCIE_EVR_300, PCI_VENDOR_ID_MRF) + /* PXIe-EVR-300 */ + ,DEVPCI_SUBDEVICE_SUBVENDOR(PCI_DEVICE_ID_XILINX_DEV2, PCI_VENDOR_ID_XILINX, + PCI_SUBDEVICE_ID_PXIE_EVR_300, PCI_VENDOR_ID_MRF) ,DEVPCI_END }; @@ -286,6 +289,21 @@ static const EVRMRM::Config pcie_evr_300 = { 24, // FP, Univ inputs }; +static const EVRMRM::Config pxie_evr_300 = { + "PXIe-EVR-300", + 24, // pulse generators + 8, // prescalers + 0, // FP outputs + 4, // FPUV outputs + 0, // RB outputs + 59, // Backplane outputs: TRIG[0:7] STAR[0:16] STARA[0:16] STARB[0:16] + 0, // FP Delay outputs + 0, // CML/GTX outputs + MRMCML::typeTG300, + 2, // FP inputs + // RBIN[0:41]? TRIG[0:7] STAR[0:16] DSTARC[0:16] +}; + static const EVRMRM::Config cpci_evr_unknown = { "cPCI-EVR-???", 10, // pulse generators @@ -738,6 +756,7 @@ try { case PCI_DEVICE_ID_XILINX_DEV: conf = &pcie_evr_300; break; } break; + case PCI_SUBDEVICE_ID_PXIE_EVR_300: conf = &pxie_evr_300; break; } if(!conf) { @@ -828,6 +847,7 @@ try { case PCI_DEVICE_ID_EC_30: case PCI_DEVICE_ID_MRF_CPCIEVR300: case PCI_DEVICE_ID_XILINX_DEV: + case PCI_DEVICE_ID_XILINX_DEV2: /* the endianness the 300 series devices w/o PLX bridge * is a little tricky to setup. byte order swapping is controlled * through the EVR's Control register and access to this register diff --git a/mrmShared/linux/uio_mrf.c b/mrmShared/linux/uio_mrf.c index 40088f7a..cfc3cb56 100644 --- a/mrmShared/linux/uio_mrf.c +++ b/mrmShared/linux/uio_mrf.c @@ -46,6 +46,7 @@ MODULE_PARM_DESC(use_msi, "Use MSI if present (default 1, yes)"); #define PCI_DEVICE_ID_EC_30 0xEC30 #define PCI_DEVICE_ID_XILINX_DEV 0x7011 +#define PCI_DEVICE_ID_XILINX_DEV2 0x0505 #define PCI_DEVICE_ID_PLX_9030 0x9030 /** PCI Device ID for PLX-9030 bridge chip */ #define PCI_DEVICE_ID_PLX_9056 0x9056 /** PCI Device ID for PLX-9056 bridge chip */ @@ -62,6 +63,8 @@ MODULE_PARM_DESC(use_msi, "Use MSI if present (default 1, yes)"); #define PCI_SUBDEVICE_ID_MRF_EVRTG_300 0x192c /* PCIe-EVR-300 and PCIe-EVR-300DC */ #define PCI_SUBDEVICE_ID_PCIE_EVR_300 0x172c +/* PXIe-EVR-300 */ +#define PCI_SUBDEVICE_ID_PXIE_EVR_300 0x112c /* mTCA-EVM-300 */ #define PCI_DEVICE_ID_MRF_MTCA_EVM_300 0x232c @@ -774,6 +777,13 @@ static struct pci_device_id mrf_pci_ids[] = { .subdevice = PCI_DEVICE_ID_MRF_MTCA_EVM_300, .driver_data = 0x28, }, + { + .vendor = PCI_VENDOR_ID_XILINX, + .device = PCI_DEVICE_ID_XILINX_DEV2, + .subvendor = PCI_SUBVENDOR_ID_MRF, + .subdevice = PCI_SUBDEVICE_ID_PXIE_EVR_300, + .driver_data = 0x16, + }, { 0, } }; MODULE_DEVICE_TABLE(pci, mrf_pci_ids); diff --git a/mrmShared/src/mrmpci.h b/mrmShared/src/mrmpci.h index 76bec232..9ae2fa2d 100644 --- a/mrmShared/src/mrmpci.h +++ b/mrmShared/src/mrmpci.h @@ -14,6 +14,7 @@ #define PCI_VENDOR_ID_XILINX 0x10ee #define PCI_DEVICE_ID_XILINX_DEV 0x7011 +#define PCI_DEVICE_ID_XILINX_DEV2 0x0505 #define PCI_VENDOR_ID_PLX 0x10b5 /* PCI Vendor ID for PLX Technology, Inc. */ @@ -38,6 +39,8 @@ #define PCI_SUBDEVICE_ID_PCIE_EVR_300 0x172c /* mTCA-EVR-300 */ #define PCI_DEVICE_ID_MRF_EVRMTCA300 0x132c +/* PXIe-EVR-300 */ +#define PCI_SUBDEVICE_ID_PXIE_EVR_300 0x112c /* mTCA-EVM-300 */ #define PCI_DEVICE_ID_MRF_MTCA_EVM_300 0x232c From 4f8a8ee24fa8279f213d24808c4f88450133d90e Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 15 Mar 2026 17:35:33 -0700 Subject: [PATCH 3/7] HACK: PXIe-EVR-300 Control[LEMDE] has no effect Stuck with MSBF order. --- evrMrmApp/src/drvemSetup.cpp | 4 ++-- mrfCommon/src/mrfCommonIO.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/evrMrmApp/src/drvemSetup.cpp b/evrMrmApp/src/drvemSetup.cpp index eb4a3273..8289068e 100755 --- a/evrMrmApp/src/drvemSetup.cpp +++ b/evrMrmApp/src/drvemSetup.cpp @@ -543,14 +543,14 @@ printregisters(volatile epicsUInt8 *evr,epicsUInt32 len) case 16: printf("0x%05x %04x %-9s\n", printreg[reg].offset, - nat_ioread16(evr+printreg[reg].offset), + be_ioread16(evr+printreg[reg].offset), printreg[reg].label ); break; case 32: printf("0x%05x %08x %-9s\n", printreg[reg].offset, - nat_ioread32(evr+printreg[reg].offset), + be_ioread32(evr+printreg[reg].offset), printreg[reg].label ); break; diff --git a/mrfCommon/src/mrfCommonIO.h b/mrfCommon/src/mrfCommonIO.h index a51d4e36..773c2700 100644 --- a/mrfCommon/src/mrfCommonIO.h +++ b/mrfCommon/src/mrfCommonIO.h @@ -143,10 +143,10 @@ /*================================================================================================*/ #define NAT_READ32(base,offset) \ - nat_ioread32 ((epicsUInt8 *)(base) + U32_ ## offset) + be_ioread32 ((epicsUInt8 *)(base) + U32_ ## offset) #define NAT_WRITE32(base,offset,value) \ - nat_iowrite32 (((epicsUInt8 *)(base) + U32_ ## offset), value) + be_iowrite32 (((epicsUInt8 *)(base) + U32_ ## offset), value) /**************************************************************************************************/ /* Macros For Big-Endian Bus I/O */ From 368aac3f1805135c15fc69114130bdee95f44309 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 25 Mar 2026 09:21:05 -0700 Subject: [PATCH 4/7] Revert "HACK: PXIe-EVR-300 Control[LEMDE] has no effect" This reverts commit 4f8a8ee24fa8279f213d24808c4f88450133d90e. --- evrMrmApp/src/drvemSetup.cpp | 4 ++-- mrfCommon/src/mrfCommonIO.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/evrMrmApp/src/drvemSetup.cpp b/evrMrmApp/src/drvemSetup.cpp index 8289068e..eb4a3273 100755 --- a/evrMrmApp/src/drvemSetup.cpp +++ b/evrMrmApp/src/drvemSetup.cpp @@ -543,14 +543,14 @@ printregisters(volatile epicsUInt8 *evr,epicsUInt32 len) case 16: printf("0x%05x %04x %-9s\n", printreg[reg].offset, - be_ioread16(evr+printreg[reg].offset), + nat_ioread16(evr+printreg[reg].offset), printreg[reg].label ); break; case 32: printf("0x%05x %08x %-9s\n", printreg[reg].offset, - be_ioread32(evr+printreg[reg].offset), + nat_ioread32(evr+printreg[reg].offset), printreg[reg].label ); break; diff --git a/mrfCommon/src/mrfCommonIO.h b/mrfCommon/src/mrfCommonIO.h index 773c2700..a51d4e36 100644 --- a/mrfCommon/src/mrfCommonIO.h +++ b/mrfCommon/src/mrfCommonIO.h @@ -143,10 +143,10 @@ /*================================================================================================*/ #define NAT_READ32(base,offset) \ - be_ioread32 ((epicsUInt8 *)(base) + U32_ ## offset) + nat_ioread32 ((epicsUInt8 *)(base) + U32_ ## offset) #define NAT_WRITE32(base,offset,value) \ - be_iowrite32 (((epicsUInt8 *)(base) + U32_ ## offset), value) + nat_iowrite32 (((epicsUInt8 *)(base) + U32_ ## offset), value) /**************************************************************************************************/ /* Macros For Big-Endian Bus I/O */ From 71fc915c825ec13be0597028f9a52fb9f81dafba Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 25 Mar 2026 09:22:23 -0700 Subject: [PATCH 5/7] HACK: set both Control[LEMDE] and mirror bit --- evrMrmApp/src/drvemSetup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evrMrmApp/src/drvemSetup.cpp b/evrMrmApp/src/drvemSetup.cpp index eb4a3273..2bb73152 100755 --- a/evrMrmApp/src/drvemSetup.cpp +++ b/evrMrmApp/src/drvemSetup.cpp @@ -858,7 +858,7 @@ try { NAT_WRITE32(evr, Control, 0); // Enable byte order swapping if necessary #if EPICS_BYTE_ORDER == EPICS_ENDIAN_LITTLE - BE_WRITE32(evr, Control, 0x02000000); + BE_WRITE32(evr, Control, 0x02000002); #endif // Disable interrupts on device From 70447a1edf00111db5bd37f321b748ac23208041 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 25 Mar 2026 17:52:33 -0700 Subject: [PATCH 6/7] fixup! WIP: support PXIe-EVR-300 --- evrMrmApp/Db/evr-pxie-300.substitutions | 4 ---- 1 file changed, 4 deletions(-) diff --git a/evrMrmApp/Db/evr-pxie-300.substitutions b/evrMrmApp/Db/evr-pxie-300.substitutions index e7774bd8..5b597e14 100644 --- a/evrMrmApp/Db/evr-pxie-300.substitutions +++ b/evrMrmApp/Db/evr-pxie-300.substitutions @@ -91,10 +91,6 @@ file "evrscale.db" {1, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} {2, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} {3, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} -{4, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} -{5, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} -{6, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} -{7, "$(SYS){$(D)}", "$(SYS){$(D)-PS:$(IDX)}", "$(EVR):PS$(IDX)", "0x7fffffff"} } file "mrmevrout.db" From 0e3196acd6a1f52ac7a6beea514d5fc3f918f22c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 26 Mar 2026 12:56:56 -0700 Subject: [PATCH 7/7] OPI: PXIe-EVR-300 --- evrMrmApp/opi/_evroutput.bob | 108 ++ evrMrmApp/opi/evr-pxie-300u.bob | 1640 +++++++++++++++++++++++++++++++ 2 files changed, 1748 insertions(+) create mode 100644 evrMrmApp/opi/_evroutput.bob create mode 100644 evrMrmApp/opi/evr-pxie-300u.bob diff --git a/evrMrmApp/opi/_evroutput.bob b/evrMrmApp/opi/_evroutput.bob new file mode 100644 index 00000000..930f5ac0 --- /dev/null +++ b/evrMrmApp/opi/_evroutput.bob @@ -0,0 +1,108 @@ + + + Display + 505 + 49 + + + 6 + 6 + + Menu Button + $(SYS){$(D)-Out:$(O)}Src:Pulse-SP + 144 + 91 + 25 + false + + + Text Update_3 + $(SYS){$(D)-Out:$(O)}Src-SP.DESC + 145 + 25 + + + + + + + + + true + 1 + 1 + false + + + + + + + + + Menu Button_3 + $(SYS){$(D)-Out:$(O)}Src:DBus-SP + 234 + 91 + 25 + false + + + Menu Button_4 + $(SYS){$(D)-Out:$(O)}Src:Scale-SP + 324 + 91 + 25 + false + + + Text Input_6 + $(SYS){$(D)-Out:$(O)}Label-I + 24 + 415 + 25 + + + + + 6 + + + false + + + + + + + Text Update_1 + $(SYS){$(D)-Out:$(O)}Src-RB + 415 + 25 + 89 + 23 + + + + + + + + + true + 1 + 1 + false + + + 1 + + + Menu Button_5 + $(SYS){$(D)-Out:$(O)}Src:Gate-SP + 415 + 91 + 25 + false + + diff --git a/evrMrmApp/opi/evr-pxie-300u.bob b/evrMrmApp/opi/evr-pxie-300u.bob new file mode 100644 index 00000000..7f1cadc6 --- /dev/null +++ b/evrMrmApp/opi/evr-pxie-300u.bob @@ -0,0 +1,1640 @@ + + + $(TITLE) + + EVR $(SYS) $(D) + + 1306 + 979 + + + + + + + 6 + 6 + + Text Input + $(SYS){$(D)}Label-I + 18 + 31 + 721 + 25 + + + + + 6 + + + false + + + + + + + Delay Generators (Pulsers) + 187 + 61 + 557 + 480 + + + + + + + + + + + + + + + + + Linking Container_6 + +

DlyGen:6

+ 6 +
+ _evrdlygen.opi + 12 + 288 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_8 + +

DlyGen:8

+ 8 +
+ _evrdlygen.opi + 12 + 368 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_3 + +

DlyGen:3

+ 3 +
+ _evrdlygen.opi + 12 + 167 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_7 + +

DlyGen:7

+ 7 +
+ _evrdlygen.opi + 12 + 327 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_9 + +

DlyGen:9

+ 9 +
+ _evrdlygen.opi + 12 + 407 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_5 + +

DlyGen:5

+ 5 +
+ _evrdlygen.opi + 12 + 247 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_4 + +

DlyGen:4

+ 4 +
+ _evrdlygen.opi + 12 + 208 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_2 + +

DlyGen:2

+ 2 +
+ _evrdlygen.opi + 12 + 128 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container_1 + +

DlyGen:1

+ 1 +
+ _evrdlygen.opi + 12 + 87 + 511 + 39 + 2 + true + + + + + + +
+ + Linking Container + +

DlyGen:0

+ 0 +
+ _evrdlygen.opi + 12 + 48 + 511 + 39 + 2 + true + + + + + + +
+ + Label_4 + Polarity + 42 + 25 + 52 + 1 + 1 + + + + + + + + + Label_2 + Enable + 42 + 6 + 52 + 1 + 1 + + + + + + + + + Label_5 + Prescaler + 99 + 18 + 52 + 1 + 1 + + + + + + + + + Label_6 + Delay + 195 + 25 + 52 + 1 + 1 + + + + + + + + + Label_7 + Width + 312 + 25 + 52 + 1 + 1 + + + + + + + + + Label_8 + Triggering Events + (0=Disable) + 396 + 12 + 132 + 32 + 1 + 1 + + + + + + + +
+ + Prescalers + 5 + 61 + 177 + 132 + + + + + + + + + + + + + + + + + Text Update_1 + $(SYS){$(D)-PS:2}Rate-I + 85 + 57 + 65 + + + + + true + 1 + 1 + false + + + 1 + + + Text Update_1 + $(SYS){$(D)-PS:1}Rate-I + 85 + 32 + 65 + + + + + true + 1 + 1 + false + + + 1 + + + Text Update_1 + $(SYS){$(D)-PS:0}Rate-I + 85 + 7 + 65 + + + + + true + 1 + 1 + false + + + 1 + + + Text Input + $(SYS){$(D)-PS:0}Div-SP + 18 + 6 + 61 + + + + + 1 + + + false + + + + + + + Text Input + $(SYS){$(D)-PS:1}Div-SP + 18 + 31 + 61 + + + + + 1 + + + false + + + + + + + Text Input + $(SYS){$(D)-PS:2}Div-SP + 18 + 56 + 61 + + + + + 1 + + + false + + + + + + + Label_6 + 2 + 5 + 56 + 14 + 1 + 1 + + + + + + + + + Label_5 + 1 + 5 + 31 + 14 + 1 + 1 + + + + + + + + + Label_4 + 0 + 5 + 6 + 14 + 1 + 1 + + + + + + + + + Text Update_2 + $(SYS){$(D)-PS:3}Rate-I + 85 + 82 + 65 + + + + + true + 1 + 1 + false + + + 1 + + + Text Input_1 + $(SYS){$(D)-PS:3}Div-SP + 18 + 81 + 61 + + + + + 1 + + + false + + + + + + + Label_9 + 3 + 5 + 81 + 14 + 1 + 1 + + + + + + + + + + Physical Outputs + 749 + 61 + 557 + 918 + + + + + + + + + + + + + + + + + Tabbed Container + + + FPUV + + + FPUV3 + + FPUV3 + + _evroutput.opi + 6 + 160 + 418 + 52 + 1 + true + + + + + + + + + FPUV2 + + FPUV2 + + _evroutput.opi + 6 + 109 + 418 + 52 + 1 + true + + + + + + + + + FPUV1 + + FPUV1 + + _evroutput.opi + 6 + 57 + 418 + 52 + 1 + true + + + + + + + + + FPUV0 + + FPUV0 + + _evroutput.opi + 6 + 6 + 418 + 52 + 1 + true + + + + + + + + + + + Internal + + + Int + + Int + + _evroutput.opi + 6 + 12 + 418 + 52 + 1 + true + + + + + + + + + + + TRIG + + + TRIG + _evroutput.bob + + + + Back0 + + + + + Back1 + + + + + Back2 + + + + + Back3 + + + + + Back4 + + + + + Back5 + + + + + Back6 + + + + + Back7 + + + + 10 + 16 + 505 + 392 + 0 + true + + + + + STAR + + + STAR + _evroutput.bob + + + + Back8 + + + + + Back9 + + + + + Back10 + + + + + Back11 + + + + + Back12 + + + + + Back13 + + + + + Back14 + + + + + Back15 + + + + + Back16 + + + + + Back17 + + + + + Back18 + + + + + Back19 + + + + + Back20 + + + + + Back21 + + + + + Back22 + + + + + Back23 + + + + + Back24 + + + + 10 + 16 + 505 + 833 + 0 + true + + + + + DSTARA + + + DSTARA + _evroutput.bob + + + + Back25 + + + + + Back26 + + + + + Back27 + + + + + Back28 + + + + + Back29 + + + + + Back30 + + + + + Back31 + + + + + Back32 + + + + + Back33 + + + + + Back34 + + + + + Back35 + + + + + Back36 + + + + + Back37 + + + + + Back38 + + + + + Back39 + + + + + Back40 + + + + + Back41 + + + + 10 + 16 + 505 + 833 + 0 + true + + + + + DSTARB + + + DSTARB + _evroutput.bob + + + + Back42 + + + + + Back43 + + + + + Back44 + + + + + Back45 + + + + + Back46 + + + + + Back47 + + + + + Back48 + + + + + Back49 + + + + + Back50 + + + + + Back51 + + + + + Back52 + + + + + Back53 + + + + + Back54 + + + + + Back55 + + + + + Back56 + + + + + Back57 + + + + + Back58 + + + + 10 + 16 + 505 + 833 + 0 + true + + + + + 12 + 5 + 527 + 876 + + + + + 2 + 10 + + + + + + Title800_1 + 800 + 32 + + + + + + + + + + + + + + + + + Text Input + + + + ${TITLE} + 10 + 777 + 32 + + + + + + + + + false + 1 + 1 + + + $(pv_name) +$(pv_value) + + + + + + + Text Update_3 + $(SYS){$(D)}Time-I + 19 + 4 + 209 + 23 + + + + + true + 1 + 1 + false + + + 1 + + + + Physical Inputs + 5 + 468 + 177 + 267 + + + + + + + + + + + + + + + + + Linking Container + +

In:0

+
+ _evrinput.opi + 7 + 7 + 149 + 110 + 2 + true + + + 1 +
+ + Linking Container + +

In:1

+
+ _evrinput.opi + 7 + 127 + 149 + 110 + 2 + true + + + 1 +
+
+ + Global + 5 + 198 + 177 + 265 + + + + + + + + + + + + + + + + + Label + Enabled + 16 + 7 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Ena-Sel + 91 + 7 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label + Link Status + 16 + 25 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Link-Sts + 91 + 25 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label + PLL Status + 16 + 43 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Pll-Sts + 91 + 43 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label + Link Err Cnt + 16 + 97 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Cnt:RxErr-I + 91 + 97 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label + HBt TIMO Cnt + 6 + 115 + 73 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Cnt:LinkTimo-I + 91 + 115 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label + Time Status + 16 + 61 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Time:Valid-Sts + 91 + 61 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Text Input + $(SYS){$(D)}Evt:Blink0-SP + 90 + 180 + 67 + 19 + + + + + + + + + + + + + Action Button + + + Open Display + evr-expert.opi + tab + + + Expert + 42 + 204 + 19 + + + + + $(actions) + false + + + Label + FIFO OFlw + 16 + 132 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Cnt:HwOflw-I + 91 + 132 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label_1 + Sw OFlw + 6 + 149 + 73 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)}Cnt:SwOflw-I + 91 + 149 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Label_1 + Blink Event + 6 + 181 + 73 + 17 + 2 + 1 + + + + + + + + + Label + Rx Pwr + 16 + 79 + 63 + 17 + 2 + 1 + + + + + + + + + Text Update_1 + $(SYS){$(D)-SFP}Pwr:RX-I + 91 + 79 + 65 + 17 + + + + + true + 1 + 1 + false + + + 1 + + + Menu Button + + + SoftSeq #0 + evg-seq.opi + + SoftSeq:0 + + tab + + + SoftSeq #1 + evg-seq.opi + + SoftSeq:1 + + tab + + + SoftSeq #2 + evg-seq.opi + + SoftSeq:2 + + tab + + + Sequencers + 42 + 222 + 19 + + + + + $(actions) + false + + +