diff --git a/projects/gse_lesia/mainwindow.cpp b/projects/gse_lesia/mainwindow.cpp --- a/projects/gse_lesia/mainwindow.cpp +++ b/projects/gse_lesia/mainwindow.cpp @@ -10,6 +10,8 @@ MainWindow::MainWindow(QWidget *parent) totalOfPackets = 0; spectraPacketNormalSpectrumF0 = new SpectraPacket(0, 128); + spectraPacketNormalSpectrumF1 = new SpectraPacket(0, 128); + spectraPacketNormalSpectrumF2 = new SpectraPacket(0, 128); //********* // wfPacket @@ -532,7 +534,9 @@ void MainWindow::buildWFAndDisplay_CWF_F } } -void MainWindow::build_ASM_AndDisplay_NORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket) +void MainWindow::build_ASM_AndDisplay_NORM(TMPacketToRead *packet, SpectraPacket *spectraPacket, + double deltaF, unsigned char indiceStart, + ASMPage* asmPage ) { unsigned int i; unsigned int j; @@ -541,7 +545,6 @@ void MainWindow::build_ASM_AndDisplay_NO unsigned char cntASM; unsigned char nrASM; unsigned int blkNR; - double deltaF; unsigned int nbData; cntASM = packet->Value[22]; @@ -569,15 +572,14 @@ void MainWindow::build_ASM_AndDisplay_NO aux[2] = data[ (i * 50 + 2*24) + 1]; } - deltaF = 24576. / 256. ; nbData = j + blkNR; if (nrASM == cntASM) { - this->UI->asmPage_F0->displayOnPlot(spectraPacket->s11, 0, ASM_F0_INDICE_START, deltaF, nbData); - this->UI->asmPage_F0->displayOnPlot(spectraPacket->s22, 1, ASM_F0_INDICE_START, deltaF, nbData); - this->UI->asmPage_F0->displayOnPlot(spectraPacket->s33, 2, ASM_F0_INDICE_START, deltaF, nbData); - this->UI->asmPage_F0->displayOnPlot(spectraPacket->s44, 3, ASM_F0_INDICE_START, deltaF, nbData); - this->UI->asmPage_F0->displayOnPlot(spectraPacket->s55, 4, ASM_F0_INDICE_START, deltaF, nbData); + asmPage->displayOnPlot(spectraPacket->s11, 0, indiceStart, deltaF, nbData); + asmPage->displayOnPlot(spectraPacket->s22, 1, indiceStart, deltaF, nbData); + asmPage->displayOnPlot(spectraPacket->s33, 2, indiceStart, deltaF, nbData); + asmPage->displayOnPlot(spectraPacket->s44, 3, indiceStart, deltaF, nbData); + asmPage->displayOnPlot(spectraPacket->s55, 4, indiceStart, deltaF, nbData); } } @@ -690,7 +692,13 @@ void MainWindow::preProcessPacket(TMPack buildWFAndDisplay_CWF_F2(packet, wfPacketSBM2); break; case SID_NORMAL_ASM_F0: - build_ASM_AndDisplay_NORM_F0(packet, spectraPacketNormalSpectrumF0); + build_ASM_AndDisplay_NORM(packet, spectraPacketNormalSpectrumF0, 4096./256., ASM_F1_INDICE_START, this->UI->asmPage_F0 ); + break; + case SID_NORMAL_ASM_F1: + build_ASM_AndDisplay_NORM(packet, spectraPacketNormalSpectrumF1, 4096./256., ASM_F1_INDICE_START, this->UI->asmPage_F1 ); + break; + case SID_NORMAL_ASM_F2: + build_ASM_AndDisplay_NORM(packet, spectraPacketNormalSpectrumF2, 256./256., ASM_F2_INDICE_START, this->UI->asmPage_F2 ); break; } } diff --git a/projects/gse_lesia/mainwindow.h b/projects/gse_lesia/mainwindow.h --- a/projects/gse_lesia/mainwindow.h +++ b/projects/gse_lesia/mainwindow.h @@ -44,6 +44,7 @@ public: void buildWFAndDisplay_CWF_F1(TMPacketToRead *packet, WFPacket *wfPacket); void buildWFAndDisplay_CWF_F2(TMPacketToRead *packet, WFPacket *wfPacket); void build_ASM_AndDisplay_NORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket); + void build_ASM_AndDisplay_NORM(TMPacketToRead *packet, SpectraPacket *spectraPacket, double deltaF, unsigned char indiceStart, ASMPage *asmPage); protected: void closeEvent(QCloseEvent *); @@ -88,6 +89,8 @@ private: WFPacket *wfPacketSBM2; WFPacket *wfPacketCWF_F3; SpectraPacket *spectraPacketNormalSpectrumF0; + SpectraPacket *spectraPacketNormalSpectrumF1; + SpectraPacket *spectraPacketNormalSpectrumF2; bool parsingContinue; diff --git a/projects/gse_lesia/mainwindowui.cpp b/projects/gse_lesia/mainwindowui.cpp --- a/projects/gse_lesia/mainwindowui.cpp +++ b/projects/gse_lesia/mainwindowui.cpp @@ -27,11 +27,15 @@ MainWindowUI::MainWindowUI(QWidget *pare wfPage_CWF_F2 = new WFPage(0, 8 * BLK_NR_CWF, 8 * BLK_NR_CWF, 15000); wfPage_CWF_F3 = new WFPage(0, 8 * BLK_NR_CWF, 8 * BLK_NR_CWF, 15000); asmPage_F0 = new ASMPage(0, NB_BINS_PER_ASM_F0, NB_BINS_PER_ASM_F0, 15000); + asmPage_F1 = new ASMPage(0, NB_BINS_PER_ASM_F1, NB_BINS_PER_ASM_F1, 15000); + asmPage_F2 = new ASMPage(0, NB_BINS_PER_ASM_F2, NB_BINS_PER_ASM_F2, 15000); wfPage_CWF_F1->pageTitle = "SBM1_CWF_F1"; wfPage_CWF_F2->pageTitle = "SBM2_CWF_F2"; wfPage_CWF_F3->pageTitle = "NORM_CWF_F3"; asmPage_F0->pageTitle = "ASM_F0"; + asmPage_F1->pageTitle = "ASM_F1"; + asmPage_F2->pageTitle = "ASM_F2"; hkDisplay = new HKDisplay(); recordPage = new RecordPage; @@ -107,6 +111,8 @@ MainWindowUI::MainWindowUI(QWidget *pare spwTabWidget->addTab( wfPage_CWF_F2, tr("CWF_F2")); spwTabWidget->addTab( wfPage_CWF_F3, tr("CWF_F3")); spwTabWidget->addTab( asmPage_F0, tr("ASM_F0")); + spwTabWidget->addTab( asmPage_F1, tr("ASM_F1")); + spwTabWidget->addTab( asmPage_F2, tr("ASM_F2")); spwTabWidgetPage0->setLayout(mainLayout); spwTabWidgetPage1->setLayout(tmStatistics->layout()); @@ -154,6 +160,16 @@ MainWindowUI::MainWindowUI(QWidget *pare this->asmPage_F0, SLOT(storeWfrm())); connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)), this->asmPage_F0, SLOT(setDefaultStorageDirectory(QString))); + // ASM_F1 + connect(this->recordPage, SIGNAL(signal_store_asm_f1()), + this->asmPage_F1, SLOT(storeWfrm())); + connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)), + this->asmPage_F1, SLOT(setDefaultStorageDirectory(QString))); + // ASM_F2 + connect(this->recordPage, SIGNAL(signal_store_asm_f2()), + this->asmPage_F2, SLOT(storeWfrm())); + connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)), + this->asmPage_F2, SLOT(setDefaultStorageDirectory(QString))); emit this->recordPage->signal_defaultStorageDirectoryUpdated(this->recordPage->defaultStorageDirectory); } diff --git a/projects/gse_lesia/mainwindowui.h b/projects/gse_lesia/mainwindowui.h --- a/projects/gse_lesia/mainwindowui.h +++ b/projects/gse_lesia/mainwindowui.h @@ -46,6 +46,8 @@ public: WFPage* wfPage_CWF_F2; WFPage* wfPage_CWF_F3; ASMPage* asmPage_F0; + ASMPage* asmPage_F1; + ASMPage* asmPage_F2; HKDisplay* hkDisplay; RecordPage* recordPage; diff --git a/projects/gse_lesia/recordpage.cpp b/projects/gse_lesia/recordpage.cpp --- a/projects/gse_lesia/recordpage.cpp +++ b/projects/gse_lesia/recordpage.cpp @@ -12,6 +12,8 @@ RecordPage::RecordPage(QWidget *parent) radiobutton_cwf_f2 = new QRadioButton("cwf_f2"); radiobutton_cwf_f3 = new QRadioButton("cwf_f3"); radiobutton_asm_f0 = new QRadioButton("asm_f0"); + radiobutton_asm_f1 = new QRadioButton("asm_f1"); + radiobutton_asm_f2 = new QRadioButton("asm_f2"); radiobutton_swf_f0->setAutoExclusive(false); radiobutton_swf_f1->setAutoExclusive(false); @@ -20,6 +22,8 @@ RecordPage::RecordPage(QWidget *parent) radiobutton_cwf_f2->setAutoExclusive(false); radiobutton_cwf_f3->setAutoExclusive(false); radiobutton_asm_f0->setAutoExclusive(false); + radiobutton_asm_f1->setAutoExclusive(false); + radiobutton_asm_f2->setAutoExclusive(false); label_currentDir = new QLabel("Current Dir: -"); @@ -48,6 +52,8 @@ RecordPage::RecordPage(QWidget *parent) vboxlayout_matrices->addWidget(radiobutton_asm_f0); + vboxlayout_matrices->addWidget(radiobutton_asm_f1); + vboxlayout_matrices->addWidget(radiobutton_asm_f2); vboxlayout_matrices->addStretch(); vboxlayout_directory->addWidget(button_storeWfrm); @@ -107,6 +113,8 @@ void RecordPage::storeWfrm() if (radiobutton_cwf_f2->isChecked()) emit signal_store_cwf_f2(); if (radiobutton_cwf_f3->isChecked()) emit signal_store_cwf_f3(); if (radiobutton_asm_f0->isChecked()) emit signal_store_asm_f0(); + if (radiobutton_asm_f1->isChecked()) emit signal_store_asm_f0(); + if (radiobutton_asm_f2->isChecked()) emit signal_store_asm_f0(); radiobutton_swf_f0->setEnabled(false); radiobutton_swf_f1->setEnabled(false); radiobutton_swf_f2->setEnabled(false); @@ -114,6 +122,8 @@ void RecordPage::storeWfrm() radiobutton_cwf_f2->setEnabled(false); radiobutton_cwf_f3->setEnabled(false); radiobutton_asm_f0->setEnabled(false); + radiobutton_asm_f1->setEnabled(false); + radiobutton_asm_f2->setEnabled(false); } else { @@ -127,6 +137,8 @@ void RecordPage::storeWfrm() if (radiobutton_cwf_f2->isChecked()) emit signal_store_cwf_f2(); if (radiobutton_cwf_f3->isChecked()) emit signal_store_cwf_f3(); if (radiobutton_asm_f0->isChecked()) emit signal_store_asm_f0(); + if (radiobutton_asm_f1->isChecked()) emit signal_store_asm_f1(); + if (radiobutton_asm_f2->isChecked()) emit signal_store_asm_f2(); radiobutton_swf_f0->setEnabled(true); radiobutton_swf_f1->setEnabled(true); radiobutton_swf_f2->setEnabled(true); @@ -134,6 +146,8 @@ void RecordPage::storeWfrm() radiobutton_cwf_f2->setEnabled(true); radiobutton_cwf_f3->setEnabled(true); radiobutton_asm_f0->setEnabled(true); + radiobutton_asm_f1->setEnabled(true); + radiobutton_asm_f2->setEnabled(true); } } diff --git a/projects/gse_lesia/recordpage.h b/projects/gse_lesia/recordpage.h --- a/projects/gse_lesia/recordpage.h +++ b/projects/gse_lesia/recordpage.h @@ -33,6 +33,8 @@ public: QRadioButton *radiobutton_cwf_f2; QRadioButton *radiobutton_cwf_f3; QRadioButton *radiobutton_asm_f0; + QRadioButton *radiobutton_asm_f1; + QRadioButton *radiobutton_asm_f2; QGroupBox *groupbox_waveforms; QGroupBox *groupbox_matrices; @@ -57,6 +59,8 @@ signals: void signal_store_cwf_f2(); void signal_store_cwf_f3(); void signal_store_asm_f0(); + void signal_store_asm_f1(); + void signal_store_asm_f2(); void signal_defaultStorageDirectoryUpdated( QString nameOfTheDirectory ); public slots: