Skip to content

Commit

Permalink
Mapping MTCA EVR special outputs as per MRF manual
Browse files Browse the repository at this point in the history
All MTCA EVRs have the CML/GTX outputs for TCLKA and TCLKB
mapped to Universal Output 16 and 17 (chapters 3.7. and 3.8.) and
CML/GTX logic block 0 and 1.

mTCA-EVR-300RF has additional high resolution outputs mapped as:
- UNIV2  : mapped to Universal Output 18 and CML/GTX logic block 2
- UNIV3  : mapped to Universal Output 19 and CML/GTX logic block 3
- GTX SFP: mapped to Universal Output 20 and CML/GTX logic block 4
- +-CML  : mapped to Universal Output 21 and CML/GTX logic block 5
  • Loading branch information
zioven committed Dec 6, 2023
1 parent 7dffdff commit 34076cd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
16 changes: 11 additions & 5 deletions evrMrmApp/src/drvem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -286,18 +286,24 @@ try{

} else if(formfactor==formFactor_mTCA) {

// map TCLKA/B as UNIV16/17
for (unsigned int i = 16; i <= 17; ++i) {
outputs[std::make_pair(OutputFPUniv, i)]
= new MRMOutput(SB() << n << ":FrontUnivOut" << i, this, OutputFPUniv, i);
}

// CMLs for TCLKA/B
shortcmls.resize(2);
shortcmls[0] = new MRMCML(n+":CML0", 0,*this,MRMCML::typeCML,form);
shortcmls[1] = new MRMCML(n+":CML1", 1,*this,MRMCML::typeCML,form);

// additional setup specific to mTCA-EVR-300RF
if(model().compare("mTCA-EVR-300RF") == 0) {
// map FPUV2/3 as UNIV18/19 and FPSFP/FPCML as UNIV20/21
// TODO: To check as probably the .sub file is sufficient.
// for (unsigned int i = 18; i <= 21; ++i) {
// outputs[std::make_pair(OutputFPUniv, i)]
// = new MRMOutput(SB() << n << ":FrontUnivOut" << i, this, OutputFPUniv, i);
// }
for (unsigned int i = 18; i <= 21; ++i) {
outputs[std::make_pair(OutputFPUniv, i)]
= new MRMOutput(SB() << n << ":FrontUnivOut" << i, this, OutputFPUniv, i);
}

// append CML2 to CML5 to existing CMLs
shortcmls.resize(6);
Expand Down
4 changes: 2 additions & 2 deletions evrMrmApp/src/drvemSetup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ static const EVRMRM::Config mtca_evr_300rf = {
24, // pulse generators
8, // prescalers
0, // FP outputs
2, // FPUV outputs (only FPUV0/1, mapped to FrontUnivOut0/1)
2, // FPUV outputs (only FPUV0/1, mapped to FrontUnivOut0/1, FPUV2/3 mapped in the code to FrontUnivOut18/19)
10, // RB outputs (RTM)
8, // Backplane outputs
2, // FP Delay outputs
Expand Down Expand Up @@ -217,7 +217,7 @@ static const EVRMRM::Config mtca_evr_300 = {
24, // pulse generators
8, // prescalers
4, // FP outputs
18, // Univ outputs
16, // Univ outputs
10, // RB outputs (10 EVRTM)
8, // Backplane outputs
2, // FP Delay outputs
Expand Down

0 comments on commit 34076cd

Please sign in to comment.