Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Christian Dziwok
Ph2_ACF
Commits
5eff4d4b
Commit
5eff4d4b
authored
May 10, 2022
by
Christian Dziwok
Browse files
fix sfp+ nullptr execp. and missing handshake to f-writer
parent
e604291d
Changes
4
Hide whitespace changes
Inline
Side-by-side
ProductionTools/SEHLpGbtTester.cc
View file @
5eff4d4b
...
...
@@ -499,10 +499,11 @@ int main(int argc, char* argv[])
// cIsBerTestSuccessfull = cSEHBertTestboardTester.GetBertResultSummary();
/*** debug only
***/
/*** debug only
LOG(INFO)<< "\\t\tDEBUG; FIXED LATENCY (4) AND BITSLIP (5) !!!!" << RESET;
cSEHBertTestboardTester.RunBertWithFixedLatencyAndRefindBitslip(lUpdateIntervalInSec, 5, 4,true);
// cSEHBertTestboardTester.RunBertWithFixedLatencyAndRefindBitslip(lUpdateIntervalInSec, 9, 4);
***/
cSEHBertTestboardTester
.
RunBertWithFixedLatencyAndRefindBitslip
(
lUpdateIntervalInSec
,
9
,
4
);
cIsBerTestSuccessfull
=
cSEHBertTestboardTester
.
GetBertResultSummary
();
cSEHBertTestboardTester
.
Update_Summary
(
"data"
);
}
...
...
ProductionTools/TerminateOnFile.cc
deleted
100644 → 0
View file @
e604291d
#include "../tools/SehTestConstants.h"
#include "../tools/TestboardHelperFct.h"
#include "../Utils/Timer.h"
#include "../Utils/Utilities.h"
#include "../Utils/argvparser.h"
#include "../tools/Tool.h"
#include <cstring>
#include <fstream>
#include <inttypes.h>
#include <stdio.h>
#include <Python.h>
#include <tuple>
#include <iostream>
#include <sstream>
#include <vector>
using
namespace
CommandLineProcessing
;
using
namespace
std
;
INITIALIZE_EASYLOGGINGPP
int
main
(
int
argc
,
char
*
argv
[])
{
// configure the logger
el
::
Configurations
conf
(
"settings/logger.conf"
);
el
::
Loggers
::
reconfigureAllLoggers
(
conf
);
ArgvParser
cmd
;
// init
cmd
.
setIntroductoryDescription
(
"CMS Ph2_ACF SEH v3.2 Test-BOARD script"
);
// error codes
cmd
.
addErrorCode
(
0
,
"Success"
);
cmd
.
addErrorCode
(
1
,
"Error"
);
// options
cmd
.
setHelpOption
(
"h"
,
"help"
,
"Print this help page"
);
cmd
.
defineOption
(
"file"
,
"termination file name"
,
ArgvParser
::
OptionRequiresValue
/*| ArgvParser::OptionRequired*/
);
cmd
.
defineOptionAlternative
(
"file"
,
"f"
);
cmd
.
defineOption
(
"testBoardId"
,
"SEH DUT Id (default: 0)"
,
ArgvParser
::
OptionRequiresValue
);
cmd
.
defineOptionAlternative
(
"testBoardId"
,
"i"
);
int
result
=
cmd
.
parse
(
argc
,
argv
);
if
(
result
!=
ArgvParser
::
NoParserError
)
{
LOG
(
INFO
)
<<
cmd
.
parseErrorDescription
(
result
);
exit
(
1
);
}
std
::
string
cTerminationFName
=
(
cmd
.
foundOption
(
"file"
))
?
cmd
.
optionValue
(
"file"
)
:
SehTestConstants
::
TERMINATION_FILE_NAME
;
const
int
cTestboardDutId
=
(
cmd
.
foundOption
(
"testBoardId"
))
?
convertAnyInt
(
cmd
.
optionValue
(
"testBoardId"
).
c_str
())
:
0
;
while
(
true
){
TB_HELPER
::
CheckTerminationFile
(
cTerminationFName
,
cTestboardDutId
,
SehTestConstants
::
TERMINATION_KEY_WORD
.
c_str
());
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
350
));
}
return
0
;
}
\ No newline at end of file
tools/SEHBertTestBoardTester.cc
View file @
5eff4d4b
...
...
@@ -1595,14 +1595,14 @@ int SEHBertTestboardTester::RunBertWithFixedLatencyAndRefindBitslip(int pUpdate
ReadBertUpdates
();
clock_gettime
(
CLOCK_MONOTONIC
,
&
mRunningTimer
);
time_taken
=
(
mRunningTimer
.
tv_sec
-
mStartTime
.
tv_sec
);
LOG
(
INFO
)
<<
"
\t
"
<<
"mRunningTimer "
<<
+
mRunningTimer
.
tv_sec
<<
", "
<<
"mStartTime "
<<
+
mStartTime
.
tv_sec
<<
", "
<<
"time_taken "
<<
+
time_taken
<<
", "
<<
"pUpdateTimeOut "
<<
+
pUpdateTimeOut
<<
", "
<<
"fNBerRecursionCall "
<<
+
this
->
fNBerRecursionCall
<<
", "
<<
"fBerRecursionLimit "
<<
+
this
->
fBerRecursionLimit
<<
RESET
;
//
LOG (INFO) << "\t"
//
<< "mRunningTimer "<< +mRunningTimer.tv_sec << ", "
//
<< "mStartTime "<< +mStartTime.tv_sec<< ", "
//
<< "time_taken " << +time_taken << ", "
//
<< "pUpdateTimeOut " << +pUpdateTimeOut << ", "
//
<< "fNBerRecursionCall " << +this->fNBerRecursionCall << ", "
//
<< "fBerRecursionLimit " << +this->fBerRecursionLimit
//
<< RESET;
if
(
time_taken
<
pUpdateTimeOut
&&
this
->
fNBerRecursionCall
<=
this
->
fBerRecursionLimit
)
{
if
(
this
->
mFailedTRxData
!=
0
)
{
...
...
@@ -2229,7 +2229,7 @@ void SEHBertTestboardTester::StatusUpdateMessageForBertExternal() {
<<
BOLDYELLOW
<<
std
::
bitset
<
8
>
(
this
->
fLastSendTxWord
[
dutLinkIdP
])
<<
" >> 0b"
<<
std
::
bitset
<
8
>
(
this
->
fLastReceivedRxWord
[
dutLinkIdP
])
<<
"]"
<<
RESET
;
this
->
fResultTreesFile
->
Update_Data_Testrun
(
cOelb
->
fBeBoard
->
getId
(),
cOelb
->
fLinkId
,
cOelb
->
mNbrReceivedWords
,
cOelb
->
mNbrFailingWords
,
cOelb
->
mNbrReceivedBits
,
cOelb
->
mNbrFailingBits
)
;
this
->
fResultTreesFile
->
Update_Data_Testrun
(
cOelb
->
fBeBoard
->
getId
(),
cOelb
->
fLinkId
,
cOelb
->
mNbrReceivedWords
,
cOelb
->
mNbrFailingWords
,
cOelb
->
mNbrReceivedBits
,
cOelb
->
mNbrFailingBits
,
&
cOelb
->
mSfpMonStrct
)
;
}
// LOG(DEBUG) << "---END STATUS UPDATE MESSAGE---" << RESET;
return
;
...
...
tools/WriteSehResultFile.cc
View file @
5eff4d4b
...
...
@@ -667,12 +667,15 @@ void WriteSehResultFile::Update_Data_Testrun(int pDataBebId,
this
->
fDataStrct
.
word
.
received
=
pDataWordsReceived
;
this
->
fDataStrct
.
word
.
failed
=
pDataWordsFailed
;
this
->
fDataStrct
.
bits
.
received
=
pDataBitsReceived
;
this
->
fDataStrct
.
bits
.
failed
=
pDataBitsFailed
;
this
->
fSfpMonStrct
.
data
.
temperature
=
pSfpMonStats
->
temperature
;
this
->
fSfpMonStrct
.
data
.
unitVoltage
=
pSfpMonStats
->
unitVoltage
;
this
->
fSfpMonStrct
.
data
.
biasCurrent
=
pSfpMonStats
->
biasCurrent
;
this
->
fSfpMonStrct
.
data
.
receiverPwr
=
pSfpMonStats
->
receiverPwr
;
this
->
fSfpMonStrct
.
data
.
transmitterPwr
=
pSfpMonStats
->
transmitterPwr
;
this
->
fDataStrct
.
bits
.
failed
=
pDataBitsFailed
;
if
(
pSfpMonStats
!=
nullptr
)
{
this
->
fSfpMonStrct
.
data
.
temperature
=
pSfpMonStats
->
temperature
;
this
->
fSfpMonStrct
.
data
.
unitVoltage
=
pSfpMonStats
->
unitVoltage
;
this
->
fSfpMonStrct
.
data
.
biasCurrent
=
pSfpMonStats
->
biasCurrent
;
this
->
fSfpMonStrct
.
data
.
receiverPwr
=
pSfpMonStats
->
receiverPwr
;
this
->
fSfpMonStrct
.
data
.
transmitterPwr
=
pSfpMonStats
->
transmitterPwr
;
}
// std::cout << "Update_Data_Testrun:";
// std::cout << "\n\tfDataStrct.word.received :\t" << +this->fDataStrct.word.received;
// std::cout << "\n\tfDataStrct.word.failed :\t" << +this->fDataStrct.word.failed ;
...
...
@@ -702,7 +705,7 @@ void WriteSehResultFile::Update_Data_Testrun(int pDataBebId,
SetDataConfidenceLevel
();
this
->
fErrorMemoryMapStrct
.
data
.
previousBebId
=
this
->
fDataStrct
.
bebId
;
this
->
fDataStrct
.
ttree
->
Fill
();
this
->
fSfpMonStrct
.
ttree
->
Fill
();
if
(
pSfpMonStats
!=
nullptr
)
this
->
fSfpMonStrct
.
ttree
->
Fill
();
return
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment