diff --git a/api.cpp b/api.cpp old mode 100644 new mode 100755 diff --git a/api.h b/api.h old mode 100644 new mode 100755 diff --git a/developHw.pro b/developHw.pro old mode 100644 new mode 100755 index a6e4e02..bffcaa1 --- a/developHw.pro +++ b/developHw.pro @@ -22,7 +22,7 @@ SOURCES += \ qcustomplot.cpp \ api.cpp \ $$files(src/*.cpp, true) \ - $$files(hdf5Scenario/*.cpp, true) + $$files(hdf5Scenario/*.cpp, true) \ HEADERS += \ mainwindow.h \ diff --git a/developHw.pro.user b/developHw.pro.user old mode 100644 new mode 100755 index 8de66f4..a348df8 --- a/developHw.pro.user +++ b/developHw.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/developHw.pro.user.14f6a8b.4.10-pre1 b/developHw.pro.user.14f6a8b.4.10-pre1 old mode 100644 new mode 100755 diff --git a/developHw.pro.user.78e1b4e b/developHw.pro.user.78e1b4e old mode 100644 new mode 100755 diff --git a/developHw.pro.user.78e1b4e.22 b/developHw.pro.user.78e1b4e.22 old mode 100644 new mode 100755 diff --git a/developHw.pro.user.c192e63 b/developHw.pro.user.c192e63 old mode 100644 new mode 100755 diff --git a/hdf5Scenario/hdf5Scenario.cpp b/hdf5Scenario/hdf5Scenario.cpp old mode 100644 new mode 100755 index 59ca401..b664dd6 --- a/hdf5Scenario/hdf5Scenario.cpp +++ b/hdf5Scenario/hdf5Scenario.cpp @@ -1,376 +1,463 @@ #include "hdf5Scenario.h" template -void Hdf5::datasetBranch(const string &branchPath, T datasetValue[MAX_ARRAY_DEPTH]) +void Hdf5::datasetBranch(const string& branchPath, T datasetValue[MAX_ARRAY_DEPTH]) { - const H5std_string datasetPath(branchPath); + const H5std_string datasetPath(branchPath); - DataSet datasetType = _file.openDataSet(datasetPath); + DataSet datasetType = _file.openDataSet(datasetPath); datasetType.read(datasetValue, PredType::NATIVE_FLOAT, H5S_ALL, H5S_ALL); datasetType.close(); } -void Hdf5::hdf5Path(const string &h5Path) +void Hdf5::hdf5Path(const string& h5Path) { - const H5std_string filePath(h5Path); - H5File file (filePath, H5F_ACC_RDONLY); + const H5std_string filePath(h5Path); + H5File file(filePath, H5F_ACC_RDONLY); _file = file; } -void Hdf5::scenarioRead(ScenHardware &scenParams) +void Hdf5::scenarioRead(ScenHardware& scenParams) { -// /****************** /sramParameters/frameType ******************/ -// datasetBranch ("/sramParameters/frameType", floatArray); -// scenParams.frameType = static_cast(floatArray[0]); +///****************** /sramParameters/frameType ******************/ +//datasetBranch ("/sramParameters/frameType", floatArray); +//scenParams.frameType = static_cast(floatArray[0]); /****************** /sramParameters/totalTxShotNo ******************/ - datasetBranch ("/sramParameters/totalTxShotNo", floatArray); + datasetBranch("/sramParameters/totalTxShotNo", floatArray); scenParams.totalTxShotNumber = static_cast(floatArray[0]); /******************* /sramParameters/focusTypeNo *******************/ - datasetBranch ("/sramParameters/focusTypeNo", floatArray); + datasetBranch("/sramParameters/focusTypeNo", floatArray); scenParams.focusTypeNumber = static_cast(floatArray[0]); /******************* /sramParameters/rxBeamformerNo *******************/ - datasetBranch ("/sramParameters/rxBeamformerNo", floatArray); + datasetBranch("/sramParameters/rxBeamformerNo", floatArray); scenParams.rxBeamFormerNumber.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.rxBeamFormerNumber.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/pulseInterval ********************/ - datasetBranch ("/sramParameters/pulseInterval", floatArray); + datasetBranch("/sramParameters/pulseInterval", floatArray); scenParams.pulseInterval.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.pulseInterval.push_back(floatArray[var]); + } /**************** /sramParameters/indexParameters/shotPropertiesIndex ********************/ - datasetBranch ("/sramParameters/indexParameters/shotPropertiesIndex", floatArray); + datasetBranch("/sramParameters/indexParameters/shotPropertiesIndex", floatArray); scenParams.indexParams.shotPropertiesIndex.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.shotPropertiesIndex.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/indexParameters/pulsePropertiesIndex ********************/ - datasetBranch ("/sramParameters/indexParameters/pulsePropertiesIndex", floatArray); + datasetBranch("/sramParameters/indexParameters/pulsePropertiesIndex", floatArray); scenParams.indexParams.pulsePropertiesIndex.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.pulsePropertiesIndex.push_back(static_cast(floatArray[var])); + } - /**************** /sramParameters/indexParameters/receiverConfigurationIndex ********************/ - datasetBranch ("/sramParameters/indexParameters/receiverConfigurationIndex", floatArray); + /**************** /sramParameters/indexParameters/receiverConfigurationIndex + ********************/ + datasetBranch("/sramParameters/indexParameters/receiverConfigurationIndex", + floatArray); scenParams.indexParams.receiverConfigurationIndex.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) - scenParams.indexParams.receiverConfigurationIndex.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { + scenParams.indexParams.receiverConfigurationIndex.push_back(static_cast(floatArray[ + var])); + } /**************** /sramParameters/indexParameters/firstLineInFrame ********************/ - datasetBranch ("/sramParameters/indexParameters/firstLineInFrame", floatArray); + datasetBranch("/sramParameters/indexParameters/firstLineInFrame", floatArray); scenParams.indexParams.firstLineInFrame.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.firstLineInFrame.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/indexParameters/startOfSubBatch ********************/ - datasetBranch ("/sramParameters/indexParameters/startOfSubBatch", floatArray); + datasetBranch("/sramParameters/indexParameters/startOfSubBatch", floatArray); scenParams.indexParams.startOfSubBatch.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.startOfSubBatch.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/indexParameters/endOfSubBatch ********************/ - datasetBranch ("/sramParameters/indexParameters/endOfSubBatch", floatArray); + datasetBranch("/sramParameters/indexParameters/endOfSubBatch", floatArray); scenParams.indexParams.endOfSubBatch.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.endOfSubBatch.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/indexParameters/endOfSubFrame ********************/ - datasetBranch ("/sramParameters/indexParameters/endOfSubFrame", floatArray); + datasetBranch("/sramParameters/indexParameters/endOfSubFrame", floatArray); scenParams.indexParams.endOfSubFrame.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.endOfSubFrame.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/indexParameters/endOfEnsemble ********************/ - datasetBranch ("/sramParameters/indexParameters/endOfEnsemble", floatArray); + datasetBranch("/sramParameters/indexParameters/endOfEnsemble", floatArray); scenParams.indexParams.endOfEnsemble.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.endOfEnsemble.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/indexParameters/isLastSubBatch ********************/ - datasetBranch ("/sramParameters/indexParameters/isLastSubBatch", floatArray); + datasetBranch("/sramParameters/indexParameters/isLastSubBatch", floatArray); scenParams.indexParams.isLastSubBatch.clear(); - for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + for(quint32 var = 0; var < scenParams.totalTxShotNumber; var++) + { scenParams.indexParams.isLastSubBatch.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/txParameters/txFocusXPos ********************/ - datasetBranch ("/sramParameters/txParameters/txFocusXPos", floatArray); + datasetBranch("/sramParameters/txParameters/txFocusXPos", floatArray); scenParams.txParams.txFocusXPos.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.txParams.txFocusXPos.push_back(floatArray[var]); + } /**************** /sramParameters/txParameters/txFocusYPos ********************/ - datasetBranch ("/sramParameters/txParameters/txFocusYPos", floatArray); + datasetBranch("/sramParameters/txParameters/txFocusYPos", floatArray); scenParams.txParams.txFocusYPos.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.txParams.txFocusYPos.push_back(floatArray[var]); + } /**************** /sramParameters/txParameters/txFocusZPos ********************/ - datasetBranch ("/sramParameters/txParameters/txFocusZPos", floatArray); + datasetBranch("/sramParameters/txParameters/txFocusZPos", floatArray); scenParams.txParams.txFocusZPos.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.txParams.txFocusZPos.push_back(floatArray[var]); + } /**************** /sramParameters/txParameters/txStartActiveElementNo ********************/ - datasetBranch ("/sramParameters/txParameters/txStartActiveElementNo", floatArray); + datasetBranch("/sramParameters/txParameters/txStartActiveElementNo", floatArray); scenParams.txParams.txStartActiveElementNumber.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - scenParams.txParams.txStartActiveElementNumber.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + scenParams.txParams.txStartActiveElementNumber.push_back(static_cast(floatArray[var + ])); + } /**************** /sramParameters/txParameters/txActiveElementNo ********************/ - datasetBranch ("/sramParameters/txParameters/txActiveElementNo", floatArray); + datasetBranch("/sramParameters/txParameters/txActiveElementNo", floatArray); scenParams.txParams.txActiveElementNumber.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.txParams.txActiveElementNumber.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/txParameters/maxDelayQ ********************/ - datasetBranch ("/sramParameters/txParameters/maxDelayQ", floatArray); + datasetBranch("/sramParameters/txParameters/maxDelayQ", floatArray); scenParams.txParams.maxDelayQ.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.txParams.maxDelayQ.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/rxParameters/rxR0CenterActiveElementNo ********************/ - datasetBranch ("/sramParameters/rxParameters/rxR0CenterActiveElementNo", floatArray); + datasetBranch("/sramParameters/rxParameters/rxR0CenterActiveElementNo", floatArray); scenParams.rxParams.rxR0CenterActiveElementNumber.clear(); quint32 accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { - scenParams.rxParams.rxR0CenterActiveElementNumber.push_back(static_cast(floatArray[accum])); + scenParams.rxParams.rxR0CenterActiveElementNumber.push_back(static_cast( + floatArray[accum])); accum++; } + } /**************** /sramParameters/rxParameters/rxR0ActiveElementNo ********************/ - datasetBranch ("/sramParameters/rxParameters/rxR0ActiveElementNo", floatArray); + datasetBranch("/sramParameters/rxParameters/rxR0ActiveElementNo", floatArray); scenParams.rxParams.rxR0ActiveElementNumber.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { - scenParams.rxParams.rxR0ActiveElementNumber.push_back(static_cast(floatArray[accum])); + scenParams.rxParams.rxR0ActiveElementNumber.push_back(static_cast(floatArray[ + accum])); accum++; } + } /**************** /sramParameters/rxParameters/rxActiveElementStep ********************/ - datasetBranch ("/sramParameters/rxParameters/rxActiveElementStep", floatArray); + datasetBranch("/sramParameters/rxParameters/rxActiveElementStep", floatArray); scenParams.rxParams.rxActiveElementStep.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.rxParams.rxActiveElementStep.push_back(floatArray[var]); + } /**************** /sramParameters/rxParameters/interceptPointFiringTime ********************/ - datasetBranch ("/sramParameters/rxParameters/interceptPointFiringTime", floatArray); + datasetBranch("/sramParameters/rxParameters/interceptPointFiringTime", floatArray); scenParams.rxParams.interceptPointFiringTime.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.rxParams.interceptPointFiringTime.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/rxParameters/rxFocusPointNo ********************/ - datasetBranch ("/sramParameters/rxParameters/rxFocusPointNo", floatArray); + datasetBranch("/sramParameters/rxParameters/rxFocusPointNo", floatArray); scenParams.rxParams.rxFocusPointNumber.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.rxParams.rxFocusPointNumber.push_back(static_cast(floatArray[var])); + } /**************** /sramParameters/rxParameters/r0Position ********************/ - datasetBranch ("/sramParameters/rxParameters/r0Position", floatArray); + datasetBranch("/sramParameters/rxParameters/r0Position", floatArray); scenParams.rxParams.r0Position.clear(); - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { scenParams.rxParams.r0Position.push_back(floatArray[var]); + } /**************** /sramParameters/rxParameters/thetaCos ********************/ - datasetBranch ("/sramParameters/rxParameters/thetaCos", floatArray); + datasetBranch("/sramParameters/rxParameters/thetaCos", floatArray); scenParams.rxParams.thetaCos.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.thetaCos.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/thetaSin ********************/ - datasetBranch ("/sramParameters/rxParameters/thetaSin", floatArray); + datasetBranch("/sramParameters/rxParameters/thetaSin", floatArray); scenParams.rxParams.thetaSin.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.thetaSin.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/phiCos ********************/ - datasetBranch ("/sramParameters/rxParameters/phiCos", floatArray); + datasetBranch("/sramParameters/rxParameters/phiCos", floatArray); scenParams.rxParams.phiCos.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.phiCos.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/phiSin ********************/ - datasetBranch ("/sramParameters/rxParameters/phiSin", floatArray); + datasetBranch("/sramParameters/rxParameters/phiSin", floatArray); scenParams.rxParams.phiSin.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.phiSin.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/interceptXPos ********************/ - datasetBranch ("/sramParameters/rxParameters/interceptXPos", floatArray); + datasetBranch("/sramParameters/rxParameters/interceptXPos", floatArray); scenParams.rxParams.interceptXPos.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.interceptXPos.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/interceptYPos ********************/ - datasetBranch ("/sramParameters/rxParameters/interceptYPos", floatArray); + datasetBranch("/sramParameters/rxParameters/interceptYPos", floatArray); scenParams.rxParams.interceptYPos.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.interceptYPos.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/interceptZPos ********************/ - datasetBranch ("/sramParameters/rxParameters/interceptZPos", floatArray); + datasetBranch("/sramParameters/rxParameters/interceptZPos", floatArray); scenParams.rxParams.interceptZPos.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.interceptZPos.push_back(floatArray[accum]); accum++; } + } /**************** /sramParameters/rxParameters/txR0MinDelayQ ********************/ - datasetBranch ("/sramParameters/rxParameters/txR0MinDelayQ", floatArray); + datasetBranch("/sramParameters/rxParameters/txR0MinDelayQ", floatArray); scenParams.rxParams.txR0MinDelayQ.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.txR0MinDelayQ.push_back(static_cast(floatArray[accum])); accum++; } + } /**************** /sramParameters/rxParameters/rxR0MinDelayQ ********************/ - datasetBranch ("/sramParameters/rxParameters/rxR0MinDelayQ", floatArray); + datasetBranch("/sramParameters/rxParameters/rxR0MinDelayQ", floatArray); scenParams.rxParams.rxR0MinDelayQ.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.rxR0MinDelayQ.push_back(static_cast(floatArray[accum])); accum++; } + } /**************** /sramParameters/rxParameters/rxR0MaxDelayQ ********************/ - datasetBranch ("/sramParameters/rxParameters/rxR0MaxDelayQ", floatArray); + datasetBranch("/sramParameters/rxParameters/rxR0MaxDelayQ", floatArray); scenParams.rxParams.rxR0MaxDelayQ.clear(); accum = 0; - for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) - for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) + for(quint32 var = 0; var < scenParams.focusTypeNumber; var++) + { + for(quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.rxR0MaxDelayQ.push_back(static_cast(floatArray[accum])); accum++; } + } /**************** /registerParameters/pulseTypeNo ********************/ - datasetBranch ("/registerParameters/pulseTypeNo", floatArray); + datasetBranch("/registerParameters/pulseTypeNo", floatArray); scenParams.hwRegister.pulseTypeNumber = static_cast(floatArray[0]); /**************** /registerParameters/rxBeamformerTypeNo ********************/ - datasetBranch ("/registerParameters/rxBeamformerTypeNo", floatArray); + datasetBranch("/registerParameters/rxBeamformerTypeNo", floatArray); scenParams.hwRegister.rxBeamFormerTypeNumber = static_cast(floatArray[0]); /**************** /registerParameters/receiverConfigTypeNo ********************/ - datasetBranch ("/registerParameters/receiverConfigTypeNo", floatArray); + datasetBranch("/registerParameters/receiverConfigTypeNo", floatArray); scenParams.hwRegister.receiverConfigTypeNumber = static_cast(floatArray[0]); /**************** /registerParameters/blendWeight ********************/ - datasetBranch ("/registerParameters/blendWeight", floatArray); + datasetBranch("/registerParameters/blendWeight", floatArray); scenParams.hwRegister.blendWeight.clear(); - QVector tempBlendWeight; + QVector tempBlendWeight; - for (quint32 i = 0; i < 4; i++) + for(quint32 i = 0; i < 4; i++) { tempBlendWeight.clear(); - for (quint32 j = 0; j < 512; j++) + for(quint32 j = 0; j < 512; j++) { tempBlendWeight.push_back(floatArray[j + i * 512]); } scenParams.hwRegister.blendWeight.push_back(tempBlendWeight); } -// /**************** /registerParameters/freqLut ********************/ -// datasetBranch ("/registerParameters/freqLut", floatArray); -// scenParams.hwRegister.freqLut.clear(); -// for (quint32 var = 0; var < 8; var++) -// scenParams.hwRegister.freqLut.push_back(floatArray[var]); +///**************** /registerParameters/freqLut ********************/ +//datasetBranch ("/registerParameters/freqLut", floatArray); +//scenParams.hwRegister.freqLut.clear(); +//for (quint32 var = 0; var < 8; var++) +//scenParams.hwRegister.freqLut.push_back(floatArray[var]); /*********** /registerParameters/ddcParameters/startFreqLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/startFreqLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/startFreqLut", floatArray); scenParams.hwRegister.ddcParams.startFreqLut.clear(); - for (quint32 var = 0; var < 4; var++) + for(quint32 var = 0; var < 4; var++) + { scenParams.hwRegister.ddcParams.startFreqLut.push_back(static_cast(floatArray[var])); + } /*********** /registerParameters/ddcParameters/endFreqLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/endFreqLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/endFreqLut", floatArray); scenParams.hwRegister.ddcParams.endFreqLut.clear(); - for (quint32 var = 0; var < 4; var++) + for(quint32 var = 0; var < 4; var++) + { scenParams.hwRegister.ddcParams.endFreqLut.push_back(static_cast(floatArray[var])); + } /*********** /registerParameters/ddcParameters/startFreqPointLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/startFreqPointLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/startFreqPointLut", floatArray); scenParams.hwRegister.ddcParams.startFreqPoint.clear(); - for (quint32 var = 0; var < 4; var++) - scenParams.hwRegister.ddcParams.startFreqPoint.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < 4; var++) + { + scenParams.hwRegister.ddcParams.startFreqPoint.push_back(static_cast(floatArray[var + ])); + } /*********** /registerParameters/ddcParameters/endFreqPointLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/endFreqPointLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/endFreqPointLut", floatArray); scenParams.hwRegister.ddcParams.endFreqPoint.clear(); - for (quint32 var = 0; var < 4; var++) + for(quint32 var = 0; var < 4; var++) + { scenParams.hwRegister.ddcParams.endFreqPoint.push_back(static_cast(floatArray[var])); + } /*********** /registerParameters/ddcParameters/freqStepLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/freqStepLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/freqStepLut", floatArray); scenParams.hwRegister.ddcParams.freqStepLut.clear(); - for (quint32 var = 0; var < 4; var++) + for(quint32 var = 0; var < 4; var++) + { scenParams.hwRegister.ddcParams.freqStepLut.push_back(floatArray[var]); + } /*********** /registerParameters/ddcParameters/lpfWeightStepLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/lpfWeightStepLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/lpfWeightStepLut", floatArray); scenParams.hwRegister.ddcParams.lpfWeightStepLut.clear(); - for (quint32 var = 0; var < 4; var++) + for(quint32 var = 0; var < 4; var++) + { scenParams.hwRegister.ddcParams.lpfWeightStepLut.push_back(floatArray[var]); + } /*********** /registerParameters/ddcParameters/startLpfWeightLut ***************/ - datasetBranch ("/registerParameters/ddcParameters/startLpfWeightLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/startLpfWeightLut", floatArray); scenParams.hwRegister.ddcParams.startLpfWeightLut.clear(); - for (quint32 var = 0; var < 4; var++) + for(quint32 var = 0; var < 4; var++) + { scenParams.hwRegister.ddcParams.startLpfWeightLut.push_back(floatArray[var]); + } /*********** /registerParameters/ddcParameters/startLpfLut ****************/ - datasetBranch ("/registerParameters/ddcParameters/startLpfLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/startLpfLut", floatArray); scenParams.hwRegister.ddcParams.startLpf.clear(); - for (quint32 i = 0; i < 4; i++) + for(quint32 i = 0; i < 4; i++) { QList temp; - for (quint32 j = 0; j < 64; j++) + for(quint32 j = 0; j < 64; j++) { temp.push_back(static_cast(floatArray[j + i * 64])); } @@ -378,13 +465,13 @@ void Hdf5::scenarioRead(ScenHardware &scenParams) } /*********** /registerParameters/ddcParameters/endLpfLut ****************/ - datasetBranch ("/registerParameters/ddcParameters/endLpfLut", floatArray); + datasetBranch("/registerParameters/ddcParameters/endLpfLut", floatArray); scenParams.hwRegister.ddcParams.endLpf.clear(); - for (quint32 i = 0; i < 4; i++) + for(quint32 i = 0; i < 4; i++) { QList temp; - for (quint32 j = 0; j < 64; j++) + for(quint32 j = 0; j < 64; j++) { temp.push_back(static_cast(floatArray[j + i * 64])); } @@ -392,456 +479,534 @@ void Hdf5::scenarioRead(ScenHardware &scenParams) } /************* /registerParameters/ddcParameters/lpfScale *****************/ - datasetBranch ("/registerParameters/ddcParameters/lpfScale", floatArray); + datasetBranch("/registerParameters/ddcParameters/lpfScale", floatArray); scenParams.hwRegister.ddcParams.lpfScale.clear(); - for (quint8 i = 0; i < 4; i++) + for(quint8 i = 0; i < 4; i++) + { scenParams.hwRegister.ddcParams.lpfScale.push_back(static_cast(floatArray[i])); + } /**************** /registerParameters/dTgcLut ********************/ - datasetBranch ("/registerParameters/dTgcLut", floatArray); + datasetBranch("/registerParameters/dTgcLut", floatArray); scenParams.hwRegister.dtgcLut.clear(); - for (quint32 var = 0; var < 1024; var++) + for(quint32 var = 0; var < 1024; var++) + { scenParams.hwRegister.dtgcLut.push_back(floatArray[var]); + } + + /**************** /registerParameters/dualPathWeight ********************/ +//datasetBranch("/registerParameters/dualPathWeightQ", floatArray); + scenParams.hwRegister.dualPathWeight.clear(); + for(quint32 var = 0; var < 1024; var++) + { +//scenParams.hwRegister.dualPathWeight.push_back(static_cast(floatArray[var])); + scenParams.hwRegister.dualPathWeight.push_back(0); + } /**************** /registerParameters/elementXPositions ********************/ - datasetBranch ("/registerParameters/elementXPositions", floatArray); + datasetBranch("/registerParameters/elementXPositions", floatArray); scenParams.hwRegister.elementXPosition.clear(); - for (quint32 var = 0; var < 192; var++) + for(quint32 var = 0; var < 192; var++) + { scenParams.hwRegister.elementXPosition.push_back(floatArray[var]); + } /**************** /registerParameters/elementYPositions ********************/ - datasetBranch ("/registerParameters/elementYPositions", floatArray); + datasetBranch("/registerParameters/elementYPositions", floatArray); scenParams.hwRegister.elementYPosition.clear(); - for (quint32 var = 0; var < 192; var++) + for(quint32 var = 0; var < 192; var++) + { scenParams.hwRegister.elementYPosition.push_back(floatArray[var]); + } /**************** /registerParameters/elementZPositions ********************/ - datasetBranch ("/registerParameters/elementZPositions", floatArray); + datasetBranch("/registerParameters/elementZPositions", floatArray); scenParams.hwRegister.elementZPosition.clear(); - for (quint32 var = 0; var < 192; var++) + for(quint32 var = 0; var < 192; var++) + { scenParams.hwRegister.elementZPosition.push_back(floatArray[var]); + } /**************** /registerParameters/scenarioStartIndex ********************/ - datasetBranch ("/registerParameters/scenarioStartIndex", floatArray); + datasetBranch("/registerParameters/scenarioStartIndex", floatArray); scenParams.hwRegister.scenarioStartIndex = static_cast(floatArray[0]); /**************** /registerParameters/scenarioEndIndex ********************/ - datasetBranch ("/registerParameters/scenarioEndIndex", floatArray); + datasetBranch("/registerParameters/scenarioEndIndex", floatArray); scenParams.hwRegister.scenarioEndIndex = static_cast(floatArray[0]); /**************** /registerParameters/pulseProperties/halfPeriod ********************/ - datasetBranch ("/registerParameters/pulseProperties/halfPeriod", floatArray); + datasetBranch("/registerParameters/pulseProperties/halfPeriod", floatArray); QList halfPeriod; - for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) - { - halfPeriod.push_back(static_cast(floatArray[j])); - } - + for(quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) + { + halfPeriod.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/pulseProperties/halfCycleNo ********************/ - datasetBranch ("/registerParameters/pulseProperties/halfCycleNo", floatArray); + datasetBranch("/registerParameters/pulseProperties/halfCycleNo", floatArray); QList halfCycleNo; - for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) - { - halfCycleNo.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) + { + halfCycleNo.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/pulseProperties/pulseVoltSel ********************/ - datasetBranch ("/registerParameters/pulseProperties/pulseVoltSel", floatArray); + datasetBranch("/registerParameters/pulseProperties/pulseVoltSel", floatArray); QList pulseVoltSel; - for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) - { - pulseVoltSel.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) + { + pulseVoltSel.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/pulseProperties/startPhase ********************/ - datasetBranch ("/registerParameters/pulseProperties/startPhase", floatArray); + datasetBranch("/registerParameters/pulseProperties/startPhase", floatArray); QList startPhase; - for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) - { - startPhase.push_back(static_cast(floatArray[j])); - } - - /**************** /registerParameters/pulseProperties/dampingPulseWidth ********************/ - datasetBranch ("/registerParameters/pulseProperties/dampingPulseWidth", floatArray); - QList dampingPulseWidth; + for(quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) + { + startPhase.push_back(static_cast(floatArray[j])); + } - for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) - { - dampingPulseWidth.push_back(static_cast(floatArray[j])); - } + /**************** /registerParameters/pulseProperties/dampingPulseWidth ********************/ + datasetBranch("/registerParameters/pulseProperties/dampingPulseWidth", floatArray); + QList dampingPulseWidth; - /**************** /registerParameters/pulseProperties ********************/ - Pulse pulseObj; - scenParams.hwRegister.pulseProps.clear(); + for(quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) + { + dampingPulseWidth.push_back(static_cast(floatArray[j])); + } - for (qint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) - { - pulseObj.halfPeriod = halfPeriod.at(j); - pulseObj.startPhase = startPhase.at(j); - pulseObj.halfCycleNo = halfCycleNo.at(j); - pulseObj.pulseVoltSel = pulseVoltSel.at(j); - pulseObj.dampingPulseWidth = dampingPulseWidth.at(j); + /**************** /registerParameters/pulseProperties ********************/ + Pulse pulseObj; + scenParams.hwRegister.pulseProps.clear(); - scenParams.hwRegister.pulseProps.push_back(pulseObj); - } + for(qint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) + { + pulseObj.halfPeriod = halfPeriod.at(j); + pulseObj.startPhase = startPhase.at(j); + pulseObj.halfCycleNo = halfCycleNo.at(j); + pulseObj.pulseVoltSel = pulseVoltSel.at(j); + pulseObj.dampingPulseWidth = dampingPulseWidth.at(j); + scenParams.hwRegister.pulseProps.push_back(pulseObj); + } /**************** /registerParameters/rxBeamformerProperties/mla ********************/ - datasetBranch ("/registerParameters/rxBeamformerProperties/mla", floatArray); + datasetBranch("/registerParameters/rxBeamformerProperties/mla", floatArray); QList mla; - for (quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) - { - mla.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) + { + mla.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/rxBeamformerProperties/lag ********************/ - datasetBranch ("/registerParameters/rxBeamformerProperties/lag", floatArray); + datasetBranch("/registerParameters/rxBeamformerProperties/lag", floatArray); QList lag; - for (quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) - { - lag.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) + { + lag.push_back(static_cast(floatArray[j])); + } - /**************** /registerParameters/rxBeamformerProperties/apodizationSel ********************/ - datasetBranch ("/registerParameters/rxBeamformerProperties/apodizationSel", floatArray); - QList apodizationSel; + /**************** /registerParameters/rxBeamformerProperties/apodizationSel + ********************/ + datasetBranch("/registerParameters/rxBeamformerProperties/apodizationSel", floatArray); + QList apodizationSel; - for (quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) - { - apodizationSel.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) + { + apodizationSel.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/rxBeamformerProperties ********************/ RxBeamFormer rxBeamformerObj; scenParams.hwRegister.rxBeamFormerProps.clear(); - for (qint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) - { - rxBeamformerObj.mla = mla.at(j); - rxBeamformerObj.lag = lag.at(j); - rxBeamformerObj.apodizationSel = apodizationSel.at(j); + for(qint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) + { + rxBeamformerObj.mla = mla.at(j); + rxBeamformerObj.lag = lag.at(j); + rxBeamformerObj.apodizationSel = apodizationSel.at(j); - scenParams.hwRegister.rxBeamFormerProps.push_back(rxBeamformerObj); - } + scenParams.hwRegister.rxBeamFormerProps.push_back(rxBeamformerObj); + } /********* /registerParameters/apodizationParameters/maxApertureSize ************/ - datasetBranch ("/registerParameters/apodizationParameters/maxApertureSize", floatArray); + datasetBranch("/registerParameters/apodizationParameters/maxApertureSize", floatArray); scenParams.hwRegister.apodizationParams.maxApertureSize.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.maxApertureSize.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.maxApertureSize.push_back(static_cast( + floatArray[var])); + } /********* /registerParameters/apodizationParameters/winOpenStartPoint ************/ - datasetBranch ("/registerParameters/apodizationParameters/winOpenStartPoint", floatArray); + datasetBranch("/registerParameters/apodizationParameters/winOpenStartPoint", + floatArray); scenParams.hwRegister.apodizationParams.winOpenStartPoint.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.winOpenStartPoint.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.winOpenStartPoint.push_back(static_cast( + floatArray[var])); + } /********* /registerParameters/apodizationParameters/winOpenStopPoint ************/ - datasetBranch ("/registerParameters/apodizationParameters/winOpenStopPoint", floatArray); + datasetBranch("/registerParameters/apodizationParameters/winOpenStopPoint", + floatArray); scenParams.hwRegister.apodizationParams.winOpenStopPoint.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.winOpenStopPoint.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.winOpenStopPoint.push_back(static_cast( + floatArray[var])); + } /********* /registerParameters/apodizationParameters/winOpenStartVal ************/ - datasetBranch ("/registerParameters/apodizationParameters/winOpenStartVal", floatArray); + datasetBranch("/registerParameters/apodizationParameters/winOpenStartVal", floatArray); scenParams.hwRegister.apodizationParams.winOpenStartVal.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { scenParams.hwRegister.apodizationParams.winOpenStartVal.push_back(floatArray[var]); + } /********* /registerParameters/apodizationParameters/winOpenStopVal ************/ - datasetBranch ("/registerParameters/apodizationParameters/winOpenStopVal", floatArray); + datasetBranch("/registerParameters/apodizationParameters/winOpenStopVal", floatArray); scenParams.hwRegister.apodizationParams.winOpenStopVal.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { scenParams.hwRegister.apodizationParams.winOpenStopVal.push_back(floatArray[var]); + } /********* /registerParameters/apodizationParameters/winOpenStepVal ************/ - datasetBranch ("/registerParameters/apodizationParameters/winOpenStepVal", floatArray); + datasetBranch("/registerParameters/apodizationParameters/winOpenStepVal", floatArray); scenParams.hwRegister.apodizationParams.winOpenStepVal.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { scenParams.hwRegister.apodizationParams.winOpenStepVal.push_back(floatArray[var]); + } /********* /registerParameters/apodizationParameters/minApertureSize ************/ - datasetBranch ("/registerParameters/apodizationParameters/minApertureSize", floatArray); + datasetBranch("/registerParameters/apodizationParameters/minApertureSize", floatArray); scenParams.hwRegister.apodizationParams.minApertureSize.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.minApertureSize.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.minApertureSize.push_back(static_cast( + floatArray[var])); + } /********* /registerParameters/apodizationParameters/rxActiveElementStep1 ************/ - datasetBranch ("/registerParameters/apodizationParameters/rxActiveElementStep1", floatArray); + datasetBranch("/registerParameters/apodizationParameters/rxActiveElementStep1", + floatArray); scenParams.hwRegister.apodizationParams.rxActiveElementStep1.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { scenParams.hwRegister.apodizationParams.rxActiveElementStep1.push_back(floatArray[var]); + } /********* /registerParameters/apodizationParameters/rxActiveElementStep2 ************/ - datasetBranch ("/registerParameters/apodizationParameters/rxActiveElementStep2", floatArray); + datasetBranch("/registerParameters/apodizationParameters/rxActiveElementStep2", + floatArray); scenParams.hwRegister.apodizationParams.rxActiveElementStep2.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { scenParams.hwRegister.apodizationParams.rxActiveElementStep2.push_back(floatArray[var]); + } /********* /registerParameters/apodizationParameters/rxActiveElementStepStartPoint ************/ - datasetBranch ("/registerParameters/apodizationParameters/rxActiveElementStepStartPoint", floatArray); + datasetBranch( + "/registerParameters/apodizationParameters/rxActiveElementStepStartPoint", + floatArray); scenParams.hwRegister.apodizationParams.rxActiveElementStepStartPoint.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.rxActiveElementStepStartPoint.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.rxActiveElementStepStartPoint.push_back(static_cast< + quint32>( + floatArray + [var])); + } /********* /registerParameters/apodizationParameters/rxActiveElementStepStopPoint ************/ - datasetBranch ("/registerParameters/apodizationParameters/rxActiveElementStepStopPoint", floatArray); + datasetBranch("/registerParameters/apodizationParameters/rxActiveElementStepStopPoint", + floatArray); scenParams.hwRegister.apodizationParams.rxActiveElementStepStopPoint.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.rxActiveElementStepStopPoint.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.rxActiveElementStepStopPoint.push_back(static_cast< + quint32>( + floatArray + [var])); + } - /********* /registerParameters/apodizationParameters/rxActiveElementStepChangePoint ************/ - datasetBranch ("/registerParameters/apodizationParameters/rxActiveElementStepChangePoint", floatArray); + /********* /registerParameters/apodizationParameters/rxActiveElementStepChangePoint + ************/ + datasetBranch( + "/registerParameters/apodizationParameters/rxActiveElementStepChangePoint", + floatArray); scenParams.hwRegister.apodizationParams.rxActiveElementStepChangePoint.clear(); - for (quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) - scenParams.hwRegister.apodizationParams.rxActiveElementStepChangePoint.push_back(static_cast(floatArray[var])); + for(quint32 var = 0; var < scenParams.hwRegister.rxBeamFormerTypeNumber; var++) + { + scenParams.hwRegister.apodizationParams.rxActiveElementStepChangePoint.push_back( + static_cast(floatArray[var])); + } /**************** /registerParameters/receiverConfigProperties/mla ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/mla", floatArray); - QList receiverCfgMla; + datasetBranch("/registerParameters/receiverConfigProperties/mla", floatArray); + QList receiverCfgMla; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - receiverCfgMla.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + receiverCfgMla.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/lineMode ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/lineMode", floatArray); - QList lineMode; + datasetBranch("/registerParameters/receiverConfigProperties/lineMode", floatArray); + QList lineMode; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - lineMode.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + lineMode.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/aTgcSel ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/aTgcSel", floatArray); - QList aTgcSel; + datasetBranch("/registerParameters/receiverConfigProperties/aTgcSel", floatArray); + QList aTgcSel; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - aTgcSel.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + aTgcSel.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/stbEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/stbEn", floatArray); - QList stbEn; + datasetBranch("/registerParameters/receiverConfigProperties/stbEn", floatArray); + QList stbEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - stbEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + stbEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/stb ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/stb", floatArray); - QList stb; + datasetBranch("/registerParameters/receiverConfigProperties/stb", floatArray); + QList stb; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - stb.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + stb.push_back(static_cast(floatArray[j])); + } - /**************** /registerParameters/receiverConfigProperties/subtractFilterEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/subtractFilterEn", floatArray); - QList subtractFilterEn; + /**************** /registerParameters/receiverConfigProperties/subtractFilterEn + ********************/ + datasetBranch("/registerParameters/receiverConfigProperties/subtractFilterEn", + floatArray); + QList subtractFilterEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - subtractFilterEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + subtractFilterEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/dcCancelEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/dcCancelEn", floatArray); - QList dcCancelEn; + datasetBranch("/registerParameters/receiverConfigProperties/dcCancelEn", floatArray); + QList dcCancelEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - dcCancelEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + dcCancelEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/ncoFreqSel ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/ncoFreqSel", floatArray); - QList ncoFreqSel; + datasetBranch("/registerParameters/receiverConfigProperties/ncoFreqSel", floatArray); + QList ncoFreqSel; + + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + ncoFreqSel.push_back(static_cast(floatArray[j])); + } + + /**************** /registerParameters/receiverConfigProperties/dualPathEn ********************/ +//datasetBranch("/registerParameters/receiverConfigProperties/dualPathEn", floatArray); + QList dualPathEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - ncoFreqSel.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { +//dualPathEn.push_back(static_cast(floatArray[j])); + dualPathEn.push_back(static_cast(0)); + } /**************** /registerParameters/receiverConfigProperties/lpfSel ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/lpfSel", floatArray); - QList lpfSel; + datasetBranch("/registerParameters/receiverConfigProperties/lpfSel", floatArray); + QList lpfSel; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - lpfSel.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + lpfSel.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/absEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/absEn", floatArray); - QList absEn; + datasetBranch("/registerParameters/receiverConfigProperties/absEn", floatArray); + QList absEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - absEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + absEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/focusNo ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/focusNo", floatArray); - QList focusNo; + datasetBranch("/registerParameters/receiverConfigProperties/focusNo", floatArray); + QList focusNo; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - focusNo.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + focusNo.push_back(static_cast(floatArray[j])); + } - /**************** /registerParameters/receiverConfigProperties/iqDataCrossEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/iqDataCrossEn", floatArray); - QList iqDataCrossEn; + /**************** /registerParameters/receiverConfigProperties/iqDataCrossEn + ********************/ + datasetBranch("/registerParameters/receiverConfigProperties/iqDataCrossEn", + floatArray); + QList iqDataCrossEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - iqDataCrossEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + iqDataCrossEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/logEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/logEn", floatArray); + datasetBranch("/registerParameters/receiverConfigProperties/logEn", floatArray); QList logEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - logEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + logEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/dTgcEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/dTgcEn", floatArray); + datasetBranch("/registerParameters/receiverConfigProperties/dTgcEn", floatArray); QList dTgcEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - dTgcEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + dTgcEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/ddcEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/ddcEn", floatArray); + datasetBranch("/registerParameters/receiverConfigProperties/ddcEn", floatArray); QList ddcEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - ddcEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + ddcEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/frameType ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/frameType", floatArray); + datasetBranch("/registerParameters/receiverConfigProperties/frameType", floatArray); QList frameType; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - frameType.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + frameType.push_back(static_cast(floatArray[j])); + } - /**************** /registerParameters/receiverConfigProperties/noiseRejectEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/noiseRejectEn", floatArray); + /**************** /registerParameters/receiverConfigProperties/noiseRejectEn + ********************/ + datasetBranch("/registerParameters/receiverConfigProperties/noiseRejectEn", + floatArray); QList noiseRejectEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - noiseRejectEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + noiseRejectEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties/blendEn ********************/ - datasetBranch ("/registerParameters/receiverConfigProperties/blendEn", floatArray); + datasetBranch("/registerParameters/receiverConfigProperties/blendEn", floatArray); QList blendEn; - for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - blendEn.push_back(static_cast(floatArray[j])); - } + for(quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + blendEn.push_back(static_cast(floatArray[j])); + } /**************** /registerParameters/receiverConfigProperties ********************/ ReceiverConfig receiverCfgObj; scenParams.hwRegister.receiverConfigProps.clear(); - for (qint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) - { - receiverCfgObj.stb = stb.at(j); - receiverCfgObj.ddcEn = ddcEn.at(j); - receiverCfgObj.absEn = absEn.at(j); - receiverCfgObj.logEn = logEn.at(j); - receiverCfgObj.stbEn = stbEn.at(j); - receiverCfgObj.lpfSel = lpfSel.at(j); - receiverCfgObj.dTgcEn = dTgcEn.at(j); - receiverCfgObj.blendEn = blendEn.at(j); - receiverCfgObj.aTgcSel = aTgcSel.at(j); - receiverCfgObj.focusNo = focusNo.at(j); - receiverCfgObj.lineMode = lineMode.at(j); - receiverCfgObj.mla = receiverCfgMla.at(j); - receiverCfgObj.frameType = frameType.at(j); - receiverCfgObj.dcCancelEn = dcCancelEn.at(j); - receiverCfgObj.ncoFreqSel = ncoFreqSel.at(j); - receiverCfgObj.iqDataCrossEn = iqDataCrossEn.at(j); - receiverCfgObj.noiseRejectEn = noiseRejectEn.at(j); - receiverCfgObj.subtractFilterEn = subtractFilterEn.at(j); - - scenParams.hwRegister.receiverConfigProps.push_back(receiverCfgObj); - } + for(qint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) + { + receiverCfgObj.stb = stb.at(j); + receiverCfgObj.ddcEn = ddcEn.at(j); + receiverCfgObj.absEn = absEn.at(j); + receiverCfgObj.logEn = logEn.at(j); + receiverCfgObj.stbEn = stbEn.at(j); + receiverCfgObj.lpfSel = lpfSel.at(j); + receiverCfgObj.dTgcEn = dTgcEn.at(j); + receiverCfgObj.blendEn = blendEn.at(j); + receiverCfgObj.aTgcSel = aTgcSel.at(j); + receiverCfgObj.focusNo = focusNo.at(j); + receiverCfgObj.lineMode = lineMode.at(j); + receiverCfgObj.mla = receiverCfgMla.at(j); + receiverCfgObj.frameType = frameType.at(j); + receiverCfgObj.dcCancelEn = dcCancelEn.at(j); + receiverCfgObj.ncoFreqSel = ncoFreqSel.at(j); + receiverCfgObj.dualPathEn = dualPathEn.at(j); + receiverCfgObj.iqDataCrossEn = iqDataCrossEn.at(j); + receiverCfgObj.noiseRejectEn = noiseRejectEn.at(j); + receiverCfgObj.subtractFilterEn = subtractFilterEn.at(j); + + scenParams.hwRegister.receiverConfigProps.push_back(receiverCfgObj); + } scenParams.hwRegister.mlaOffsetAddr.clear(); /**************** /registerParameters/sramFrameParameters/bOffset *****************/ - datasetBranch ("/registerParameters/sramFrameParameters/bOffset", floatArray); + datasetBranch("/registerParameters/sramFrameParameters/bOffset", floatArray); scenParams.hwRegister.mlaOffsetAddr.push_back(static_cast(floatArray[0])); /**************** /registerParameters/sramFrameParameters/dOffset *****************/ - datasetBranch ("/registerParameters/sramFrameParameters/dOffset", floatArray); + datasetBranch("/registerParameters/sramFrameParameters/dOffset", floatArray); scenParams.hwRegister.mlaOffsetAddr.push_back(static_cast(floatArray[0])); /**************** /registerParameters/sramFrameParameters/bLastOffset *****************/ - datasetBranch ("/registerParameters/sramFrameParameters/bLastOffset", floatArray); + datasetBranch("/registerParameters/sramFrameParameters/bLastOffset", floatArray); scenParams.hwRegister.mlaOffsetAddr.push_back(static_cast(floatArray[0])); /**************** /registerParameters/sramFrameParameters/dLastOffset *****************/ - datasetBranch ("/registerParameters/sramFrameParameters/dLastOffset", floatArray); + datasetBranch("/registerParameters/sramFrameParameters/dLastOffset", floatArray); scenParams.hwRegister.mlaOffsetAddr.push_back(static_cast(floatArray[0])); /**************** /registerParameters/noiseRejectValue *****************/ - datasetBranch ("/registerParameters/noiseRejectValue", floatArray); + datasetBranch("/registerParameters/noiseRejectValue", floatArray); scenParams.hwRegister.noiseRejectValue = static_cast(floatArray[0]); } - -void Hdf5::prbDependParamsRead(ScenPrbDepHardwareParam &prbDepParams) +void Hdf5::prbDependParamsRead(ScenPrbDepHardwareParam& prbDepParams) { /**************** /registerParameters/apodizationLut ********************/ - datasetBranch ("/registerParameters/apodizationLut", floatArray); + datasetBranch("/registerParameters/apodizationLut", floatArray); prbDepParams.prbDepParams.apodizationLut.clear(); - QList tempApodization; + QList tempApodization; - for (quint32 i = 0; i < 4; i++) + for(quint32 i = 0; i < 4; i++) { tempApodization.clear(); - for (quint32 j = 0; j < 3057; j++) + for(quint32 j = 0; j < 3057; j++) { tempApodization.push_back(static_cast(floatArray[j + i * 3057])); } prbDepParams.prbDepParams.apodizationLut.push_back(tempApodization); } - /************ /registerParameters/aTgcParameters/aTgcLut ****************/ - datasetBranch ("/registerParameters/aTgcParameters/aTgcLut", floatArray); - QList> atgcLut; + datasetBranch("/registerParameters/aTgcParameters/aTgcLut", floatArray); + QList > atgcLut; - for (quint32 i = 0; i < 4; i++) + for(quint32 i = 0; i < 4; i++) { QList temp; - for (quint32 j = 0; j < 256; j++) + for(quint32 j = 0; j < 256; j++) { temp.push_back(static_cast(floatArray[j + i * 256])); } @@ -849,13 +1014,13 @@ void Hdf5::prbDependParamsRead(ScenPrbDepHardwareParam &prbDepParams) } /******* /registerParameters/aTgcParameters/aTgcCompensationLut *********/ - datasetBranch ("/registerParameters/aTgcParameters/aTgcCompensationLut", floatArray); - QList> atgcCompensationLut; + datasetBranch("/registerParameters/aTgcParameters/aTgcCompensationLut", floatArray); + QList > atgcCompensationLut; - for (quint32 i = 0; i < 4; i++) + for(quint32 i = 0; i < 4; i++) { QVector temp; - for (quint32 j = 0; j < 256; j++) + for(quint32 j = 0; j < 256; j++) { temp.push_back(floatArray[j + i * 256]); } @@ -864,7 +1029,7 @@ void Hdf5::prbDependParamsRead(ScenPrbDepHardwareParam &prbDepParams) /************** /registerParameters/aTgcParameters/aTgc ******************/ prbDepParams.prbDepParams.atgcLut.clear(); - for (qint8 i = 0; i < 4; i++) + for(qint8 i = 0; i < 4; i++) { Atgc atgcObj; atgcObj.clear(); @@ -874,23 +1039,28 @@ void Hdf5::prbDependParamsRead(ScenPrbDepHardwareParam &prbDepParams) } } - QVector Hdf5::stbRead() { /**************** /registerParameters/stbLutQ ********************/ - datasetBranch ("/registerParameters/stbLutQ", floatArray); + datasetBranch("/registerParameters/stbLutQ", floatArray); QVector stb; - for (quint8 var = 0; var < 8; var++) + for(quint8 var = 0; var < 8; var++) + { stb.push_back(static_cast(floatArray[var])); + } + return stb; } QVector Hdf5::lineFilterRead() { /**************** /registerParameters/lineFilterLut ********************/ - datasetBranch ("/registerParameters/lineFilterLut", floatArray); + datasetBranch("/registerParameters/lineFilterLut", floatArray); QVector lineFilter; - for (quint8 var = 0; var < 3; var++) + for(quint8 var = 0; var < 3; var++) + { lineFilter.push_back(floatArray[var]); + } + return lineFilter; } diff --git a/hdf5Scenario/hdf5Scenario.h b/hdf5Scenario/hdf5Scenario.h old mode 100644 new mode 100755 diff --git a/include/config/Configuration.h b/include/config/Configuration.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/Hardware.h b/include/model/hardware/Hardware.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/Fan.h b/include/model/hardware/core/Fan.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/HardwareCore.h b/include/model/hardware/core/HardwareCore.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/HwBoard.h b/include/model/hardware/core/HwBoard.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/IBoard.h b/include/model/hardware/core/IBoard.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/IBoardFactory.h b/include/model/hardware/core/IBoardFactory.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/PowerBoard.h b/include/model/hardware/core/PowerBoard.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/PowerBoardFactory.h b/include/model/hardware/core/PowerBoardFactory.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/PowerBoardStatus.h b/include/model/hardware/core/PowerBoardStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/RelayBoard.h b/include/model/hardware/core/RelayBoard.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/RelayBoardFactory.h b/include/model/hardware/core/RelayBoardFactory.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/Status.h b/include/model/hardware/core/Status.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/Temperature.h b/include/model/hardware/core/Temperature.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/TrxBoardFactory.h b/include/model/hardware/core/TrxBoardFactory.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/Voltage.h b/include/model/hardware/core/Voltage.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/TrxBoard.h b/include/model/hardware/core/lowLevelApi/TrxBoard.h old mode 100644 new mode 100755 index 0a1b856..09c5f2f --- a/include/model/hardware/core/lowLevelApi/TrxBoard.h +++ b/include/model/hardware/core/lowLevelApi/TrxBoard.h @@ -16,6 +16,7 @@ #include "register/builtInTest/BuiltInTest.h" #include "register/beamFormer/BeamFormer.h" #include "register/scenPlayer/ScenPlayer.h" +#include "register/spiFlash/SpiFlash.h" #include "register/bpiFlash/BpiFlash.h" #include "register/emulator/Emulator.h" #include "register/debug/Debug.h" @@ -59,6 +60,7 @@ class TrxBoard : public QObject Q_OBJECT private: + QByteArray bin; QVector _swapVec; QVector _unsignedQntzrVec; QList _unsignedQntzrList; @@ -93,6 +95,7 @@ private: Debug* _debugSlave1; Debug* _debugSlave2; BpiFlash* _bpiFlash; + SpiFlash* _spiFlash; Afe* _afeSlave0; Afe* _afeSlave1; Afe* _afeSlave2; @@ -130,6 +133,7 @@ private: QVector startLpfWeightLut; QVector freqLut; QVector dtgcLut; + QList dualPathWeight; ReceiverConfiguration* configLut; FreqPoint* freqPoint; QVector > blendWeight; @@ -287,12 +291,17 @@ public: void mcsProgram(QString path); void mcsVerify(QString path) const; + //////////////////////////////// SPI Flash API //////////////////////////////// + void spiFlashProgram(QString path); + void spiFlashRead(QString path); + void spiFlashVerify(); + //////////////////////////////// Miscellaneous API //////////////////////////// void getTrxStatus(StatusVec* status) const; void getFpgasCodeVersion(FpgaCodeVersion* version) const; void sramParityClear(); quint32 getFrameLostCounter(void) const; - void elementActiveEnable(eActiveElements &slaveElements, quint64 &elements) const; + void elementActiveEnable(eActiveElements& slaveElements, quint64& elements) const; ////////////////////////////////// Logger API ///////////////////////////////// void adcCaptureConfig(captureConfig& capCfg) const; diff --git a/include/model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h b/include/model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/TrxBoardUtils/ScenParamsRanges.h b/include/model/hardware/core/lowLevelApi/TrxBoardUtils/ScenParamsRanges.h old mode 100644 new mode 100755 index 7f9aa9e..2563e3b --- a/include/model/hardware/core/lowLevelApi/TrxBoardUtils/ScenParamsRanges.h +++ b/include/model/hardware/core/lowLevelApi/TrxBoardUtils/ScenParamsRanges.h @@ -3,33 +3,34 @@ /****************** DSP ******************/ #define RRECEIVER_CONFIGURATION_LUT_MAX 8U -#define START_LPF_WEIGHT_LUT_MAX 4U -#define STB_COEFFICIENT_LUT_MAX 8 -#define LPF_WEIGHT_STEP_LUT_MAX 4U -#define BLENDWEIGHT_LUT_MAX 4 -#define LINE_FILTER_LUT_MAX 3 -#define START_FREQ_LUT_MAX 4U -#define FREQ_POINT_LUT_MAX 4 -#define FREQ_STEP_LUT_MAX 4U -#define FREQUENCY_LUT_MAX 8 -#define END_FREQ_LUT_MAX 4U -#define LPF_SCALE_MAX 4 -#define DTGC_LUT_MAX 1024 -#define ATGC_LUT_MAX 4 -#define LPF_LUT_MAX 4 +#define START_LPF_WEIGHT_LUT_MAX 4U +#define STB_COEFFICIENT_LUT_MAX 8 +#define LPF_WEIGHT_STEP_LUT_MAX 4U +#define BLENDWEIGHT_LUT_MAX 4 +#define LINE_FILTER_LUT_MAX 3 +#define START_FREQ_LUT_MAX 4U +#define FREQ_POINT_LUT_MAX 4 +#define FREQ_STEP_LUT_MAX 4U +#define FREQUENCY_LUT_MAX 8 +#define END_FREQ_LUT_MAX 4U +#define LPF_SCALE_MAX 4 +#define DUAL_PATH_MAX 1024 +#define DTGC_LUT_MAX 1024 +#define ATGC_LUT_MAX 4 +#define LPF_LUT_MAX 4 /************** Beam Former **************/ -#define ELEMENT_POSITION_LUT_MAX 192 -#define APODIZATIONLUT_LUT_MAX 4 -#define RXBEAMFORMER_LUT_MAX 4 -#define PULSE_LUT_MAX 8U +#define ELEMENT_POSITION_LUT_MAX 192 +#define APODIZATIONLUT_LUT_MAX 4 +#define RXBEAMFORMER_LUT_MAX 4 +#define PULSE_LUT_MAX 8U /****************** SRAM *****************/ -#define TOTAL_TX_SHOT_NUMBER_MAX 131072U -#define RX_BEAMFORMER_NUMBER_MAX 14563 -#define FOCUS_TYPE_NUMBER_MAX 14563U +#define TOTAL_TX_SHOT_NUMBER_MAX 131072U +#define RX_BEAMFORMER_NUMBER_MAX 14563 +#define FOCUS_TYPE_NUMBER_MAX 14563U /************* Scenario Index ************/ -#define SCENARIO_INDEX_MAX 131072U +#define SCENARIO_INDEX_MAX 131072U -#endif // SCENPARAMSRANGE_H +#endif //SCENPARAMSRANGE_H diff --git a/include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardEnums.h b/include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardEnums.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardStructures.h b/include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardStructures.h old mode 100644 new mode 100755 index 1beeafe..d916511 --- a/include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardStructures.h +++ b/include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardStructures.h @@ -56,8 +56,8 @@ struct ConnectedPrbInfo struct ScenPrbDepHwRegister { - QList atgcLut; - QList> apodizationLut; + QList atgcLut; + QList > apodizationLut; }; struct ScenPrbDepHardwareParam @@ -92,6 +92,7 @@ struct ReceiverConfig quint32 subtractFilterEn; quint32 dcCancelEn; quint32 ncoFreqSel; + quint32 dualPathEn; quint32 lpfSel; quint32 absEn; quint32 focusNo; @@ -113,9 +114,9 @@ struct RxFreqResp QVector freqStepLut; QVector lpfWeightStepLut; QVector startLpfWeightLut; - QList> startLpf; - QList> endLpf; - QList lpfScale; + QList > startLpf; + QList > endLpf; + QList lpfScale; }; struct ApodizationParameters @@ -128,16 +129,17 @@ struct ApodizationParameters QList minApertureSize; QList maxApertureSize; - QVector rxActiveElementStep1; - QVector rxActiveElementStep2; - QVector winOpenStartVal; - QVector winOpenStepVal; - QVector winOpenStopVal; + QVector rxActiveElementStep1; + QVector rxActiveElementStep2; + QVector winOpenStartVal; + QVector winOpenStepVal; + QVector winOpenStopVal; }; struct HwRegister { QVector dtgcLut; + QList dualPathWeight; QVector > blendWeight; QVector elementXPosition; QVector elementYPosition; @@ -151,9 +153,9 @@ struct HwRegister QList rxBeamFormerProps; quint8 receiverConfigTypeNumber; QList receiverConfigProps; - QList> lpfLut; - QList> atgcLut; - QList> apodizationLut; + QList > lpfLut; + QList > atgcLut; + QList > apodizationLut; QList mlaOffsetAddr; quint32 noiseRejectValue; quint32 frameLoggerControl; @@ -166,12 +168,12 @@ struct HwSramIndex QVector shotPropertiesIndex; QVector pulsePropertiesIndex; QVector receiverConfigurationIndex; - QVector firstLineInFrame; - QVector startOfSubBatch; - QVector endOfSubBatch; - QVector endOfSubFrame; - QVector endOfEnsemble; - QVector isLastSubBatch; + QVector firstLineInFrame; + QVector startOfSubBatch; + QVector endOfSubBatch; + QVector endOfSubFrame; + QVector endOfEnsemble; + QVector isLastSubBatch; }; struct HwSramRx @@ -230,4 +232,4 @@ struct ScenHardware HwSramTx txParams; }; -#endif // TRXBOARDSTRUCTURES_H +#endif //TRXBOARDSTRUCTURES_H diff --git a/include/model/hardware/core/lowLevelApi/register/Field.h b/include/model/hardware/core/lowLevelApi/register/Field.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/RegUtils.h b/include/model/hardware/core/lowLevelApi/register/RegUtils.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/Register.h b/include/model/hardware/core/lowLevelApi/register/Register.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/Afe.h b/include/model/hardware/core/lowLevelApi/register/afe/Afe.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/ActiveTerm.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/ActiveTerm.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcLatency.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcLatency.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcSyncStatus.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcSyncStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Global.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Global.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LnaHpf.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LnaHpf.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LowNf.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LowNf.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Pga.h b/include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Pga.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/BeamFormer.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/BeamFormer.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/AfeLut.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/AfeLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ApoParams.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ApoParams.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ApodizationLut.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ApodizationLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ElementPositionLut.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ElementPositionLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ElementsActiveEnable.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ElementsActiveEnable.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/MaxApertureSize.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/MaxApertureSize.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/MinApertureSize.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/MinApertureSize.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RegValid.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RegValid.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxActiveElementPoint.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxActiveElementPoint.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxActiveElementStep.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxActiveElementStep.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxBeamformerLut.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxBeamformerLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/WinOpenPoint.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/WinOpenPoint.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/WinOpenVal.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/WinOpenVal.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.h old mode 100644 new mode 100755 index f4d9bca..6ff8e5a --- a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.h +++ b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.h @@ -24,7 +24,7 @@ #define HVB_GAIN 2.635f #define HVA_MAX_VALUE 66.0f -#define HVB_MAX_VALUE 66.0f //must be check +#define HVB_MAX_VALUE 64.0f #define FAN1_PRI 127U //Equal to 10.4ms according to the pulse gen submodule in HDL code #define FAN2_PRI 127U //Equal to 10.4ms according to the pulse gen submodule in HDL code diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/BoardsSpecs.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/BoardsSpecs.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho1.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho1.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho2.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho2.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FansPdw.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FansPdw.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwReq.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwReq.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvRegulatorClk.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvRegulatorClk.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvStopState.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvStopState.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsPm5RegulatorClk.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsPm5RegulatorClk.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorDacValue.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorDacValue.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorFaultStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorFaultStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorI2cStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorI2cStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCmd.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCmd.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCurr24V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCurr24V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCwdp.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCwdp.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvStop.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvStop.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvap.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvap.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvbp.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvbp.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbM5V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbM5V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP12V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP12V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP24V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP24V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP4d.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP4d.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP5V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP5V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRdData.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRdData.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRwReq.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRwReq.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorSetupCmd.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorSetupCmd.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlCmd.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlCmd.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwReq.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwReq.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwReq.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwReq.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc12Vin.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc12Vin.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc3P3V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc3P3V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc5Vin.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc5Vin.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeA1P8V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeA1P8V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeD1P8V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeD1P8V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeVcntlp.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeVcntlp.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbCtrl3P3V.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbCtrl3P3V.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbZeroEncoder.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbZeroEncoder.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc1.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc1.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc2.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc2.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/OnBoardTempSensor.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/OnBoardTempSensor.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/PcieId.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/PcieId.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwReq.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwReq.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwStatus.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxRegulatorPg.h b/include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxRegulatorPg.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/bpiFlash/BpiFlash.h b/include/model/hardware/core/lowLevelApi/register/bpiFlash/BpiFlash.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/builtInTest/BuiltInTest.h b/include/model/hardware/core/lowLevelApi/register/builtInTest/BuiltInTest.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/builtInTest/registerDefinition/BiteDacMemory.h b/include/model/hardware/core/lowLevelApi/register/builtInTest/registerDefinition/BiteDacMemory.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/builtInTest/registerDefinition/BiteDacMemoryCmd.h b/include/model/hardware/core/lowLevelApi/register/builtInTest/registerDefinition/BiteDacMemoryCmd.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/builtInTest/registerDefinition/BiteDacOutputSelect.h b/include/model/hardware/core/lowLevelApi/register/builtInTest/registerDefinition/BiteDacOutputSelect.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/clockDistributer/ClockDistributer.h b/include/model/hardware/core/lowLevelApi/register/clockDistributer/ClockDistributer.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/clockDistributer/registerDefinition/ClkDistributionId.h b/include/model/hardware/core/lowLevelApi/register/clockDistributer/registerDefinition/ClkDistributionId.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/clockDistributer/registerDefinition/CwModeEnable.h b/include/model/hardware/core/lowLevelApi/register/clockDistributer/registerDefinition/CwModeEnable.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/clockDistributer/registerDefinition/CwModeStatus.h b/include/model/hardware/core/lowLevelApi/register/clockDistributer/registerDefinition/CwModeStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/debug/Debug.h b/include/model/hardware/core/lowLevelApi/register/debug/Debug.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/AdcLoggerCapCmd.h b/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/AdcLoggerCapCmd.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/AdcLoggerDataTransfer.h b/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/AdcLoggerDataTransfer.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/AdcLoggerStatus.h b/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/AdcLoggerStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/DebuggerMode.h b/include/model/hardware/core/lowLevelApi/register/debug/registerDefinition/DebuggerMode.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/Dsp.h b/include/model/hardware/core/lowLevelApi/register/dsp/Dsp.h old mode 100644 new mode 100755 index ce5425d..6005002 --- a/include/model/hardware/core/lowLevelApi/register/dsp/Dsp.h +++ b/include/model/hardware/core/lowLevelApi/register/dsp/Dsp.h @@ -8,6 +8,7 @@ #include "registerDefinition/LpfWeightStepLut.h" #include "registerDefinition/FrameLoggerCtrl.h" #include "registerDefinition/StbCoefficient.h" +#include "registerDefinition/DualPathWeight.h" #include "registerDefinition/BlendWeight.h" #include "registerDefinition/FrequencyLut.h" #include "registerDefinition/FreqPointLut.h" @@ -21,62 +22,65 @@ #include "registerDefinition/BfScale.h" #include "registerDefinition/LpfLut.h" -#define BLEND_WEIGHT_OFFSET 0x800 -#define ATGC_OFFSET 0x400 -#define LPF_OFFSET 0x400 +#define BLEND_WEIGHT_OFFSET 0x800 +#define ATGC_OFFSET 0x400 +#define LPF_OFFSET 0x400 enum eAtgcMode : bool { - Auto=false, - Manual=true, + Auto = false, + Manual = true, }; class Dsp { private: - ReceiverConfigurationLut* _configLut; - LineFilterCoefficient* _lineFilterLut; - StartLpfWeightLut* _startLpfWeightLut; - NoiseRejectValue* _noiseReject; - LpfWeightStepLut* _lpfWeightStepLut; - FrameLoggerCtrl* _frameLoggerCtrl; - StbCoefficient* _stbLut; - FrequencyLut* _freqLut; - StartFreqLut* _startFreqLut; - FreqPointLut* _freqPointLut; - FreqStepLut* _freqStepLut; - BlendWeight* _blendWeight; - EndFreqLut* _endFreqLut; - ManualAtgc* _manualAtgc; - MlaOffset* _mlaOffset; - DtgcLut* _dtgcLut; - AtgcLut* _atgcLut; - BfScale* _bfScale; - LpfLut* _lpfLut; + ReceiverConfigurationLut* _configLut; + LineFilterCoefficient* _lineFilterLut; + StartLpfWeightLut* _startLpfWeightLut; + NoiseRejectValue* _noiseReject; + LpfWeightStepLut* _lpfWeightStepLut; + FrameLoggerCtrl* _frameLoggerCtrl; + DualPathWeight* _dualPathWeight; + StbCoefficient* _stbLut; + FrequencyLut* _freqLut; + StartFreqLut* _startFreqLut; + FreqPointLut* _freqPointLut; + FreqStepLut* _freqStepLut; + BlendWeight* _blendWeight; + EndFreqLut* _endFreqLut; + ManualAtgc* _manualAtgc; + MlaOffset* _mlaOffset; + DtgcLut* _dtgcLut; + AtgcLut* _atgcLut; + BfScale* _bfScale; + LpfLut* _lpfLut; public: explicit Dsp(SonoDevice* device); ~Dsp(); - void receiverConfigurationLut (quint8& receiverConfigTypeNumber, ReceiverConfiguration* configLut) const; - void lineFilterCoefficient (QList& lineFilterLut) const; - void lpfScaleCoefficient (QList& lpfScaleCoeff) const; - void startLpfWeightLut (QList& startLpfWeightLut) const; - void lpfWeightStepLut (QList& lpfWeightStepLut) const; - void frameLoggerCtrl (quint32& frameLoggerCtrl) const; - void stbCoefficient (QList& stbLut) const; + void receiverConfigurationLut(quint8& receiverConfigTypeNumber, + ReceiverConfiguration* configLut) const; + void lineFilterCoefficient(QList& lineFilterLut) const; + void lpfScaleCoefficient(QList& lpfScaleCoeff) const; + void startLpfWeightLut(QList& startLpfWeightLut) const; + void lpfWeightStepLut(QList& lpfWeightStepLut) const; + void frameLoggerCtrl(quint32& frameLoggerCtrl) const; + void dualPathWeight(QList& dualPath) const; + void stbCoefficient(QList& stbLut) const; void mlaOffsetAddr(QList& mlaLut) const; - void blendWeight (QList>& blendWeight) const; - void frequencyLut (QList& freqLut) const; - void startFreqLut (QList& startFreq) const; - void freqPointLut (FreqPoint* freqPoint) const; - void freqStepLut (QList& freqStep) const; + void blendWeight(QList >& blendWeight) const; + void frequencyLut(QList& freqLut) const; + void startFreqLut(QList& startFreq) const; + void freqPointLut(FreqPoint* freqPoint) const; + void freqStepLut(QList& freqStep) const; void noiseReject(quint32& rejectValue) const; - void endFreqLut (QList& endFreq) const; - void atgcMode (eAtgcMode mode, quint16 value) const; - void dtgcLut (QList& dtgcLut) const; - void atgcLut (QList atgcLut) const; - void lpfLut (QList& lpfLut) const; - + void endFreqLut(QList& endFreq) const; + void atgcMode(eAtgcMode mode, quint16 value) const; + void dtgcLut(QList& dtgcLut) const; + void atgcLut(QList atgcLut) const; + void lpfLut(QList& lpfLut) const; }; -#endif // DSP_H + +#endif //DSP_H diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/AtgcLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/AtgcLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/BfScale.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/BfScale.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/BlendWeight.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/BlendWeight.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/DtgcLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/DtgcLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/DualPathWeight.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/DualPathWeight.h new file mode 100644 index 0000000..37cc96e --- /dev/null +++ b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/DualPathWeight.h @@ -0,0 +1,44 @@ +#ifndef DUALPATHWEIGHT_H +#define DUALPATHWEIGHT_H + +#include "model/hardware/core/lowLevelApi/register/Register.h" +#include "model/hardware/core/lowLevelApi/register/RegUtils.h" + +#undef BAR + +#define DUAL_PATH_WEIGHT_MASK 0x0000FFFF + +#define BAR 0 +#define OFFSET 0X84000 +#define LENGTH 1024U + +class DualPathWeight : public Register +{ +private: + QList _dualPath; + + void prepareData(quint32 index) override + { + dualPathWeight->setValue(_dualPath[static_cast(index)]); + } + +public: + Field* dualPathWeight; + + void setDualPath (QList& dualPath) { + _dualPath = dualPath; + } + + DualPathWeight(SonoDevice* device) : Register(BAR, OFFSET, device, LENGTH) + { + ADD_UNSIGNED_FIELD(dualPathWeight, DUAL_PATH_WEIGHT_MASK); + } +}; + +#undef DUAL_PATH_WEIGHT_MASK + +#undef BAR +#undef OFFSET +#undef LENGTH + +#endif //DUALPATHWEIGHT_H diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/EndFreqLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/EndFreqLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FrameLoggerCtrl.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FrameLoggerCtrl.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FreqPointLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FreqPointLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FreqStepLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FreqStepLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FrequencyLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/FrequencyLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/LineFilterCoefficient.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/LineFilterCoefficient.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/LpfLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/LpfLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/LpfWeightStepLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/LpfWeightStepLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/ManualAtgc.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/ManualAtgc.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/MlaOffset.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/MlaOffset.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/NoiseRejectValue.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/NoiseRejectValue.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/ReceiverConfigurationLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/ReceiverConfigurationLut.h old mode 100644 new mode 100755 index cace655..e7a7277 --- a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/ReceiverConfigurationLut.h +++ b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/ReceiverConfigurationLut.h @@ -6,49 +6,51 @@ #undef BAR -#define MLA_PRP_MASK 0x00000007 -#define LINE_MODE_PRP_MASK 0x00000078 -#define ATGC_SEL_PRP_MASK 0x00000180 -#define STB_EN_PRP_MASK 0x00000200 -#define STB_PRP_MASK 0x00000C00 -#define SUBTRACT_FILTER_EN_PRP_MASK 0x00001000 -#define DC_CANCEL_EN_PRP_MASK 0x00002000 -#define NCO_FREQ_SEL_PRP_MASK 0x0001C000 -#define LPF_SEL_PRP_MASK 0x00060000 -#define ABS_EN_PRP_MASK 0x00080000 -#define FOCUS_NO_PRP_MASK 0x00300000 -#define NOISE_REJECTION_EN_PRP_MASK 0x00400000 -#define DDC_EN_PRP_MASK 0x00800000 -#define FRAME_TYPE_PRP_MASK 0x0F000000 -#define IQ_DATA_CROSS_EN_PRP_MASK 0x10000000 -#define LOG_EN_PRP_MASK 0x20000000 -#define DTGC_EN_PRP_MASK 0x40000000 -#define BLEND_EN_PRP_MASK 0x80000000 - -#define BAR 0U -#define OFFSET 0X80000 -#define LENGTH 8U +#define MLA_PRP_MASK 0x00000007 +#define LINE_MODE_PRP_MASK 0x00000078 +#define ATGC_SEL_PRP_MASK 0x00000180 +#define STB_EN_PRP_MASK 0x00000200 +#define STB_PRP_MASK 0x00000C00 +#define SUBTRACT_FILTER_EN_PRP_MASK 0x00001000 +#define DC_CANCEL_EN_PRP_MASK 0x00002000 +#define NCO_FREQ_SEL_PRP_MASK 0x0000C000 +#define DUAL_PATH_EN_PRP_MASK 0x00010000 +#define LPF_SEL_PRP_MASK 0x00060000 +#define ABS_EN_PRP_MASK 0x00080000 +#define FOCUS_NO_PRP_MASK 0x00300000 +#define NOISE_REJECTION_EN_PRP_MASK 0x00400000 +#define DDC_EN_PRP_MASK 0x00800000 +#define FRAME_TYPE_PRP_MASK 0x0F000000 +#define IQ_DATA_CROSS_EN_PRP_MASK 0x10000000 +#define LOG_EN_PRP_MASK 0x20000000 +#define DTGC_EN_PRP_MASK 0x40000000 +#define BLEND_EN_PRP_MASK 0x80000000 + +#define BAR 0U +#define OFFSET 0X80000 +#define LENGTH 8U struct ReceiverConfiguration { - QList mla; - QList lineMode; - QList aTgcSel; - QList stbEn; - QList stb; - QList subtractFilterEn; - QList dcCancelerEn; - QList ncoFreqSel; - QList lpfSel; - QList absEn; - QList focusNo; - QList noiseRejectionEn; - QList ddcEn; - QList frameType; - QList iqDataCrossEn; - QList logEn; - QList dTgcEn; - QList blendEn; + QList mla; + QList lineMode; + QList aTgcSel; + QList stbEn; + QList stb; + QList subtractFilterEn; + QList dcCancelerEn; + QList ncoFreqSel; + QList dualPathEn; + QList lpfSel; + QList absEn; + QList focusNo; + QList noiseRejectionEn; + QList ddcEn; + QList frameType; + QList iqDataCrossEn; + QList logEn; + QList dTgcEn; + QList blendEn; void clear() { @@ -60,6 +62,7 @@ struct ReceiverConfiguration subtractFilterEn.clear(); dcCancelerEn.clear(); ncoFreqSel.clear(); + dualPathEn.clear(); lpfSel.clear(); absEn.clear(); focusNo.clear(); @@ -101,6 +104,8 @@ private: ncoFreqSelPrp->setValue(_configLut->ncoFreqSel.at(static_cast(index)) - 1); + dualPathEnPrp->setValue(_configLut->dualPathEn.at(static_cast(index))); + lpfSelPrp->setValue(_configLut->lpfSel.at(static_cast(index)) - 1); //value = _configLut->absEn.at(static_cast(index)) ? 1 : 0; @@ -138,6 +143,7 @@ public: Field* subtractFilterEnPrp; Field* dcCancelEnPrp; Field* ncoFreqSelPrp; + Field* dualPathEnPrp; Field* lpfSelPrp; Field* absEnPrp; Field* focusNoPrp; @@ -164,6 +170,7 @@ public: ADD_UNSIGNED_FIELD(subtractFilterEnPrp, SUBTRACT_FILTER_EN_PRP_MASK); ADD_UNSIGNED_FIELD(dcCancelEnPrp, DC_CANCEL_EN_PRP_MASK); ADD_UNSIGNED_FIELD(ncoFreqSelPrp, NCO_FREQ_SEL_PRP_MASK); + ADD_UNSIGNED_FIELD(dualPathEnPrp, DUAL_PATH_EN_PRP_MASK); ADD_UNSIGNED_FIELD(lpfSelPrp, LPF_SEL_PRP_MASK); ADD_UNSIGNED_FIELD(absEnPrp, ABS_EN_PRP_MASK); ADD_UNSIGNED_FIELD(focusNoPrp, FOCUS_NO_PRP_MASK); @@ -185,6 +192,7 @@ public: #undef SUBTRACT_FILTER_EN_PRP_MASK #undef DC_CANCEL_EN_PRP_MASK #undef NCO_FREQ_SEL_PRP_MASK +#undef DUAL_PATH_EN_PRP_MASK #undef LPF_SEL_PRP_MASK #undef ABS_EN_PRP_MASK #undef FOCUS_NO_PRP_MASK diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/StartFreqLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/StartFreqLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/StartLpfWeightLut.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/StartLpfWeightLut.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/StbCoefficient.h b/include/model/hardware/core/lowLevelApi/register/dsp/registerDefinition/StbCoefficient.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/emulator/Emulator.h b/include/model/hardware/core/lowLevelApi/register/emulator/Emulator.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/EmulatorActivation.h b/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/EmulatorActivation.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/RamAddress.h b/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/RamAddress.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/TransferMode.h b/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/TransferMode.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/TransferRate.h b/include/model/hardware/core/lowLevelApi/register/emulator/registerDefinition/TransferRate.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/fpgaProgram/FpgaProgram.h b/include/model/hardware/core/lowLevelApi/register/fpgaProgram/FpgaProgram.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/fpgaProgram/registerDefinition/SerialProgramData.h b/include/model/hardware/core/lowLevelApi/register/fpgaProgram/registerDefinition/SerialProgramData.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/fpgaProgram/registerDefinition/SerialProgramStatus.h b/include/model/hardware/core/lowLevelApi/register/fpgaProgram/registerDefinition/SerialProgramStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/fpgaProgram/registerDefinition/SlaveFpgaNumber.h b/include/model/hardware/core/lowLevelApi/register/fpgaProgram/registerDefinition/SlaveFpgaNumber.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/Misc.h b/include/model/hardware/core/lowLevelApi/register/misc/Misc.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/AdcDataBram.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/AdcDataBram.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/AdcSamplerControl.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/AdcSamplerControl.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/AdcSamplerStatus.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/AdcSamplerStatus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/FpgaVersion.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/FpgaVersion.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/FrameLostCount.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/FrameLostCount.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/GtSendMode.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/GtSendMode.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/StatusVector.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/StatusVector.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/SyncMode.h b/include/model/hardware/core/lowLevelApi/register/misc/registerDefinition/SyncMode.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/scenPlayer/ScenPlayer.h b/include/model/hardware/core/lowLevelApi/register/scenPlayer/ScenPlayer.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerCtrl.h b/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerCtrl.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerEndIndex.h b/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerEndIndex.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerErrorCount.h b/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerErrorCount.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerStartIndex.h b/include/model/hardware/core/lowLevelApi/register/scenPlayer/registerDefinition/ScenPlayerStartIndex.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.h b/include/model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.h new file mode 100755 index 0000000..47731e4 --- /dev/null +++ b/include/model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.h @@ -0,0 +1,108 @@ +#ifndef SPIFLASH_H +#define SPIFLASH_H + +#include "model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h" +#include "model/hardware/device/SonoDevice.h" +#include +#include +#include + +#define SPI_FLASH_SIZE 32 * 1024 * 1024 //Byte +#define SPI_SECTOR_OFFSET 128 //second 8MB +#define SPI_PAGE_OFFSET 32768 //second 8MB + +#define SPI_OFFSET_IN_BAR1 0x4000000 +#define SPI_FIIO_SIZE_IN_BYTE 16U +#define SPI_PAGE_SIZE_IN_BYTE 256U + +#define SOFTWARE_RESET_REGISTER 0x40 +#define CONTROL_REGISTER 0x60 +#define STATUS_REGISTER 0x64 +#define DATA_TRANSMIT_REGISTER 0x68 +#define DATA_RECEIVE_REGISTER 0x6C +#define SLAVE_SELECT_REGISTER 0x70 +#define GLOBAL_INTERRUPT_EN_REGISTER 0x1C +#define INTERRUPT_STATUS_REGISTER 0x20 + +#define SOFTWARE_RESET_COMMAND 0xA + +#define TRANSACTION_DISABLE_FIFO_RESET_CONTROL_COMMAND 0x1E6 +#define TRANSACTION_DISABLE_CONTROL_COMMAND 0x186 +#define TRANSACTION_ENABLE_CONTROL_COMMAND 0x86 + +#define RX_FIFO_EMPTY_STATUS 0x21 +#define TX_FIFO_EMPTY_STATUS 0x24 +#define TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS 0x25 +#define TX_FIFO_EMPTY_RX_FIFO_FULL_STATUS 0x26 +#define TX_FIFO_FULL_RX_FIFO_EMPTY_STATUS 0x29 + +#define SLAVE_SELECT_ACTIVE_LOW_COMMAND 0xFFFFFFFE +#define SLAVE_DESELECT_ACTIVE_LOW_COMMAND 0x1 + +#define GLOBAL_INTERRUPT_DISABLE_COMMAND 0x0 + +#define DTR_EMPTY_INTERRUPT_STATUS 0x4 + +#define FLASH_BUSY_STATUS 0x1 + +#define FLASH_WRITE_COMMAND 0x02 +#define FLASH_READ_COMMAND 0x03 +#define FLASH_WRITE_DISABLE 0x04 +#define FLASH_READ_STATUS 0x05 +#define FLASH_WRITE_ENABLE 0x06 +#define FLASH_BULK_ERASE 0xC7 +#define FLASH_SECTOR_ERASE 0xD8 //64KB each sector +#define FLASH_READ_ID 0x9F + +enum eSpiFlashMode : quint8 +{ + golden, + update +}; + +class SpiFlash : public QObject +{ + Q_OBJECT + +private: + const QList flashID = {0xff, 0x20, 0xba, 0x19}; + SonoDevice* _device; + QTimer* _timer; + QList statusRegister; + + void timerShot(qint32 ms) const; + bool checkTimeout() const; + void timerStop() const; + + void errorChecking(quint32 status); + quint32 readFifoStatus(void) const; + quint32 readReceivedData(void) const; + void waitForTransactionCmplt(void); + + void spiCfgInitialize(void) const; + void spiCheckPartNumber(void); + void spiWaitForReady(qint32 ms); + void spiBulkErase(void); + void spiSectorErase(quint16 sectorNo); //3-byte addressing mode + void spiGoldenErase(void); + void spiUpdateErase(void); + void spiWriteEnable(void); + void spiWriteDisable(void); + void spiWriteData(QByteArray& bin, quint32 pageOffset); + void spiFifoWriteData(QList& fifoData); + void spiPageWriteData(QList& pageData); //3-byte addressing mode + +signals: + void startTimerShot(qint32 ms); + void remainingTime(QString message); + void stopTimer(void); + +public: + explicit SpiFlash(SonoDevice* device); + ~SpiFlash(); + + void writeBin(QByteArray& bin, eSpiFlashMode writeMode); + QByteArray readBin(); +}; + +#endif //SPIFLASH_H diff --git a/include/model/hardware/core/lowLevelApi/register/sram/Sram.h b/include/model/hardware/core/lowLevelApi/register/sram/Sram.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/Index.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/Index.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParams.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParams.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParamsDegree.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParamsDegree.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParamsDelay.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParamsDelay.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParamsPos.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/RxParamsPos.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/SoftwareMetaData.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/SoftwareMetaData.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/SramStructures.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/SramStructures.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/TxParams.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/TxParams.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/TxParamsFocus.h b/include/model/hardware/core/lowLevelApi/register/sram/registerDefinition/TxParamsFocus.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/device/SonoDevice.h b/include/model/hardware/device/SonoDevice.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/device/SonoDeviceConstant.h b/include/model/hardware/device/SonoDeviceConstant.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/exception/HardwareException.h b/include/model/hardware/exception/HardwareException.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/exception/HwExceptionDef.h b/include/model/hardware/exception/HwExceptionDef.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/service/BHardwarePacket.h b/include/model/hardware/service/BHardwarePacket.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/service/HardwarePacket.h b/include/model/hardware/service/HardwarePacket.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/service/HardwarePacketEngine.h b/include/model/hardware/service/HardwarePacketEngine.h old mode 100644 new mode 100755 diff --git a/include/model/hardware/service/PacketFormat.h b/include/model/hardware/service/PacketFormat.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/ScenarioGenerator.h b/include/model/scenarioGenerator/ScenarioGenerator.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/ComputationalCore.h b/include/model/scenarioGenerator/core/ComputationalCore.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/ScenGenCore.h b/include/model/scenarioGenerator/core/ScenGenCore.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/general/AperturePosition.h b/include/model/scenarioGenerator/core/general/AperturePosition.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/general/BlendCoeff.h b/include/model/scenarioGenerator/core/general/BlendCoeff.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/general/Calculation.h b/include/model/scenarioGenerator/core/general/Calculation.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/general/InterceptFocus.h b/include/model/scenarioGenerator/core/general/InterceptFocus.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/general/MinMaxDelay.h b/include/model/scenarioGenerator/core/general/MinMaxDelay.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/general/ScenGenReceiverConfigurationProperties.h b/include/model/scenarioGenerator/core/general/ScenGenReceiverConfigurationProperties.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/B/BModeScenario.h b/include/model/scenarioGenerator/core/scenario/B/BModeScenario.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/BaseScenario.h b/include/model/scenarioGenerator/core/scenario/BaseScenario.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/Bm/BmModeScenario.h b/include/model/scenarioGenerator/core/scenario/Bm/BmModeScenario.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/frame/BFrame.h b/include/model/scenarioGenerator/core/scenario/type/frame/BFrame.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/frame/BaseFrame.h b/include/model/scenarioGenerator/core/scenario/type/frame/BaseFrame.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/frame/MFrame.h b/include/model/scenarioGenerator/core/scenario/type/frame/MFrame.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/Aperture.h b/include/model/scenarioGenerator/core/scenario/type/misc/Aperture.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/ApodizationParameters.h b/include/model/scenarioGenerator/core/scenario/type/misc/ApodizationParameters.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/DdcParameters.h b/include/model/scenarioGenerator/core/scenario/type/misc/DdcParameters.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/Delay.h b/include/model/scenarioGenerator/core/scenario/type/misc/Delay.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/Point.h b/include/model/scenarioGenerator/core/scenario/type/misc/Point.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/Pulse.h b/include/model/scenarioGenerator/core/scenario/type/misc/Pulse.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/ReceiverConfig.h b/include/model/scenarioGenerator/core/scenario/type/misc/ReceiverConfig.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/core/scenario/type/misc/RxBeamFormer.h b/include/model/scenarioGenerator/core/scenario/type/misc/RxBeamFormer.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/computational/ScenGenZoomGate.h b/include/model/scenarioGenerator/dto/computational/ScenGenZoomGate.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/hardware/HardwareOutput.h b/include/model/scenarioGenerator/dto/hardware/HardwareOutput.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/hardware/HwScenarioDependent.h b/include/model/scenarioGenerator/dto/hardware/HwScenarioDependent.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/hardware/SramIndex.h b/include/model/scenarioGenerator/dto/hardware/SramIndex.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/hardware/SramRx.h b/include/model/scenarioGenerator/dto/hardware/SramRx.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/hardware/SramTx.h b/include/model/scenarioGenerator/dto/hardware/SramTx.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/software/Pixel.h b/include/model/scenarioGenerator/dto/software/Pixel.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/software/ScanConversionConfig.h b/include/model/scenarioGenerator/dto/software/ScanConversionConfig.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/software/SoftwareOutput.h b/include/model/scenarioGenerator/dto/software/SoftwareOutput.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dto/software/SwScenarioDependent.h b/include/model/scenarioGenerator/dto/software/SwScenarioDependent.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dtoInternal/ProbeParameters.h b/include/model/scenarioGenerator/dtoInternal/ProbeParameters.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dtoInternal/ScenGenDatabase.h b/include/model/scenarioGenerator/dtoInternal/ScenGenDatabase.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dtoInternal/SystemParameters.h b/include/model/scenarioGenerator/dtoInternal/SystemParameters.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dtoInternal/UserParameters.h b/include/model/scenarioGenerator/dtoInternal/UserParameters.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dtoInternal/probe/ProbeProperties.h b/include/model/scenarioGenerator/dtoInternal/probe/ProbeProperties.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/dtoInternal/probe/SecondaryProbeProperties.h b/include/model/scenarioGenerator/dtoInternal/probe/SecondaryProbeProperties.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/utils/H5Macros.h b/include/model/scenarioGenerator/utils/H5Macros.h old mode 100644 new mode 100755 diff --git a/include/model/scenarioGenerator/utils/Macros.h b/include/model/scenarioGenerator/utils/Macros.h old mode 100644 new mode 100755 diff --git a/include/model/type/CommandValue.h b/include/model/type/CommandValue.h old mode 100644 new mode 100755 diff --git a/include/model/type/ImageModeCommandValue.h b/include/model/type/ImageModeCommandValue.h old mode 100644 new mode 100755 diff --git a/include/model/type/StringCommandType.h b/include/model/type/StringCommandType.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/UsData.h b/include/model/ultrasoundModule/UsData.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/UsEventReceiver.h b/include/model/ultrasoundModule/UsEventReceiver.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/UsEventSender.h b/include/model/ultrasoundModule/UsEventSender.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/UsHelper.h b/include/model/ultrasoundModule/UsHelper.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/UsModule.h b/include/model/ultrasoundModule/UsModule.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/UsPacket.h b/include/model/ultrasoundModule/UsPacket.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/metadata/BMetadata.h b/include/model/ultrasoundModule/metadata/BMetadata.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/metadata/BipMetadata.h b/include/model/ultrasoundModule/metadata/BipMetadata.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/metadata/HardwareMetadata.h b/include/model/ultrasoundModule/metadata/HardwareMetadata.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/metadata/UsBaseMetadata.h b/include/model/ultrasoundModule/metadata/UsBaseMetadata.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/metadata/UsMetadataBag.h b/include/model/ultrasoundModule/metadata/UsMetadataBag.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/type/CommandRequest.h b/include/model/ultrasoundModule/type/CommandRequest.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/type/CommandResponse.h b/include/model/ultrasoundModule/type/CommandResponse.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/type/CommandResult.h b/include/model/ultrasoundModule/type/CommandResult.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/type/ECommandResult.h b/include/model/ultrasoundModule/type/ECommandResult.h old mode 100644 new mode 100755 diff --git a/include/model/ultrasoundModule/type/ECommandType.h b/include/model/ultrasoundModule/type/ECommandType.h old mode 100644 new mode 100755 diff --git a/include/utils/ColorImageProvider.h b/include/utils/ColorImageProvider.h old mode 100644 new mode 100755 diff --git a/include/utils/PanelChecker.h b/include/utils/PanelChecker.h old mode 100644 new mode 100755 diff --git a/include/utils/ThreadBinder.h b/include/utils/ThreadBinder.h old mode 100644 new mode 100755 diff --git a/include/utils/Utils.h b/include/utils/Utils.h old mode 100644 new mode 100755 diff --git a/main.cpp b/main.cpp old mode 100644 new mode 100755 diff --git a/mainwindow.cpp b/mainwindow.cpp old mode 100644 new mode 100755 index fdf10b9..380afd4 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -21,6 +21,7 @@ MainWindow::MainWindow(QWidget* parent) _bCtrl = new BoardsCtrlMngt(_usd->device); _bpi = new BpiFlash(_usd->device); + _spi = new SpiFlash(_usd->device); _healStatus = new HealthStatus; _supRbValue = new SupervisorRbValue; _faultStatus = new MpsFaultStatus; @@ -113,9 +114,9 @@ MainWindow::MainWindow(QWidget* parent) connect(&_trx, &TrxBoard::sramVerifyMessage, this, &MainWindow::getSramVerifyMessage); ///////////////////////// BPI Timeout Connections ///////////////////////////// - connect(_bpi, &BpiFlash::startTimerShot, this, &MainWindow::bpiTimerShot); - connect(_bpi, &BpiFlash::remainingTime, this, &MainWindow::bpiTimeout); - connect(_bpi, &BpiFlash::stopTimer, this, &MainWindow::bpiStopTimer); + connect(_bpi, &BpiFlash::startTimerShot, this, &MainWindow::flashTimerShot); + connect(_bpi, &BpiFlash::remainingTime, this, &MainWindow::flashTimeout); + connect(_bpi, &BpiFlash::stopTimer, this, &MainWindow::flashStopTimer); ///////////////////////// Temp Connections ///////////////////////////// connect(this, &MainWindow::gtReset, this, &MainWindow::catchGtReset); @@ -219,6 +220,8 @@ MainWindow::~MainWindow() delete _bpi; + delete _spi; + delete _supRbValue; delete _faultStatus; @@ -247,7 +250,8 @@ void MainWindow::timeout() { try { - fps = static_cast(float_t(_frameCount) / (float_t(_timeout->interval()) / 1000.0f)); + fps = + static_cast(float_t(_frameCount) / (float_t(_timeout->interval()) / 1000.0f)); if(ui->chk_continuousShowing->isChecked() || _fpsFlag) { ui->l_frameTime->setText(QString::number(fpsBuf, 'g', 3) + " fps"); @@ -280,7 +284,8 @@ void MainWindow::timeout() ui->l_masterCoreVccAux->setText(QString::number(masterCoreVccAux, 'g', 4)); delay(1); - double masterCoreVccBram = static_cast(_healStatus->fpgaCoreVoltages->vccBram.master); + double masterCoreVccBram = + static_cast(_healStatus->fpgaCoreVoltages->vccBram.master); ui->l_masterCoreVccBram->setText(QString::number(masterCoreVccBram, 'g', 3)); delay(1); @@ -288,7 +293,8 @@ void MainWindow::timeout() { if(MOUNTED_SLAVE_FPGA & 1) { - double slave0CoreTemp = static_cast(_healStatus->fpgaCoreTemperature->slave0); + double slave0CoreTemp = + static_cast(_healStatus->fpgaCoreTemperature->slave0); ui->l_slave0CoreTemp->setText(QString::number(slave0CoreTemp, 'g', 4)); delay(1); @@ -310,7 +316,8 @@ void MainWindow::timeout() if(MOUNTED_SLAVE_FPGA & 2) { - double slave1CoreTemp = static_cast(_healStatus->fpgaCoreTemperature->slave1); + double slave1CoreTemp = + static_cast(_healStatus->fpgaCoreTemperature->slave1); ui->l_slave1CoreTemp->setText(QString::number(slave1CoreTemp, 'g', 4)); delay(1); @@ -332,7 +339,8 @@ void MainWindow::timeout() if(MOUNTED_SLAVE_FPGA & 4) { - double slave2CoreTemp = static_cast(_healStatus->fpgaCoreTemperature->slave2); + double slave2CoreTemp = + static_cast(_healStatus->fpgaCoreTemperature->slave2); ui->l_slave2CoreTemp->setText(QString::number(slave2CoreTemp, 'g', 4)); delay(1); @@ -1081,7 +1089,18 @@ void MainWindow::mcsProgram(QString& path) { throw SonoException("No file is selected."); } - _trx.mcsProgram(path); + + auto flashSel = ui->cb_flashSelect->currentIndex(); + switch(flashSel) + { + case 0: + _trx.spiFlashProgram(path); + break; + + case 1: + _trx.mcsProgram(path); + break; + } } catch(SonoException& e) { @@ -1116,11 +1135,22 @@ void MainWindow::mcsRead(QString& path) { try { - if(path.isEmpty()) + if(path.isNull()) { throw SonoException("No file is selected."); } - _trx.mcsVerify(path); + + auto flashSel = ui->cb_flashSelect->currentIndex(); + switch(flashSel) + { + case 0: + _trx.spiFlashRead(path); + break; + + case 1: + _trx.mcsVerify(path); + break; + } } catch(SonoException& e) { @@ -1151,13 +1181,12 @@ void MainWindow::mcsReadFinish() } /*************************************************************************************************/ - void MainWindow::on_btn_mcsBrowse_clicked() { try { QString mcsProgramPath = QFileDialog::getOpenFileName(this, - tr("BPI Bin File"), + tr("Flash Bin File"), _mcsProgramFolder, "*.bin"); if(mcsProgramPath.isEmpty() || mcsProgramPath.isNull()) @@ -1210,7 +1239,7 @@ void MainWindow::on_btn_mcsRead_clicked() { mcsButtonsEnable(false); QString mcsSavePath = QFileDialog::getExistingDirectory(this, - tr("BPI Bin Reading"), + tr("Flash Bin Reading"), _mcsVerifyFolder, QFileDialog::ShowDirsOnly); if(mcsSavePath.isEmpty()) @@ -1235,26 +1264,26 @@ void MainWindow::on_btn_mcsRead_clicked() } /*************************************************************************************************/ -void MainWindow::bpiTimerShot(quint16 ms) +void MainWindow::flashTimerShot(qint32 ms) { - _bpiTimer.setSingleShot(true); - _bpiTimer.setInterval(ms); - _bpiTimer.start(); + _flashTimer.setSingleShot(true); + _flashTimer.setInterval(ms); + _flashTimer.start(); } /*************************************************************************************************/ -void MainWindow::bpiTimeout(QString message) +void MainWindow::flashTimeout(QString message) { - if(_bpiTimer.remainingTime() == 0) + if(_flashTimer.remainingTime() == 0) { throw SonoException(message.toStdString()); } } /*************************************************************************************************/ -void MainWindow::bpiStopTimer() +void MainWindow::flashStopTimer() { - _bpiTimer.stop(); + _flashTimer.stop(); } /*************************************************************************************************/ @@ -2818,26 +2847,27 @@ QString MainWindow::byteArray2InfoString (QByteArray& arr) foreach(auto j, arr) { quint8 l = static_cast(j); -// if(l <= 15) -// { -// infoStr += "0" + QString::number(l, 16); -// } -// else -// { - infoStr += QString::number(l, 16); -// } +//if(l <= 15) +//{ +//infoStr += "0" + QString::number(l, 16); +//} +//else +//{ + infoStr += QString::number(l, 16); +//} } return infoStr; } -QByteArray MainWindow::crcWrite(const QList &crcArray) +QByteArray MainWindow::crcWrite(const QList& crcArray) { QByteArray crcByteArray; - foreach (auto byte, crcArray) + foreach(auto byte, crcArray) { crcByteArray.push_back(static_cast(byte)); } + return crcByteArray; } @@ -2848,6 +2878,7 @@ QByteArray MainWindow::e2promClear(quint32 length) { clearRom.push_back(char(0)); } + return clearRom; } @@ -2955,6 +2986,7 @@ void MainWindow::on_chk_writeCrcTrxRom_clicked(bool checked) trxEepromWrite(crc, EEPROM_CRC_BEGIN, _bCtrl); } } + /*************************************************************************************************/ void MainWindow::on_btn_mpsRomIdWrite_clicked() { @@ -3302,7 +3334,8 @@ void MainWindow::on_btn_prbRomImpulseRead_clicked() _trx.selectedPrbState(romStatus, prbA); if(romStatus.ConnectionMode == connected) { - QByteArray receivingArray = _trx.selectedPrbImpulseResponse(static_cast(sel)); + QByteArray receivingArray = + _trx.selectedPrbImpulseResponse(static_cast(sel)); ui->tb_prbRomImpulseRead->setText(byteArray2InfoString(receivingArray)); if(romStatus.errorCode == EEPROM_CRC_ERROR) { @@ -3330,7 +3363,8 @@ void MainWindow::on_btn_prbRomImpulseRead_clicked() _trx.selectedPrbState(romStatus, prbB); if(romStatus.ConnectionMode == connected) { - QByteArray receivingArray = _trx.selectedPrbImpulseResponse(static_cast(sel)); + QByteArray receivingArray = + _trx.selectedPrbImpulseResponse(static_cast(sel)); ui->tb_prbRomImpulseRead->setText(byteArray2InfoString(receivingArray)); if(romStatus.errorCode == EEPROM_CRC_ERROR) { @@ -3358,7 +3392,8 @@ void MainWindow::on_btn_prbRomImpulseRead_clicked() _trx.selectedPrbState(romStatus, prbC); if(romStatus.ConnectionMode == connected) { - QByteArray receivingArray = _trx.selectedPrbImpulseResponse(static_cast(sel)); + QByteArray receivingArray = + _trx.selectedPrbImpulseResponse(static_cast(sel)); ui->tb_prbRomImpulseRead->setText(byteArray2InfoString(receivingArray)); if(romStatus.errorCode == EEPROM_CRC_ERROR) { @@ -3386,7 +3421,8 @@ void MainWindow::on_btn_prbRomImpulseRead_clicked() _trx.selectedPrbState(romStatus, prbD); if(romStatus.ConnectionMode == connected) { - QByteArray receivingArray = _trx.selectedPrbImpulseResponse(static_cast(sel)); + QByteArray receivingArray = + _trx.selectedPrbImpulseResponse(static_cast(sel)); ui->tb_prbRomImpulseRead->setText(byteArray2InfoString(receivingArray)); if(romStatus.errorCode == EEPROM_CRC_ERROR) { @@ -3407,9 +3443,7 @@ void MainWindow::on_btn_prbRomImpulseRead_clicked() qDebug() << e.what(); } break; - } - } catch(SonoException& e) { @@ -3418,7 +3452,7 @@ void MainWindow::on_btn_prbRomImpulseRead_clicked() } /*************************************************************************************************/ -void MainWindow::prbRead(const QString &prbSelData, qint32 prbSel) +void MainWindow::prbRead(const QString& prbSelData, qint32 prbSel) { try { @@ -3430,9 +3464,9 @@ void MainWindow::prbRead(const QString &prbSelData, qint32 prbSel) QString path = ui->tb_prbRomFilePath->text(); QString prbRomPath = path + "/" + prbSelData + QString("_%1_%2_%3.txt") - .arg(t.hour()) - .arg(t.minute()) - .arg(t.second()); + .arg(t.hour()) + .arg(t.minute()) + .arg(t.second()); QFile prbRomFile(prbRomPath); QTextStream prbLog(&prbRomFile); @@ -3447,7 +3481,6 @@ void MainWindow::prbRead(const QString &prbSelData, qint32 prbSel) throw SonoException("Couldn't open file for probe ROM data writing."); } - QByteArray prbAll = this->_bCtrl->prbEepromRead(PROBE_E2PROM_BYTE_ORIGIN, PROBE_E2PROM_BYTE_SIZE, static_cast(prbSel)); @@ -3521,17 +3554,17 @@ void MainWindow::on_btn_prbRomBrowse_clicked() QString prbRomPath; if(ui->chk_prbRomWrEn->isChecked()) { - prbRomPath = QFileDialog::getOpenFileName(this, - tr("Probe E2PROM File"), - _probeRomPath, - "*.txt"); + prbRomPath = QFileDialog::getOpenFileName(this, + tr("Probe E2PROM File"), + _probeRomPath, + "*.txt"); } else { prbRomPath = QFileDialog::getExistingDirectory(this, tr("Probe E2PROM File"), _probeRomPath, - QFileDialog::ShowDirsOnly); + QFileDialog::ShowDirsOnly); } if(prbRomPath.isEmpty()) { @@ -3550,7 +3583,7 @@ void MainWindow::on_btn_prbRomBrowse_clicked() /*************************************************************************************************/ void MainWindow::on_chk_prbRomWrEn_clicked(bool checked) { - if (checked) + if(checked) { ui->btn_prbRomWriteAll->setEnabled(true); ui->btn_prbRomReadAll->setEnabled(false); @@ -3684,7 +3717,6 @@ void MainWindow::on_btn_prbRomWriteAll_clicked() } break; } - } catch(SonoException& e) { @@ -3814,7 +3846,6 @@ void MainWindow::on_btn_prbRomReadAll_clicked() } break; } - } catch(SonoException& e) { @@ -3855,7 +3886,7 @@ void MainWindow::on_btn_afeRead_clicked() } /*************************************************************************************************/ -void MainWindow::afeConfig(AfeConfig &afeConfig) +void MainWindow::afeConfig(AfeConfig& afeConfig) { afeConfig.lowNf = lowNfDisable; afeConfig.lnaHpf = lnaHpfEnable; @@ -4128,10 +4159,14 @@ void MainWindow::on_chk_scenFrameAdcLog_clicked(bool checked) if(checked) { if(ui->chk_batchLogEn->isChecked()) + { ui->tb_adcLogCount->setEnabled(checked); + } } else + { ui->tb_adcLogCount->setEnabled(false); + } } /*************************************************************************************************/ @@ -4140,10 +4175,14 @@ void MainWindow::on_chk_batchLogEn_clicked(bool checked) if(checked) { if(ui->chk_scenFrameAdcLog->isChecked()) + { ui->tb_adcLogCount->setEnabled(checked); + } } else + { ui->tb_adcLogCount->setEnabled(false); + } } /*************************************************************************************************/ @@ -4523,8 +4562,8 @@ void MainWindow::on_btn_prbRelayLogBrowse_clicked() void MainWindow::on_btn_prbRelayTestStart_clicked() { const quint32 logCnt = 5; - const qint32 thresholdValue = 2000; - const quint32 pulserMode = 1; // 0 ---> Hz | 1 ---> T/R + const qint32 thresholdValue = 2000; + const quint32 pulserMode = 1; //0 ---> Hz | 1 ---> T/R const QString logPath = ui->tb_prbRelayLogPath->text(); try @@ -4537,37 +4576,45 @@ void MainWindow::on_btn_prbRelayTestStart_clicked() ui->btn_prbRelayTestStart->setEnabled(false); ui->cb_pulserTstMode->setCurrentIndex(pulserMode); - on_cb_pulserTstMode_currentIndexChanged(pulserMode); // T/R pulser mode is selected. + on_cb_pulserTstMode_currentIndexChanged(pulserMode); //T/R pulser mode is selected. ui->chk_pulserTstModeEn->setChecked(true); - on_chk_pulserTstModeEn_clicked(true); // T/R pulser mode is enabled. + on_chk_pulserTstModeEn_clicked(true); //T/R pulser mode is enabled. ui->chk_logCountEn->setChecked(true); - on_chk_logCountEn_clicked(true); // Log count is enabled. + on_chk_logCountEn_clicked(true); //Log count is enabled. - ui->tb_adcLogCount->setText(QString::number(logCnt , 10)); // All probe elements is set to log for logCnt times. + ui->tb_adcLogCount->setText(QString::number(logCnt, 10)); //All probe elements is set to + //log for logCnt times. - ui->tb_adcLogPath->setText(logPath); // Log path is set same as prbRelayLogPath. + ui->tb_adcLogPath->setText(logPath); //Log path is set same as + //prbRelayLogPath. QString str = "doing"; QColor color = Qt::red; emit labelState(ui->l_prbRelayDone, str, color); QDir dir(logPath); - dir.removeRecursively(); // Delete directory contains of all old files. + dir.removeRecursively(); //Delete directory contains of + //all old files. dir.mkpath(logPath); - on_btn_setAdcLog_clicked(); // Probe elements logging. + on_btn_setAdcLog_clicked(); //Probe elements logging. - dir.setFilter(QDir::Files); // Filter just log files in directory, no dot & no dotdot + dir.setFilter(QDir::Files); //Filter just log files in + //directory, no dot & no dotdot quint32 logCount(0); QList correctProbeElementsCountFile; - foreach(auto dirFiles, dir.entryList()) // Read csv log file data and compare them to the noise value. + foreach(auto dirFiles, dir.entryList()) //Read csv log file data and + //compare them to the noise + //value. { logCount++; - qDebug() << "****************************** Log No: " + QString::number(logCount) + " ******************************"; + qDebug() << + "****************************** Log No: " + QString::number(logCount) + + " ******************************"; QString finalPath = dir.path() + "/" + dirFiles; @@ -4591,7 +4638,7 @@ void MainWindow::on_btn_prbRelayTestStart_clicked() { prbStr = prbElementsFile.readLine(); lineCount++; - if (lineCount <= 3) + if(lineCount <= 3) { qDebug() << prbStr; } @@ -4607,7 +4654,7 @@ void MainWindow::on_btn_prbRelayTestStart_clicked() if(prbValue > thresholdValue) { thresholdCount++; -// isProbeElementCorrect = true; +//isProbeElementCorrect = true; } } if(thresholdCount >= 10) @@ -5650,11 +5697,11 @@ void MainWindow::on_btn_seRead_clicked() quint32 value5 = 0x29300; quint32 value6 = 0x9300; - _usd->writeWord(offset, bar,value1); - _usd->writeWord(offset, bar,value2); + _usd->writeWord(offset, bar, value1); + _usd->writeWord(offset, bar, value2); delay(1); - _usd->writeWord(offset, bar,value3); - _usd->writeWord(offset, bar,value4); + _usd->writeWord(offset, bar, value3); + _usd->writeWord(offset, bar, value4); delay(1); quint32 value7 = _usd->readWord(0x26090, bar); ui->tb_seRead->setText(QString::number(value7)); @@ -5698,3 +5745,35 @@ void MainWindow::on_sb_Fan2Pwm_valueChanged(int arg1) qDebug() << e.what(); } } + +/*************************************************************************************************/ +void MainWindow::on_btn_spiFlash_clicked() +{ + static quint32 fifoCount(0); + QList data; + quint32 baseAddr = 0x4000000; + quint32 bar = 0x1; + _usd->writeWord(baseAddr + 0x68, bar, 0x3); + for(quint8 i(0); i < 15; i++) + { + _usd->writeWord(baseAddr + 0x68, bar, 0x0); + } + _usd->writeWord(baseAddr + 0x70, bar, 0xFFFFFFFE); + _usd->writeWord(baseAddr + 0x60, bar, 0x86); + delay(2); + _usd->writeWord(baseAddr + 0x60, bar, 0x186); + + fifoCount++; + qDebug() << "****************" << "FIFO Count:" << fifoCount << "****************"; + for(quint8 j(0); j < 16; j++) + { + data.push_back(_usd->readWord(baseAddr + 0x6C, bar)); + qDebug() << QString::number(data.at(j), 16); + } +} + +/*************************************************************************************************/ +void MainWindow::on_btn_spiVerify_clicked() +{ + _trx.spiFlashVerify(); +} diff --git a/mainwindow.h b/mainwindow.h old mode 100644 new mode 100755 index a533405..a706abb --- a/mainwindow.h +++ b/mainwindow.h @@ -129,7 +129,7 @@ private: QEventLoop loop; - QTimer _bpiTimer; + QTimer _flashTimer; EmulatorProperties* _emul; @@ -137,6 +137,8 @@ private: BpiFlash* _bpi; + SpiFlash* _spi; + SupervisorRbValue* _supRbValue; MpsFaultStatus* _faultStatus; @@ -270,11 +272,11 @@ private slots: void getProgrammingGif(QLabel* label); - void bpiTimerShot(quint16 ms); + void flashTimerShot(qint32 ms); - void bpiTimeout(QString message); + void flashTimeout(QString message); - void bpiStopTimer(); + void flashStopTimer(); void catchGtReset(quint32 progCnt, quint32 taskItr, quint16 delayPerTask); @@ -466,6 +468,10 @@ private slots: void on_btn_prbRelayTestStart_clicked(); + void on_btn_spiFlash_clicked(); + + void on_btn_spiVerify_clicked(); + signals: void showMessage(QString message); void threeDReady(); diff --git a/mainwindow.ui b/mainwindow.ui old mode 100644 new mode 100755 index c6208e2..e29059e --- a/mainwindow.ui +++ b/mainwindow.ui @@ -42,7 +42,7 @@ - 6 + 0 @@ -674,14 +674,14 @@ - BPI Flash Command + Flash Command 10 30 - 611 + 641 27 @@ -784,7 +784,7 @@ - 510 + 430 60 111 23 @@ -797,13 +797,13 @@ - BPI Bin Write + Write Bin - 240 + 200 60 221 21 @@ -816,7 +816,7 @@ - 660 + 680 30 121 52 @@ -826,7 +826,7 @@ - BPI Bin Read + Read Bin @@ -870,6 +870,29 @@ + + + + 560 + 60 + 101 + 25 + + + + <html><head/><body><p><span style=" font-size:8pt; font-weight:600; font-style:italic;">Select Flash</span></p></body></html> + + + + Spi Flash + + + + + Bpi Flash + + + @@ -4220,6 +4243,32 @@ 10 + + + + 550 + 150 + 83 + 25 + + + + Spi Flash + + + + + + 550 + 190 + 83 + 25 + + + + Spi Verify + + diff --git a/qcustomplot.cpp b/qcustomplot.cpp old mode 100644 new mode 100755 diff --git a/qcustomplot.h b/qcustomplot.h old mode 100644 new mode 100755 diff --git a/sram_frame.bin b/sram_frame.bin old mode 100644 new mode 100755 diff --git a/src/model/hardware/Hardware.cpp b/src/model/hardware/Hardware.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/Fan.cpp b/src/model/hardware/core/Fan.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/HardwareCore.cpp b/src/model/hardware/core/HardwareCore.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/HwBoard.cpp b/src/model/hardware/core/HwBoard.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/IBoard.cpp b/src/model/hardware/core/IBoard.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/PowerBoard.cpp b/src/model/hardware/core/PowerBoard.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/PowerBoardFactory.cpp b/src/model/hardware/core/PowerBoardFactory.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/PowerBoardStatus.cpp b/src/model/hardware/core/PowerBoardStatus.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/RelayBoard.cpp b/src/model/hardware/core/RelayBoard.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/RelayBoardFactory.cpp b/src/model/hardware/core/RelayBoardFactory.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/Temperature.cpp b/src/model/hardware/core/Temperature.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/TrxBoardFactory.cpp b/src/model/hardware/core/TrxBoardFactory.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/Voltage.cpp b/src/model/hardware/core/Voltage.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/TrxBoard.cpp b/src/model/hardware/core/lowLevelApi/TrxBoard.cpp old mode 100644 new mode 100755 index d934387..bce578a --- a/src/model/hardware/core/lowLevelApi/TrxBoard.cpp +++ b/src/model/hardware/core/lowLevelApi/TrxBoard.cpp @@ -334,6 +334,7 @@ TrxBoard::TrxBoard() : _offsetSlave0(0), _offsetSlave1(0x400000), _offsetSlave2( _builtInTest = new BuiltInTest(&_device); _fpgaProgram = new FpgaProgram(&_device); _scenPlayer = new ScenPalyer(&_device); + _spiFlash = new SpiFlash(&_device); _bpiFlash = new BpiFlash(&_device); _emul = new Emulator(&_device); _misc = new Misc(&_device); @@ -388,6 +389,7 @@ TrxBoard::~TrxBoard() delete _afeSlave1; delete _afeSlave2; delete _bCtrlMngt; + delete _spiFlash; delete _bpiFlash; delete _emul; delete _misc; @@ -597,6 +599,10 @@ void TrxBoard::setProbeDependParams(ScenPrbDepHardwareParam& prbDepParams) /////////////////////////// AFE setting /////////////////////////// setAfeConfig(prbDepParams.afeCfg); setAfePwr(afePwrdnEnable); + //quint32 afeFastPdn = 0x43C36C; + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0, static_cast(1)); + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0x400000, static_cast(1)); + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0x800000, static_cast(1)); } void TrxBoard::setScenario(ScenHardware& scenGenHw) @@ -669,11 +675,11 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) } _scenParams->hwRegister->elementPosition->zPosition = scenGenHw.hwRegister.elementZPosition; -// if(scenGenHw.hwRegister.freqLut.size() != FREQUENCY_LUT_MAX) -// { -// throw SonoException("Frequency lut is out of range"); -// } -// _scenParams->hwRegister->freqLut = scenGenHw.hwRegister.freqLut; +//if(scenGenHw.hwRegister.freqLut.size() != FREQUENCY_LUT_MAX) +//{ +//throw SonoException("Frequency lut is out of range"); +//} +//_scenParams->hwRegister->freqLut = scenGenHw.hwRegister.freqLut; if(scenGenHw.hwRegister.dtgcLut.size() != DTGC_LUT_MAX) { @@ -681,6 +687,12 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) } _scenParams->hwRegister->dtgcLut = scenGenHw.hwRegister.dtgcLut; + if(scenGenHw.hwRegister.dualPathWeight.size() != DUAL_PATH_MAX) + { + throw SonoException("Dual path weight is out of range"); + } + _scenParams->hwRegister->dualPathWeight = scenGenHw.hwRegister.dualPathWeight; + if(scenGenHw.hwRegister.pulseTypeNumber > PULSE_LUT_MAX) { throw SonoException("Pulse type number is out of range"); @@ -710,7 +722,7 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) } _scenParams->hwRegister->lpfLut.clear(); - for (qint8 i = 0; i < LPF_LUT_MAX; i++) + for(qint8 i = 0; i < LPF_LUT_MAX; i++) { Lpf lpfObj; lpfObj.startLpf = scenGenHw.hwRegister.ddcParams.startLpf.at(i); @@ -746,10 +758,12 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) } _scenParams->hwRegister->freqPoint->clear(); - for (qint8 i = 0; i < FREQ_POINT_LUT_MAX; i++) + for(qint8 i = 0; i < FREQ_POINT_LUT_MAX; i++) { - _scenParams->hwRegister->freqPoint->startFreqPoint = scenGenHw.hwRegister.ddcParams.startFreqPoint; - _scenParams->hwRegister->freqPoint->endFreqPoint = scenGenHw.hwRegister.ddcParams.endFreqPoint; + _scenParams->hwRegister->freqPoint->startFreqPoint = + scenGenHw.hwRegister.ddcParams.startFreqPoint; + _scenParams->hwRegister->freqPoint->endFreqPoint = + scenGenHw.hwRegister.ddcParams.endFreqPoint; } if(scenGenHw.hwRegister.ddcParams.freqStepLut.size() != FREQ_STEP_LUT_MAX) @@ -777,7 +791,7 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) _scenParams->hwRegister->apodizationParams.clear(); - for (qint32 j = 0; j < scenGenHw.hwRegister.apodizationParams.winOpenStartPoint.size(); j++) + for(qint32 j = 0; j < scenGenHw.hwRegister.apodizationParams.winOpenStartPoint.size(); j++) { ApoParams params; params.winOpenStepVal = scenGenHw.hwRegister.apodizationParams.winOpenStepVal.at(j); @@ -787,11 +801,16 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) params.winOpenStartVal = scenGenHw.hwRegister.apodizationParams.winOpenStartVal.at(j); params.winOpenStopPoint = scenGenHw.hwRegister.apodizationParams.winOpenStopPoint.at(j); params.winOpenStartPoint = scenGenHw.hwRegister.apodizationParams.winOpenStartPoint.at(j); - params.rxActiveElementStep1 = scenGenHw.hwRegister.apodizationParams.rxActiveElementStep1.at(j); - params.rxActiveElementStep2 = scenGenHw.hwRegister.apodizationParams.rxActiveElementStep2.at(j); - params.rxActiveElementStepStopPoint = scenGenHw.hwRegister.apodizationParams.rxActiveElementStepStopPoint.at(j); - params.rxActiveElementStepStartPoint = scenGenHw.hwRegister.apodizationParams.rxActiveElementStepStartPoint.at(j); - params.rxActiveElementStepChangePoint = scenGenHw.hwRegister.apodizationParams.rxActiveElementStepChangePoint.at(j); + params.rxActiveElementStep1 = + scenGenHw.hwRegister.apodizationParams.rxActiveElementStep1.at(j); + params.rxActiveElementStep2 = + scenGenHw.hwRegister.apodizationParams.rxActiveElementStep2.at(j); + params.rxActiveElementStepStopPoint = + scenGenHw.hwRegister.apodizationParams.rxActiveElementStepStopPoint.at(j); + params.rxActiveElementStepStartPoint = + scenGenHw.hwRegister.apodizationParams.rxActiveElementStepStartPoint.at(j); + params.rxActiveElementStepChangePoint = + scenGenHw.hwRegister.apodizationParams.rxActiveElementStepChangePoint.at(j); _scenParams->hwRegister->apodizationParams.push_back(params); } @@ -831,6 +850,7 @@ void TrxBoard::setScenario(ScenHardware& scenGenHw) _scenParams->hwRegister->configLut->lineMode.append(k.lineMode); _scenParams->hwRegister->configLut->frameType.append(k.frameType); _scenParams->hwRegister->configLut->ncoFreqSel.append(k.ncoFreqSel); + _scenParams->hwRegister->configLut->dualPathEn.append(k.dualPathEn); _scenParams->hwRegister->configLut->dcCancelerEn.append(k.dcCancelEn); _scenParams->hwRegister->configLut->iqDataCrossEn.append(k.iqDataCrossEn); _scenParams->hwRegister->configLut->noiseRejectionEn.append(k.noiseRejectEn); @@ -990,19 +1010,36 @@ void TrxBoard::setScenario (ScenGenHardwareParam* _scenParams) this->_dsp->receiverConfigurationLut(_scenParams->hwRegister->receiverConfigTypeNumber, _scenParams->hwRegister->configLut); -// _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->freqLut, 0, 24, 0, 0, true); -// QList freqLutQ = _unsignedQntzrVec.toList(); -// this->_dsp->frequencyLut(freqLutQ); +//_unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->freqLut, 0, 24, 0, 0, true); +//QList freqLutQ = _unsignedQntzrVec.toList(); +//this->_dsp->frequencyLut(freqLutQ); - _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->freqStepLut, 1, 32, 16, 0, true, true, true); + _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->freqStepLut, + 1, + 32, + 16, + 0, + true, + true, + true); QList freqStepLutQ = _unsignedQntzrVec.toList(); this->_dsp->freqStepLut(freqStepLutQ); - _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->lpfWeightStepLut, 0, 16, 23, 0, true); + _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->lpfWeightStepLut, + 0, + 16, + 23, + 0, + true); QList lpfWeightStepLutQ = _unsignedQntzrVec.toList(); this->_dsp->lpfWeightStepLut(lpfWeightStepLutQ); - _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->startLpfWeightLut, 0, 17, 16, 0, true); + _unsignedQntzrVec = Calculation::qntzr(_scenParams->hwRegister->startLpfWeightLut, + 0, + 17, + 16, + 0, + true); QList startLpfWeightLutQ = _unsignedQntzrVec.toList(); this->_dsp->startLpfWeightLut(startLpfWeightLutQ); @@ -1011,6 +1048,11 @@ void TrxBoard::setScenario (ScenGenHardwareParam* _scenParams) QList dtgcLutQ = _unsignedQntzrVec.toList(); this->_dsp->dtgcLut(dtgcLutQ); +//_unsignedQntzrVec = +//Calculation::qntzr(_scenParams->hwRegister->dualPathWeight, 0, 16, 15, 0, true, false); +//QList dualPathQ = _unsignedQntzrVec.toList(); +//this->_dsp->dualPathWeight(dualPathQ); + QList temp; QList > blendWeightQ; //_signedQntzrVec.clear(); @@ -1039,6 +1081,8 @@ void TrxBoard::setScenario (ScenGenHardwareParam* _scenParams) this->_dsp->lpfScaleCoefficient(_scenParams->hwRegister->lpfScaleCoeff); + this->_dsp->dualPathWeight(_scenParams->hwRegister->dualPathWeight); + ///////////////////////////////// Sram setting /////////////////////////////// this->_sram->setSramIndex(_scenParams->totalTxShotNumber, _scenParams->indexParams); @@ -1106,7 +1150,7 @@ void TrxBoard::setFramesMetaData(const QByteArray& metaData) const } QList clear; - for(quint8 i=0; i < META_DATA_LENGTH; i++) + for(quint8 i = 0; i < META_DATA_LENGTH; i++) { clear.append(0); } @@ -1137,10 +1181,10 @@ void TrxBoard::setFramesMetaData(const QByteArray& metaData) const this->_sram->setSramMetaData(data); } -void TrxBoard::setMChangeParams(SramTx *tx, SramRx *rx) const +void TrxBoard::setMChangeParams(SramTx* tx, SramRx* rx) const { quint32 focusTypeNumber = 1; - QVector rxBeamFormerNumber= {1}; + QVector rxBeamFormerNumber = {1}; this->_sram->setSramTx(focusTypeNumber, tx); this->_sram->setSramRx(rxBeamFormerNumber, @@ -1425,6 +1469,12 @@ void TrxBoard::scenPlayerStart(bool afeHvPwrOn) this->_afeSlave0->setAfeGblPwr(afePwrdnDisable); this->_afeSlave1->setAfeGblPwr(afePwrdnDisable); this->_afeSlave2->setAfeGblPwr(afePwrdnDisable); + //quint32 afeFastPdn = 0x43C36C; + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0, static_cast(0)); + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0x400000, + //static_cast(0)); + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0x800000, + //static_cast(0)); #ifdef MPS_BOARD this->_bCtrlMngt->mpsDacsOn(); #endif @@ -1467,7 +1517,10 @@ void TrxBoard::scenPlayerStop(bool afeHvPwrOff) this->_afeSlave0->setAfeGblPwr(afePwrdnEnable); this->_afeSlave1->setAfeGblPwr(afePwrdnEnable); this->_afeSlave2->setAfeGblPwr(afePwrdnEnable); - + //quint32 afeFastPdn = 0x43C36C; + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0, static_cast(1)); + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0x400000, static_cast(1)); + //this->_device.device.writeWord(BAR_REG, afeFastPdn + 0x800000, static_cast(1)); #ifdef MPS_BOARD this->_bCtrlMngt->mpsDacsOff(); #endif @@ -1929,10 +1982,10 @@ void TrxBoard::getHealthStatus(HealthStatus* healStat) const healStat->fpgaCoreVoltages = _coreVolt; healStat->fpgaCoreTemperature = _coreTemp; healStat->systemTemperature = this->_bCtrlMngt->getTrxTempSensor(); -// healStat->mpsTemperature = this->_bCtrlMngt->getMpsTempSensor(); +//healStat->mpsTemperature = this->_bCtrlMngt->getMpsTempSensor(); } -void TrxBoard::setTrxFanRpm(const eFanPwm &fan, const quint8 &dutyCyclePercent) const +void TrxBoard::setTrxFanRpm(const eFanPwm& fan, const quint8& dutyCyclePercent) const { if(dutyCyclePercent > 100) { @@ -1956,10 +2009,10 @@ void TrxBoard::mcsProgram(QString path) throw SonoException("Couldn't open BPI bin file programming"); } - QByteArray mcsFileData = mcsFile.readAll(); + QByteArray mcsFileData = mcsFile.readAll(); mcsFile.close(); - this->_bpiFlash->writeMcs(mcsFileData); + this->_bpiFlash->writeMcs(mcsFileData); } void TrxBoard::mcsVerify(QString path) const @@ -1967,6 +2020,136 @@ void TrxBoard::mcsVerify(QString path) const mcsRead(path); } +void TrxBoard::spiFlashProgram(QString path) +{ + QFile binFile(path); + + if(binFile.fileName().isEmpty()) + { + throw SonoException("No file is selected"); + } + + if(!binFile.open(QIODevice::ReadOnly)) + { + throw SonoException("Couldn't open SPI flash bin file programming"); + } + + bin = binFile.readAll(); + binFile.close(); + + this->_spiFlash->writeBin(bin, golden); +} + +void TrxBoard::spiFlashRead(QString path) +{ + for(quint8 i(0); i < 2; i++) + { + QByteArray binArray; + + QFile binFile(path + "/SPI_bin_rdback.bin"); + + if(path.isEmpty()) + { + throw SonoException("No file is selected"); + } + + if(!binFile.open(QIODevice::WriteOnly)) + { + throw SonoException("Couldn't open SPI bin file programming"); + } + + binArray = this->_spiFlash->readBin(); + + binFile.write(binArray); + binFile.flush(); + binFile.close(); + } +} + +void TrxBoard::spiFlashVerify() +{ + QList data; + quint32 baseAddr = 0x4000000; + bool firstFifo(true); + + for(qint32 i(0); i < bin.size() / 16; i++) + { + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x68, 0x3); + for(quint8 i(0); i < 15; i++) + { + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x68, 0x0); + } + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x70, 0xFFFFFFFE); + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x60, 0x86); + delay(1); + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x60, 0x186); + delay(1); + + for(quint8 j(0); j < 16; j++) + { + data.push_back(this->_device.device.readWord(BAR_SRAM, baseAddr + 0x6C)); + if(firstFifo) + { + if(j >= 4) + { + if(data[j] != static_cast(bin[j - 4])) + { + qDebug() << "Error at index: " << (j - 4) << "---" << "rdData=" << + QString::number(data[j], 16) << + "***" << "binFile=" << + QString::number(static_cast(bin[j - 4]), 16); + } + } + } + else + { + if(data[j] != static_cast(bin[(j - 4) + 16 * i])) + { + qDebug() << "Error at index: " << (j - 4) + 16 * i << "rdData=" << + QString::number( + data[j], + 16) << + "***" << + "binFile=" << + QString::number(static_cast(bin[(j - 4) + 16 * i]), 16); + } + } + } + firstFifo = false; + data.clear(); + } + + for(quint8 i(0); i < bin.size() % 16; i++) + { + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x68, 0x0); + } + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x70, 0xFFFFFFFE); + delay(1); + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x60, 0x86); + delay(1); + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x60, 0x186); + delay(1); + for(quint8 i(0); i < bin.size() % 16; i++) + { + data.push_back(this->_device.device.readWord(BAR_SRAM, baseAddr + 0x6C)); + + if(data[i] != static_cast(bin[(i - 4) + 16 * (bin.size() / 16)])) + { + qDebug() << "Error at index: " << (i - 4) + 16 * (bin.size() / 16) << "rdData=" << + QString::number( + data[i], + 16) << + "***" << + "binFile=" << + QString::number(static_cast(bin[(i - 4) + 16 * (bin.size() / 16)]), 16); + } + delay(1); + } + + this->_device.device.writeWord(BAR_SRAM, baseAddr + 0x70, 0x1); + qDebug() << "Verification End."; +} + void TrxBoard::getTrxStatus(StatusVec* status) const { this->_misc->getStatusVector(status); @@ -1989,7 +2172,7 @@ quint32 TrxBoard::getFrameLostCounter() const return (this->_misc->getFrameLostCount()); } -void TrxBoard::elementActiveEnable(eActiveElements &slaveElements, quint64 &elements) const +void TrxBoard::elementActiveEnable(eActiveElements& slaveElements, quint64& elements) const { QList littleEndianList; quint32 highElements = elements >> 32; @@ -1997,14 +2180,19 @@ void TrxBoard::elementActiveEnable(eActiveElements &slaveElements, quint64 &elem littleEndianList.push_back(lowElements); littleEndianList.push_back(highElements); - switch (slaveElements) + switch(slaveElements) { - case slave0Elements: this->_beamFormerSlave0->elementActiveEn(littleEndianList); - break; - case slave1Elements: this->_beamFormerSlave1->elementActiveEn(littleEndianList); - break; - case slave2Elements: this->_beamFormerSlave2->elementActiveEn(littleEndianList); - break; + case slave0Elements: + this->_beamFormerSlave0->elementActiveEn(littleEndianList); + break; + + case slave1Elements: + this->_beamFormerSlave1->elementActiveEn(littleEndianList); + break; + + case slave2Elements: + this->_beamFormerSlave2->elementActiveEn(littleEndianList); + break; } } diff --git a/src/model/hardware/core/lowLevelApi/register/Field.cpp b/src/model/hardware/core/lowLevelApi/register/Field.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/Register.cpp b/src/model/hardware/core/lowLevelApi/register/Register.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/afe/Afe.cpp b/src/model/hardware/core/lowLevelApi/register/afe/Afe.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/beamFormer/BeamFormer.cpp b/src/model/hardware/core/lowLevelApi/register/beamFormer/BeamFormer.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.cpp b/src/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.cpp old mode 100644 new mode 100755 index e5caf01..cd88414 --- a/src/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.cpp +++ b/src/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.cpp @@ -799,7 +799,7 @@ void BoardsCtrlMngt::mpsDacsOn() const void BoardsCtrlMngt::mpsHvSet(float& hva, float& hvb) const { - if(hva > hvb) + if(hva - 2 >= hvb) { if(hva > HVA_MAX_VALUE) { @@ -814,19 +814,19 @@ void BoardsCtrlMngt::mpsHvSet(float& hva, float& hvb) const _mpsDacs->hvaValue = hva; } -// if(hvb > HVB_MAX_VALUE) -// { -// _mpsDacs->hvbValue = HVB_MAX_VALUE; -// } -// else if (hvb < HVB_Offset) -// { + if(hvb > HVB_MAX_VALUE) + { + _mpsDacs->hvbValue = HVB_MAX_VALUE; + } + else if (hvb < HVB_Offset) + { + _mpsDacs->hvbValue = HVB_Offset; + } + else + { + _mpsDacs->hvbValue = hvb; + } // _mpsDacs->hvbValue = HVB_Offset; -// } -// else -// { -// _mpsDacs->hvbValue = hvb; -// } - _mpsDacs->hvbValue = HVB_Offset; _mpsDacs->cwdValue = CWD_Offset; getSupervisorI2cTimeout(); diff --git a/src/model/hardware/core/lowLevelApi/register/bpiFlash/BpiFlash.cpp b/src/model/hardware/core/lowLevelApi/register/bpiFlash/BpiFlash.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/builtInTest/BuiltInTest.cpp b/src/model/hardware/core/lowLevelApi/register/builtInTest/BuiltInTest.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/clockDistributer/ClockDistributer.cpp b/src/model/hardware/core/lowLevelApi/register/clockDistributer/ClockDistributer.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/debug/Debug.cpp b/src/model/hardware/core/lowLevelApi/register/debug/Debug.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/dsp/Dsp.cpp b/src/model/hardware/core/lowLevelApi/register/dsp/Dsp.cpp old mode 100644 new mode 100755 index e2b7252..1a2c59f --- a/src/model/hardware/core/lowLevelApi/register/dsp/Dsp.cpp +++ b/src/model/hardware/core/lowLevelApi/register/dsp/Dsp.cpp @@ -1,26 +1,27 @@ #include "model/hardware/core/lowLevelApi/register/dsp/Dsp.h" -Dsp::Dsp(SonoDevice *device) -{ - _configLut = new ReceiverConfigurationLut (device); - _lineFilterLut = new LineFilterCoefficient (device); - _startLpfWeightLut = new StartLpfWeightLut (device); - _noiseReject = new NoiseRejectValue (device); - _lpfWeightStepLut = new LpfWeightStepLut (device); - _frameLoggerCtrl = new FrameLoggerCtrl (device); - _stbLut = new StbCoefficient (device); - _startFreqLut = new StartFreqLut (device); - _freqPointLut = new FreqPointLut (device); - _freqLut = new FrequencyLut (device); - _freqStepLut = new FreqStepLut (device); - _blendWeight = new BlendWeight (device); - _endFreqLut = new EndFreqLut (device); - _manualAtgc = new ManualAtgc (device); - _mlaOffset = new MlaOffset (device); - _dtgcLut = new DtgcLut (device); - _atgcLut = new AtgcLut (device); - _bfScale = new BfScale (device); - _lpfLut = new LpfLut (device); +Dsp::Dsp(SonoDevice* device) +{ + _configLut = new ReceiverConfigurationLut(device); + _lineFilterLut = new LineFilterCoefficient(device); + _startLpfWeightLut = new StartLpfWeightLut(device); + _noiseReject = new NoiseRejectValue(device); + _lpfWeightStepLut = new LpfWeightStepLut(device); + _frameLoggerCtrl = new FrameLoggerCtrl(device); + _stbLut = new StbCoefficient(device); + _dualPathWeight = new DualPathWeight(device); + _startFreqLut = new StartFreqLut(device); + _freqPointLut = new FreqPointLut(device); + _freqLut = new FrequencyLut(device); + _freqStepLut = new FreqStepLut(device); + _blendWeight = new BlendWeight(device); + _endFreqLut = new EndFreqLut(device); + _manualAtgc = new ManualAtgc(device); + _mlaOffset = new MlaOffset(device); + _dtgcLut = new DtgcLut(device); + _atgcLut = new AtgcLut(device); + _bfScale = new BfScale(device); + _lpfLut = new LpfLut(device); } Dsp::~Dsp() @@ -28,6 +29,7 @@ Dsp::~Dsp() delete _startLpfWeightLut; delete _lpfWeightStepLut; delete _frameLoggerCtrl; + delete _dualPathWeight; delete _lineFilterLut; delete _startFreqLut; delete _freqPointLut; @@ -46,20 +48,20 @@ Dsp::~Dsp() delete _lpfLut; } - -void Dsp::receiverConfigurationLut(quint8& receiverConfigTypeNumber, ReceiverConfiguration* configLut) const +void Dsp::receiverConfigurationLut(quint8& receiverConfigTypeNumber, + ReceiverConfiguration* configLut) const { this->_configLut->setReceiverConfigurationLut(configLut); this->_configLut->updateArray(true, receiverConfigTypeNumber); } -void Dsp::lineFilterCoefficient(QList &lineFilterLut) const +void Dsp::lineFilterCoefficient(QList& lineFilterLut) const { this->_lineFilterLut->setLineFilterLut(lineFilterLut); this->_lineFilterLut->updateArray(); } -void Dsp::lpfScaleCoefficient(QList &lpfScaleCoeff) const +void Dsp::lpfScaleCoefficient(QList& lpfScaleCoeff) const { this->_bfScale->bfCoeff1->setValue(lpfScaleCoeff.at(0)); this->_bfScale->bfCoeff2->setValue(lpfScaleCoeff.at(1)); @@ -68,47 +70,53 @@ void Dsp::lpfScaleCoefficient(QList &lpfScaleCoeff) const this->_bfScale->update(); } -void Dsp::lpfWeightStepLut(QList &lpfWeightStepLut) const +void Dsp::lpfWeightStepLut(QList& lpfWeightStepLut) const { this->_lpfWeightStepLut->setLpfWeightStepLut(lpfWeightStepLut); this->_lpfWeightStepLut->updateArray(); } -void Dsp::frameLoggerCtrl(quint32 &frameLoggerCtrl) const +void Dsp::frameLoggerCtrl(quint32& frameLoggerCtrl) const { this->_frameLoggerCtrl->loggerEn->setValue(frameLoggerCtrl); this->_frameLoggerCtrl->update(); } -void Dsp::startLpfWeightLut(QList &startLpfWeightLut) const +void Dsp::dualPathWeight(QList& dualPath) const +{ + this->_dualPathWeight->setDualPath(dualPath); + this->_dualPathWeight->updateArray(); +} + +void Dsp::startLpfWeightLut(QList& startLpfWeightLut) const { this->_startLpfWeightLut->setStartLpfWeightLut(startLpfWeightLut); this->_startLpfWeightLut->updateArray(); } -void Dsp::stbCoefficient(QList &stbLut) const +void Dsp::stbCoefficient(QList& stbLut) const { this->_stbLut->setStbLut(stbLut); this->_stbLut->updateArray(); } -void Dsp::frequencyLut(QList &fLut) const +void Dsp::frequencyLut(QList& fLut) const { this->_freqLut->setFreqLut(fLut); this->_freqLut->updateArray(); } -void Dsp::startFreqLut(QList &startFreq) const +void Dsp::startFreqLut(QList& startFreq) const { this->_startFreqLut->setStartFreqLut(startFreq); this->_startFreqLut->updateArray(); } -void Dsp::blendWeight(QList> &blendWeight) const +void Dsp::blendWeight(QList >& blendWeight) const { quint32 baseOffset = this->_blendWeight->getCurrentOffset(); - foreach (QList temp, blendWeight) + foreach(QList temp, blendWeight) { this->_blendWeight->setBlendWeight(temp); this->_blendWeight->updateArray(); @@ -116,10 +124,10 @@ void Dsp::blendWeight(QList> &blendWeight) const this->_blendWeight->changeOffset(curOffset + BLEND_WEIGHT_OFFSET); } - this->_blendWeight->changeOffset(baseOffset); // return to base offset address + this->_blendWeight->changeOffset(baseOffset); //return to base offset address } -void Dsp::freqStepLut(QList &freqStep) const +void Dsp::freqStepLut(QList& freqStep) const { this->_freqStepLut->setFreqStepLut(freqStep); this->_freqStepLut->updateArray(); @@ -128,13 +136,13 @@ void Dsp::freqStepLut(QList &freqStep) const void Dsp::atgcMode(eAtgcMode mode, quint16 value) const { auto setManualAtgc = [this](bool valid, quint16& value) - { - quint32 validValue = valid ? 1 : 0; - this->_manualAtgc->userValid->setValue(validValue); - this->_manualAtgc->userDacValue->setValue(value); - }; + { + quint32 validValue = valid ? 1 : 0; + this->_manualAtgc->userValid->setValue(validValue); + this->_manualAtgc->userDacValue->setValue(value); + }; - if (mode) + if(mode) { this->_manualAtgc->userModeEnable->setValue(1); setManualAtgc(true, value); @@ -149,7 +157,7 @@ void Dsp::atgcMode(eAtgcMode mode, quint16 value) const } } -void Dsp::dtgcLut(QList &dtgcLut) const +void Dsp::dtgcLut(QList& dtgcLut) const { this->_dtgcLut->setDtgcLut(dtgcLut); this->_dtgcLut->updateArray(); @@ -159,7 +167,7 @@ void Dsp::atgcLut(QList atgcLut) const { quint32 baseOffset = this->_atgcLut->getCurrentOffset(); - foreach (Atgc tempObj, atgcLut) + foreach(Atgc tempObj, atgcLut) { this->_atgcLut->setAtgcLut(tempObj); this->_atgcLut->updateArray(); @@ -167,37 +175,37 @@ void Dsp::atgcLut(QList atgcLut) const this->_atgcLut->changeOffset(curOffset + ATGC_OFFSET); } - this->_atgcLut->changeOffset(baseOffset); // return to base offset address + this->_atgcLut->changeOffset(baseOffset); //return to base offset address } -void Dsp::lpfLut(QList &lpfLut) const +void Dsp::lpfLut(QList& lpfLut) const { quint32 baseOffset = this->_lpfLut->getCurrentOffset(); - foreach (Lpf temp, lpfLut) + foreach(Lpf temp, lpfLut) { this->_lpfLut->setLpfLut(&temp); this->_lpfLut->updateArray(); quint32 curOffset = this->_lpfLut->getCurrentOffset(); - this->_lpfLut->changeOffset(curOffset + LPF_OFFSET); // return to base offset address + this->_lpfLut->changeOffset(curOffset + LPF_OFFSET); //return to base offset address } this->_lpfLut->changeOffset(baseOffset); } -void Dsp::mlaOffsetAddr(QList &mlaLut) const +void Dsp::mlaOffsetAddr(QList& mlaLut) const { this->_mlaOffset->setMlaOffsetLut(mlaLut); this->_mlaOffset->updateArray(); } -void Dsp::noiseReject(quint32 &rejectValue) const +void Dsp::noiseReject(quint32& rejectValue) const { this->_noiseReject->rejectValue->setValue(rejectValue); this->_noiseReject->update(); } -void Dsp::endFreqLut(QList &endFreq) const +void Dsp::endFreqLut(QList& endFreq) const { this->_endFreqLut->setEndFreqLut(endFreq); this->_endFreqLut->updateArray(); diff --git a/src/model/hardware/core/lowLevelApi/register/emulator/Emulator.cpp b/src/model/hardware/core/lowLevelApi/register/emulator/Emulator.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/fpgaProgram/FpgaProgram.cpp b/src/model/hardware/core/lowLevelApi/register/fpgaProgram/FpgaProgram.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/misc/Misc.cpp b/src/model/hardware/core/lowLevelApi/register/misc/Misc.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/scenPlayer/ScenPlayer.cpp b/src/model/hardware/core/lowLevelApi/register/scenPlayer/ScenPlayer.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.cpp b/src/model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.cpp new file mode 100755 index 0000000..f5f94a9 --- /dev/null +++ b/src/model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.cpp @@ -0,0 +1,558 @@ +#include "model/hardware/core/lowLevelApi/register/spiFlash/SpiFlash.h" + +void SpiFlash::timerShot(qint32 ms) const +{ + _timer->setSingleShot(true); + _timer->setInterval(ms); + _timer->start(); +} + +bool SpiFlash::checkTimeout() const +{ + return (_timer->remainingTime() == 0) ? true : false; +} + +void SpiFlash::timerStop() const +{ + _timer->stop(); +} + +void SpiFlash::errorChecking(quint32 status) +{ + quint32 statusReg(0); + + statusRegister.clear(); + + do{ + statusReg = readFifoStatus(); + quint32 receivedData = readReceivedData(); + statusRegister.append(receivedData); + }while (statusReg != status); +} + +quint32 SpiFlash::readFifoStatus() const +{ + return (this->_device->device.readWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + STATUS_REGISTER)); +} + +quint32 SpiFlash::readReceivedData() const +{ + return (this->_device->device.readWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_RECEIVE_REGISTER)); +} + +void SpiFlash::waitForTransactionCmplt() +{ + quint32 dtrInterruptStatus(0); + + do{ + dtrInterruptStatus = this->_device->device.readWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + + INTERRUPT_STATUS_REGISTER); + }while (!(dtrInterruptStatus & DTR_EMPTY_INTERRUPT_STATUS)); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + INTERRUPT_STATUS_REGISTER, + DTR_EMPTY_INTERRUPT_STATUS); +} + +void SpiFlash::spiCfgInitialize() const +{ + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SOFTWARE_RESET_REGISTER, + SOFTWARE_RESET_COMMAND); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_FIFO_RESET_CONTROL_COMMAND); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + GLOBAL_INTERRUPT_EN_REGISTER, + GLOBAL_INTERRUPT_DISABLE_COMMAND); +} + +void SpiFlash::spiCheckPartNumber() +{ + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_READ_ID); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, 0); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, 0); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, 0); + + errorChecking(RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + + for(quint8 i(0); i < 4; i++) + { + if(statusRegister.at(i) != flashID.at(i)) + { + throw SonoException("The spi part number matching failed."); + } + } +} + +void SpiFlash::spiWaitForReady(qint32 ms) +{ +#ifdef DEVELOP_UI + emit startTimerShot(ms); +#else + timerShot(ms); +#endif + + do + { + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_READ_STATUS); + errorChecking(RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, 0); + errorChecking(RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + + #ifdef DEVELOP_UI + emit remainingTime("The spi busy timeout is happened."); + #else + if(checkTimeout()) + { + throw SonoException("The spi wait for busy is timeouted."); + } + #endif + }while(statusRegister[1] & 0x1); + + #ifdef DEVELOP_UI + emit stopTimer(); + #else + timerStop(); + #endif +} + +void SpiFlash::spiBulkErase() +{ + spiWriteEnable(); + spiWaitForReady(5); + + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_BULK_ERASE); + errorChecking(RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + spiWaitForReady(80000); +} + +void SpiFlash::spiSectorErase(quint16 sectorNo) +{ + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_SECTOR_ERASE); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + sectorNo); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, 0); + this->_device->device.writeWord(BAR_SRAM, SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, 0); + errorChecking(RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); +} + +void SpiFlash::spiGoldenErase() +{ + for(quint8 i(0); i < 128; i++) + { + spiWriteEnable(); + spiWaitForReady(5); + spiSectorErase(i); + spiWaitForReady(80000); + } +} + +void SpiFlash::spiUpdateErase() +{ + for(quint8 i(0); i < 128; i++) + { + spiWriteEnable(); + spiWaitForReady(5); + spiSectorErase(i + SPI_SECTOR_OFFSET); + spiWaitForReady(80000); + } +} + +void SpiFlash::spiWriteEnable() +{ + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_WRITE_ENABLE); + errorChecking(RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); +} + +void SpiFlash::spiWriteDisable() +{ + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_WRITE_DISABLE); + errorChecking(RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); +} + +void SpiFlash::spiWriteData(QByteArray& bin, quint32 pageOffset) +{ + QList pageData; + quint32 pageCount = static_cast(bin.size()) / SPI_PAGE_SIZE_IN_BYTE; + quint32 pageMod = static_cast(bin.size()) % SPI_PAGE_SIZE_IN_BYTE; + quint32 pageDummy = SPI_PAGE_SIZE_IN_BYTE - pageMod; + + for(quint32 i(0); i < (pageCount); i++) + { + pageData << FLASH_WRITE_COMMAND << static_cast((i + pageOffset) >> 8) << + static_cast(i + pageOffset) << 0x0; + + for(quint32 j(0); j < SPI_PAGE_SIZE_IN_BYTE; j++) + { + pageData.push_back(static_cast(bin[j + i * SPI_PAGE_SIZE_IN_BYTE])); + } + + spiPageWriteData(pageData); + pageData.clear(); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + spiWaitForReady(1); + spiWriteEnable(); + spiWaitForReady(5); + } + + if(pageMod) + { + pageData << FLASH_WRITE_COMMAND << static_cast((pageCount + pageOffset) >> 8) << + static_cast(pageCount + pageOffset) << 0x0; + + for(quint32 j(0); j < pageMod; j++) + { + pageData.push_back(static_cast(bin[j + pageCount * + SPI_PAGE_SIZE_IN_BYTE])); + } + for(quint32 k(0); k < pageDummy; k++) + { + pageData.push_back(0xFF); + } + + spiPageWriteData(pageData); + pageData.clear(); + } + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + spiWaitForReady(1); + spiWriteDisable(); + spiWaitForReady(5); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_FIFO_RESET_CONTROL_COMMAND); +} + +void SpiFlash::spiFifoWriteData(QList& fifoData) +{ + quint8 i(0); + + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); + foreach(auto& data, fifoData) + { + i++; + if(i == SPI_FIIO_SIZE_IN_BYTE) + { + this->_device->device.writeByte(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + data); + errorChecking(TX_FIFO_FULL_RX_FIFO_EMPTY_STATUS); + } + else + { + this->_device->device.writeByte(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + data); + errorChecking(RX_FIFO_EMPTY_STATUS); + } + } + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + errorChecking(TX_FIFO_EMPTY_RX_FIFO_EMPTY_STATUS); +} + +void SpiFlash::spiPageWriteData(QList& pageData) +{ + QList fifo; + + for(quint16 i(0); i < (SPI_PAGE_SIZE_IN_BYTE / SPI_FIIO_SIZE_IN_BYTE); i++) + { + for(quint16 j(0); j < SPI_FIIO_SIZE_IN_BYTE; j++) + { + quint8 tempData = pageData.at(j + i * SPI_FIIO_SIZE_IN_BYTE); + fifo.push_back(tempData); + } + spiFifoWriteData(fifo); + fifo.clear(); + } + + quint32 fifoEnd = static_cast(pageData.size()) - SPI_PAGE_SIZE_IN_BYTE; + if(fifoEnd) + { + for(quint8 k(0); k < fifoEnd; k++) + { + fifo.push_back(pageData.at(SPI_PAGE_SIZE_IN_BYTE + k)); + } + spiFifoWriteData(fifo); + fifo.clear(); + } +} + +SpiFlash::SpiFlash(SonoDevice* device) +{ + _device = device; + _timer = new QTimer(); +} + +SpiFlash::~SpiFlash() +{ + delete _device; + delete _timer; +} + +void SpiFlash::writeBin(QByteArray& bin, eSpiFlashMode writeMode) +{ + try + { +//spiCfgInitialize(); +//spiWaitForReady(1); +//spiWriteEnable(); +//spiWaitForReady(5); +//spiErase(); +//spiWaitForReady(80000); +//spiWriteEnable(); +//spiWaitForReady(5); + +//pageData << FLASH_WRITE_COMMAND << 0x0 << 0x0 << 0x0; + +//for(quint32 j(0); j < SPI_PAGE_SIZE_IN_BYTE; j++) +//{ +//pageData.push_back(static_cast(bin[j])); +//} + +//spiPageWriteData(pageData); +//pageData.clear(); + +//this->_device->device.writeWord(BAR_SRAM, +//SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, +//SLAVE_DESELECT_ACTIVE_LOW_COMMAND); +//spiWaitForReady(1); + + spiCfgInitialize(); + spiWaitForReady(1); + spiCheckPartNumber(); + spiWaitForReady(1); +//spiBulkErase(); + switch(writeMode) + { + case golden: + spiGoldenErase(); + spiWriteEnable(); + spiWaitForReady(5); + spiWriteData(bin, 0); + break; + + case update: + spiUpdateErase(); + spiWriteEnable(); + spiWaitForReady(5); + spiWriteData(bin, SPI_PAGE_OFFSET); + break; + } + } + catch(SonoException& e) + { + qDebug() << e.what(); + } +} + +QByteArray SpiFlash::readBin() +{ + quint8 data; + QByteArray rdData; + bool firstFifo(true); + + for(qint32 i(0); i <= static_cast(SPI_FLASH_SIZE / SPI_FIIO_SIZE_IN_BYTE); i++) + { + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + FLASH_READ_COMMAND); + for(quint8 i(0); i < SPI_FIIO_SIZE_IN_BYTE - 1; i++) + { + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + DATA_TRANSMIT_REGISTER, + 0x0); + } + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_SELECT_ACTIVE_LOW_COMMAND); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_ENABLE_CONTROL_COMMAND); + waitForTransactionCmplt(); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_CONTROL_COMMAND); + + if(i == static_cast(SPI_FLASH_SIZE / SPI_FIIO_SIZE_IN_BYTE)) + { + for(quint8 j(0); j < 4; j++) + { + data = this->_device->device.readByte(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + + DATA_RECEIVE_REGISTER); + rdData.push_back(static_cast(data)); + } + } + else + { + for(quint8 j(0); j < 16; j++) + { + data = this->_device->device.readByte(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + + DATA_RECEIVE_REGISTER); + if(firstFifo) + { + if(j >= 4) + { + rdData.push_back(static_cast(data)); + } + } + else + { + rdData.push_back(static_cast(data)); + } + } + firstFifo = false; + } + } + + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + SLAVE_SELECT_REGISTER, + SLAVE_DESELECT_ACTIVE_LOW_COMMAND); + this->_device->device.writeWord(BAR_SRAM, + SPI_OFFSET_IN_BAR1 + CONTROL_REGISTER, + TRANSACTION_DISABLE_FIFO_RESET_CONTROL_COMMAND); + + return rdData; +} diff --git a/src/model/hardware/core/lowLevelApi/register/sram/Sram.cpp b/src/model/hardware/core/lowLevelApi/register/sram/Sram.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/device/SonoDevice.cpp b/src/model/hardware/device/SonoDevice.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/service/BHardwarePacket.cpp b/src/model/hardware/service/BHardwarePacket.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/service/HardwarePacket.cpp b/src/model/hardware/service/HardwarePacket.cpp old mode 100644 new mode 100755 diff --git a/src/model/hardware/service/HardwarePacketEngine.cpp b/src/model/hardware/service/HardwarePacketEngine.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/ScenarioGenerator.cpp b/src/model/scenarioGenerator/ScenarioGenerator.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/ComputationalCore.cpp b/src/model/scenarioGenerator/core/ComputationalCore.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/ScenGenCore.cpp b/src/model/scenarioGenerator/core/ScenGenCore.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/general/Calculation.cpp b/src/model/scenarioGenerator/core/general/Calculation.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/scenario/B/BModeScenario.cpp b/src/model/scenarioGenerator/core/scenario/B/BModeScenario.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/scenario/BaseScenario.cpp b/src/model/scenarioGenerator/core/scenario/BaseScenario.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/scenario/Bm/BmModeScenario.cpp b/src/model/scenarioGenerator/core/scenario/Bm/BmModeScenario.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/scenario/type/frame/BFrame.cpp b/src/model/scenarioGenerator/core/scenario/type/frame/BFrame.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/scenario/type/frame/BaseFrame.cpp b/src/model/scenarioGenerator/core/scenario/type/frame/BaseFrame.cpp old mode 100644 new mode 100755 diff --git a/src/model/scenarioGenerator/core/scenario/type/frame/MFrame.cpp b/src/model/scenarioGenerator/core/scenario/type/frame/MFrame.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/UsCore.cpp.autosave b/src/model/ultrasoundModule/UsCore.cpp.autosave old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/UsData.cpp b/src/model/ultrasoundModule/UsData.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/UsEventReceiver.cpp b/src/model/ultrasoundModule/UsEventReceiver.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/UsEventSender.cpp b/src/model/ultrasoundModule/UsEventSender.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/UsModule.cpp b/src/model/ultrasoundModule/UsModule.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/UsPacket.cpp b/src/model/ultrasoundModule/UsPacket.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/metadata/UsBaseMetadata.cpp b/src/model/ultrasoundModule/metadata/UsBaseMetadata.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/metadata/UsMetadataBag.cpp b/src/model/ultrasoundModule/metadata/UsMetadataBag.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/type/CommandRequest.cpp b/src/model/ultrasoundModule/type/CommandRequest.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/type/CommandResponse.cpp b/src/model/ultrasoundModule/type/CommandResponse.cpp old mode 100644 new mode 100755 diff --git a/src/model/ultrasoundModule/type/CommandResult.cpp b/src/model/ultrasoundModule/type/CommandResult.cpp old mode 100644 new mode 100755