-
Notifications
You must be signed in to change notification settings - Fork 29
Feature/ge21compatibility #287
Feature/ge21compatibility #287
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please rebase
In the CTP7 modules PR we added things like e.g. the |
Same question here: |
I think you need to add Specifically: lenExpected = self.nOHs * (maxVfat3DACSize[dacSelect][0] - 0+1)*24 / dacStep Also the following locations:
Also need |
Need |
Need documentation update in following locations I think: |
Probably change how Propose to add to
Otherwise I think you'll run into bus errors at some point. If above solution is adopted then the following method would also need a similar modification: |
Looks like no changes to this method, e.g. documentation illustrates that Same question for the below: |
Probably need a per |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outstanding questions and/or clarification needed. Some additional compatibility issues raised.
I'm not sure I caught everything... |
This reverts commit f4ffbf3.
I don't think a protections is needed here |
@@ -185,6 +185,12 @@ def __init__(self, cardName, debug=False, gemType="ge11"): | |||
else: | |||
raise KeyError("Unrecognized gemType {0}".format(gemType)) | |||
|
|||
#Determine the number of VFATs per geb based on the gemType | |||
if gemType in vfatsPerGemVariant.keys(): | |||
self.NVFAT = vfatsPerGemVariant[gemType] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we won't have a situation where detType
has a different number of VFATs correct?
e.g. {M1,...,M8} all have 12 VFATs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also in HwOptohybrid
this is self.nVFATs
vs. self.NVFAT
.
Should we keep both these data members...in retrospect probably the better way to go would have been to have:
HwOptohybrid
inherit from HwAMC
and HwVFAT
inherit from HwOptohybrid
. Then all this parentX
crap which is, admittedly, messy could disappear. Although whether that type of change is appropriate for this PR (or ever given this is #legacy) is unclear. Alas...my programming skills have improved since the original design...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would caution against making API changes at this point, since this legacy stuff is supposed to be frozen anyway...
We will have to potentially think of how to map this in the updated API, where currently there is not going to be a HwVFAT
, though it could be added if deemed absolutely critical (would just have to think of how best to do so...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would caution against making API changes at this point, since this legacy stuff is supposed to be frozen anyway...
Indeed. For this PR then I would suggest we keep both data members but just standardized the data member name in both classes for QOL; so it should be either self.NVFAT
or self.nVFATs
with a slight preference for self.nVFATs
simply because it pre-dates this PR in HwOptohybrid
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some typos in function documentation and one spot where I think an AttributeError
will be raised at runtime.
If @bdorney is satisfied with changes, please |
I believe all the comments has been addressed now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK from my side
@mexanick, merging this wouldn't break backwards compatibility (GE1/1) until cms-gem-daq-project/xhal#119 and cms-gem-daq-project/ctp7_modules#132 are merged, right? |
It should not break GE1/1 compatibility at all |
Grrr, @mexanick you merged... (I was going to squash) |
ups. We can rewind if you insist |
Description
Implements GE2/1 compatibility. All new parameters are backed with default values set to GE1/1 defaults. Thus the rest of the software should be able to work unchanged. Requires cms-gem-daq-project/ctp7_modules#132 to work with GE2/1
Types of changes
Motivation and Context
Need to be able to use the current legacy software for GE2/1 integration stand
How Has This Been Tested?
Tested with GE2/1 integration stand.
Screenshots (if appropriate):
Checklist: