@@ -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