cms-gem-daq-project / ctp7_modules

0 stars 13 forks source link

New Feature: Added Link Monitoring [master] #89

Closed bdorney closed 5 years ago

bdorney commented 5 years ago

Description

Addresses issue #66.

As #82 but onto master.

Types of changes

Motivation and Context

Provides link monitoring. Is needed for connectivity testing proposal, see steps 2 & 5.

How Has This Been Tested?

 testConnectivity.py -m 5 --shelf=2 -s5 --skipDACScan --skipScurve -o 0x1 -d --nPhaseScans=50 -o 0x1
Open pickled address table if available  /opt/cmsgemos/etc/maps/amc_address_table_top.pickle...
Initializing AMC gem-shelf02-amc05
====================
Step 1: Checking GBT Communication
====================
Checking GBT Communication (Before Programming GBTs)
--=======================================--
-> GEM SYSTEM GBT INFORMATION
--=======================================--

----------OH0----------
GBT0.READY              1
GBT0.NOT_READY          0
GBT0.RX_HAD_OVERFLOW    0
GBT0.RX_HAD_UNDERFLOW   0
GBT1.READY              1
GBT1.NOT_READY          0
GBT1.RX_HAD_OVERFLOW    0
GBT1.RX_HAD_UNDERFLOW   0
GBT2.READY              1
GBT2.NOT_READY          0
GBT2.RX_HAD_OVERFLOW    0
GBT2.RX_HAD_UNDERFLOW   0
Programming GBTs
Checking GBT Communication (After Programming GBTs)
--=======================================--
-> GEM SYSTEM GBT INFORMATION
--=======================================--

----------OH0----------
GBT0.READY              1
GBT0.NOT_READY          0
GBT0.RX_HAD_OVERFLOW    0
GBT0.RX_HAD_UNDERFLOW   0
GBT1.READY              1
GBT1.NOT_READY          0
GBT1.RX_HAD_OVERFLOW    0
GBT1.RX_HAD_UNDERFLOW   0
GBT2.READY              1
GBT2.NOT_READY          0
GBT2.RX_HAD_OVERFLOW    0
GBT2.RX_HAD_UNDERFLOW   0
GBT Communication Established

And for VFAT communication:

====================
Step 5: Checking VFAT Synchronization
====================
Warning: One or more VFATs found to be out of sync
--=======================================--
-> GEM SYSTEM VFAT INFORMATION
--=======================================--

----------OH0----------
VFAT0.SYNC_ERR_CNT 0x0L
VFAT1.SYNC_ERR_CNT 0x0L
VFAT2.SYNC_ERR_CNT 0x0L
VFAT3.SYNC_ERR_CNT 0x0L
VFAT4.SYNC_ERR_CNT 0x0L
VFAT5.SYNC_ERR_CNT 0x0L
VFAT6.SYNC_ERR_CNT 0x0L
VFAT7.SYNC_ERR_CNT 0x0L
VFAT8.SYNC_ERR_CNT 0x0L
VFAT9.SYNC_ERR_CNT 0x0L
VFAT10.SYNC_ERR_CNT 0x0L
VFAT11.SYNC_ERR_CNT 0x0L
VFAT12.SYNC_ERR_CNT 0x0L
VFAT13.SYNC_ERR_CNT 0x0L
VFAT14.SYNC_ERR_CNT 0x0L
VFAT15.SYNC_ERR_CNT 0x0L
VFAT16.SYNC_ERR_CNT 0x0L
VFAT17.SYNC_ERR_CNT 0x0L
VFAT18.SYNC_ERR_CNT 0x0L
VFAT19.SYNC_ERR_CNT 0x0L
VFAT20.SYNC_ERR_CNT 0x0L
VFAT21.SYNC_ERR_CNT 0x0L
VFAT22.SYNC_ERR_CNT 0x0L
VFAT23.SYNC_ERR_CNT 0x0L
VFATs are properly synchronized

Screenshots (if appropriate):

Checklist:

jsturdy commented 5 years ago

Is this a hotfix? If not, the process to get onto master is the same as all other developments, via the maintainer merging the develop branch in

bdorney commented 5 years ago

Is this a hotfix? If not, the process to get onto master is the same as all other developments, via the maintainer merging the develop branch in

I need this functionality in the legacy branch for the lab. See discussion here. Could we just merge into master or as requested make a dedicated legacy fork (that for some reason was determined to be master)?

jsturdy commented 5 years ago

I can't really say anything regarding the current branching semantics here, @mexanick, what does master represent? Do you have a preference for creating another legacy branch for hacking such as this?

mexanick commented 5 years ago

Actually, we don't need any legacy branches here, a master branch should represent the latest stable branch. I have to check this.

jsturdy commented 5 years ago

So ctp7_modules:develop and ctp7_modules:master are both currently compatible with what @bdorney wants to do with xhal:legacy_preBoost?

bdorney commented 5 years ago

So ctp7_modules:develop and ctp7_modules:master are both currently compatible with what @bdorney wants to do with xhal:legacy_preBoost?

ctp7_modules:develop will not build if xhal:legacy_preBoost is installed on the machine. The issue is:

https://github.com/cms-gem-daq-project/ctp7_modules/blob/360913c693ae4caa11ed20626bf6cd9595f392db/Makefile#L25

/opt/xhal/include doesn't exist in xhal:legacy_preBoost. See:

[gemuser@gem904qc8daq gemuser]$ ll /opt/xhal
total 12K
drwxr-xr-x. 2 root root 4.0K Nov 15 20:01 scripts
drwxr-xr-x. 2 root root 4.0K Nov 15 20:01 bin
drwxr-xr-x. 2 root root 4.0K Nov 15 20:11 lib

What is needed for master is:

https://github.com/cms-gem-daq-project/ctp7_modules/blob/da63de89f93761b7c27a8e9d19012aca79d9e8c6/Makefile#L25

mexanick commented 5 years ago

I believe you only need to install develrpm for the xhal, then it will have the includes. If there's no option to produce it under xhal:legacy_preBoost, please open an issue there.

jsturdy commented 5 years ago

For the purposes of this discussion, I'm not concerned about the build process, rather the compiled libraries (which I understand depends on the build process :-P).

bdorney commented 5 years ago

I believe you only need to install develrpm for the xhal, then it will have the includes. If there's no option to produce it under xhal:legacy_preBoost, please open an issue there.

Installing xhal-devel onto the machine has resolved this issue. In this case I guess we will go the usual way, e.g. develop -> master. So I will close this PR.