|
|
#include "mainwindowui.h"
|
|
|
|
|
|
MainWindowUI::MainWindowUI(QWidget *parent) :
|
|
|
QWidget(parent)
|
|
|
{
|
|
|
label_serverTMEcho = new QLabel(tr("TM Echo Server address"));
|
|
|
label_serverTMEchoPort = new QLabel(tr("TM Echo Server Port"));
|
|
|
label_TMServerPort = new QLabel(tr("TM Server Port:"));
|
|
|
label_TCServerPort = new QLabel(tr("TC Server Port:"));
|
|
|
label_currentTCTMServer = new QLabel(tr("Current IP address:"));
|
|
|
label_currentTCTMServerIP = new QLabel(tr("-"));
|
|
|
label_totalOfBytes = new QLabel(tr("Received Bytes: -"));
|
|
|
label_totalOfPackets = new QLabel(tr("Received Packets: -"));
|
|
|
|
|
|
console = new QTextEdit();
|
|
|
|
|
|
spwTabWidget = new QTabWidget();
|
|
|
spwTabWidgetPage0 = new QWidget();
|
|
|
spwTabWidgetPage1 = new QWidget();
|
|
|
spwTabWidgetPage2 = new QWidget();
|
|
|
spwTabWidgetPage3 = new QWidget();
|
|
|
|
|
|
tmStatistics = new TMStatistics;
|
|
|
|
|
|
wfDisplay = new WFDisplay(0, 2048, 2048, 15000);
|
|
|
wfPage_CWF_F1 = new WFPage(0, 8 * BLK_NR_CWF, 8 * BLK_NR_CWF, 15000);
|
|
|
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);
|
|
|
storeHK = new StoreHK();
|
|
|
|
|
|
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";
|
|
|
storeHK->hkName = "spacecraft_potential";
|
|
|
hkDisplay = new HKDisplay();
|
|
|
recordPage = new RecordPage;
|
|
|
|
|
|
spinbox_TMServerPort = new QSpinBox();
|
|
|
spinbox_TCServerPort = new QSpinBox();
|
|
|
spinbox_serverTMEchoPort = new QSpinBox();
|
|
|
spinbox_TMServerPort->setRange(59000, 65535);
|
|
|
spinbox_TCServerPort->setRange(59001, 65535);
|
|
|
spinbox_serverTMEchoPort->setRange(59002, 65535);
|
|
|
|
|
|
button_openServerTCTM = new QPushButton(tr("Open TC / TM Ports"));
|
|
|
button_testServerTCTM = new QPushButton(tr("Test TC / TM Ports"));
|
|
|
button_openSocketEchoServer = new QPushButton(tr("Open Echo Server"));
|
|
|
button_TCAcknowledgement = new QPushButton(tr("send TC Acknowledgement"));
|
|
|
button_TCRejection = new QPushButton(tr("send TC rejection"));
|
|
|
button_GSEHK = new QPushButton(tr("send GSE HK"));
|
|
|
button_clearConsole = new QPushButton(tr("Clear console"));
|
|
|
button_resetStatistics = new QPushButton(tr("Reset statistics"));
|
|
|
|
|
|
serverTMEchoDialogBox = new QIPDialogBox();
|
|
|
serverTMEchoDialogBox->setIP(127, 0, 0, 1);
|
|
|
|
|
|
groupbox_TMEcho = new QGroupBox(tr("TM Echo Server"));
|
|
|
groupbox_ports = new QGroupBox(tr("Ports for the TM and TC Servers"));
|
|
|
groupbox_TMToForeignGSETester = new QGroupBox(tr("Send TM to the foreign GSE tester"));
|
|
|
|
|
|
layout_TMEcho = new QVBoxLayout();
|
|
|
layout_overallLayout = new QVBoxLayout();
|
|
|
layout_ports = new QGridLayout();
|
|
|
layout_TMToForeignGSETester = new QVBoxLayout();
|
|
|
mainLayout = new QGridLayout();
|
|
|
|
|
|
parameterDump = new ParameterDump();
|
|
|
|
|
|
layout_TMEcho->addWidget(label_serverTMEcho);
|
|
|
layout_TMEcho->addWidget(serverTMEchoDialogBox);
|
|
|
layout_TMEcho->addWidget(label_serverTMEchoPort);
|
|
|
layout_TMEcho->addWidget(spinbox_serverTMEchoPort);
|
|
|
layout_TMEcho->addWidget(button_openSocketEchoServer);
|
|
|
layout_TMEcho->addWidget(label_totalOfPackets);
|
|
|
layout_TMEcho->addWidget(label_totalOfBytes);
|
|
|
layout_TMEcho->addWidget(button_resetStatistics);
|
|
|
groupbox_TMEcho->setLayout(layout_TMEcho);
|
|
|
|
|
|
layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
|
|
|
layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
|
|
|
layout_ports->addWidget(label_TCServerPort, 1, 0, 1, 1);
|
|
|
layout_ports->addWidget(spinbox_TCServerPort, 1, 1, 1, 1);
|
|
|
layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
|
|
|
layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
|
|
|
groupbox_ports->setLayout(layout_ports);
|
|
|
|
|
|
layout_TMToForeignGSETester->addWidget(button_TCAcknowledgement);
|
|
|
layout_TMToForeignGSETester->addWidget(button_TCRejection);
|
|
|
layout_TMToForeignGSETester->addWidget(button_GSEHK);
|
|
|
groupbox_TMToForeignGSETester->setLayout(layout_TMToForeignGSETester);
|
|
|
|
|
|
mainLayout->addWidget(groupbox_TMEcho, 0, 0, 1, 1);
|
|
|
mainLayout->addWidget(button_clearConsole, 1, 0, 1, 1);
|
|
|
mainLayout->addWidget(console, 0, 1, 2, 1);
|
|
|
mainLayout->addWidget(groupbox_ports, 2, 0, 1, 1);
|
|
|
mainLayout->addWidget(groupbox_TMToForeignGSETester, 2, 1, 1, 1);
|
|
|
mainLayout->setColumnStretch(2, 1);
|
|
|
mainLayout->setRowStretch(3, 1);
|
|
|
|
|
|
spwTabWidget->addTab(spwTabWidgetPage0, tr("Connection"));
|
|
|
spwTabWidget->addTab(spwTabWidgetPage1, tr("TM Statistics"));
|
|
|
spwTabWidget->addTab(spwTabWidgetPage3, tr("HK"));
|
|
|
spwTabWidget->addTab(parameterDump, tr("DUMP"));
|
|
|
spwTabWidget->addTab(recordPage, tr("REC"));
|
|
|
spwTabWidget->addTab(spwTabWidgetPage2, tr("WFRM NORM"));
|
|
|
spwTabWidget->addTab( wfPage_CWF_F1, tr("CWF_F1"));
|
|
|
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());
|
|
|
spwTabWidgetPage2->setLayout(wfDisplay->layout());
|
|
|
spwTabWidgetPage3->setLayout(hkDisplay->layout());
|
|
|
|
|
|
layout_overallLayout->addWidget(spwTabWidget);
|
|
|
|
|
|
this->setLayout(layout_overallLayout);
|
|
|
|
|
|
connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
|
|
|
|
|
|
// SWF_F0
|
|
|
connect(this->recordPage, SIGNAL(signal_store_swf_f0()),
|
|
|
this->wfDisplay->page_f0, SLOT(storeWfrm()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->wfDisplay->page_f0, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
// SWF_F1
|
|
|
connect(this->recordPage, SIGNAL(signal_store_swf_f1()),
|
|
|
this->wfDisplay->page_f1, SLOT(storeWfrm()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->wfDisplay->page_f1, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
// SWF_F2
|
|
|
connect(this->recordPage, SIGNAL(signal_store_swf_f2()),
|
|
|
this->wfDisplay->page_f2, SLOT(storeWfrm()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->wfDisplay->page_f2, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
// CWF_F1
|
|
|
connect(this->recordPage, SIGNAL(signal_store_cwf_f1()),
|
|
|
this->wfPage_CWF_F1, SLOT(storeWfrm()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->wfPage_CWF_F1, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
// CWF_F2
|
|
|
connect(this->recordPage, SIGNAL(signal_store_cwf_f2()),
|
|
|
this->wfPage_CWF_F2, SLOT(storeWfrm()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->wfPage_CWF_F2, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
// CWF_F3
|
|
|
connect(this->recordPage, SIGNAL(signal_store_cwf_f3()),
|
|
|
this->wfPage_CWF_F3, SLOT(storeWfrm()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->wfPage_CWF_F3, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
// ASM_F0
|
|
|
connect(this->recordPage, SIGNAL(signal_store_asm_f0()),
|
|
|
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)));
|
|
|
// HK_SPACECRAFT_POTENTIAL
|
|
|
connect(this->recordPage, SIGNAL(signal_store_hk_spacecraft_potential()),
|
|
|
this->storeHK, SLOT(storeData()));
|
|
|
connect(this->recordPage, SIGNAL(signal_defaultStorageDirectoryUpdated(QString)),
|
|
|
this->storeHK, SLOT(setDefaultStorageDirectory(QString)));
|
|
|
|
|
|
emit this->recordPage->signal_defaultStorageDirectoryUpdated(this->recordPage->defaultStorageDirectory);
|
|
|
}
|
|
|
|
|
|
QString MainWindowUI::getTMEchoServerAddress()
|
|
|
{
|
|
|
return(serverTMEchoDialogBox->getIP());
|
|
|
}
|
|
|
|
|
|
void MainWindowUI::setTCTMServerAddressIP(QString address)
|
|
|
{
|
|
|
label_currentTCTMServerIP->setText(address);
|
|
|
}
|
|
|
|
|
|
int MainWindowUI::getTMPort()
|
|
|
{
|
|
|
return spinbox_TMServerPort->value();
|
|
|
}
|
|
|
|
|
|
int MainWindowUI::getTCPort()
|
|
|
{
|
|
|
return spinbox_TCServerPort->value();
|
|
|
}
|
|
|
|
|
|
void MainWindowUI::displayOnConsole(QString message)
|
|
|
{
|
|
|
console->append(message);
|
|
|
}
|
|
|
|
|
|
void MainWindowUI::clearConsole()
|
|
|
{
|
|
|
console->clear();
|
|
|
}
|
|
|
|
|
|
void MainWindowUI::totalOfBytesHasChanged(unsigned int nbBytes)
|
|
|
{
|
|
|
label_totalOfBytes->setText(
|
|
|
"Received Bytes: "
|
|
|
+ QString::number(nbBytes));
|
|
|
}
|
|
|
|
|
|
void MainWindowUI::totalOfPacketsHasChanged(unsigned int nbPackets)
|
|
|
{
|
|
|
label_totalOfPackets->setText(
|
|
|
"Received Packets: "
|
|
|
+ QString::number(nbPackets));
|
|
|
}
|
|
|
|