Skip to content
Snippets Groups Projects
Commit ac7d73a1 authored by Zhirong Zhang's avatar Zhirong Zhang
Browse files

Modified tests according to the changes in FieldMeas.

parent 4b6bd78c
No related branches found
No related tags found
Loading
Checking pipeline status
......@@ -5,30 +5,36 @@
#include <iostream>
#include <memory>
#include <vector>
#include <string>
#include <bitset>
#include <unistd.h>
#include <fstream>
#include "ComIOException.h"
#include "EndeavourComException.h"
#include "UIOCom.h"
#include "FieldMeas.cpp"
#include <string>
#include "VDDLRMeas.cpp"
#include "NTCPBMeas.cpp"
#include "AMACv2.h"
class LinPOLMeas{
public:
//default constructor
LinPOLMeas(AMACv2* amac_ptr): m_amac_ptr(amac_ptr){
FieldMeas VDDLR("VDDLR", 10, 10, 10);
FieldMeas NTDPB("NTDPB", 13, 0, 10);
fieldArray.push_back(VDDLR);
fieldArray.push_back(NTDPB);
LinPOLMeas(std::shared_ptr<AMACv2> amac_ptr): m_AMACPtr(amac_ptr){
auto VDDLR1 = std::make_shared<VDDLRMeas>(amac_ptr);
auto NTCPB1 = std::make_shared<NTCPBMeas>(amac_ptr);
fieldPtrArray.push_back(VDDLR1);
fieldPtrArray.push_back(NTCPB1);
}
~LinPOLMeas(){}
void readAllReg(){
for (int i = 0; i < fieldArray.size();++i){
uint read = m_amac_ptr->read_reg(fieldArray[i].getAddress());
fieldArray[i].addValue(read);
for (auto fieldPtr: fieldPtrArray){
uint read = fieldPtr->rdRawCount();
fieldPtr->addRawCount(read);
}
}
......@@ -38,19 +44,53 @@ class LinPOLMeas{
while(i < N){
readAllReg();
usleep(microSec);
// std::cout << "Finished " << i << " round!\n";
// std::cout << "Finished " << i << " round!\n";
i++;
storedRounds++;
}
}
void writeToCSV(std::string outFileName){
if (fieldPtrArray.empty()){
std::cout << "No data to be output.\n";
return;
}
std::string outCSV = outFileName + ".csv";
std::ofstream outFile(outCSV);
// Title line
for (int i = 0; i < fieldPtrArray.size(); ++i){
outFile << fieldPtrArray[i]->getName();
if(i != fieldPtrArray.size() - 1) outFile << ","; // No comma at end of line
}
outFile << std::endl;
for (int i = 0; i < storedRounds; ++i){
for (int j = 0; j < fieldPtrArray.size(); ++j){
uint rawCount = fieldPtrArray[j]->getRawCount()[i];
outFile << fieldPtrArray[j]->rdValue(rawCount);
if(j != fieldPtrArray.size() - 1) outFile << ",";
}
outFile << std::endl;
}
outFile.close();
std::cout << "Measurement: ";
for (auto fieldPtr: fieldPtrArray){
std::cout << fieldPtr->getName() << ", ";
}
std::cout << "have been written to " << outCSV << ".\n";
}
void printAllField(){
for (int i = 0; i < fieldArray.size();++i){
fieldArray[i].printValue();
for (auto fieldPtr: fieldPtrArray){
fieldPtr->printValue();
}
}
private:
std::vector<FieldMeas> fieldArray;
AMACv2* m_amac_ptr;
std::vector<std::shared_ptr<FieldMeas>> fieldPtrArray;
std::shared_ptr<AMACv2> m_AMACPtr;
int storedRounds = 0;
};
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment