Skip to content

Commit d6b724a

Browse files
committed
Add sleep parameter for roc-bar-stress
1 parent a758fcd commit d6b724a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/CommandLineUtilities/ProgramBarStress.cxx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class ProgramBarStress: public Program
3030
{
3131
return {"Bar Stress", "Stress the Bar Accessor",
3232
"roc-bar-stress --id 04:00.0 --channel=1 --address=0x0f00040 --value=0x18 \n"
33-
"\t--cycles 100000 --print-freq 10000"};
33+
"\t--cycles 100000 --print-freq 10000 --sleep=1000"};
3434
}
3535

3636
virtual void addOptions(boost::program_options::options_description& options)
@@ -41,7 +41,10 @@ class ProgramBarStress: public Program
4141
"Total bar writes to perform")
4242
("print-freq",
4343
po::value<long long>(&mOptions.printFrequency)->default_value(10),
44-
"Print every #print-freq cycles");
44+
"Print every #print-freq cycles")
45+
("sleep",
46+
po::value<int>(&mOptions.sleep)->default_value(0),
47+
"Sleep for #sleep us between every bar write");
4548
Options::addOptionCardId(options);
4649
Options::addOptionRegisterAddress(options);
4750
Options::addOptionRegisterValue(options);
@@ -55,6 +58,9 @@ class ProgramBarStress: public Program
5558
std::chrono::high_resolution_clock::time_point finish = std::chrono::high_resolution_clock::now();
5659

5760
for (long long i=0;; i++){
61+
if (mOptions.sleep) {
62+
std::this_thread::sleep_for(std::chrono::microseconds(mOptions.sleep));
63+
}
5864
bar->writeRegister(address/4, value);
5965

6066
if (i && ((i%printFrequency == 0) || (i == cycles))){
@@ -109,6 +115,7 @@ class ProgramBarStress: public Program
109115
{
110116
long long cycles = 100;
111117
long long printFrequency = 10;
118+
int sleep = 0;
112119
}mOptions;
113120

114121
private:

0 commit comments

Comments
 (0)