##// END OF EJS Templates
Minor updates to the rmapplugin...
leroy -
r45:bff3fdf42776 default
parent child
Show More
@@ -0,0 +1,224
1 #include "parameterdump.h"
2
3 ParameterDump::ParameterDump(QWidget *parent) :
4 QWidget(parent)
5 {
6 this->buildTabParameterDump();
7
8 this->setLayout(layout_parameterDump);
9 }
10
11 void ParameterDump::buildTabParameterDump()
12 {
13 buildCOMM();
14 buildNORM();
15 buildBURST();
16 buildSBM1();
17 buildSBM2();
18
19 layout_parameterDump = new QGridLayout();
20
21 layout_parameterDump->addWidget(groupbox_COMM, 0, 0, 1, 1);
22 layout_parameterDump->addWidget(groupbox_NORM, 0, 1, 1, 1);
23 layout_parameterDump->addWidget(groupbox_BURST, 1, 0, 1, 1);
24 layout_parameterDump->addWidget(groupbox_SBM1,2 , 0, 1, 1);
25 layout_parameterDump->addWidget(groupbox_SBM2, 2, 1, 1, 1);
26
27 layout_parameterDump->setRowStretch(3, 1);
28 layout_parameterDump->setColumnStretch(2, 1);
29 }
30
31 void ParameterDump::buildCOMM()
32 {
33 groupbox_COMM = new QGroupBox(tr("COMMON_PAR"));
34 layout_COMM = new QGridLayout();
35
36 sy_lfr_bw = new QLabel("sy_lfr_bw ");
37 sy_lfr_sp0 = new QLabel("sy_lfr_sp0 ");
38 sy_lfr_sp1 = new QLabel("sy_lfr_sp1 ");
39 sy_lfr_r0 = new QLabel("sy_lfr_r0 ");
40 sy_lfr_r1 = new QLabel("sy_lfr_r1 ");
41
42 spinbox_sy_lfr_bw = new QSpinBox();
43 spinbox_sy_lfr_sp0 = new QSpinBox();
44 spinbox_sy_lfr_sp1 = new QSpinBox();
45 spinbox_sy_lfr_r0 = new QSpinBox();
46 spinbox_sy_lfr_r1 = new QSpinBox();
47
48 spinbox_sy_lfr_bw->setRange(0, 1);
49 spinbox_sy_lfr_sp0->setRange(0, 1);
50 spinbox_sy_lfr_sp1->setRange(0, 1);
51 spinbox_sy_lfr_r0->setRange(0, 1);
52 spinbox_sy_lfr_r1->setRange(0, 1);
53
54 spinbox_sy_lfr_bw->setValue(1);
55 spinbox_sy_lfr_sp0->setValue(0);
56 spinbox_sy_lfr_sp1->setValue(0);
57 spinbox_sy_lfr_r0->setValue(0);
58 spinbox_sy_lfr_r1->setValue(0);
59
60 layout_COMM->addWidget(sy_lfr_bw, 0, 0, 1, 1);
61 layout_COMM->addWidget(sy_lfr_sp0, 1, 0, 1, 1);
62 layout_COMM->addWidget(sy_lfr_sp1, 2, 0, 1, 1);
63 layout_COMM->addWidget(sy_lfr_r0, 3, 0, 1, 1);
64 layout_COMM->addWidget(sy_lfr_r1, 4, 0, 1, 1);
65
66 layout_COMM->addWidget(spinbox_sy_lfr_bw, 0, 1, 1, 1);
67 layout_COMM->addWidget(spinbox_sy_lfr_sp0, 1, 1, 1, 1);
68 layout_COMM->addWidget(spinbox_sy_lfr_sp1, 2, 1, 1, 1);
69 layout_COMM->addWidget(spinbox_sy_lfr_r0, 3, 1, 1, 1);
70 layout_COMM->addWidget(spinbox_sy_lfr_r1, 4, 1, 1, 1);
71
72 layout_COMM->setColumnStretch(2, 1);
73 layout_COMM->setRowStretch(5, 1);
74
75 groupbox_COMM->setLayout(layout_COMM);
76 }
77
78 void ParameterDump::buildNORM()
79 {
80 groupbox_NORM = new QGroupBox(tr("NORMAL_PAR"));
81 layout_NORM = new QGridLayout();
82
83 sy_lfr_n_swf_l = new QLabel("sy_lfr_n_swf_l ");
84 sy_lfr_n_swf_p = new QLabel("sy_lfr_n_swf_p ");
85 sy_lfr_n_asm_p = new QLabel("sy_lfr_n_asm_p ");
86 sy_lfr_n_bp_p0 = new QLabel("sy_lfr_n_bp_p0 ");
87 sy_lfr_n_bp_p1 = new QLabel("sy_lfr_n_bp_p1 ");
88
89 spinbox_sy_lfr_n_swf_l = new QSpinBox();
90 spinbox_sy_lfr_n_swf_p = new QSpinBox();
91 spinbox_sy_lfr_n_asm_p = new QSpinBox();
92 spinbox_sy_lfr_n_bp_p0 = new QSpinBox();
93 spinbox_sy_lfr_n_bp_p1 = new QSpinBox();
94
95 spinbox_sy_lfr_n_swf_l->setRange(256, 65535);
96 spinbox_sy_lfr_n_swf_p->setRange(16, 65535);
97 spinbox_sy_lfr_n_asm_p->setRange(16, 65535);
98 spinbox_sy_lfr_n_bp_p0->setRange(4, 3600);
99 spinbox_sy_lfr_n_bp_p1->setRange(20, 3600);
100
101 spinbox_sy_lfr_n_swf_l->setValue(2048);
102 spinbox_sy_lfr_n_swf_p->setValue(300);
103 spinbox_sy_lfr_n_asm_p->setValue(3600);
104 spinbox_sy_lfr_n_bp_p0->setValue(4);
105 spinbox_sy_lfr_n_bp_p1->setValue(20);
106
107 layout_NORM->addWidget(sy_lfr_n_swf_l, 0, 0, 1, 1);
108 layout_NORM->addWidget(sy_lfr_n_swf_p, 1, 0, 1, 1);
109 layout_NORM->addWidget(sy_lfr_n_asm_p, 2, 0, 1, 1);
110 layout_NORM->addWidget(sy_lfr_n_bp_p0, 3, 0, 1, 1);
111 layout_NORM->addWidget(sy_lfr_n_bp_p1, 4, 0, 1, 1);
112
113 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_l, 0, 1, 1, 1);
114 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_p, 1, 1, 1, 1);
115 layout_NORM->addWidget(spinbox_sy_lfr_n_asm_p, 2, 1, 1, 1);
116 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p0, 3, 1, 1, 1);
117 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p1, 4, 1, 1, 1);
118
119 layout_NORM->setColumnStretch(2, 1);
120 layout_NORM->setRowStretch(5, 1);
121
122 groupbox_NORM->setLayout(layout_NORM);
123 }
124
125 void ParameterDump::buildBURST()
126 {
127 groupbox_BURST = new QGroupBox(tr("BURST_PAR"));
128 layout_BURST = new QGridLayout();
129
130 sy_lfr_b_bp_p0 = new QLabel("sy_lfr_b_bp_p0 ");
131 sy_lfr_b_bp_p1 = new QLabel("sy_lfr_b_bp_p1 ");
132
133 spinbox_sy_lfr_b_bp_p0 = new QSpinBox();
134 spinbox_sy_lfr_b_bp_p1 = new QSpinBox();
135
136 layout_BURST->addWidget(sy_lfr_b_bp_p0, 0, 0, 1, 1);
137 layout_BURST->addWidget(sy_lfr_b_bp_p1, 1, 0, 1, 1);
138 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p0, 0, 1, 1, 1);
139 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p1, 1, 1, 1, 1);
140
141 layout_BURST->setColumnStretch(2, 1);
142 layout_BURST->setRowStretch(3, 1);
143
144 groupbox_BURST->setLayout(layout_BURST);
145 }
146
147 void ParameterDump::buildSBM1()
148 {
149 groupbox_SBM1 = new QGroupBox(tr("SBM1_PAR"));
150 layout_SBM1 = new QGridLayout();
151
152 sy_lfr_s1_bp_p0 = new QLabel("sy_lfr_s1_bp_p0 ");
153 sy_lfr_s1_bp_p1 = new QLabel("sy_lfr_s1_bp_p1 ");
154
155 spinbox_sy_lfr_s1_bp_p0 = new QSpinBox();
156 spinbox_sy_lfr_s1_bp_p1 = new QSpinBox();
157
158 layout_SBM1->addWidget(sy_lfr_s1_bp_p0, 0, 0, 1, 1);
159 layout_SBM1->addWidget(sy_lfr_s1_bp_p1, 1, 0, 1, 1);
160 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p0, 0, 1, 1, 1);
161 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p1, 1, 1, 1, 1);
162
163 layout_SBM1->setColumnStretch(2, 1);
164 layout_SBM1->setRowStretch(3, 1);
165
166 groupbox_SBM1->setLayout(layout_SBM1);
167 }
168
169 void ParameterDump::buildSBM2()
170 {
171 groupbox_SBM2 = new QGroupBox(tr("SBM2_PAR"));
172 layout_SBM2 = new QGridLayout();
173
174 sy_lfr_s2_bp_p0 = new QLabel("sy_lfr_s2_bp_p0 ");
175 sy_lfr_s2_bp_p1 = new QLabel("sy_lfr_s2_bp_p1 ");
176
177 spinbox_sy_lfr_s2_bp_p0 = new QSpinBox();
178 spinbox_sy_lfr_s2_bp_p1 = new QSpinBox();
179
180 layout_SBM2->addWidget(sy_lfr_s2_bp_p0, 0, 0, 1, 1);
181 layout_SBM2->addWidget(sy_lfr_s2_bp_p1, 1, 0, 1, 1);
182 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p0, 0, 1, 1, 1);
183 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p1, 1, 1, 1, 1);
184
185 layout_SBM2->setColumnStretch(2, 1);
186 layout_SBM2->setRowStretch(3, 1);
187
188 groupbox_SBM2->setLayout(layout_SBM2);
189 }
190
191 void ParameterDump::updateParameterDump(TMPacketToRead *tmPacketToRead)
192 {
193
194 Packet_TM_LFR_PARAMETER_DUMP_t *parameterPacket;
195
196 parameterPacket = (Packet_TM_LFR_PARAMETER_DUMP_t *) tmPacketToRead->Value;
197
198 sy_lfr_bw->setText(" sy_lfr_bw: " + QString::number( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x10 ) >> 4 ) );
199 sy_lfr_sp0->setText(" sy_lfr_bw: " + QString::number( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x08 ) >> 3 ) );
200 sy_lfr_sp1->setText(" sy_lfr_bw: " + QString::number( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x04 ) >> 2 ) );
201 sy_lfr_r0->setText(" sy_lfr_bw: " + QString::number( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x02 ) >> 1 ) );
202 sy_lfr_r1->setText(" sy_lfr_bw: " + QString::number( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x01 ) ) );
203
204 sy_lfr_n_swf_l->setText(" sy_lfr_n_swf_l: "
205 + QString::number( parameterPacket->sy_lfr_n_swf_l[0] * 256
206 + parameterPacket->sy_lfr_n_swf_l[1] ) );
207 sy_lfr_n_swf_p->setText(" sy_lfr_n_swf_p: "
208 + QString::number( parameterPacket->sy_lfr_n_swf_p[0] * 256
209 + parameterPacket->sy_lfr_n_swf_p[1] ) );
210 sy_lfr_n_asm_p->setText(" sy_lfr_n_asm_p: "
211 + QString::number( parameterPacket->sy_lfr_n_asm_p[0] * 256
212 + parameterPacket->sy_lfr_n_asm_p[1] ) );
213 sy_lfr_n_bp_p0->setText(" sy_lfr_n_bp_p0: " + QString::number( parameterPacket->sy_lfr_n_bp_p0 ) );
214 sy_lfr_n_bp_p1->setText(" sy_lfr_n_bp_p1: " + QString::number( parameterPacket->sy_lfr_n_bp_p1 ) );
215
216 sy_lfr_b_bp_p0->setText(" sy_lfr_b_p0: " + QString::number( parameterPacket->sy_lfr_b_bp_p0 ) );
217 sy_lfr_b_bp_p1->setText(" sy_lfr_b_p1: " + QString::number( parameterPacket->sy_lfr_b_bp_p1 ) );
218
219 sy_lfr_s1_bp_p0->setText(" sy_lfr_s1_p0: " + QString::number( parameterPacket->sy_lfr_s1_bp_p0 ) );
220 sy_lfr_s1_bp_p1->setText(" sy_lfr_s1_p1: " + QString::number( parameterPacket->sy_lfr_s1_bp_p1 ) );
221
222 sy_lfr_s2_bp_p0->setText(" sy_lfr_s2_p0: " + QString::number( parameterPacket->sy_lfr_s2_bp_p0 ) );
223 sy_lfr_s2_bp_p1->setText(" sy_lfr_s2_p1: " + QString::number( parameterPacket->sy_lfr_s2_bp_p1 ) );
224 }
@@ -0,0 +1,90
1 #ifndef PARAMETERDUMP_H
2 #define PARAMETERDUMP_H
3
4 #include <QWidget>
5 #include <QLabel>
6 #include <QGroupBox>
7 #include <QGridLayout>
8 #include <QSpinBox>
9
10 #include <tmpackettoread.h>
11 #include <ccsds_types.h>
12
13 class ParameterDump : public QWidget
14 {
15 Q_OBJECT
16 public:
17 explicit ParameterDump(QWidget *parent = 0);
18
19 void buildTabParameterDump();
20 void buildCOMM();
21 void buildNORM();
22 void buildBURST();
23 void buildSBM1();
24 void buildSBM2();
25 void updateParameterDump(TMPacketToRead *tmPacketToRead);
26
27 QGroupBox* groupbox_parameterDump;
28 QGroupBox* groupbox_COMM;
29 QGroupBox* groupbox_NORM;
30 QGroupBox* groupbox_BURST;
31 QGroupBox* groupbox_SBM1;
32 QGroupBox* groupbox_SBM2;
33
34 QGridLayout* layout_parameterDump;
35 QGridLayout* layout_COMM;
36 QGridLayout* layout_NORM;
37 QGridLayout* layout_BURST;
38 QGridLayout* layout_SBM1;
39 QGridLayout* layout_SBM2;
40 //
41 QLabel* sy_lfr_bw;
42 QLabel* sy_lfr_sp0;
43 QLabel* sy_lfr_sp1;
44 QLabel* sy_lfr_r0;
45 QLabel* sy_lfr_r1;
46 //
47 QLabel* sy_lfr_n_swf_l;
48 QLabel* sy_lfr_n_swf_p;
49 QLabel* sy_lfr_n_asm_p;
50 QLabel* sy_lfr_n_bp_p0;
51 QLabel* sy_lfr_n_bp_p1;
52 //
53 QLabel* sy_lfr_b_bp_p0;
54 QLabel* sy_lfr_b_bp_p1;
55 //
56 QLabel* sy_lfr_s1_bp_p0;
57 QLabel* sy_lfr_s1_bp_p1;
58 //
59 QLabel* sy_lfr_s2_bp_p0;
60 QLabel* sy_lfr_s2_bp_p1;
61
62 QSpinBox* spinbox_sy_lfr_bw;
63 QSpinBox* spinbox_sy_lfr_sp0;
64 QSpinBox* spinbox_sy_lfr_sp1;
65 QSpinBox* spinbox_sy_lfr_r0;
66 QSpinBox* spinbox_sy_lfr_r1;
67 //
68 QSpinBox* spinbox_sy_lfr_n_swf_l;
69 QSpinBox* spinbox_sy_lfr_n_swf_p;
70 QSpinBox* spinbox_sy_lfr_n_asm_p;
71 QSpinBox* spinbox_sy_lfr_n_bp_p0;
72 QSpinBox* spinbox_sy_lfr_n_bp_p1;
73 //
74 QSpinBox* spinbox_sy_lfr_b_bp_p0;
75 QSpinBox* spinbox_sy_lfr_b_bp_p1;
76 //
77 QSpinBox* spinbox_sy_lfr_s1_bp_p0;
78 QSpinBox* spinbox_sy_lfr_s1_bp_p1;
79 //
80 QSpinBox* spinbox_sy_lfr_s2_bp_p0;
81 QSpinBox* spinbox_sy_lfr_s2_bp_p1;
82
83 signals:
84
85 public slots:
86
87
88 };
89
90 #endif // PARAMETERDUMP_H
@@ -0,0 +1,33
1 #include "spectrapacket.h"
2
3 SpectraPacket::SpectraPacket(QObject *parent, unsigned int size) :
4 QObject(parent)
5 {
6 unsigned int i;
7
8 this->nbSamples = size;
9 //
10 s11 = (float*) malloc(sizeof(float) * size);
11 s22 = (float*) malloc(sizeof(float) * size);
12 s33 = (float*) malloc(sizeof(float) * size);
13 s44 = (float*) malloc(sizeof(float) * size);
14 s55 = (float*) malloc(sizeof(float) * size);
15
16 for (i=0; i< size; i++)
17 {
18 s11[i] = 0.;
19 s22[i] = 0.;
20 s33[i] = 0.;
21 s44[i] = 0.;
22 s55[i] = 0.;
23 }
24 }
25
26 SpectraPacket::~SpectraPacket()
27 {
28 free(s11);
29 free(s22);
30 free(s33);
31 free(s44);
32 free(s55);
33 }
@@ -0,0 +1,26
1 #ifndef SPECTRAPACKET_H
2 #define SPECTRAPACKET_H
3
4 #include <QObject>
5 #include <params.h>
6
7 class SpectraPacket : public QObject
8 {
9 Q_OBJECT
10 public:
11 explicit SpectraPacket(QObject *parent = 0, unsigned int size = 0);
12 ~SpectraPacket();
13 unsigned int nbSamples;
14 float *s11;
15 float *s22;
16 float *s33;
17 float *s44;
18 float *s55;
19
20 signals:
21
22 public slots:
23
24 };
25
26 #endif // SPECTRAPACKET_H
This diff has been collapsed as it changes many lines, (580 lines changed) Show them Hide them
@@ -0,0 +1,580
1 #include "pagespectra.h"
2 #include <stdio.h>
3
4 PageSpectra::PageSpectra(QWidget *parent) :
5 QMainWindow(parent)
6 {
7 unsigned int i = 0;
8
9 for (i = 0; i<6; i++)
10 {
11 localIndex[i] = 0;
12 }
13
14 pageTitle = "default";
15 wfPlot_v = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
16 wfPlot_e1 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
17 wfPlot_e2 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
18 wfPlot_b1 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
19 wfPlot_b2 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
20 //
21 wfPlot_v->customPlot->setTitle("s11");
22 wfPlot_e1->customPlot->setTitle("s22");
23 wfPlot_e2->customPlot->setTitle("s33");
24 wfPlot_b1->customPlot->setTitle("s44");
25 wfPlot_b2->customPlot->setTitle("s55");
26 //
27 /*mainLayout = new QGridLayout;
28 mainLayout->addWidget(wfPlot_v, 0, 0, 1, 1);
29 mainLayout->addWidget(wfPlot_e1, 0, 1, 1, 1);
30 mainLayout->addWidget(wfPlot_e2, 0, 2, 1, 1);
31 mainLayout->addWidget(wfPlot_b1, 1, 0, 1, 1);
32 mainLayout->addWidget(wfPlot_b2, 1, 1, 1, 1);
33 mainLayout->addWidget(wfPlot_b3, 1, 2, 1, 1);*/
34 //
35 dockV = NULL;
36 dockE1 = NULL;
37 dockE2 = NULL;
38 dockB1 = NULL;
39 dockB2 = NULL;
40
41 titleWidgetV = new QWidget();
42 titleWidgetE1 = new QWidget();
43 titleWidgetE2 = new QWidget();
44 titleWidgetB1 = new QWidget();
45 titleWidgetB2 = new QWidget();
46
47 logFileName = new QLabel();
48 logFile = new QFile();
49 logFileV = new QFile();
50 logFileE1 = new QFile();
51 logFileE2 = new QFile();
52 logFileB1 = new QFile();
53 logFileB2 = new QFile();
54
55 logFileEn = false;
56 storageEnabledV = false;
57 storageEnabledE1 = false;
58 storageEnabledE2 = false;
59 storageEnabledB1 = false;
60 storageEnabledB2 = false;
61
62 createToolBar();
63 readSettings();
64 }
65
66 void PageSpectra::displayOnPlot(short *data, unsigned char num)
67 {
68 QByteArray dataByteArray;
69 unsigned int i;
70
71 switch(num){
72 case 0:
73 wfPlot_v->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
74 if ( (storageEnabledV == true) && (logFileV->isOpen()) )
75 {
76 for (i=0; i<DEFAULT_SIZE; i++)
77 {
78 dataByteArray.clear();
79 dataByteArray.append(QByteArray::number(localIndex[0]));
80 dataByteArray.append(' ');
81 dataByteArray.append(QByteArray::number(data[i]));
82 *(this->logFileStrmV) << dataByteArray << endl;
83 localIndex[0]++;
84 }
85 }
86 break;
87 case 1:
88 wfPlot_e1->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
89 break;
90 case 2:
91 wfPlot_e2->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
92 break;
93 case 3:
94 wfPlot_b1->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
95 break;
96 case 4:
97 wfPlot_b2->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
98 break;
99 default:
100 break;
101 }
102 }
103
104 void PageSpectra::displayOnPlotFloat(float *data, unsigned char num)
105 {
106 QByteArray dataByteArray;
107 unsigned int i;
108
109 switch(num){
110 case 0:
111 wfPlot_v->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
112 if ( (storageEnabledV == true) && (logFileV->isOpen()) )
113 {
114 for (i=0; i<DEFAULT_SIZE; i++)
115 {
116 dataByteArray.clear();
117 dataByteArray.append(QByteArray::number(localIndex[0]));
118 dataByteArray.append(' ');
119 dataByteArray.append(QByteArray::number(data[i]));
120 *(this->logFileStrmV) << dataByteArray << endl;
121 localIndex[0]++;
122 }
123 }
124 break;
125 case 1:
126 wfPlot_e1->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
127 break;
128 case 2:
129 wfPlot_e2->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
130 break;
131 case 3:
132 wfPlot_b1->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
133 break;
134 case 4:
135 wfPlot_b2->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
136 break;
137 default:
138 break;
139 }
140 }
141
142 void PageSpectra::createToolBar()
143 {
144 radio_v = new QRadioButton(tr("s11"));
145 radio_e1 = new QRadioButton(tr("s22"));
146 radio_e2 = new QRadioButton(tr("s33"));
147 radio_b1 = new QRadioButton(tr("s44"));
148 radio_b2 = new QRadioButton(tr("s44"));
149 radio_tabify = new QRadioButton(tr("tabify"));
150
151 radio_v->setAutoExclusive(false);
152 radio_e1->setAutoExclusive(false);
153 radio_e2->setAutoExclusive(false);
154 radio_b1->setAutoExclusive(false);
155 radio_b2->setAutoExclusive(false);
156 radio_tabify->setAutoExclusive(false);
157
158 button_selectAll = new QPushButton(tr("select all"));
159 button_storeWfrm = new QPushButton(tr("REC"));
160 button_chooseDir = new QPushButton(tr("choose dir"));
161
162 myToolBar = new QToolBar("select");
163
164 myToolBar->addWidget(radio_v);
165 myToolBar->addWidget(radio_e1);
166 myToolBar->addWidget(radio_e2);
167 myToolBar->addWidget(radio_b1);
168 myToolBar->addWidget(radio_b2);
169 myToolBar->addSeparator();
170 myToolBar->addWidget(button_selectAll);
171 myToolBar->addWidget(radio_tabify);
172 myToolBar->addSeparator();
173 myToolBar->addWidget(button_storeWfrm);
174 myToolBar->addWidget(button_chooseDir);
175
176 addToolBar(Qt::LeftToolBarArea, myToolBar);
177
178 radio_tabify->setChecked(true);
179
180 connect(this->radio_v, SIGNAL(clicked(bool)), this, SLOT(actionRadioV(bool)));
181 connect(this->radio_e1, SIGNAL(clicked(bool)), this, SLOT(actionRadioE1(bool)));
182 connect(this->radio_e2, SIGNAL(clicked(bool)), this, SLOT(actionRadioE2(bool)));
183 connect(this->radio_b1, SIGNAL(clicked(bool)), this, SLOT(actionRadioB1(bool)));
184 connect(this->radio_b2, SIGNAL(clicked(bool)), this, SLOT(actionRadioB2(bool)));
185 connect(this->button_selectAll, SIGNAL(clicked()), this, SLOT(selectAll()));
186 connect(this->radio_tabify, SIGNAL(clicked(bool)), this, SLOT(organizeDocks()));
187 connect(this->button_storeWfrm, SIGNAL(clicked()), this, SLOT(storeWfrm()));
188 connect(this->button_chooseDir, SIGNAL(clicked()), this, SLOT(chooseDir()));
189 }
190
191 void PageSpectra::actionRadioV(bool state)
192 {
193 if (state == true)
194 {
195 if (dockV == NULL)
196 {
197 dockV = new QDockWidget("V", this);
198 dockV->setWidget(wfPlot_v);
199 dockV->setTitleBarWidget(titleWidgetV);
200 }
201 }
202 else
203 {
204 this->removeDockWidget(dockV);
205 }
206 organizeDocks();
207 }
208
209 void PageSpectra::actionRadioE1(bool state)
210 {
211 if (state == true)
212 {
213 if (dockE1 == NULL)
214 {
215 dockE1 = new QDockWidget("E1", this);
216 dockE1->setWidget(wfPlot_e1);
217 dockE1->setTitleBarWidget(titleWidgetE1);
218 }
219 }
220 else
221 {
222 this->removeDockWidget(dockE1);
223 }
224 organizeDocks();
225 }
226
227 void PageSpectra::actionRadioE2(bool state)
228 {
229 if (state == true)
230 {
231 if (dockE2 == NULL)
232 {
233 dockE2 = new QDockWidget("E2", this);
234 dockE2->setWidget(wfPlot_e2);
235 dockE2->setTitleBarWidget(titleWidgetE2);
236 }
237 }
238 else
239 {
240 this->removeDockWidget(dockE2);
241 }
242 organizeDocks();
243 }
244
245 void PageSpectra::actionRadioB1(bool state)
246 {
247 if (state == true)
248 {
249 if (dockB1 == NULL)
250 {
251 dockB1 = new QDockWidget("B1", this);
252 dockB1->setWidget(wfPlot_b1);
253 dockB1->setTitleBarWidget(titleWidgetB1);
254 }
255 }
256 else
257 {
258 this->removeDockWidget(dockB1);
259 }
260 organizeDocks();
261 }
262
263 void PageSpectra::actionRadioB2(bool state)
264 {
265 if (state == true)
266 {
267 if (dockB2 == NULL)
268 {
269 dockB2 = new QDockWidget("B2", this);
270 dockB2->setWidget(wfPlot_b2);
271 dockB2->setTitleBarWidget(titleWidgetB2);
272 }
273 }
274 else
275 {
276 this->removeDockWidget(dockB2);
277 }
278 organizeDocks();
279 }
280
281 void PageSpectra::buildDockList()
282 {
283 dockList.clear();
284
285 if (radio_v->isChecked())
286 {
287 dockList.append(dockV);
288 removeDockWidget(dockV);
289 }
290 if (radio_e1->isChecked())
291 {
292 dockList.append(dockE1);
293 removeDockWidget(dockE1);
294 }
295 if (radio_e2->isChecked())
296 {
297 dockList.append(dockE2);
298 removeDockWidget(dockE2);
299 }
300 if (radio_b1->isChecked())
301 {
302 dockList.append(dockB1);
303 removeDockWidget(dockB1);
304 }
305 if (radio_b2->isChecked())
306 {
307 dockList.append(dockB2);
308 removeDockWidget(dockB2);
309 }
310 }
311
312 void PageSpectra::organizeDocks()
313 {
314 if (radio_tabify->isChecked())
315 {
316 tabify();
317 }
318 else
319 {
320 unTabify();
321 }
322 wfPlot_v->resize(wfPlot_v->minimumSizeHint());
323 wfPlot_e1->resize(wfPlot_e1->minimumSizeHint());
324 wfPlot_e2->resize(wfPlot_e2->minimumSizeHint());
325 wfPlot_b1->resize(wfPlot_b1->minimumSizeHint());
326 wfPlot_b2->resize(wfPlot_b2->minimumSizeHint());
327 this->resize(this->minimumSizeHint());
328 }
329
330 void PageSpectra::unTabify()
331 {
332 buildDockList();
333
334 switch(dockList.size())
335 {
336 case 0:
337 break;
338 case 1:
339 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
340 dockList.at(0)->show();
341 break;
342 case 2:
343 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
344 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
345 dockList.at(0)->show();
346 dockList.at(1)->show();
347 break;
348 case 3:
349 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
350 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
351 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2));
352 dockList.at(0)->show();
353 dockList.at(1)->show();
354 dockList.at(2)->show();
355 break;
356 case 4:
357 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
358 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
359 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2));
360 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
361 dockList.at(0)->show();
362 dockList.at(1)->show();
363 dockList.at(2)->show();
364 dockList.at(3)->show();
365 break;
366 case 5:
367 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
368 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
369 addDockWidget(Qt::TopDockWidgetArea, dockList.at(2));
370 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
371 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(4));
372 dockList.at(0)->show();
373 dockList.at(1)->show();
374 dockList.at(2)->show();
375 dockList.at(3)->show();
376 dockList.at(4)->show();
377 break;
378 default:
379 break;
380 }
381 }
382
383 void PageSpectra::tabify()
384 {
385 buildDockList();
386
387 switch(dockList.size())
388 {
389 case 0:
390 break;
391 case 1:
392 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
393 dockList.at(0)->show();
394 break;
395 case 2:
396 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
397 tabifyDockWidget(dockList.at(0), dockList.at(1));
398 dockList.at(0)->show();
399 dockList.at(1)->show();
400 break;
401 case 3:
402 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
403 tabifyDockWidget(dockList.at(0), dockList.at(1));
404 tabifyDockWidget(dockList.at(1), dockList.at(2));
405 dockList.at(0)->show();
406 dockList.at(1)->show();
407 dockList.at(2)->show();
408 break;
409 case 4:
410 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
411 tabifyDockWidget(dockList.at(0), dockList.at(1));
412 tabifyDockWidget(dockList.at(1), dockList.at(2));
413 tabifyDockWidget(dockList.at(2), dockList.at(3));
414 dockList.at(0)->show();
415 dockList.at(1)->show();
416 dockList.at(2)->show();
417 dockList.at(3)->show();
418 break;
419 case 5:
420 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
421 tabifyDockWidget(dockList.at(0), dockList.at(1));
422 tabifyDockWidget(dockList.at(1), dockList.at(2));
423 tabifyDockWidget(dockList.at(2), dockList.at(3));
424 tabifyDockWidget(dockList.at(3), dockList.at(4));
425 dockList.at(0)->show();
426 dockList.at(1)->show();
427 dockList.at(2)->show();
428 dockList.at(3)->show();
429 dockList.at(4)->show();
430 break;
431 case 6:
432 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
433 tabifyDockWidget(dockList.at(0), dockList.at(1));
434 tabifyDockWidget(dockList.at(1), dockList.at(2));
435 tabifyDockWidget(dockList.at(2), dockList.at(3));
436 tabifyDockWidget(dockList.at(3), dockList.at(4));
437 tabifyDockWidget(dockList.at(4), dockList.at(5));
438 dockList.at(0)->show();
439 dockList.at(1)->show();
440 dockList.at(2)->show();
441 dockList.at(3)->show();
442 dockList.at(4)->show();
443 dockList.at(5)->show();
444 break;
445 default:
446 break;
447 }
448 }
449
450 void PageSpectra::selectAll()
451 {
452 radio_v->click();
453 radio_e1->click();
454 radio_e2->click();
455 radio_b1->click();
456 radio_b2->click();
457 }
458
459 void PageSpectra::storeWfrm()
460 {
461 if (logFileEn == false)
462 {
463 buildFileNames();
464 button_storeWfrm->setText(tr("STOP"));
465 logFileEn = true;
466 }
467 else
468 {
469 if(this->logFileV->isOpen()) this->logFileV->close();
470 if(this->logFileE1->isOpen()) this->logFileE1->close();
471 if(this->logFileE2->isOpen()) this->logFileE2->close();
472 // disable all storage
473 storageEnabledV = false;
474 storageEnabledE1 = false;
475 storageEnabledE2 = false;
476 storageEnabledB1 = false;
477 storageEnabledB2 = false;
478 button_storeWfrm->setText(tr("REC"));
479 logFileEn = false;
480 }
481 }
482
483 void PageSpectra::buildFileNames()
484 {
485 QString date;
486 QString time;
487 QString prefix;
488
489 date = QDate::currentDate().toString();
490 time = QTime::currentTime().toString();
491
492 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" + pageTitle ;
493
494 if (radio_v->isChecked())
495 {
496 if(this->logFileV->isOpen()) this->logFileV->close();
497 this->logFileV->setFileName( prefix + "_V.data");
498 if(this->logFileV->open(QIODevice::WriteOnly)) this->logFileStrmV = new QTextStream(this->logFileV);
499 storageEnabledV = true;
500 }
501 if (radio_e1->isChecked())
502 {
503 if(this->logFileE1->isOpen()) this->logFileE1->close();
504 this->logFileE1->setFileName( prefix + "_E1.data");
505 if(this->logFileE1->open(QIODevice::WriteOnly)) this->logFileStrmE1 = new QTextStream(this->logFileE1);
506 storageEnabledE1 = true;
507 }
508 if (radio_e2->isChecked())
509 {
510 if(this->logFileE2->isOpen()) this->logFileE2->close();
511 this->logFileE2->setFileName( prefix + "_E2.data");
512 if(this->logFileE2->open(QIODevice::WriteOnly)) this->logFileStrmE2 = new QTextStream(this->logFileE2);
513 storageEnabledE2 = true;
514 }
515 if (radio_b1->isChecked())
516 {
517
518 }
519 if (radio_b2->isChecked())
520 {
521
522 }
523 }
524
525 void PageSpectra::logFileEnDisable(bool state)
526 {
527 if(state==true)
528 {
529 this->logFileEn = true;
530 }
531 else if(state==false)
532 {
533 this->logFileEn = false;
534 }
535 }
536
537 bool PageSpectra::islogfileenable()
538 {
539 return this->logFileEn;
540 }
541
542 void PageSpectra::appendToLogFile(const QString & text)
543 {
544 if(this->logFileEn && this->logFile->isOpen())
545 {
546 *(this->logFileStrm) << text << endl;
547 }
548 }
549
550 void PageSpectra::closeEvent(QCloseEvent *event)
551 {
552 if(this->logFile->isOpen())
553 {
554 this->logFileStrm->flush();
555 this->logFile->waitForBytesWritten(3000);
556 this->logFile->close();
557 }
558 writeSettings();
559 event->accept();
560 }
561
562 void PageSpectra::readSettings()
563 {
564 QSettings settings("lpp", "lfrsgse");
565 defaultStorageDirectory = settings.value("defaultStorageDirectory", QDir::homePath()).toString();
566 }
567
568 void PageSpectra::writeSettings()
569 {
570 QSettings settings("lpp", "lfrsgse");
571 settings.setValue("defaultStorageDirectory", defaultStorageDirectory);
572 }
573
574 void PageSpectra::chooseDir()
575 {
576 defaultStorageDirectory = QFileDialog::getExistingDirectory(this,
577 "choose the directory",
578 QDir::homePath(),
579 QFileDialog::ShowDirsOnly);
580 }
@@ -0,0 +1,127
1 #ifndef PAGESPECTRA_H
2 #define PAGESPECTRA_H
3
4 #include "wfdisplay_global.h"
5
6 #include <QtGui/QMainWindow>
7 #include <QRadioButton>
8 #include <QPushButton>
9 #include <QDockWidget>
10 #include <QToolBar>
11 #include <QLabel>
12 #include <QFile>
13 #include <QTextStream>
14 #include <QFileDialog>
15 #include <QSettings>
16
17 #include <wfplot.h>
18 #include <wfdisplay_params.h>
19
20 class WFDISPLAYSHARED_EXPORT PageSpectra : public QMainWindow
21 {
22 Q_OBJECT
23 public:
24 explicit PageSpectra(QWidget *parent = 0);
25
26 void createToolBar();
27 void buildDockList();
28 void unTabify();
29 void tabify();
30 // STORE
31 void buildFileNames();
32 bool islogfileenable();
33 void appendToLogFile(const QString & text);
34 void closeEvent(QCloseEvent *event);
35 void readSettings();
36 void writeSettings();
37
38 bool logFileEn;
39 bool storageEnabledV;
40 bool storageEnabledE1;
41 bool storageEnabledE2;
42 bool storageEnabledB1;
43 bool storageEnabledB2;
44
45 QLabel *logFileName;
46 QLabel *logFileNameV;
47 QLabel *logFileNameE1;
48 QLabel *logFileNameE2;
49 QLabel *logFileNameB1;
50 QLabel *logFileNameB2;
51
52 QWidget *titleWidgetV;
53 QWidget *titleWidgetE1;
54 QWidget *titleWidgetE2;
55 QWidget *titleWidgetB1;
56 QWidget *titleWidgetB2;
57
58 QList<QDockWidget*> dockList;
59
60 QDockWidget *dockV;
61 QDockWidget *dockE1;
62 QDockWidget *dockE2;
63 QDockWidget *dockB1;
64 QDockWidget *dockB2;
65
66 QRadioButton *radio_v;
67 QRadioButton *radio_e1;
68 QRadioButton *radio_e2;
69 QRadioButton *radio_b1;
70 QRadioButton *radio_b2;
71 QRadioButton *radio_tabify;
72
73 QPushButton *button_selectAll;
74 QPushButton *button_storeWfrm;
75 QPushButton *button_chooseDir;
76
77 QToolBar *myToolBar;
78
79 WFPlot *wfPlot_v;
80 WFPlot *wfPlot_e1;
81 WFPlot *wfPlot_e2;
82 WFPlot *wfPlot_b1;
83 WFPlot *wfPlot_b2;
84
85 QFile *logFile;
86 QFile *logFileV;
87 QFile *logFileE1;
88 QFile *logFileE2;
89 QFile *logFileB1;
90 QFile *logFileB2;
91
92 QTextStream *logFileStrm;
93 QTextStream *logFileStrmV;
94 QTextStream *logFileStrmE1;
95 QTextStream *logFileStrmE2;
96 QTextStream *logFileStrmB1;
97 QTextStream *logFileStrmB2;
98
99 QString pageTitle;
100 QString defaultStorageDirectory;
101
102 unsigned int localIndex[5];
103
104 //QGridLayout *mainLayout;
105
106 void displayOnPlot(short *data, unsigned char num);
107 void displayOnPlotFloat(float *data, unsigned char num);
108
109 signals:
110 void setLogFileName(QString FileName);
111
112 public slots:
113 void actionRadioV(bool state);
114 void actionRadioE1(bool state);
115 void actionRadioE2(bool state);
116 void actionRadioB1(bool state);
117 void actionRadioB2(bool state);
118 void organizeDocks();
119 void selectAll();
120 void storeWfrm();
121 void logFileEnDisable(bool state);
122 void chooseDir();
123
124
125 };
126
127 #endif // PAGESPECTRA_H
@@ -1,142 +1,142
1 1 #############################################################################
2 2 # Makefile for building: PAULs_LPPMON_PLUGINS
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jun 28 14:04:51 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 24 16:20:32 2013
4 4 # Project: PAULs_LPPMON_PLUGINS.pro
5 5 # Template: subdirs
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
7 7 #############################################################################
8 8
9 9 first: make_default
10 10 MAKEFILE = Makefile
11 11 QMAKE = /usr/bin/qmake-qt4
12 12 DEL_FILE = rm -f
13 13 CHK_DIR_EXISTS= test -d
14 14 MKDIR = mkdir -p
15 15 COPY = cp -f
16 16 COPY_FILE = $(COPY)
17 17 COPY_DIR = $(COPY) -r
18 18 INSTALL_FILE = install -m 644 -p
19 19 INSTALL_PROGRAM = install -m 755 -p
20 20 INSTALL_DIR = $(COPY_DIR)
21 21 DEL_FILE = rm -f
22 22 SYMLINK = ln -f -s
23 23 DEL_DIR = rmdir
24 24 MOVE = mv -f
25 25 CHK_DIR_EXISTS= test -d
26 26 MKDIR = mkdir -p
27 27 SUBTARGETS = \
28 28 sub-rmapplugin
29 29
30 30 rmapplugin/$(MAKEFILE):
31 31 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
32 cd rmapplugin/ && $(QMAKE) /home/admin/opt/LPPMON_PLUGINS_PLE/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
32 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
33 33 sub-rmapplugin-qmake_all: FORCE
34 34 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
35 cd rmapplugin/ && $(QMAKE) /home/admin/opt/LPPMON_PLUGINS_PLE/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
35 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
36 36 sub-rmapplugin: rmapplugin/$(MAKEFILE) FORCE
37 37 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
38 38 sub-rmapplugin-make_default-ordered: rmapplugin/$(MAKEFILE) FORCE
39 39 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
40 40 sub-rmapplugin-make_default: rmapplugin/$(MAKEFILE) FORCE
41 41 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
42 42 sub-rmapplugin-make_first-ordered: rmapplugin/$(MAKEFILE) FORCE
43 43 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
44 44 sub-rmapplugin-make_first: rmapplugin/$(MAKEFILE) FORCE
45 45 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
46 46 sub-rmapplugin-all-ordered: rmapplugin/$(MAKEFILE) FORCE
47 47 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
48 48 sub-rmapplugin-all: rmapplugin/$(MAKEFILE) FORCE
49 49 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
50 50 sub-rmapplugin-clean-ordered: rmapplugin/$(MAKEFILE) FORCE
51 51 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
52 52 sub-rmapplugin-clean: rmapplugin/$(MAKEFILE) FORCE
53 53 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
54 54 sub-rmapplugin-distclean-ordered: rmapplugin/$(MAKEFILE) FORCE
55 55 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
56 56 sub-rmapplugin-distclean: rmapplugin/$(MAKEFILE) FORCE
57 57 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
58 58 sub-rmapplugin-install_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
59 59 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
60 60 sub-rmapplugin-install_subtargets: rmapplugin/$(MAKEFILE) FORCE
61 61 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
62 62 sub-rmapplugin-uninstall_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
63 63 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
64 64 sub-rmapplugin-uninstall_subtargets: rmapplugin/$(MAKEFILE) FORCE
65 65 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
66 66
67 67 Makefile: PAULs_LPPMON_PLUGINS.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
68 68 /usr/lib64/qt4/mkspecs/common/linux.conf \
69 69 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
70 70 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
71 71 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
72 72 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
73 73 /usr/lib64/qt4/mkspecs/qconfig.pri \
74 74 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
75 75 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
76 76 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
77 77 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
78 78 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
79 79 /usr/lib64/qt4/mkspecs/features/release.prf \
80 80 /usr/lib64/qt4/mkspecs/features/default_post.prf \
81 81 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
82 82 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
83 83 /usr/lib64/qt4/mkspecs/features/qt.prf \
84 84 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
85 85 /usr/lib64/qt4/mkspecs/features/moc.prf \
86 86 /usr/lib64/qt4/mkspecs/features/resources.prf \
87 87 /usr/lib64/qt4/mkspecs/features/uic.prf \
88 88 /usr/lib64/qt4/mkspecs/features/yacc.prf \
89 89 /usr/lib64/qt4/mkspecs/features/lex.prf \
90 90 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
91 91 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
92 92 /usr/lib64/qt4/mkspecs/common/unix.conf:
93 93 /usr/lib64/qt4/mkspecs/common/linux.conf:
94 94 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
95 95 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
96 96 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
97 97 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
98 98 /usr/lib64/qt4/mkspecs/qconfig.pri:
99 99 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
100 100 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
101 101 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
102 102 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
103 103 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
104 104 /usr/lib64/qt4/mkspecs/features/release.prf:
105 105 /usr/lib64/qt4/mkspecs/features/default_post.prf:
106 106 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
107 107 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
108 108 /usr/lib64/qt4/mkspecs/features/qt.prf:
109 109 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
110 110 /usr/lib64/qt4/mkspecs/features/moc.prf:
111 111 /usr/lib64/qt4/mkspecs/features/resources.prf:
112 112 /usr/lib64/qt4/mkspecs/features/uic.prf:
113 113 /usr/lib64/qt4/mkspecs/features/yacc.prf:
114 114 /usr/lib64/qt4/mkspecs/features/lex.prf:
115 115 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
116 116 qmake: qmake_all FORCE
117 117 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
118 118
119 119 qmake_all: sub-rmapplugin-qmake_all FORCE
120 120
121 121 make_default: sub-rmapplugin-make_default-ordered FORCE
122 122 make_first: sub-rmapplugin-make_first-ordered FORCE
123 123 all: sub-rmapplugin-all-ordered FORCE
124 124 clean: sub-rmapplugin-clean-ordered FORCE
125 125 distclean: sub-rmapplugin-distclean-ordered FORCE
126 126 -$(DEL_FILE) Makefile
127 127 install_subtargets: sub-rmapplugin-install_subtargets-ordered FORCE
128 128 uninstall_subtargets: sub-rmapplugin-uninstall_subtargets-ordered FORCE
129 129
130 130 sub-rmapplugin-check_ordered: rmapplugin/$(MAKEFILE)
131 131 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) check
132 132 check: sub-rmapplugin-check_ordered
133 133
134 134 mocclean: compiler_moc_header_clean compiler_moc_source_clean
135 135
136 136 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
137 137 install: install_subtargets FORCE
138 138
139 139 uninstall: uninstall_subtargets FORCE
140 140
141 141 FORCE:
142 142
@@ -1,214 +1,195
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-07-09T14:44:30. -->
3 <!-- Written by QtCreator 2.7.0, 2013-07-25T10:36:01. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
14 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 <value type="QString" key="language">Cpp</value>
16 <value type="QByteArray" key="language">Cpp</value>
16 17 <valuemap type="QVariantMap" key="value">
17 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 19 </valuemap>
19 20 </valuemap>
20 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 <value type="QString" key="language">QmlJS</value>
22 <value type="QByteArray" key="language">QmlJS</value>
22 23 <valuemap type="QVariantMap" key="value">
23 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 25 </valuemap>
25 26 </valuemap>
26 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
30 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 45 </valuemap>
44 46 </data>
45 47 <data>
46 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 49 <valuemap type="QVariantMap"/>
48 50 </data>
49 51 <data>
50 52 <variable>ProjectExplorer.Project.Target.0</variable>
51 53 <valuemap type="QVariantMap">
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
55 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
62 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
66 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
67 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 71 </valuemap>
70 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
71 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
76 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 <value type="QString">-w</value>
79 <value type="QString">-r</value>
80 </valuelist>
74 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
76 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 84 </valuemap>
78 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
88 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 89 </valuemap>
83 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
85 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
95 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 <value type="QString">-w</value>
98 <value type="QString">-r</value>
99 </valuelist>
88 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
90 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 103 </valuemap>
92 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
107 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 108 </valuemap>
97 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.3 in PATH (System) Release</value>
112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
114 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/admin/opt/LPPMON_PLUGINS_PLE</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
106 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 118 </valuemap>
108 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
109 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
110 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
112 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
113 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
125 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
115 126 </valuemap>
116 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
117 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
118 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
119 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
130 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
120 131 </valuemap>
121 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
122 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
123 134 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
124 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
125 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
126 135 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
127 136 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
128 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
129 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
130 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
131 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
132 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
133 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
134 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
135 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
136 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
137 141 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
138 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
139 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
140 142 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
141 143 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
142 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
143 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
144 144 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
145 145 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 146 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
149 147 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
150 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
151 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
152 <value type="int">0</value>
153 <value type="int">1</value>
154 <value type="int">2</value>
155 <value type="int">3</value>
156 <value type="int">4</value>
157 <value type="int">5</value>
158 <value type="int">6</value>
159 <value type="int">7</value>
160 <value type="int">8</value>
161 <value type="int">9</value>
162 <value type="int">10</value>
163 <value type="int">11</value>
164 <value type="int">12</value>
165 <value type="int">13</value>
166 <value type="int">14</value>
167 </valuelist>
168 148 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
169 149 <value type="int">0</value>
170 150 <value type="int">1</value>
171 151 <value type="int">2</value>
172 152 <value type="int">3</value>
173 153 <value type="int">4</value>
174 154 <value type="int">5</value>
175 155 <value type="int">6</value>
176 156 <value type="int">7</value>
177 157 <value type="int">8</value>
178 158 <value type="int">9</value>
179 159 <value type="int">10</value>
180 160 <value type="int">11</value>
181 161 <value type="int">12</value>
182 162 <value type="int">13</value>
183 163 <value type="int">14</value>
184 164 </valuelist>
185 165 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
186 166 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
187 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
167 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
188 168 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
189 169 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
190 170 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
191 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
171 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
192 172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
193 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
173 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
194 174 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
195 175 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
176 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
196 177 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
197 178 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
198 179 </valuemap>
199 180 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
200 181 </valuemap>
201 182 </data>
202 183 <data>
203 184 <variable>ProjectExplorer.Project.TargetCount</variable>
204 185 <value type="int">1</value>
205 186 </data>
206 187 <data>
207 188 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
208 <value type="QString">{cdbf9cdc-1e84-406e-889b-c4feef49e75c}</value>
189 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
209 190 </data>
210 191 <data>
211 192 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
212 <value type="int">10</value>
193 <value type="int">12</value>
213 194 </data>
214 195 </qtcreator>
@@ -1,378 +1,409
1 1 #############################################################################
2 # Makefile for building: lfrsgse
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 12 08:12:46 2013
2 # Makefile for building: lfrsgse-dev
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 24 15:57:53 2013
4 4 # Project: gselesia.pro
5 5 # Template: app
6 # Command: /usr/bin/qmake-qt4 -o Makefile gselesia.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 12 CXX = g++
13 13 DEFINES = -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
16 16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../rmapplugin -I../../DEV_PLE/header -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I.
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro
19 19 LIBS = $(SUBLIBS) -L/usr/lib64 -llppmoncommon -lwfdisplay -lqwt5-qt4 -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = ./
43 43
44 44 ####### Files
45 45
46 46 SOURCES = main.cpp \
47 47 mainwindow.cpp \
48 48 mainwindowui.cpp \
49 49 ../common_PLE/qipdialogbox.cpp \
50 50 lfrxmlhandler.cpp \
51 51 lfrxmlwriter.cpp \
52 52 ../rmapplugin/tmstatistics.cpp \
53 53 ../rmapplugin/tmpackettoread.cpp \
54 54 ../rmapplugin/wfpacket.cpp \
55 ../rmapplugin/spectrapacket.cpp \
55 56 ../common_PLE/hkdisplay.cpp \
56 57 lfrxmlparser.cpp \
57 lfrspectrogram.cpp moc_mainwindow.cpp \
58 lfrspectrogram.cpp \
59 parameterdump.cpp moc_mainwindow.cpp \
58 60 moc_mainwindowui.cpp \
59 61 moc_qipdialogbox.cpp \
60 62 moc_lfrxmlhandler.cpp \
61 63 moc_lfrxmlwriter.cpp \
62 64 moc_tmstatistics.cpp \
63 65 moc_tmpackettoread.cpp \
64 66 moc_wfpacket.cpp \
67 moc_spectrapacket.cpp \
65 68 moc_hkdisplay.cpp \
66 69 moc_lfrxmlparser.cpp \
67 moc_lfrspectrogram.cpp
70 moc_lfrspectrogram.cpp \
71 moc_parameterdump.cpp
68 72 OBJECTS = main.o \
69 73 mainwindow.o \
70 74 mainwindowui.o \
71 75 qipdialogbox.o \
72 76 lfrxmlhandler.o \
73 77 lfrxmlwriter.o \
74 78 tmstatistics.o \
75 79 tmpackettoread.o \
76 80 wfpacket.o \
81 spectrapacket.o \
77 82 hkdisplay.o \
78 83 lfrxmlparser.o \
79 84 lfrspectrogram.o \
85 parameterdump.o \
80 86 moc_mainwindow.o \
81 87 moc_mainwindowui.o \
82 88 moc_qipdialogbox.o \
83 89 moc_lfrxmlhandler.o \
84 90 moc_lfrxmlwriter.o \
85 91 moc_tmstatistics.o \
86 92 moc_tmpackettoread.o \
87 93 moc_wfpacket.o \
94 moc_spectrapacket.o \
88 95 moc_hkdisplay.o \
89 96 moc_lfrxmlparser.o \
90 moc_lfrspectrogram.o
97 moc_lfrspectrogram.o \
98 moc_parameterdump.o
91 99 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
92 100 /usr/lib64/qt4/mkspecs/common/linux.conf \
93 101 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
94 102 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
95 103 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
96 104 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
97 105 /usr/lib64/qt4/mkspecs/qconfig.pri \
98 106 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
99 107 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
100 108 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
101 109 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
102 110 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
103 111 /usr/lib64/qt4/mkspecs/features/release.prf \
104 112 /usr/lib64/qt4/mkspecs/features/default_post.prf \
105 113 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
106 114 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
107 115 /usr/lib64/qt4/mkspecs/features/qt.prf \
108 116 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
109 117 /usr/lib64/qt4/mkspecs/features/moc.prf \
110 118 /usr/lib64/qt4/mkspecs/features/resources.prf \
111 119 /usr/lib64/qt4/mkspecs/features/uic.prf \
112 120 /usr/lib64/qt4/mkspecs/features/yacc.prf \
113 121 /usr/lib64/qt4/mkspecs/features/lex.prf \
114 122 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
115 123 gselesia.pro
116 QMAKE_TARGET = lfrsgse
124 QMAKE_TARGET = lfrsgse-dev
117 125 DESTDIR =
118 TARGET = lfrsgse
126 TARGET = lfrsgse-dev
119 127
120 128 first: all
121 129 ####### Implicit rules
122 130
123 131 .SUFFIXES: .o .c .cpp .cc .cxx .C
124 132
125 133 .cpp.o:
126 134 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
127 135
128 136 .cc.o:
129 137 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
130 138
131 139 .cxx.o:
132 140 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
133 141
134 142 .C.o:
135 143 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
136 144
137 145 .c.o:
138 146 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
139 147
140 148 ####### Build rules
141 149
142 150 all: Makefile $(TARGET)
143 151
144 152 $(TARGET): $(OBJECTS)
145 153 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
146 154
147 155 Makefile: gselesia.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
148 156 /usr/lib64/qt4/mkspecs/common/linux.conf \
149 157 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
150 158 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
151 159 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
152 160 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
153 161 /usr/lib64/qt4/mkspecs/qconfig.pri \
154 162 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
155 163 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
156 164 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
157 165 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
158 166 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
159 167 /usr/lib64/qt4/mkspecs/features/release.prf \
160 168 /usr/lib64/qt4/mkspecs/features/default_post.prf \
161 169 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
162 170 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
163 171 /usr/lib64/qt4/mkspecs/features/qt.prf \
164 172 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
165 173 /usr/lib64/qt4/mkspecs/features/moc.prf \
166 174 /usr/lib64/qt4/mkspecs/features/resources.prf \
167 175 /usr/lib64/qt4/mkspecs/features/uic.prf \
168 176 /usr/lib64/qt4/mkspecs/features/yacc.prf \
169 177 /usr/lib64/qt4/mkspecs/features/lex.prf \
170 178 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
171 179 /usr/lib64/libQtXml.prl \
172 180 /usr/lib64/libQtCore.prl \
173 181 /usr/lib64/libQtGui.prl \
174 182 /usr/lib64/libQtNetwork.prl
175 $(QMAKE) -o Makefile gselesia.pro
183 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
176 184 /usr/lib64/qt4/mkspecs/common/unix.conf:
177 185 /usr/lib64/qt4/mkspecs/common/linux.conf:
178 186 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
179 187 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
180 188 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
181 189 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
182 190 /usr/lib64/qt4/mkspecs/qconfig.pri:
183 191 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
184 192 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
185 193 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
186 194 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
187 195 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
188 196 /usr/lib64/qt4/mkspecs/features/release.prf:
189 197 /usr/lib64/qt4/mkspecs/features/default_post.prf:
190 198 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
191 199 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
192 200 /usr/lib64/qt4/mkspecs/features/qt.prf:
193 201 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
194 202 /usr/lib64/qt4/mkspecs/features/moc.prf:
195 203 /usr/lib64/qt4/mkspecs/features/resources.prf:
196 204 /usr/lib64/qt4/mkspecs/features/uic.prf:
197 205 /usr/lib64/qt4/mkspecs/features/yacc.prf:
198 206 /usr/lib64/qt4/mkspecs/features/lex.prf:
199 207 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
200 208 /usr/lib64/libQtXml.prl:
201 209 /usr/lib64/libQtCore.prl:
202 210 /usr/lib64/libQtGui.prl:
203 211 /usr/lib64/libQtNetwork.prl:
204 212 qmake: FORCE
205 @$(QMAKE) -o Makefile gselesia.pro
213 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
206 214
207 215 dist:
208 @$(CHK_DIR_EXISTS) .tmp/lfrsgse1.0.0 || $(MKDIR) .tmp/lfrsgse1.0.0
209 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/lfrsgse1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h ../common_PLE/qipdialogbox.h lfrxmlhandler.h lfrxmlwriter.h ../rmapplugin/tmstatistics.h ../rmapplugin/tmpackettoread.h ../rmapplugin/wfpacket.h ../common_PLE/hkdisplay.h ../rmapplugin/params.h ../../DEV_PLE/header/ccsds_types.h lfrxmlparser.h lfrspectrogram.h .tmp/lfrsgse1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp ../common_PLE/qipdialogbox.cpp lfrxmlhandler.cpp lfrxmlwriter.cpp ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmpackettoread.cpp ../rmapplugin/wfpacket.cpp ../common_PLE/hkdisplay.cpp lfrxmlparser.cpp lfrspectrogram.cpp .tmp/lfrsgse1.0.0/ && (cd `dirname .tmp/lfrsgse1.0.0` && $(TAR) lfrsgse1.0.0.tar lfrsgse1.0.0 && $(COMPRESS) lfrsgse1.0.0.tar) && $(MOVE) `dirname .tmp/lfrsgse1.0.0`/lfrsgse1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/lfrsgse1.0.0
216 @$(CHK_DIR_EXISTS) .tmp/lfrsgse-dev1.0.0 || $(MKDIR) .tmp/lfrsgse-dev1.0.0
217 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/lfrsgse-dev1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h ../common_PLE/qipdialogbox.h lfrxmlhandler.h lfrxmlwriter.h ../rmapplugin/tmstatistics.h ../rmapplugin/tmpackettoread.h ../rmapplugin/wfpacket.h ../rmapplugin/spectrapacket.h ../common_PLE/hkdisplay.h ../rmapplugin/params.h ../../DEV_PLE/header/ccsds_types.h lfrxmlparser.h lfrspectrogram.h parameterdump.h .tmp/lfrsgse-dev1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp ../common_PLE/qipdialogbox.cpp lfrxmlhandler.cpp lfrxmlwriter.cpp ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmpackettoread.cpp ../rmapplugin/wfpacket.cpp ../rmapplugin/spectrapacket.cpp ../common_PLE/hkdisplay.cpp lfrxmlparser.cpp lfrspectrogram.cpp parameterdump.cpp .tmp/lfrsgse-dev1.0.0/ && (cd `dirname .tmp/lfrsgse-dev1.0.0` && $(TAR) lfrsgse-dev1.0.0.tar lfrsgse-dev1.0.0 && $(COMPRESS) lfrsgse-dev1.0.0.tar) && $(MOVE) `dirname .tmp/lfrsgse-dev1.0.0`/lfrsgse-dev1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/lfrsgse-dev1.0.0
210 218
211 219
212 220 clean:compiler_clean
213 221 -$(DEL_FILE) $(OBJECTS)
214 222 -$(DEL_FILE) *~ core *.core
215 223
216 224
217 225 ####### Sub-libraries
218 226
219 227 distclean: clean
220 228 -$(DEL_FILE) $(TARGET)
221 229 -$(DEL_FILE) Makefile
222 230
223 231
224 232 check: first
225 233
226 234 mocclean: compiler_moc_header_clean compiler_moc_source_clean
227 235
228 236 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
229 237
230 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp moc_lfrspectrogram.cpp
238 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_spectrapacket.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp moc_lfrspectrogram.cpp moc_parameterdump.cpp
231 239 compiler_moc_header_clean:
232 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp moc_lfrspectrogram.cpp
240 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_spectrapacket.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp moc_lfrspectrogram.cpp moc_parameterdump.cpp
233 241 moc_mainwindow.cpp: lfrxmlhandler.h \
234 242 lfrxmlwriter.h \
235 243 mainwindowui.h \
236 244 lfrspectrogram.h \
245 parameterdump.h \
237 246 lfrxmlparser.h \
238 247 mainwindow.h
239 248 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
240 249
241 250 moc_mainwindowui.cpp: lfrspectrogram.h \
251 parameterdump.h \
242 252 mainwindowui.h
243 253 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindowui.h -o moc_mainwindowui.cpp
244 254
245 255 moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
246 256 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc_qipdialogbox.cpp
247 257
248 258 moc_lfrxmlhandler.cpp: lfrxmlhandler.h
249 259 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlhandler.h -o moc_lfrxmlhandler.cpp
250 260
251 261 moc_lfrxmlwriter.cpp: lfrxmlwriter.h
252 262 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlwriter.h -o moc_lfrxmlwriter.cpp
253 263
254 264 moc_tmstatistics.cpp: ../rmapplugin/tmstatistics.h
255 265 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmstatistics.h -o moc_tmstatistics.cpp
256 266
257 267 moc_tmpackettoread.cpp: ../rmapplugin/tmpackettoread.h
258 268 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmpackettoread.h -o moc_tmpackettoread.cpp
259 269
260 270 moc_wfpacket.cpp: ../rmapplugin/wfpacket.h
261 271 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/wfpacket.h -o moc_wfpacket.cpp
262 272
273 moc_spectrapacket.cpp: ../rmapplugin/spectrapacket.h
274 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/spectrapacket.h -o moc_spectrapacket.cpp
275
263 276 moc_hkdisplay.cpp: ../common_PLE/hkdisplay.h
264 277 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/hkdisplay.h -o moc_hkdisplay.cpp
265 278
266 279 moc_lfrxmlparser.cpp: lfrxmlparser.h
267 280 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlparser.h -o moc_lfrxmlparser.cpp
268 281
269 282 moc_lfrspectrogram.cpp: lfrspectrogram.h
270 283 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrspectrogram.h -o moc_lfrspectrogram.cpp
271 284
285 moc_parameterdump.cpp: parameterdump.h
286 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) parameterdump.h -o moc_parameterdump.cpp
287
272 288 compiler_rcc_make_all:
273 289 compiler_rcc_clean:
274 290 compiler_image_collection_make_all: qmake_image_collection.cpp
275 291 compiler_image_collection_clean:
276 292 -$(DEL_FILE) qmake_image_collection.cpp
277 293 compiler_moc_source_make_all:
278 294 compiler_moc_source_clean:
279 295 compiler_uic_make_all:
280 296 compiler_uic_clean:
281 297 compiler_yacc_decl_make_all:
282 298 compiler_yacc_decl_clean:
283 299 compiler_yacc_impl_make_all:
284 300 compiler_yacc_impl_clean:
285 301 compiler_lex_make_all:
286 302 compiler_lex_clean:
287 303 compiler_clean: compiler_moc_header_clean
288 304
289 305 ####### Compile
290 306
291 307 main.o: main.cpp mainwindow.h \
292 308 lfrxmlhandler.h \
293 309 lfrxmlwriter.h \
294 310 mainwindowui.h \
295 311 lfrspectrogram.h \
312 parameterdump.h \
296 313 lfrxmlparser.h
297 314 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
298 315
299 316 mainwindow.o: mainwindow.cpp mainwindow.h \
300 317 lfrxmlhandler.h \
301 318 lfrxmlwriter.h \
302 319 mainwindowui.h \
303 320 lfrspectrogram.h \
321 parameterdump.h \
304 322 lfrxmlparser.h
305 323 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
306 324
307 325 mainwindowui.o: mainwindowui.cpp mainwindowui.h \
308 lfrspectrogram.h
326 lfrspectrogram.h \
327 parameterdump.h
309 328 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindowui.o mainwindowui.cpp
310 329
311 330 qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
312 331 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qipdialogbox.o ../common_PLE/qipdialogbox.cpp
313 332
314 333 lfrxmlhandler.o: lfrxmlhandler.cpp lfrxmlhandler.h
315 334 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlhandler.o lfrxmlhandler.cpp
316 335
317 336 lfrxmlwriter.o: lfrxmlwriter.cpp lfrxmlwriter.h
318 337 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlwriter.o lfrxmlwriter.cpp
319 338
320 339 tmstatistics.o: ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmstatistics.h
321 340 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmstatistics.o ../rmapplugin/tmstatistics.cpp
322 341
323 342 tmpackettoread.o: ../rmapplugin/tmpackettoread.cpp ../rmapplugin/tmpackettoread.h
324 343 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmpackettoread.o ../rmapplugin/tmpackettoread.cpp
325 344
326 345 wfpacket.o: ../rmapplugin/wfpacket.cpp ../rmapplugin/wfpacket.h
327 346 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpacket.o ../rmapplugin/wfpacket.cpp
328 347
348 spectrapacket.o: ../rmapplugin/spectrapacket.cpp ../rmapplugin/spectrapacket.h
349 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o spectrapacket.o ../rmapplugin/spectrapacket.cpp
350
329 351 hkdisplay.o: ../common_PLE/hkdisplay.cpp ../common_PLE/hkdisplay.h
330 352 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o hkdisplay.o ../common_PLE/hkdisplay.cpp
331 353
332 354 lfrxmlparser.o: lfrxmlparser.cpp lfrxmlparser.h
333 355 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlparser.o lfrxmlparser.cpp
334 356
335 357 lfrspectrogram.o: lfrspectrogram.cpp lfrspectrogram.h
336 358 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrspectrogram.o lfrspectrogram.cpp
337 359
360 parameterdump.o: parameterdump.cpp parameterdump.h
361 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o parameterdump.o parameterdump.cpp
362
338 363 moc_mainwindow.o: moc_mainwindow.cpp
339 364 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
340 365
341 366 moc_mainwindowui.o: moc_mainwindowui.cpp
342 367 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindowui.o moc_mainwindowui.cpp
343 368
344 369 moc_qipdialogbox.o: moc_qipdialogbox.cpp
345 370 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qipdialogbox.o moc_qipdialogbox.cpp
346 371
347 372 moc_lfrxmlhandler.o: moc_lfrxmlhandler.cpp
348 373 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlhandler.o moc_lfrxmlhandler.cpp
349 374
350 375 moc_lfrxmlwriter.o: moc_lfrxmlwriter.cpp
351 376 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlwriter.o moc_lfrxmlwriter.cpp
352 377
353 378 moc_tmstatistics.o: moc_tmstatistics.cpp
354 379 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmstatistics.o moc_tmstatistics.cpp
355 380
356 381 moc_tmpackettoread.o: moc_tmpackettoread.cpp
357 382 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmpackettoread.o moc_tmpackettoread.cpp
358 383
359 384 moc_wfpacket.o: moc_wfpacket.cpp
360 385 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfpacket.o moc_wfpacket.cpp
361 386
387 moc_spectrapacket.o: moc_spectrapacket.cpp
388 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_spectrapacket.o moc_spectrapacket.cpp
389
362 390 moc_hkdisplay.o: moc_hkdisplay.cpp
363 391 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_hkdisplay.o moc_hkdisplay.cpp
364 392
365 393 moc_lfrxmlparser.o: moc_lfrxmlparser.cpp
366 394 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlparser.o moc_lfrxmlparser.cpp
367 395
368 396 moc_lfrspectrogram.o: moc_lfrspectrogram.cpp
369 397 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrspectrogram.o moc_lfrspectrogram.cpp
370 398
399 moc_parameterdump.o: moc_parameterdump.cpp
400 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_parameterdump.o moc_parameterdump.cpp
401
371 402 ####### Install
372 403
373 404 install: FORCE
374 405
375 406 uninstall: FORCE
376 407
377 408 FORCE:
378 409
@@ -1,52 +1,56
1 1 #-------------------------------------------------
2 2 #
3 3 # Project created by QtCreator 2013-05-03T14:05:02
4 4 #
5 5 #-------------------------------------------------
6 6
7 7 QT += core gui
8 8 QT += network
9 9 QT += xml
10 10
11 TARGET = lfrsgse
11 TARGET = lfrsgse-dev
12 12 TEMPLATE = app
13 13
14 14 INCLUDEPATH += \
15 15 $${PWD} \
16 16 ../common_PLE \
17 17 ../rmapplugin \
18 18 ../../DEV_PLE/header \
19 19 $$[QT_INSTALL_HEADERS]/lppmon/common \
20 20 $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay
21 21
22 22 LIBS += -llppmoncommon -lwfdisplay -lqwt5-qt4
23 23
24 24 SOURCES += main.cpp\
25 25 mainwindow.cpp \
26 26 mainwindowui.cpp \
27 27 ../common_PLE/qipdialogbox.cpp \
28 28 lfrxmlhandler.cpp \
29 29 lfrxmlwriter.cpp \
30 30 ../rmapplugin/tmstatistics.cpp \
31 31 ../rmapplugin/tmpackettoread.cpp \
32 32 ../rmapplugin/wfpacket.cpp \
33 ../rmapplugin/spectrapacket.cpp \
33 34 ../common_PLE/hkdisplay.cpp \
34 35 lfrxmlparser.cpp \
35 lfrspectrogram.cpp
36 lfrspectrogram.cpp \
37 parameterdump.cpp
36 38
37 39 HEADERS += mainwindow.h \
38 40 mainwindowui.h \
39 41 ../common_PLE/qipdialogbox.h \
40 42 lfrxmlhandler.h \
41 43 lfrxmlwriter.h \
42 44 ../rmapplugin/tmstatistics.h \
43 45 ../rmapplugin/tmpackettoread.h \
44 46 ../rmapplugin/wfpacket.h \
47 ../rmapplugin/spectrapacket.h \
45 48 ../common_PLE/hkdisplay.h \
46 49 ../rmapplugin/params.h \
47 50 ../../DEV_PLE/header/ccsds_types.h \
48 51 lfrxmlparser.h \
49 lfrspectrogram.h
52 lfrspectrogram.h \
53 parameterdump.h
50 54
51 55
52 56
@@ -1,215 +1,196
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-07-12T14:03:51. -->
3 <!-- Written by QtCreator 2.7.0, 2013-07-25T10:23:24. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
14 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 <value type="QString" key="language">Cpp</value>
16 <value type="QByteArray" key="language">Cpp</value>
16 17 <valuemap type="QVariantMap" key="value">
17 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 19 </valuemap>
19 20 </valuemap>
20 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 <value type="QString" key="language">QmlJS</value>
22 <value type="QByteArray" key="language">QmlJS</value>
22 23 <valuemap type="QVariantMap" key="value">
23 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 25 </valuemap>
25 26 </valuemap>
26 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
30 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 45 </valuemap>
44 46 </data>
45 47 <data>
46 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 49 <valuemap type="QVariantMap"/>
48 50 </data>
49 51 <data>
50 52 <variable>ProjectExplorer.Project.Target.0</variable>
51 53 <valuemap type="QVariantMap">
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
55 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
62 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
66 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
67 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 71 </valuemap>
70 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
71 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
76 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 <value type="QString">-w</value>
79 <value type="QString">-r</value>
80 </valuelist>
74 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
76 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 84 </valuemap>
78 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
88 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 89 </valuemap>
83 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
85 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
95 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 <value type="QString">-w</value>
98 <value type="QString">-r</value>
99 </valuelist>
88 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
90 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 103 </valuemap>
92 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
107 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 108 </valuemap>
97 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.3 in PATH (System) Release</value>
112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
114 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/admin/opt/LPPMON_PLUGINS_PLE/gse_lesia</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/gse_lesia</value>
106 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 118 </valuemap>
108 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
109 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
110 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
112 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
113 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
125 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
115 126 </valuemap>
116 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
117 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
118 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
119 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
130 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
120 131 </valuemap>
121 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
122 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
123 134 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
124 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
125 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
126 135 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
127 136 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
128 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
129 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
130 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
131 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
132 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
133 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
134 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
135 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
136 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
137 141 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
138 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
139 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
140 142 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
141 143 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
142 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
143 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
144 144 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
145 145 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 146 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
149 147 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
150 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
151 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
152 <value type="int">0</value>
153 <value type="int">1</value>
154 <value type="int">2</value>
155 <value type="int">3</value>
156 <value type="int">4</value>
157 <value type="int">5</value>
158 <value type="int">6</value>
159 <value type="int">7</value>
160 <value type="int">8</value>
161 <value type="int">9</value>
162 <value type="int">10</value>
163 <value type="int">11</value>
164 <value type="int">12</value>
165 <value type="int">13</value>
166 <value type="int">14</value>
167 </valuelist>
168 148 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
169 149 <value type="int">0</value>
170 150 <value type="int">1</value>
171 151 <value type="int">2</value>
172 152 <value type="int">3</value>
173 153 <value type="int">4</value>
174 154 <value type="int">5</value>
175 155 <value type="int">6</value>
176 156 <value type="int">7</value>
177 157 <value type="int">8</value>
178 158 <value type="int">9</value>
179 159 <value type="int">10</value>
180 160 <value type="int">11</value>
181 161 <value type="int">12</value>
182 162 <value type="int">13</value>
183 163 <value type="int">14</value>
184 164 </valuelist>
185 165 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">gselesia</value>
186 166 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
187 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
167 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/LPPMON_PLUGINS_PAUL/gse_lesia/gselesia.pro</value>
188 168 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
189 169 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
190 170 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">gselesia.pro</value>
191 171 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
192 172 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
193 173 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
194 174 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
195 175 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
196 176 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
177 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
197 178 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
198 179 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
199 180 </valuemap>
200 181 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
201 182 </valuemap>
202 183 </data>
203 184 <data>
204 185 <variable>ProjectExplorer.Project.TargetCount</variable>
205 186 <value type="int">1</value>
206 187 </data>
207 188 <data>
208 189 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
209 <value type="QString">{cdbf9cdc-1e84-406e-889b-c4feef49e75c}</value>
190 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
210 191 </data>
211 192 <data>
212 193 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
213 <value type="int">10</value>
194 <value type="int">12</value>
214 195 </data>
215 196 </qtcreator>
1 NO CONTENT: modified file, binary diff hidden
@@ -1,580 +1,542
1 1 #include "mainwindow.h"
2 2 #include <iostream>
3 3 #include <QNetworkInterface>
4 4
5 5 MainWindow::MainWindow(QWidget *parent)
6 6 : QMainWindow(parent)
7 7 {
8 8 parsingContinue = false;
9 9 totalOfBytes = 0;
10 10 totalOfPackets = 0;
11 11
12 spectraPacketNormalSpectrumF0 = new SpectraPacket(this, 128);
13
12 14 //****
13 15 // XML
14 16 // xml handlers
15 17 xmlHandler = new LFRXmlHandler();
16 18 // xml sources
17 19 sourceTC = new QXmlInputSource();
18 20 // xml writer
19 21 lfrXmlWriter = new LFRXmlWriter();
20 22 // setup xml parser for the echo bridge
21 23 lfrXmlParser = new LFRXmlParser();
22 24
23 25 UI = new MainWindowUI();
24 26 readSettings();
25 27 this->UI->serverTMEchoDialogBox->setIP(echoBridgeIP0, echoBridgeIP1, echoBridgeIP2, echoBridgeIP3);
26 28
27 29 lfrXmlParser->generalCCSDSPacketStore = &this->generalCCSDSPacketStore;
28 30
29 31 initSocketStatesList();
30 32
31 33 this->setCentralWidget(this->UI);
32 34 //this->setLayout(UI->layout());
33 35
34 36 analyserSGSEServerTC = new QTcpServer();
35 37 analyserSGSEServerTM = new QTcpServer();
36 38
37 39 socketTC = NULL;
38 40 socketTM = NULL;
39 41 socketEchoServer = new QTcpSocket();
40 42
41 43 connect(this->UI->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTCTMPorts()));
42 44 connect(this->UI->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTCTMPorts()));
43 45 connect(this->UI->button_openSocketEchoServer, SIGNAL(clicked()), this, SLOT(openEchoServer()));
44 46 //
45 47 connect(this->analyserSGSEServerTC, SIGNAL(newConnection()), this, SLOT(newConnectionOnTCServer()));
46 48 connect(this->analyserSGSEServerTM, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMServer()));
47 49 //
48 50 connect(this, SIGNAL(socketTMHasChanged(QTcpSocket*)), this->lfrXmlWriter, SLOT(setSocketTM(QTcpSocket*)));
49 51 connect(this->UI->button_TCAcknowledgement, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_Acknowledgment()));
50 52 connect(this->UI->button_TCRejection, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_rejection()));
51 53 connect(this->UI->button_GSEHK, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_GSE_HK()));
52 54
53 55 // socket echo server
54 56 connect(this->socketEchoServer, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
55 57 this, SLOT(socket_TMEcho_ServerHasChanged()));
56 58 connect(this->socketEchoServer, SIGNAL(readyRead()),
57 59 this, SLOT(readDataOnSocketEchoServer()));
58 60
59 61 // display on console
60 62 connect(this->xmlHandler, SIGNAL(displayMessage(QString)),
61 63 this, SLOT(displayOnConsole(QString)));
62 64 connect(this->UI->hkDisplay, SIGNAL(displayMessage(QString)),
63 65 this, SLOT(displayOnConsole(QString)));
64 66 connect(this->lfrXmlParser, SIGNAL(sendMessage(QString)),
65 67 this, SLOT(displayOnConsole(QString)));
66 68 //
67 69 connect(this->lfrXmlParser, SIGNAL(processPacketStore()),
68 70 this, SLOT(processPacketStore()));
69 71 //
70 72 connect(this->UI->button_resetStatistics, SIGNAL(clicked()),
71 73 this, SLOT(resetStatistics()));
72 74
73 75 displayNetworkInterfaces();
74 76
75 77 this->xmlHandler->packetStoreHasChanged(&generalCCSDSPacketStore);
76 78 };
77 79
78 80 MainWindow::~MainWindow()
79 81 {
80 82
81 83 }
82 84
83 85 void MainWindow::displayNetworkInterfaces()
84 86 {
85 87 QList<QHostAddress> list = QNetworkInterface::allAddresses();
86 88 this->displayOnConsole("Network interfaces:");
87 89 for(int nIter=0; nIter<list.count(); nIter++)
88 90 {
89 91 this->UI->displayOnConsole(list[nIter].toString());
90 92 }
91 93 }
92 94
93 95 void MainWindow::listenOnTCTMPorts()
94 96 {
95 97 QString str;
96 98
97 99 //***
98 100 // TC
99 101 analyserSGSEServerTC->listen(QHostAddress::Any, this->UI->getTCPort());
100 102 str = analyserSGSEServerTC->errorString();
101 103 if (!str.isEmpty())
102 104 {
103 105 this->displayOnConsole(str);
104 106 }
105 107 this->displayOnConsole("Listening TC on port "
106 108 + QString::number(this->UI->getTCPort())
107 109 );
108 110
109 111 //***
110 112 // TM
111 113 analyserSGSEServerTM->listen(QHostAddress::Any, this->UI->getTMPort());
112 114 str = analyserSGSEServerTM->errorString();
113 115 if (!str.isEmpty())
114 116 {
115 117 this->displayOnConsole(str);
116 118 }
117 119 this->displayOnConsole("Listening TM on port "
118 120 + QString::number(this->UI->getTMPort())
119 121 );
120 122 }
121 123
122 124 void MainWindow::testTCTMPorts()
123 125 {
124 126 if (socketTC != NULL)
125 127 {
126 128 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
127 129 }
128 130 else
129 131 {
130 132 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
131 133 }
132 134 if (socketTM != NULL)
133 135 {
134 136 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
135 137 }
136 138 else
137 139 {
138 140 this->displayOnConsole("TM socket *** not tested, (socketTM) is NULL" );
139 141 }
140 142 }
141 143
142 144 void MainWindow::newConnectionOnTCServer()
143 145 {
144 146 this->displayOnConsole("got new connection on TC port");
145 147 socketTC = analyserSGSEServerTC->nextPendingConnection();
146 148 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
147 149 connect(this->socketTC, SIGNAL(readyRead()), this, SLOT(readDataOnTCPort()));
148 150 }
149 151
150 152 void MainWindow::newConnectionOnTMServer()
151 153 {
152 154 this->displayOnConsole("got new connection on TM port");
153 155 socketTM = analyserSGSEServerTM->nextPendingConnection();
154 156 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
155 157 connect(this->socketTM, SIGNAL(readyRead()), this, SLOT(readDataOnTMPort()));
156 158
157 159 emit socketTMHasChanged(this->socketTM);
158 160 }
159 161
160 162 void MainWindow::readDataOnTCPort()
161 163 {
162 164 bool ok;
163 165 int nbBytesAvailable = 0;
164 166
165 167 nbBytesAvailable = socketTC->bytesAvailable();
166 168 buffer = (char *) malloc(nbBytesAvailable);
167 169 socketTC->read(buffer, nbBytesAvailable);
168 170
169 171 this->displayOnConsole("readDataOnTCPort *** "
170 172 + QString::number(nbBytesAvailable)
171 173 + " read");
172 174
173 175 QByteArray xmlData( buffer, nbBytesAvailable);
174 176
175 177 free(buffer);
176 178
177 179 sourceTC->setData( xmlData );
178 180
179 181 xmlReader.setContentHandler(xmlHandler);
180 182 xmlReader.setErrorHandler(xmlHandler);
181 183
182 184 ok = xmlReader.parse(sourceTC);
183 185 if (!ok) {
184 186 std::cout << "Parsing failed." << std::endl;
185 187 }
186 188 else {
187 189 QStringList names = xmlHandler->names();
188 190 QList<int> indentations = xmlHandler->indentations();
189 191
190 192 int items = names.count();
191 193
192 194 for (int i = 0; i < items; ++i) {
193 195 displayOnConsole(
194 196 names[i]
195 197 + " --- identations: "
196 198 + QString::number(indentations[i]));
197 199 }
198 200 }
199 201 }
200 202
201 203 void MainWindow::readDataOnTMPort()
202 204 {
203 205 this->displayOnConsole("TM data received, begin parsing");
204 206 }
205 207
206 208 void MainWindow::readDataOnSocketEchoServer()
207 209 {
208 210 QString dataString;
209 211
210 212 dataArray.append(socketEchoServer->readAll());
211 213 dataString = QString::fromAscii(dataArray);
212 214 this->lfrXmlParser->processIncomingStr(dataString);
213 215 dataArray.clear();
214 216 }
215 217
216 218 void MainWindow::displayOnConsole(QString message)
217 219 {
218 220 this->UI->displayOnConsole( message );
219 221 }
220 222
221 223 void MainWindow::initSocketStatesList()
222 224 {
223 225 socketStates.append("The socket is not connected");
224 226 socketStates.append("The socket is performing a host name lookup");
225 227 socketStates.append("The socket has started establishing a connection");
226 228 socketStates.append("A connection is established");
227 229 socketStates.append("The socket is bound to an address and port (for servers)");
228 230 socketStates.append("The socket is about to close (data may still be waiting to be written)");
229 231 socketStates.append("For internal use only");
230 232 }
231 233
232 234 void MainWindow::openEchoServer()
233 235 {
234 236 socketEchoServer->connectToHost(this->UI->serverTMEchoDialogBox->getIP(),
235 237 this->UI->spinbox_serverTMEchoPort->value());
236 238 //socketEchoServer->open();
237 239 }
238 240
239 241 void MainWindow::socket_TMEcho_ServerHasChanged()
240 242 {
241 243 this->displayOnConsole("TM Echo Socket socket *** " + socketStates.at(socketEchoServer->state()) );
242 244 }
243 245
244 246 void MainWindow::preProcessPacket(TMPacketToRead *packet)
245 247 {
246 248 unsigned char pid = 0;
247 249 unsigned char cat = 0;
248 250 unsigned char typ = 0;
249 251 unsigned char sub = 0;
250 252 unsigned int sid = 0;
251 253 unsigned int length = 0;
252 254 unsigned int coarse_t = 0;
253 255 unsigned int fine_t = 0;
254 256
255 257 //*********************************
256 258 // get the parameters of the packet
257 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
258 cat = packet->Value[5] & 0x0f;
259 typ = packet->Value[11]; // TYPE
260 sub = packet->Value[12]; // SUBTYPE
261 sid = 0;
262 length = packet->Value[8] * 256 + packet->Value[9];
259 pid = this->UI->tmStatistics->getPID( packet );
260 cat = this->UI->tmStatistics->getCAT( packet );
261 typ = this->UI->tmStatistics->getTYPE( packet );
262 sub = this->UI->tmStatistics->getSUBTYPE( packet );
263 length = this->UI->tmStatistics->getLENGTH( packet );
264 coarse_t = this->UI->tmStatistics->getCoarseTime( packet );
265 fine_t = this->UI->tmStatistics->getFineTime( packet );
266 sid = this->UI->tmStatistics->getSID( packet, pid, cat, typ, sub );
267
268 this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
269
263 270 // compare length in the packet with the size of the packet
264 271 if ( (length + 1 + 10) != (packet->size))
265 272 {
266 273 displayOnConsole("reception of " + QString::number(packet->size)
267 274 + " bytes instead of " + QString::number(length + 1 + 10));
268 275 }
269 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
270 + packet->Value[16] * pow(2, 8) + packet->Value[17];
271 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
272
273 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
274 sid = packet->Value[20] * 256 + packet->Value[21];
275 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
276 sid = 1;
277 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
278 sid = packet->Value[20];
279 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
280 sid = packet->Value[20];
281
282 this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
283 276
284 277 //***************************************************
285 278 // if the packet is an HK packet, display its content
286 if ( (pid == 76) & (cat == 4) & (typ == TYPE_HK) & (sub == SUBTYPE_HK) )
279 if ( (pid == 76) & (cat == 4) & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK) )
287 280 {
288 281 this->UI->hkDisplay->displayPacket(packet);
289 282 }
290 283
284 //**************************************************************
285 // if the packet is a parameter dump packet, display its content
286 if ( (pid == 76) & (cat == 9) & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP) )
287 {
288 //this->UI->parameterDump->updateParameterDump(packet);
289 }
290
291 291 //****************************************
292 292 // if the packet is a waveform, display it
293 if ( (typ == 21) & (sub == 3) )
293 if ( (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE) )
294 294 {
295 295 sid = packet->Value[20]; // SID
296 296 switch (sid){
297 case SID_NORMAL_SWF_F0:
298 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
299 break;
300 case SID_NORMAL_SWF_F1:
301 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
302 break;
303 case SID_NORMAL_SWF_F2:
304 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
305 break;
306 case SID_NORMAL_CWF_F3:
307 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
308 break;
309 case SID_BURST_CWF_F2:
310 buildWFAndDisplayBurst(packet, &wfPacketBurst);
311 break;
312 case SID_SBM1_CWF_F1:
313 buildWFAndDisplaySBM1(packet, &wfPacketSBM1);
314 break;
315 case SID_SBM2_CWF_F2:
316 buildWFAndDisplaySBM2(packet, &wfPacketSBM2);
317 break;
318 }
319 }
320 }
321
322 void MainWindow::preProcessPacketLESIA(TMPacketToRead *packet)
323 {
324 unsigned char pid = 0;
325 unsigned char cat = 0;
326 unsigned char typ = 0;
327 unsigned char sub = 0;
328 unsigned int sid = 0;
329 unsigned int length = 0;
330 unsigned int coarse_t = 0;
331 unsigned int fine_t = 0;
332
333 unsigned int offset;
334
335 offset = 4;
336
337 //*********************************
338 // get the parameters of the packet
339 pid = ((packet->Value[4-offset] & 0x07) << 4) + ((packet->Value[5-offset] & 0xf0) >> 4);
340 cat = packet->Value[5-offset] & 0x0f;
341 typ = packet->Value[11-offset]; // TYPE
342 sub = packet->Value[12-offset]; // SUBTYPE
343 sid = 0;
344 length = packet->Value[8-offset] * 256 + packet->Value[9-offset];
345 // compare length in the packet with the size of the packet
346 if ( (length + 1 + 6) != (packet->size))
347 {
348 displayOnConsole("reception of " + QString::number(packet->size)
349 + " bytes instead of " + QString::number(length + 1 + 6));
350 }
351 coarse_t = packet->Value[14-offset] * pow(2, 24) + packet->Value[15-offset] * pow(2, 16)
352 + packet->Value[16-offset] * pow(2, 8) + packet->Value[17-offset];
353 fine_t = packet->Value[18-offset] * pow(2, 8) + packet->Value[19-offset];
354
355 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
356 sid = packet->Value[20-offset] * 256 + packet->Value[21-offset];
357 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
358 sid = 1;
359 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
360 sid = packet->Value[20-offset];
361 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
362 sid = packet->Value[20-offset];
363
364 this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
365
366 //***************************************************
367 // if the packet is an HK packet, display its content
368 if ( (pid == 76) & (4) & (typ == TYPE_HK) & (sub == SUBTYPE_HK) )
369 {
370 this->UI->hkDisplay->displayPacketLESIA(packet);
371 }
372
373 //****************************************
374 // if the packet is a waveform, display it
375 if ( (typ == 21) & (sub == 3) )
376 {
377 sid = packet->Value[20-offset]; // SID
378 switch (sid){
379 case SID_NORMAL_SWF_F0:
380 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
381 break;
382 case SID_NORMAL_SWF_F1:
383 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
384 break;
385 case SID_NORMAL_SWF_F2:
386 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
387 break;
388 case SID_NORMAL_CWF_F3:
389 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
390 break;
391 case SID_BURST_CWF_F2:
392 buildWFAndDisplayBurst(packet, &wfPacketBurst);
393 break;
394 case SID_SBM1_CWF_F1:
395 buildWFAndDisplaySBM1(packet, &wfPacketSBM1);
396 break;
397 case SID_SBM2_CWF_F2:
398 buildWFAndDisplaySBM2(packet, &wfPacketSBM2);
399 break;
297 case SID_NORMAL_SWF_F0:
298 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
299 break;
300 case SID_NORMAL_SWF_F1:
301 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
302 break;
303 case SID_NORMAL_SWF_F2:
304 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
305 break;
306 case SID_NORMAL_CWF_F3:
307 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
308 break;
309 case SID_BURST_CWF_F2:
310 buildWFAndDisplayBurst(packet, &wfPacketBurst);
311 break;
312 case SID_SBM1_CWF_F1:
313 buildWFAndDisplaySBM1(packet, &wfPacketSBM1);
314 break;
315 case SID_SBM2_CWF_F2:
316 buildWFAndDisplaySBM2(packet, &wfPacketSBM2);
317 break;
318 case SID_NORMAL_ASM_F0:
319 buildSpectrumAndDisplayNORM_F0(packet, spectraPacketNormalSpectrumF0);
320 break;
400 321 }
401 322 }
402 323 }
403 324
404 325 void MainWindow::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
405 326 {
406 327 unsigned int i = 0;
407 328 unsigned int j = 0;
408 329 unsigned char *data;
409 330 unsigned char pkt_nr = 0;
410 331 unsigned int blk_nr = 0;
411 332
412 333 pkt_nr = packet->Value[23]; // PKT_NR
413 334 blk_nr = packet->Value[30] * 256 + packet->Value[31];
414 335 data = &packet->Value[32]; // start of the first data block;
415 336 j = (pkt_nr-1) * 340;
416 337 for ( i=0; i<blk_nr; i++ ){
417 338 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
418 339 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
419 340 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
420 341 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
421 342 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
422 343 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
423 344 }
424 345 if (pkt_nr == 7)
425 346 {
426 347 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
427 348 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
428 349 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
429 350 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
430 351 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
431 352 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
432 353 }
433 354 }
434 355
435 356 void MainWindow::buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket)
436 357 {
437 358 unsigned int i = 0;
438 359 unsigned int j = 0;
439 360 unsigned char *data;
440 361 static unsigned char pkt_nr = 1;
441 362 unsigned int blk_nr = 0;
442 363
443 364 blk_nr = packet->Value[28] * 256 + packet->Value[29];
444 365 data = &packet->Value[30]; // start of the first data block;
445 366 j = (pkt_nr-1) * 340;
446 367 for ( i=0; i<blk_nr; i++ ){
447 368 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
448 369 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
449 370 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
450 371 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
451 372 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
452 373 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
453 374 }
454 375 pkt_nr = pkt_nr + 1;
455 376 if (blk_nr == 8)
456 377 {
457 378 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_v, 0);
458 379 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e1, 1);
459 380 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e2, 2);
460 381 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b1, 3);
461 382 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b2, 4);
462 383 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b3, 5);
463 384 pkt_nr = 1;
464 385 }
465 386 }
466 387
467 388 void MainWindow::buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket)
468 389 {
469 390 unsigned int i = 0;
470 391 unsigned int j = 0;
471 392 unsigned char *data;
472 393 static unsigned char pkt_nr = 1;
473 394 unsigned int blk_nr = 0;
474 395
475 396 blk_nr = packet->Value[28] * 256 + packet->Value[29];
476 397 data = &packet->Value[30]; // start of the first data block;
477 398 j = (pkt_nr-1) * 340;
478 399 for ( i=0; i<blk_nr; i++ ){
479 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
480 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
481 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
482 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
483 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
484 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
400 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
401 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
402 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
403 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
404 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
405 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
485 406 }
486 407 pkt_nr = pkt_nr + 1;
487 408 if (blk_nr == 8)
488 409 {
489 410 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_v, 0);
490 411 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e1, 1);
491 412 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e2, 2);
492 413 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b1, 3);
493 414 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b2, 4);
494 415 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b3, 5);
495 416 pkt_nr = 1;
496 417 }
497 418 }
498 419
499 420 void MainWindow::buildWFAndDisplaySBM2(TMPacketToRead *packet, WFPacket *wfPacket)
500 421 {
501 422 unsigned int i = 0;
502 423 unsigned int j = 0;
503 424 unsigned char *data;
504 425 static unsigned char pkt_nr = 1;
505 426 unsigned int blk_nr = 0;
506 427
507 428 blk_nr = packet->Value[28] * 256 + packet->Value[29];
508 429 data = &packet->Value[30]; // start of the first data block;
509 430 j = (pkt_nr-1) * 340;
510 431 for ( i=0; i<blk_nr; i++ ){
511 432 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
512 433 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
513 434 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
514 435 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
515 436 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
516 437 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
517 438 }
518 439 pkt_nr = pkt_nr + 1;
519 440 if (blk_nr == 8)
520 441 {
521 442 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_v, 0);
522 443 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_e1, 1);
523 444 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_e2, 2);
524 445 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b1, 3);
525 446 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b2, 4);
526 447 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b3, 5);
527 448 pkt_nr = 1;
528 449 }
529 450 }
530 451
452 void MainWindow::buildSpectrumAndDisplayNORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket)
453 {
454 unsigned int i = 0;
455 unsigned int j = 0;
456 unsigned char *data;
457 char *aux;
458 unsigned char nrASM;
459 unsigned int blkNR;
460
461 nrASM = packet->Value[23];
462 blkNR = packet->Value[30] * 256 + packet->Value[31];
463 data = &packet->Value[32]; // start of the first data block;
464
465 j = (nrASM-1) * blkNR;
466 for ( i=0; i<blkNR; i++ ){
467 aux = (char*) &spectraPacket->s11[j + i];
468 aux[3] = data[ (i * 50 + 2*0) ];
469 aux[2] = data[ (i * 50 + 2*0) + 1];
470 aux = (char*) &spectraPacket->s22[j + i];
471 aux[3] = data[ (i * 50 + 2*9) ];
472 aux[2] = data[ (i * 50 + 2*9) + 1];
473 aux = (char*) &spectraPacket->s33[j + i];
474 aux[3] = data[ (i * 50 + 2*16) ];
475 aux[2] = data[ (i * 50 + 2*16) + 1];
476 aux = (char*) &spectraPacket->s44[j + i];
477 aux[3] = data[ (i * 50 + 2*21) ];
478 aux[2] = data[ (i * 50 + 2*21) + 1];
479 aux = (char*) &spectraPacket->s55[j + i];
480 aux[3] = data[ (i * 50 + 2*24) ];
481 aux[2] = data[ (i * 50 + 2*24) + 1];
482 }
483 if (nrASM == 2)
484 {
485 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s11, 0);
486 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s22, 1);
487 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s33, 2);
488 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s44, 3);
489 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s55, 4);
490 }
491 }
492
531 493 void MainWindow::processIncomingPacket(TMPacketToRead *packet)
532 494 {
533 495 totalOfBytes = totalOfBytes + packet->size;
534 496 totalOfPackets = totalOfPackets + 1;
535 497 this->UI->totalOfBytesHasChanged(totalOfBytes);
536 498 this->UI->totalOfPacketsHasChanged(totalOfPackets);
537 499 preProcessPacket(packet);
538 500 }
539 501
540 502 void MainWindow::resetStatistics()
541 503 {
542 504 totalOfBytes = 0;
543 505 totalOfPackets = 0;
544 506 this->UI->totalOfBytesHasChanged(totalOfBytes);
545 507 this->UI->totalOfPacketsHasChanged(totalOfPackets);
546 508 }
547 509
548 510 void MainWindow::processPacketStore()
549 511 {
550 512 TMPacketToRead *packet;
551 513 while(!generalCCSDSPacketStore.isEmpty())
552 514 {
553 515 packet = generalCCSDSPacketStore.takeFirst();
554 516 processIncomingPacket(packet);
555 517 delete(packet);
556 518 }
557 519 }
558 520
559 521 void MainWindow::readSettings()
560 522 {
561 523 QSettings settings("lpp", "lfrsgse");
562 524 echoBridgeIP0 = (unsigned char) settings.value("echoBridgeIP0", 127).toInt();
563 525 echoBridgeIP1 = (unsigned char) settings.value("echoBridgeIP1", 0).toInt();
564 526 echoBridgeIP2 = (unsigned char) settings.value("echoBridgeIP2", 0).toInt();
565 527 echoBridgeIP3 = (unsigned char) settings.value("echoBridgeIP3", 1).toInt();
566 528 }
567 529
568 530 void MainWindow::writeSettings()
569 531 {
570 532 QSettings settings("lpp", "lfrsgse");
571 533 settings.setValue("echoBridgeIP0", this->UI->serverTMEchoDialogBox->get_addressPart1());
572 534 settings.setValue("echoBridgeIP1", this->UI->serverTMEchoDialogBox->get_addressPart2());
573 535 settings.setValue("echoBridgeIP2", this->UI->serverTMEchoDialogBox->get_addressPart3());
574 536 settings.setValue("echoBridgeIP3", this->UI->serverTMEchoDialogBox->get_addressPart4());
575 537 }
576 538
577 539 void MainWindow::closeEvent(QCloseEvent *)
578 540 {
579 541 writeSettings();
580 542 }
@@ -1,97 +1,109
1 1 #ifndef MAINWINDOW_H
2 2 #define MAINWINDOW_H
3 3
4 4 #include <QTcpServer>
5 5 #include <QTcpSocket>
6 6 #include <QXmlSimpleReader>
7 7 #include <QSettings>
8 8 #include <QMainWindow>
9 9
10 10 #include <lfrxmlhandler.h>
11 11 #include <lfrxmlwriter.h>
12 12 #include <mainwindowui.h>
13 13 #include "tmpackettoread.h"
14 14 #include "wfpacket.h"
15 15 #include "lfrxmlparser.h"
16 #include <spectrapacket.h>
16 17
17 18 class MainWindow : public QMainWindow
18 19 {
19 20 Q_OBJECT
20 21
21 22 public:
22 23 MainWindow(QWidget *parent = 0);
23 24 ~MainWindow();
24 25
25 26 void displayNetworkInterfaces();
26 27 void initSocketStatesList();
28 //
27 29 void preProcessPacket(TMPacketToRead *packet);
28 void preProcessPacketLESIA(TMPacketToRead *packet);
30 unsigned char getPID(TMPacketToRead *packet);
31 unsigned char getCAT(TMPacketToRead *packet);
32 unsigned char getTYPE(TMPacketToRead *packet);
33 unsigned char getSUBTYPE(TMPacketToRead *packet);
34 unsigned int getLENGTH(TMPacketToRead *packet);
35 unsigned int getCoarseTime(TMPacketToRead *packet);
36 unsigned int getFineTime(TMPacketToRead *packet);
37 unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
38 //
29 39 void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
30 40 void buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket);
31 41 void buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket);
32 42 void buildWFAndDisplaySBM2(TMPacketToRead *packet, WFPacket *wfPacket);
43 void buildSpectrumAndDisplayNORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket);
33 44
34 45 protected:
35 46 void closeEvent(QCloseEvent *);
36 47
37 48 private:
38 49 void readSettings();
39 50 void writeSettings();
40 51 unsigned char echoBridgeIP0;
41 52 unsigned char echoBridgeIP1;
42 53 unsigned char echoBridgeIP2;
43 54 unsigned char echoBridgeIP3;
44 55
45 56 QByteArray dataArray;
46 57
47 58 QList<TMPacketToRead*> generalCCSDSPacketStore;
48 59
49 60 QTcpServer *analyserSGSEServerTC;
50 61 QTcpServer *analyserSGSEServerTM;
51 62 QTcpSocket *socketTC;
52 63 QTcpSocket *socketTM;
53 64 QTcpSocket *socketEchoServer;
54 65
55 66 unsigned int totalOfBytes;
56 67 unsigned int totalOfPackets;
57 68
58 69 QXmlSimpleReader xmlReader;
59 70 QXmlInputSource *sourceTC;
60 71 LFRXmlHandler *xmlHandler;
61 72 LFRXmlParser *lfrXmlParser;
62 73
63 74 QList<QString> socketStates;
64 75
65 76 char *buffer;
66 77
67 78 MainWindowUI *UI;
68 79
69 80 LFRXmlWriter *lfrXmlWriter;
70 81
71 82 WFPacket wfPacketNormal[4];
72 83 WFPacket wfPacketBurst;
73 84 WFPacket wfPacketSBM1;
74 85 WFPacket wfPacketSBM2;
86 SpectraPacket *spectraPacketNormalSpectrumF0;
75 87
76 88 bool parsingContinue;
77 89
78 90 signals:
79 91 void socketTMHasChanged(QTcpSocket *socket);
80 92
81 93 public slots:
82 94 void displayOnConsole(QString message);
83 95 void listenOnTCTMPorts();
84 96 void testTCTMPorts();
85 97 void newConnectionOnTCServer();
86 98 void newConnectionOnTMServer();
87 99 void readDataOnTCPort();
88 100 void readDataOnTMPort();
89 101 void readDataOnSocketEchoServer();
90 102 void openEchoServer();
91 103 void socket_TMEcho_ServerHasChanged();
92 104 void processIncomingPacket(TMPacketToRead *packet);
93 105 void resetStatistics();
94 106 void processPacketStore();
95 107 };
96 108
97 109 #endif // MAINWINDOW_H
@@ -1,164 +1,172
1 1 #include "mainwindowui.h"
2 2
3 3 MainWindowUI::MainWindowUI(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 label_serverTMEcho = new QLabel(tr("TM Echo Server address"));
7 7 label_serverTMEchoPort = new QLabel(tr("TM Echo Server Port"));
8 8 label_TMServerPort = new QLabel(tr("TM Server Port:"));
9 9 label_TCServerPort = new QLabel(tr("TC Server Port:"));
10 10 label_currentTCTMServer = new QLabel(tr("Current IP address:"));
11 11 label_currentTCTMServerIP = new QLabel(tr("-"));
12 12 label_totalOfBytes = new QLabel(tr("Received Bytes: -"));
13 13 label_totalOfPackets = new QLabel(tr("Received Packets: -"));
14 14
15 15 console = new QTextEdit();
16 16
17 17 spwTabWidget = new QTabWidget();
18 18 spwTabWidgetPage0 = new QWidget();
19 19 spwTabWidgetPage1 = new QWidget();
20 20 spwTabWidgetPage2 = new QWidget();
21 21 spwTabWidgetPage3 = new QWidget();
22 22 spwTabWidgetPage4 = new QWidget();
23 23 spwTabWidgetPage5 = new QWidget(); // WFRM BURST
24 24 spwTabWidgetPage6 = new QWidget(); // WFRM SBM1
25 25 spwTabWidgetPage7 = new QWidget(); // WFRM SBM2
26 26
27 27 tmStatistics = new TMStatistics;
28 28
29 29 wfDisplay = new WFDisplay();
30 30 wfPageBurst = new WFPage();
31 31 wfPageSBM1 = new WFPage();
32 32 wfPageSBM2 = new WFPage();
33 pageSpectraNORM = new PageSpectra();
34 wfPageBurst->pageTitle = "BURST_CWF_F2";
35 wfPageSBM1->pageTitle = "SBM1_CWF_F1";
36 wfPageSBM2->pageTitle = "SBM2_CWF_F2";
37 pageSpectraNORM->pageTitle = "ASM f0";
33 38 hkDisplay = new HKDisplay();
34 39 lfrSpectrogam = new LFRSpectrogram();
35 40
36 41 spinbox_TMServerPort = new QSpinBox();
37 42 spinbox_TCServerPort = new QSpinBox();
38 43 spinbox_serverTMEchoPort = new QSpinBox();
39 44 spinbox_TMServerPort->setRange(59000, 65535);
40 45 spinbox_TCServerPort->setRange(59001, 65535);
41 46 spinbox_serverTMEchoPort->setRange(59002, 65535);
42 47
43 48 button_openServerTCTM = new QPushButton(tr("Open TC / TM Ports"));
44 49 button_testServerTCTM = new QPushButton(tr("Test TC / TM Ports"));
45 50 button_openSocketEchoServer = new QPushButton(tr("Open Echo Server"));
46 51 button_TCAcknowledgement = new QPushButton(tr("send TC Acknowledgement"));
47 52 button_TCRejection = new QPushButton(tr("send TC rejection"));
48 53 button_GSEHK = new QPushButton(tr("send GSE HK"));
49 54 button_clearConsole = new QPushButton(tr("Clear console"));
50 55 button_resetStatistics = new QPushButton(tr("Reset statistics"));
51 56
52 57 serverTMEchoDialogBox = new QIPDialogBox();
53 58 serverTMEchoDialogBox->setIP(127, 0, 0, 1);
54 59
55 60 groupbox_TMEcho = new QGroupBox(tr("TM Echo Server"));
56 61 groupbox_ports = new QGroupBox(tr("Ports for the TM and TC Servers"));
57 62 groupbox_TMToForeignGSETester = new QGroupBox(tr("Send TM to the foreign GSE tester"));
58 63
59 64 layout_TMEcho = new QVBoxLayout();
60 65 layout_overallLayout = new QVBoxLayout();
61 66 layout_ports = new QGridLayout();
62 67 layout_TMToForeignGSETester = new QVBoxLayout();
63 68 mainLayout = new QGridLayout();
64 69
70 parameterDump = new ParameterDump();
71
65 72 layout_TMEcho->addWidget(label_serverTMEcho);
66 73 layout_TMEcho->addWidget(serverTMEchoDialogBox);
67 74 layout_TMEcho->addWidget(label_serverTMEchoPort);
68 75 layout_TMEcho->addWidget(spinbox_serverTMEchoPort);
69 76 layout_TMEcho->addWidget(button_openSocketEchoServer);
70 77 layout_TMEcho->addWidget(label_totalOfPackets);
71 78 layout_TMEcho->addWidget(label_totalOfBytes);
72 79 layout_TMEcho->addWidget(button_resetStatistics);
73 80 groupbox_TMEcho->setLayout(layout_TMEcho);
74 81
75 82 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
76 83 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
77 84 layout_ports->addWidget(label_TCServerPort, 1, 0, 1, 1);
78 85 layout_ports->addWidget(spinbox_TCServerPort, 1, 1, 1, 1);
79 86 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
80 87 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
81 88 groupbox_ports->setLayout(layout_ports);
82 89
83 90 layout_TMToForeignGSETester->addWidget(button_TCAcknowledgement);
84 91 layout_TMToForeignGSETester->addWidget(button_TCRejection);
85 92 layout_TMToForeignGSETester->addWidget(button_GSEHK);
86 93 groupbox_TMToForeignGSETester->setLayout(layout_TMToForeignGSETester);
87 94
88 95 mainLayout->addWidget(groupbox_TMEcho, 0, 0, 1, 1);
89 96 mainLayout->addWidget(button_clearConsole, 1, 0, 1, 1);
90 97 mainLayout->addWidget(console, 0, 1, 2, 1);
91 98 mainLayout->addWidget(groupbox_ports, 2, 0, 1, 1);
92 99 mainLayout->addWidget(groupbox_TMToForeignGSETester, 2, 1, 1, 1);
93 100 mainLayout->setColumnStretch(2, 1);
94 101 mainLayout->setRowStretch(3, 1);
95 102
96 103 spwTabWidget->addTab(spwTabWidgetPage0, tr("Connection"));
97 104 spwTabWidget->addTab(spwTabWidgetPage1, tr("TM Statistics"));
98 105 spwTabWidget->addTab(spwTabWidgetPage3, tr("HK"));
106 spwTabWidget->addTab(parameterDump, tr("DUMP"));
99 107 spwTabWidget->addTab(spwTabWidgetPage2, tr("WFRM NORM"));
108 spwTabWidget->addTab(pageSpectraNORM, tr("ASM f0"));
100 109 spwTabWidget->addTab((QWidget *) wfPageBurst, tr("WFRM BURST"));
101 110 spwTabWidget->addTab((QWidget *) wfPageSBM1, tr("WFRM SBM1"));
102 111 spwTabWidget->addTab((QWidget *) wfPageSBM2, tr("WFRM SBM2"));
103 112 //spwTabWidget->addTab(spwTabWidgetPage4, tr("Spectrograms"));
104 113
105 114 spwTabWidgetPage0->setLayout(mainLayout);
106 115 spwTabWidgetPage1->setLayout(tmStatistics->layout());
107 116 spwTabWidgetPage2->setLayout(wfDisplay->layout());
108 117 spwTabWidgetPage3->setLayout(hkDisplay->layout());
109 118 //spwTabWidgetPage4->setLayout(lfrSpectrogam->layout());
110 119 //spwTabWidgetPage5->setLayout(wfPageBurst->layout());
111 120 //spwTabWidgetPage6->setLayout(wfPageSBM1->layout());
112 121 //spwTabWidgetPage7->setLayout(wfPageSBM2->layout());
113 122
114 123 layout_overallLayout->addWidget(spwTabWidget);
115 124
116 125 this->setLayout(layout_overallLayout);
117 126
118 127 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
119 128 }
120 129
121 130 QString MainWindowUI::getTMEchoServerAddress()
122 131 {
123 132 return(serverTMEchoDialogBox->getIP());
124 133 }
125 134
126 135 void MainWindowUI::setTCTMServerAddressIP(QString address)
127 136 {
128 137 label_currentTCTMServerIP->setText(address);
129 138 }
130 139
131 140 int MainWindowUI::getTMPort()
132 141 {
133 142 return spinbox_TMServerPort->value();
134 143 }
135 144
136 145 int MainWindowUI::getTCPort()
137 146 {
138 147 return spinbox_TCServerPort->value();
139 148 }
140 149
141 150 void MainWindowUI::displayOnConsole(QString message)
142 151 {
143 152 console->append(message);
144 153 }
145 154
146 155 void MainWindowUI::clearConsole()
147 156 {
148 157 console->clear();
149 158 }
150 159
151 160 void MainWindowUI::totalOfBytesHasChanged(unsigned int nbBytes)
152 161 {
153 162 label_totalOfBytes->setText(
154 163 "Received Bytes: "
155 164 + QString::number(nbBytes));
156 165 }
157 166
158 167 void MainWindowUI::totalOfPacketsHasChanged(unsigned int nbPackets)
159 168 {
160 169 label_totalOfPackets->setText(
161 170 "Received Packets: "
162 171 + QString::number(nbPackets));
163 172 }
164
@@ -1,102 +1,107
1 1 #ifndef MAINWINDOWUI_H
2 2 #define MAINWINDOWUI_H
3 3
4 4 #include <QWidget>
5 5 #include <qipdialogbox.h>
6 6 #include <QLabel>
7 7 #include <QPushButton>
8 8 #include <QGridLayout>
9 9 #include <QVBoxLayout>
10 10 #include <QGroupBox>
11 11 #include <QSpinBox>
12 12 #include <QTextEdit>
13 13 #include <QTabWidget>
14 14
15 15 #include <wfdisplay.h>
16 #include <pagespectra.h>
16 17
17 18 #include "tmstatistics.h"
18 19 #include "hkdisplay.h"
19 20 #include "lfrspectrogram.h"
21 #include "parameterdump.h"
20 22
21 23 class MainWindowUI : public QWidget
22 24 {
23 25 Q_OBJECT
24 26 public:
25 27 explicit MainWindowUI(QWidget *parent = 0);
26 28
27 29 void setTCTMServerAddressIP(QString address);
28 30 QString getTMEchoServerAddress();
29 31 int getTMPort();
30 32 int getTCPort();
31 33 void displayOnConsole(QString message);
32 34
33 35 QTabWidget *spwTabWidget;
34 36 QWidget* spwTabWidgetPage0;
35 37 QWidget* spwTabWidgetPage1;
36 38 QWidget* spwTabWidgetPage2;
37 39 QWidget* spwTabWidgetPage3;
38 40 QWidget* spwTabWidgetPage4;
39 41 QWidget* spwTabWidgetPage5;
40 42 QWidget* spwTabWidgetPage6;
41 43 QWidget* spwTabWidgetPage7;
42 44
43 45 TMStatistics* tmStatistics;
44 46
45 47 WFDisplay* wfDisplay;
46 48 WFPage* wfPageBurst;
47 49 WFPage* wfPageSBM1;
48 50 WFPage* wfPageSBM2;
51 PageSpectra* pageSpectraNORM;
49 52 HKDisplay* hkDisplay;
50 53 LFRSpectrogram* lfrSpectrogam;
51 54
52 55 QWidget* widget_spectrogram;
53 56
57 ParameterDump* parameterDump;
58
54 59 QPushButton *button_openServerTCTM;
55 60 QPushButton *button_testServerTCTM;
56 61 QPushButton *button_openSocketEchoServer;
57 62 QPushButton *button_TCAcknowledgement;
58 63 QPushButton *button_TCRejection;
59 64 QPushButton *button_GSEHK;
60 65 QPushButton *button_clearConsole;
61 66 QPushButton *button_resetStatistics;
62 67
63 68 QIPDialogBox *serverTMEchoDialogBox;
64 69
65 70 QSpinBox *spinbox_serverTMEchoPort;
66 71
67 72 signals:
68 73
69 74 public slots:
70 75 void clearConsole();
71 76 void totalOfBytesHasChanged(unsigned int nbBytes);
72 77 void totalOfPacketsHasChanged(unsigned int nbPackets);
73 78
74 79 private:
75 80 QLabel *label_serverTMEcho;
76 81 QLabel *label_serverTMEchoPort;
77 82 QLabel *label_TMServerPort;
78 83 QLabel *label_TCServerPort;
79 84 QLabel *label_currentTCTMServer;
80 85 QLabel *label_currentTCTMServerIP;
81 86 QLabel *label_totalOfBytes;
82 87 QLabel *label_totalOfPackets;
83 88
84 89 QTextEdit *console;
85 90
86 91 QSpinBox *spinbox_TMServerPort;
87 92 QSpinBox *spinbox_TCServerPort;
88 93
89 94 QGroupBox *groupbox_TMEcho;
90 95 QGroupBox *groupbox_ports;
91 96 QGroupBox *groupbox_TMToForeignGSETester;
92 97
93 98 QVBoxLayout *layout_TMEcho;
94 99 QVBoxLayout *layout_TMToForeignGSETester;
95 100 QVBoxLayout *layout_overallLayout;
96 101
97 102 QGridLayout *mainLayout;
98 103 QGridLayout *layout_ports;
99 104
100 105 };
101 106
102 107 #endif // MAINWINDOWUI_H
@@ -1,517 +1,519
1 1 #############################################################################
2 2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Mon Jul 8 14:56:42 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 24 16:21:25 2013
4 4 # Project: rmapplugin.pro
5 5 # Template: lib
6 # Command: /usr/bin/qmake-qt4 -o Makefile rmapplugin.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 12 CXX = g++
13 13 DEFINES = -DPLUGIN=rmapplugin -DPLUGINHEADER="\"rmapplugin.h\"" -Ddriver_Name="\"RMAPPlugin\"" -Ddriver_Author="\"Paul Leroy paul.leroy@lpp.polytechnique.fr\"" -Ddriver_Version="\"1.1.2\"" -Ddriver_Description="\"AHB bus controler, works with Gaisler's AHB plugn' play bus.\"" -Ddriver_can_be_root=1 -Ddriver_can_be_child=0 -Ddriver_VID=0 -Ddriver_PID=0 -DLPPMON_VERSION="\"0.0.1\"" -DUNIXTRANSLATIONPATH -DLPPMON_PLUGINS_INSTALL_PATH="QDir::homePath()+\"/.lppmon/plugins\"" -DLPPMON_CONFIG_PATH="QDir::homePath()+\"/.lppmon/config\"" -DLPPMON_TRANSLATION_PATH="\"/etc/lppmon/translations\"" -DLPPMONPLUGIN_LIBRARY -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../../DEV_PLE/header -I../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
19 19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so -llppmoncommon -lwfdisplay -lqwt5-qt4 -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = obj/
43 43
44 44 ####### Files
45 45
46 46 SOURCES = rmapplugin.cpp \
47 47 rmappluginui.cpp \
48 48 rmapoperations.cpp \
49 49 ccsds.cpp \
50 50 ../common_PLE/qipdialogbox.cpp \
51 51 ../common_PLE/gresbstatusenquiry.cpp \
52 52 rmappluginpythonwrapper.cpp \
53 53 stardundee.cpp \
54 54 gresb.cpp \
55 55 tcpackettosend.cpp \
56 56 tmpackettoread.cpp \
57 57 tmstatistics.cpp \
58 58 wfpacket.cpp \
59 59 tmechobridge.cpp \
60 60 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
61 61 moc/moc_rmapplugin.cpp \
62 62 moc/moc_qipdialogbox.cpp \
63 63 moc/moc_gresbstatusenquiry.cpp \
64 64 moc/moc_rmappluginpythonwrapper.cpp \
65 65 moc/moc_stardundee.cpp \
66 66 moc/moc_gresb.cpp \
67 67 moc/moc_tcpackettosend.cpp \
68 68 moc/moc_tmpackettoread.cpp \
69 69 moc/moc_tmstatistics.cpp \
70 70 moc/moc_wfpacket.cpp \
71 71 moc/moc_tmechobridge.cpp \
72 72 moc/moc_genericPySysdriver.cpp \
73 73 moc/moc_lppmonplugin.cpp
74 74 OBJECTS = obj/rmapplugin.o \
75 75 obj/rmappluginui.o \
76 76 obj/rmapoperations.o \
77 77 obj/ccsds.o \
78 78 obj/qipdialogbox.o \
79 79 obj/gresbstatusenquiry.o \
80 80 obj/rmappluginpythonwrapper.o \
81 81 obj/stardundee.o \
82 82 obj/gresb.o \
83 83 obj/tcpackettosend.o \
84 84 obj/tmpackettoread.o \
85 85 obj/tmstatistics.o \
86 86 obj/wfpacket.o \
87 87 obj/tmechobridge.o \
88 88 obj/lppmonplugininterface.o \
89 89 obj/moc_rmappluginui.o \
90 90 obj/moc_rmapplugin.o \
91 91 obj/moc_qipdialogbox.o \
92 92 obj/moc_gresbstatusenquiry.o \
93 93 obj/moc_rmappluginpythonwrapper.o \
94 94 obj/moc_stardundee.o \
95 95 obj/moc_gresb.o \
96 96 obj/moc_tcpackettosend.o \
97 97 obj/moc_tmpackettoread.o \
98 98 obj/moc_tmstatistics.o \
99 99 obj/moc_wfpacket.o \
100 100 obj/moc_tmechobridge.o \
101 101 obj/moc_genericPySysdriver.o \
102 102 obj/moc_lppmonplugin.o
103 103 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
104 104 /usr/lib64/qt4/mkspecs/common/linux.conf \
105 105 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
106 106 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
107 107 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
108 108 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
109 109 /usr/lib64/qt4/mkspecs/qconfig.pri \
110 110 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
111 111 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
112 112 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
113 113 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
114 114 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
115 115 /usr/lib64/qt4/mkspecs/features/release.prf \
116 116 /usr/lib64/qt4/mkspecs/features/default_post.prf \
117 117 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
118 118 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
119 119 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
120 120 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
121 121 /usr/lib64/qt4/mkspecs/features/qt.prf \
122 122 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
123 123 /usr/lib64/qt4/mkspecs/features/moc.prf \
124 124 /usr/lib64/qt4/mkspecs/features/resources.prf \
125 125 /usr/lib64/qt4/mkspecs/features/uic.prf \
126 126 /usr/lib64/qt4/mkspecs/features/yacc.prf \
127 127 /usr/lib64/qt4/mkspecs/features/lex.prf \
128 128 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
129 129 rmapplugin.pro
130 130 QMAKE_TARGET = rmapplugin
131 131 DESTDIR = bin/
132 132 TARGET = librmapplugin.so.1.0.0
133 133 TARGETA = bin/librmapplugin.a
134 134 TARGETD = librmapplugin.so.1.0.0
135 135 TARGET0 = librmapplugin.so
136 136 TARGET1 = librmapplugin.so.1
137 137 TARGET2 = librmapplugin.so.1.0
138 138
139 139 first: all
140 140 ####### Implicit rules
141 141
142 142 .SUFFIXES: .o .c .cpp .cc .cxx .C
143 143
144 144 .cpp.o:
145 145 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
146 146
147 147 .cc.o:
148 148 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
149 149
150 150 .cxx.o:
151 151 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
152 152
153 153 .C.o:
154 154 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
155 155
156 156 .c.o:
157 157 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
158 158
159 159 ####### Build rules
160 160
161 161 all: Makefile bin/$(TARGET)
162 162
163 163 bin/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
164 164 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
165 165 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
166 166 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
167 167 -ln -s $(TARGET) $(TARGET0)
168 168 -ln -s $(TARGET) $(TARGET1)
169 169 -ln -s $(TARGET) $(TARGET2)
170 170 -$(DEL_FILE) bin/$(TARGET)
171 171 -$(DEL_FILE) bin/$(TARGET0)
172 172 -$(DEL_FILE) bin/$(TARGET1)
173 173 -$(DEL_FILE) bin/$(TARGET2)
174 174 -$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) bin/
175 175
176 176
177 177
178 178 staticlib: $(TARGETA)
179 179
180 180 $(TARGETA): $(OBJECTS) $(OBJCOMP)
181 181 -$(DEL_FILE) $(TARGETA)
182 182 $(AR) $(TARGETA) $(OBJECTS)
183 183
184 184 Makefile: rmapplugin.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
185 185 /usr/lib64/qt4/mkspecs/common/linux.conf \
186 186 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
187 187 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
188 188 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
189 189 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
190 190 /usr/lib64/qt4/mkspecs/qconfig.pri \
191 191 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
192 192 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
193 193 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
194 194 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
195 195 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
196 196 /usr/lib64/qt4/mkspecs/features/release.prf \
197 197 /usr/lib64/qt4/mkspecs/features/default_post.prf \
198 198 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
199 199 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
200 200 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
201 201 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
202 202 /usr/lib64/qt4/mkspecs/features/qt.prf \
203 203 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
204 204 /usr/lib64/qt4/mkspecs/features/moc.prf \
205 205 /usr/lib64/qt4/mkspecs/features/resources.prf \
206 206 /usr/lib64/qt4/mkspecs/features/uic.prf \
207 207 /usr/lib64/qt4/mkspecs/features/yacc.prf \
208 208 /usr/lib64/qt4/mkspecs/features/lex.prf \
209 209 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
210 210 /usr/lib64/libQtXml.prl \
211 211 /usr/lib64/libQtCore.prl \
212 212 /usr/lib64/libQtGui.prl \
213 213 /usr/lib64/libQtNetwork.prl
214 $(QMAKE) -o Makefile rmapplugin.pro
214 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
215 215 /usr/lib64/qt4/mkspecs/common/unix.conf:
216 216 /usr/lib64/qt4/mkspecs/common/linux.conf:
217 217 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
218 218 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
219 219 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
220 220 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
221 221 /usr/lib64/qt4/mkspecs/qconfig.pri:
222 222 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
223 223 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
224 224 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
225 225 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
226 226 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
227 227 /usr/lib64/qt4/mkspecs/features/release.prf:
228 228 /usr/lib64/qt4/mkspecs/features/default_post.prf:
229 229 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf:
230 230 /usr/lib64/qt4/mkspecs/features/pythonqt.prf:
231 231 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
232 232 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
233 233 /usr/lib64/qt4/mkspecs/features/qt.prf:
234 234 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
235 235 /usr/lib64/qt4/mkspecs/features/moc.prf:
236 236 /usr/lib64/qt4/mkspecs/features/resources.prf:
237 237 /usr/lib64/qt4/mkspecs/features/uic.prf:
238 238 /usr/lib64/qt4/mkspecs/features/yacc.prf:
239 239 /usr/lib64/qt4/mkspecs/features/lex.prf:
240 240 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
241 241 /usr/lib64/libQtXml.prl:
242 242 /usr/lib64/libQtCore.prl:
243 243 /usr/lib64/libQtGui.prl:
244 244 /usr/lib64/libQtNetwork.prl:
245 245 qmake: FORCE
246 @$(QMAKE) -o Makefile rmapplugin.pro
246 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
247 247
248 248 dist:
249 249 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
250 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h tcpackettosend.h tmpackettoread.h tmstatistics.h wfpacket.h params.h tmechobridge.h /usr/include/lppmon/genericPySysdriver.h /usr/include/lppmon/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp tmpackettoread.cpp tmstatistics.cpp wfpacket.cpp tmechobridge.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
250 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents ../../DEV_PLE/header/ccsds_types.h rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h tcpackettosend.h tmpackettoread.h tmstatistics.h wfpacket.h params.h tmechobridge.h /usr/include/lppmon/genericPySysdriver.h /usr/include/lppmon/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp tmpackettoread.cpp tmstatistics.cpp wfpacket.cpp tmechobridge.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
251 251
252 252
253 253 clean:compiler_clean
254 254 -$(DEL_FILE) $(OBJECTS)
255 255 -$(DEL_FILE) *~ core *.core
256 256
257 257
258 258 ####### Sub-libraries
259 259
260 260 distclean: clean
261 261 -$(DEL_FILE) bin/$(TARGET)
262 262 -$(DEL_FILE) bin/$(TARGET0) bin/$(TARGET1) bin/$(TARGET2) $(TARGETA)
263 263 -$(DEL_FILE) Makefile
264 264
265 265
266 266 check: first
267 267
268 268 mocclean: compiler_moc_header_clean compiler_moc_source_clean
269 269
270 270 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
271 271
272 272 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_tmpackettoread.cpp moc/moc_tmstatistics.cpp moc/moc_wfpacket.cpp moc/moc_tmechobridge.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
273 273 compiler_moc_header_clean:
274 274 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_tmpackettoread.cpp moc/moc_tmstatistics.cpp moc/moc_wfpacket.cpp moc/moc_tmechobridge.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
275 275 moc/moc_rmappluginui.cpp: rmapoperations.h \
276 276 params.h \
277 277 stardundee.h \
278 278 ccsds.h \
279 279 tmpackettoread.h \
280 280 gresb.h \
281 281 tmstatistics.h \
282 282 tmechobridge.h \
283 283 rmappluginui.h
284 284 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
285 285
286 286 moc/moc_rmapplugin.cpp: rmappluginui.h \
287 287 rmapoperations.h \
288 288 params.h \
289 289 stardundee.h \
290 290 ccsds.h \
291 291 tmpackettoread.h \
292 292 gresb.h \
293 293 tmstatistics.h \
294 294 tmechobridge.h \
295 295 wfpacket.h \
296 296 rmapplugin.h
297 297 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmapplugin.h -o moc/moc_rmapplugin.cpp
298 298
299 299 moc/moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
300 300 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc/moc_qipdialogbox.cpp
301 301
302 302 moc/moc_gresbstatusenquiry.cpp: ../common_PLE/gresbstatusenquiry.h
303 303 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/gresbstatusenquiry.h -o moc/moc_gresbstatusenquiry.cpp
304 304
305 305 moc/moc_rmappluginpythonwrapper.cpp: rmapoperations.h \
306 306 params.h \
307 307 ccsds.h \
308 308 tcpackettosend.h \
309 309 tmpackettoread.h \
310 310 rmappluginpythonwrapper.h
311 311 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
312 312
313 313 moc/moc_stardundee.cpp: rmapoperations.h \
314 314 params.h \
315 315 ccsds.h \
316 316 tmpackettoread.h \
317 317 stardundee.h
318 318 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
319 319
320 320 moc/moc_gresb.cpp: rmapoperations.h \
321 321 params.h \
322 322 ccsds.h \
323 323 tmpackettoread.h \
324 324 gresb.h
325 325 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
326 326
327 327 moc/moc_tcpackettosend.cpp: tcpackettosend.h
328 328 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tcpackettosend.h -o moc/moc_tcpackettosend.cpp
329 329
330 330 moc/moc_tmpackettoread.cpp: tmpackettoread.h
331 331 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmpackettoread.h -o moc/moc_tmpackettoread.cpp
332 332
333 moc/moc_tmstatistics.cpp: tmstatistics.h
333 moc/moc_tmstatistics.cpp: tmpackettoread.h \
334 tmstatistics.h
334 335 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmstatistics.h -o moc/moc_tmstatistics.cpp
335 336
336 337 moc/moc_wfpacket.cpp: params.h \
337 338 wfpacket.h
338 339 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpacket.h -o moc/moc_wfpacket.cpp
339 340
340 341 moc/moc_tmechobridge.cpp: tmpackettoread.h \
341 342 tmechobridge.h
342 343 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmechobridge.h -o moc/moc_tmechobridge.cpp
343 344
344 345 moc/moc_genericPySysdriver.cpp: /usr/include/lppmon/genericPySysdriver.h
345 346 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
346 347
347 348 moc/moc_lppmonplugin.cpp: /usr/include/lppmon/lppmonplugin.h
348 349 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/lppmonplugin.h -o moc/moc_lppmonplugin.cpp
349 350
350 351 compiler_rcc_make_all:
351 352 compiler_rcc_clean:
352 353 compiler_image_collection_make_all: qmake_image_collection.cpp
353 354 compiler_image_collection_clean:
354 355 -$(DEL_FILE) qmake_image_collection.cpp
355 356 compiler_moc_source_make_all:
356 357 compiler_moc_source_clean:
357 358 compiler_uic_make_all:
358 359 compiler_uic_clean:
359 360 compiler_yacc_decl_make_all:
360 361 compiler_yacc_decl_clean:
361 362 compiler_yacc_impl_make_all:
362 363 compiler_yacc_impl_clean:
363 364 compiler_lex_make_all:
364 365 compiler_lex_clean:
365 366 compiler_clean: compiler_moc_header_clean
366 367
367 368 ####### Compile
368 369
369 370 obj/rmapplugin.o: rmapplugin.cpp rmapplugin.h \
370 371 rmappluginui.h \
371 372 rmapoperations.h \
372 373 params.h \
373 374 stardundee.h \
374 375 ccsds.h \
375 376 tmpackettoread.h \
376 377 gresb.h \
377 378 tmstatistics.h \
378 379 tmechobridge.h \
379 380 wfpacket.h \
380 381 rmappluginpythonwrapper.h \
381 382 tcpackettosend.h
382 383 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapplugin.o rmapplugin.cpp
383 384
384 385 obj/rmappluginui.o: rmappluginui.cpp rmapplugin.h \
385 386 rmappluginui.h \
386 387 rmapoperations.h \
387 388 params.h \
388 389 stardundee.h \
389 390 ccsds.h \
390 391 tmpackettoread.h \
391 392 gresb.h \
392 393 tmstatistics.h \
393 394 tmechobridge.h \
394 395 wfpacket.h
395 396 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
396 397
397 398 obj/rmapoperations.o: rmapoperations.cpp rmapoperations.h \
398 399 params.h
399 400 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapoperations.o rmapoperations.cpp
400 401
401 402 obj/ccsds.o: ccsds.cpp ccsds.h
402 403 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
403 404
404 405 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
405 406 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qipdialogbox.o ../common_PLE/qipdialogbox.cpp
406 407
407 408 obj/gresbstatusenquiry.o: ../common_PLE/gresbstatusenquiry.cpp ../common_PLE/gresbstatusenquiry.h
408 409 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresbstatusenquiry.o ../common_PLE/gresbstatusenquiry.cpp
409 410
410 411 obj/rmappluginpythonwrapper.o: rmappluginpythonwrapper.cpp rmappluginpythonwrapper.h \
411 412 rmapoperations.h \
412 413 params.h \
413 414 ccsds.h \
414 415 tcpackettosend.h \
415 416 tmpackettoread.h
416 417 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginpythonwrapper.o rmappluginpythonwrapper.cpp
417 418
418 419 obj/stardundee.o: stardundee.cpp stardundee.h \
419 420 rmapoperations.h \
420 421 params.h \
421 422 ccsds.h \
422 423 tmpackettoread.h
423 424 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/stardundee.o stardundee.cpp
424 425
425 426 obj/gresb.o: gresb.cpp gresb.h \
426 427 rmapoperations.h \
427 428 params.h \
428 429 ccsds.h \
429 430 tmpackettoread.h
430 431 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
431 432
432 433 obj/tcpackettosend.o: tcpackettosend.cpp tcpackettosend.h
433 434 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
434 435
435 436 obj/tmpackettoread.o: tmpackettoread.cpp tmpackettoread.h
436 437 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmpackettoread.o tmpackettoread.cpp
437 438
438 obj/tmstatistics.o: tmstatistics.cpp tmstatistics.h
439 obj/tmstatistics.o: tmstatistics.cpp tmstatistics.h \
440 tmpackettoread.h
439 441 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmstatistics.o tmstatistics.cpp
440 442
441 443 obj/wfpacket.o: wfpacket.cpp wfpacket.h \
442 444 params.h
443 445 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpacket.o wfpacket.cpp
444 446
445 447 obj/tmechobridge.o: tmechobridge.cpp tmechobridge.h \
446 448 tmpackettoread.h
447 449 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmechobridge.o tmechobridge.cpp
448 450
449 451 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
450 452 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
451 453 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
452 454
453 455 obj/moc_rmappluginui.o: moc/moc_rmappluginui.cpp
454 456 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginui.o moc/moc_rmappluginui.cpp
455 457
456 458 obj/moc_rmapplugin.o: moc/moc_rmapplugin.cpp
457 459 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmapplugin.o moc/moc_rmapplugin.cpp
458 460
459 461 obj/moc_qipdialogbox.o: moc/moc_qipdialogbox.cpp
460 462 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_qipdialogbox.o moc/moc_qipdialogbox.cpp
461 463
462 464 obj/moc_gresbstatusenquiry.o: moc/moc_gresbstatusenquiry.cpp
463 465 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresbstatusenquiry.o moc/moc_gresbstatusenquiry.cpp
464 466
465 467 obj/moc_rmappluginpythonwrapper.o: moc/moc_rmappluginpythonwrapper.cpp
466 468 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginpythonwrapper.o moc/moc_rmappluginpythonwrapper.cpp
467 469
468 470 obj/moc_stardundee.o: moc/moc_stardundee.cpp
469 471 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_stardundee.o moc/moc_stardundee.cpp
470 472
471 473 obj/moc_gresb.o: moc/moc_gresb.cpp
472 474 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
473 475
474 476 obj/moc_tcpackettosend.o: moc/moc_tcpackettosend.cpp
475 477 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tcpackettosend.o moc/moc_tcpackettosend.cpp
476 478
477 479 obj/moc_tmpackettoread.o: moc/moc_tmpackettoread.cpp
478 480 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmpackettoread.o moc/moc_tmpackettoread.cpp
479 481
480 482 obj/moc_tmstatistics.o: moc/moc_tmstatistics.cpp
481 483 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmstatistics.o moc/moc_tmstatistics.cpp
482 484
483 485 obj/moc_wfpacket.o: moc/moc_wfpacket.cpp
484 486 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfpacket.o moc/moc_wfpacket.cpp
485 487
486 488 obj/moc_tmechobridge.o: moc/moc_tmechobridge.cpp
487 489 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmechobridge.o moc/moc_tmechobridge.cpp
488 490
489 491 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
490 492 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
491 493
492 494 obj/moc_lppmonplugin.o: moc/moc_lppmonplugin.cpp
493 495 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lppmonplugin.o moc/moc_lppmonplugin.cpp
494 496
495 497 ####### Install
496 498
497 499 install_target: first FORCE
498 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/admin/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/admin/.lppmon/plugins/
499 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET)"
500 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET0)"
501 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET1)"
502 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET2)"
500 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
501 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
502 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
503 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
504 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
503 505
504 506 uninstall_target: FORCE
505 -$(DEL_FILE) "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET)"
506 -$(DEL_FILE) "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET0)"
507 -$(DEL_FILE) "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET1)"
508 -$(DEL_FILE) "$(INSTALL_ROOT)/home/admin/.lppmon/plugins/$(TARGET2)"
509 -$(DEL_DIR) $(INSTALL_ROOT)/home/admin/.lppmon/plugins/
507 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
508 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
509 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
510 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
511 -$(DEL_DIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
510 512
511 513
512 514 install: install_target FORCE
513 515
514 516 uninstall: uninstall_target FORCE
515 517
516 518 FORCE:
517 519
@@ -1,406 +1,395
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Paul LEROY
20 20 -- Mail : paul.leroy@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #include "rmapplugin.h"
23 23 #include <QHostAddress>
24 24 #include <QIODevice>
25 25 #include <QApplication>
26 26 #include <rmappluginpythonwrapper.h>
27 27 #include <PythonQt.h>
28 28 #include <QTimer>
29 29
30 30 rmapplugin::rmapplugin(QWidget *parent)
31 31 :lppmonplugin(parent,false)
32 32 {
33 33 this->UI = new rmapPluginUI();
34 34 this->setWindowTitle(tr("RMAP and SPW Communication"));
35 35 this->setWidget((QWidget*)this->UI);
36 36
37 37 timeCode = 0;
38 38 time_COARSE = 0;
39 39 time_FINE = 0;
40 40 currentBridge = selectedBridgeIsUnknown;
41 41
42 42 //**************
43 43 //Python wrapper
44 44 this->pyObject = new rmappluginPythonWrapper();
45 45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
46 46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
47 47 //**
48 48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
49 49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
50 50 //**
51 51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
52 52 this, SLOT( setValueTargetAddress(unsigned char)) );
53 53 //**
54 54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
55 55 this, SLOT( setValueSourceAddress(unsigned char)) );
56 56 //**
57 57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
58 58 this, SLOT(displayOnConsole(QString)) );
59 59 //**
60 60 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
61 61 this, SLOT(fetchPacket()), Qt::DirectConnection );
62 62 //***
63 63 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
64 64 this, SLOT(nbPacketHasChanged(int)));
65 65 //**************
66 66
67 67 //**************
68 68 // get a smart pointer to the __main__ module of the Python interpreter
69 69 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
70 70 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
71 71 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
72 72 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
73 73 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
74 74 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
75 75 context.addObject("GRESB_Bridge", UI->gresbBridge);
76 76 //**************
77 77
78 78 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
79 79 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
80 80 connect(this, SIGNAL(
81 81 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
82 82 ),
83 83 this->UI->tmStatistics, SLOT(
84 84 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
85 85 ));
86 86
87 87 //******
88 88 // GRESB
89 89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
90 90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
91 91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
92 92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
93 93 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
94 94 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
95 95 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
96 96 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
97 97 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
98 98 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
99 99 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
100 100
101 101 //************
102 102 // Star Dundee
103 103 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
104 104 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
105 105 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
106 106 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
107 107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
108 108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
109 109 this->UI->starDundee, SLOT(targetHasChanged(int)));
110 110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
112 112 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
113 113 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
114 114
115 115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
116 116
117 117 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
118 118 }
119 119
120 120 rmapplugin::~rmapplugin()
121 121 {
122 122 switch(currentBridge)
123 123 {
124 124 case selectedBridgeIsGRESB :
125 125 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
126 126 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
127 127 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
128 128 break;
129 129 case selectedBridgeIsStarDundee :
130 130 break;
131 131 default:
132 132 break;
133 133 }
134 134 }
135 135
136 136 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
137 137 {
138 138 unsigned int result;
139 139 switch(currentBridge)
140 140 {
141 141 case selectedBridgeIsGRESB :
142 142 result = UI->gresbBridge->Write(Value, count, address);
143 143 break;
144 144 case selectedBridgeIsStarDundee :
145 145 result = UI->starDundee->Write(Value, count, address);
146 146 break;
147 147 default:
148 148 result = 1;
149 149 break;
150 150 }
151 151 return result;
152 152 }
153 153
154 154 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
155 155 {
156 156 unsigned int result;
157 157 switch(currentBridge)
158 158 {
159 159 case selectedBridgeIsGRESB :
160 160 result = UI->gresbBridge->Read(Value, count, address);
161 161 break;
162 162 case selectedBridgeIsStarDundee :
163 163 result = UI->starDundee->Read(Value, count, address);
164 164 break;
165 165 default:
166 166 result = 1;
167 167 break;
168 168 }
169 169 return result;
170 170 }
171 171
172 172 ////////
173 173 // SLOTS
174 174
175 175 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
176 176 {
177 177 unsigned int result;
178 178 switch(currentBridge)
179 179 {
180 180 case selectedBridgeIsGRESB :
181 181 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
182 182 break;
183 183 case selectedBridgeIsStarDundee :
184 184 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
185 185 break;
186 186 default:
187 187 result = 1;
188 188 break;
189 189 }
190 190 return result;
191 191 }
192 192
193 193 void rmapplugin::openBridge()
194 194 {
195 195 switch(currentBridge)
196 196 {
197 197 case selectedBridgeIsGRESB :
198 198 this->UI->gresbBridge->Open();
199 199 break;
200 200 case selectedBridgeIsStarDundee :
201 201 this->UI->starDundee->Open();
202 202 break;
203 203 default:
204 204 break;
205 205 }
206 206 }
207 207
208 208 void rmapplugin::closeBridge()
209 209 {
210 210 switch(currentBridge)
211 211 {
212 212 case selectedBridgeIsGRESB :
213 213 this->UI->gresbBridge->Close();
214 214 break;
215 215 case selectedBridgeIsStarDundee :
216 216 this->UI->starDundee->Close();
217 217 break;
218 218 default:
219 219 break;
220 220 }
221 221 }
222 222
223 223 void rmapplugin::RMAP_write_reply_setText(QString text)
224 224 {
225 225 this->UI->RMAP_write_reply->setText(text);
226 226 }
227 227
228 228 void rmapplugin::appendToLog(QString text)
229 229 {
230 230 APPENDTOLOG(text);
231 231 }
232 232
233 233 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
234 234 {
235 235 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
236 236 }
237 237
238 238 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
239 239 {
240 240 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
241 241 }
242 242
243 243 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
244 244 {
245 245 preProcessPacket(packet);
246 246
247 247 // Send the packet to the TM echo bridge for processing
248 this->UI->tmEchoBridge->sendTMPacket(packet);
249 //this->UI->tmEchoBridge->sendTMPacket_alternative(packet);
248 this->UI->tmEchoBridge->sendTMPacketLESIA(packet);
250 249
251 250 this->generalCCSDSPacketStore.append(packet);
252 251 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
253 252 processPacketStore();
254 253 }
255 254
256 255 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
257 256 {
258 257 unsigned char pid = 0;
259 258 unsigned char cat = 0;
260 259 unsigned char typ = 0;
261 260 unsigned char sub = 0;
262 261 unsigned int sid = 0;
263 262 unsigned int length = 0;
264 263 unsigned int coarse_t = 0;
265 264 unsigned int fine_t = 0;
266 265
267 266 //*********************************
268 267 // get the parameters of the packet
269 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
270 cat = packet->Value[5] & 0x0f;
271 typ = packet->Value[11]; // TYPE
272 sub = packet->Value[12]; // SUBTYPE
273 sid = 0;
274 length = packet->Value[8] * 256 + packet->Value[9];
275 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
276 + packet->Value[16] * pow(2, 8) + packet->Value[17];
277 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
278
279 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
280 sid = packet->Value[20] * 256 + packet->Value[21];
281 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
282 sid = 1;
283 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
284 sid = packet->Value[20];
285 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
286 sid = packet->Value[20];
268 pid = this->UI->tmStatistics->getPID( packet );
269 cat = this->UI->tmStatistics->getCAT( packet );
270 typ = this->UI->tmStatistics->getTYPE( packet );
271 sub = this->UI->tmStatistics->getSUBTYPE( packet );
272 length = this->UI->tmStatistics->getLENGTH( packet );
273 coarse_t = this->UI->tmStatistics->getCoarseTime( packet );
274 fine_t = this->UI->tmStatistics->getFineTime( packet );
275 sid = this->UI->tmStatistics->getSID( packet, pid, cat, typ, sub );
287 276
288 277 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
289 278
290 279
291 280 //****************************************
292 281 // if the packet is a waveform, display it
293 282 /*if ( (typ == 21) & (sub == 3) )
294 283 {
295 284 sid = packet->Value[20]; // SID
296 285 switch (sid){
297 286 case SID_NORMAL_SWF_F0:
298 287 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
299 288 break;
300 289 case SID_NORMAL_SWF_F1:
301 290 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
302 291 break;
303 292 case SID_NORMAL_SWF_F2:
304 293 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
305 294 break;
306 295 case SID_NORMAL_CWF_F3:
307 296 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
308 297 break;
309 298 }
310 299 }*/
311 300 }
312 301
313 302 void rmapplugin::nbPacketHasChanged(int nb)
314 303 {
315 304 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
316 305 }
317 306
318 307 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
319 308 {
320 309 unsigned int i = 0;
321 310 unsigned int j = 0;
322 311 unsigned char *data;
323 312 unsigned char pkt_nr = 0;
324 313 unsigned int blk_nr = 0;
325 314
326 315 pkt_nr = packet->Value[23]; // PKT_NR
327 316 blk_nr = packet->Value[24] * 256 + packet->Value[25];
328 317 data = &packet->Value[26]; // start of the first data block;
329 318 j = (pkt_nr-1) * 340;
330 319 for ( i=0; i<blk_nr; i++ ){
331 320 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
332 321 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
333 322 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
334 323 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
335 324 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
336 325 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
337 326 }
338 327 if (pkt_nr == 7)
339 328 {
340 329 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
341 330 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
342 331 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
343 332 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
344 333 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
345 334 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
346 335 }
347 336 }
348 337
349 338 /////////////////////
350 339 // INTERNAL FUNCTIONS
351 340
352 341 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
353 342 {
354 343 QString message;
355 344 unsigned int fine_time_value = 0;
356 345 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
357 346 + ((unsigned int) ccsdsPacket[6]<<16)
358 347 + ((unsigned int) ccsdsPacket[5]<<8)
359 348 + ((unsigned int) ccsdsPacket[4]);
360 349 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
361 350 message.append("size "
362 351 + QString::number(size)
363 352 +" *** header "
364 353 + QString::number(ccsdsPacket[0], 16)
365 354 + " "
366 355 + QString::number(ccsdsPacket[1], 16)
367 356 + " "
368 357 + QString::number(ccsdsPacket[2], 16)
369 358 + " "
370 359 + QString::number(ccsdsPacket[3], 16)
371 360 + " *** coarse time "
372 361 + QString::number(fine_time_value));
373 362 //+ QString::number(ccsdsPacket[4], 16)
374 363 //+" "
375 364 //+ QString::number(ccsdsPacket[5], 16)
376 365 //+" "
377 366 //+ QString::number(ccsdsPacket[6], 16)
378 367 //+" "
379 368 //+ QString::number(ccsdsPacket[7], 16));
380 369 displayOnConsole(message);
381 370 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
382 371 emit ccsdsPacketIsProcessed();
383 372 }
384 373
385 374 void rmapplugin::processPacketStore()
386 375 {
387 376 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
388 377 }
389 378
390 379 int rmapplugin::fetchPacket()
391 380 {
392 381 int ret = 0;
393 382
394 383 switch(currentBridge)
395 384 {
396 385 case selectedBridgeIsGRESB :
397 386 break;
398 387 case selectedBridgeIsStarDundee :
399 388 ret = this->UI->starDundee->receiveSPWPacketLoop();
400 389 break;
401 390 default:
402 391 break;
403 392 }
404 393
405 394 return ret;
406 395 }
@@ -1,82 +1,84
1 1 #
2 2 # Project created by QtCreator 2011-09-20T08:15:30
3 3 #
4 4 #-------------------------------------------------
5 5
6 6 #include(/etc/lppmon/lppmonplugin.prf)
7 7 CONFIG += lppmonplugin
8 8 TARGET = rmapplugin
9 9
10 10 DEFINES += PLUGIN=rmapplugin
11 11 DEFINES += PLUGINHEADER="\"\\\"rmapplugin.h"\\\"\"
12 12 DEFINES += driver_Name="\"\\\"RMAPPlugin"\\\"\"
13 13 DEFINES += driver_Author="\"\\\"Paul Leroy paul.leroy@lpp.polytechnique.fr"\\\"\"
14 14 DEFINES += driver_Version="\"\\\"1.1.2"\\\"\"
15 15 DEFINES += driver_Description="\"\\\"AHB bus controler, works with Gaisler's AHB plugn' play bus."\\\"\"
16 16 DEFINES += driver_can_be_root=1
17 17 DEFINES += driver_can_be_child=0
18 18 DEFINES += driver_VID=0
19 19 DEFINES += driver_PID=0
20 20
21 21 QT += network
22 22
23 23 LIBS += ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so \
24 24 ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so
25 25
26 26
27 27 INCLUDEPATH += \
28 28 $${PWD} \
29 29 ../common_PLE \
30 ../../DEV_PLE/header \
30 31 ../spw_usb_driver_v2.63/inc \
31 32 $${QT_INSTALL_HEADER} \
32 33 $$[QT_INSTALL_HEADERS]/lppmon/common \
33 34 $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay
34 35
35 36 LIBS += -llppmoncommon -lwfdisplay -lqwt5-qt4
36 37
37 38
38 39 HEADERS += \
40 ../../DEV_PLE/header/ccsds_types.h \
39 41 rmappluginui.h \
40 42 rmapplugin.h \
41 43 rmapoperations.h \
42 44 ccsds.h \
43 45 ../common_PLE/qipdialogbox.h \
44 46 ../common_PLE/gresbstatusenquiry.h \
45 47 rmappluginpythonwrapper.h \
46 48 stardundee.h \
47 49 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
48 50 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
49 51 gresb.h \
50 52 tcpackettosend.h \
51 53 tmpackettoread.h \
52 54 tmstatistics.h \
53 55 wfpacket.h \
54 56 params.h \
55 57 tmechobridge.h
56 58
57 59
58 60 SOURCES += \
59 61 rmapplugin.cpp \
60 62 rmappluginui.cpp \
61 63 rmapoperations.cpp \
62 64 ccsds.cpp \
63 65 ../common_PLE/qipdialogbox.cpp \
64 66 ../common_PLE/gresbstatusenquiry.cpp \
65 67 rmappluginpythonwrapper.cpp \
66 68 stardundee.cpp \
67 69 gresb.cpp \
68 70 tcpackettosend.cpp \
69 71 tmpackettoread.cpp \
70 72 tmstatistics.cpp \
71 73 wfpacket.cpp \
72 74 tmechobridge.cpp
73 75
74 76
75 77
76 78
77 79
78 80
79 81
80 82
81 83
82 84
@@ -1,207 +1,241
1 1 #include "tmechobridge.h"
2 2
3 3 TMEchoBridge::TMEchoBridge(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 totalOfBytes = 0;
7 7 totalOfPackets = 0;
8 8 totalOfPacketsDropped = 0;
9 9
10 10 tmEchoBridgeServer = new QTcpServer();
11 11 tmEchoBridgeSocket = new QTcpSocket();
12 12 xmlWriter = new QXmlStreamWriter();
13 13
14 14 console = new QTextEdit();
15 15
16 16 label_TMServerPort = new QLabel(tr("TM Server Port:"));
17 17 label_totalOfBytes = new QLabel(tr("Number of TM bytes sent: -"));
18 18 label_totalOfPackets = new QLabel(tr("Number of TM packets sent: -"));
19 19 label_totalOfPacketsDropped = new QLabel(tr("Number of TM packets dropped: -"));
20 20
21 21 spinbox_TMServerPort = new QSpinBox();
22 22 spinbox_TMServerPort->setRange(59002, 65535);
23 23
24 24 button_openServerTCTM = new QPushButton(tr("Open Port"));
25 25 button_testServerTCTM = new QPushButton(tr("Test Port"));
26 26 button_sendTestPacket = new QPushButton(tr("Send a test packet"));
27 27 button_clearConsole = new QPushButton(tr("Clear console"));
28 28 button_resetTMStatistics = new QPushButton(tr("Reset TM Statistics"));
29 29
30 30 groupbox_ports = new QGroupBox(tr("Port of the TM Echo Bridge"));
31 31
32 32 layout_ports = new QGridLayout();
33 33 mainLayout = new QGridLayout();
34 34
35 35 initSocketStatesList();
36 36
37 37 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
38 38 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
39 39 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
40 40 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
41 41 layout_ports->addWidget(button_sendTestPacket, 4, 0, 1, 2);
42 42 layout_ports->addWidget(label_totalOfPackets, 5, 0, 1, 2);
43 43 layout_ports->addWidget(label_totalOfBytes, 6, 0, 1, 2);
44 44 layout_ports->addWidget(label_totalOfPacketsDropped, 7, 0, 1, 2);
45 45 layout_ports->addWidget(button_resetTMStatistics, 8, 0, 1, 2);
46 46 layout_ports->setRowStretch(9, 1);
47 47 layout_ports->setColumnStretch(2, 1);
48 48
49 49 groupbox_ports->setLayout(layout_ports);
50 50
51 51 mainLayout->addWidget(groupbox_ports, 0, 0, 1, 1);
52 52 mainLayout->addWidget(console, 0, 1, 1, 1);
53 53 mainLayout->addWidget(button_clearConsole, 1, 1, 1, 1);
54 54
55 55 this->setLayout(mainLayout);
56 56
57 57 connect(this->tmEchoBridgeServer, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMEchoBridgeServer()));
58 58 connect(this->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTMEchoBridgePort()));
59 59 connect(this->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTMEchoBridgePort()));
60 60 connect(this->button_sendTestPacket, SIGNAL(clicked()), this, SLOT(sendXML_GSE_HK()));
61 61 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
62 62 connect(this->button_resetTMStatistics, SIGNAL(clicked()), this, SLOT(resetTMStatistics()));
63 63 }
64 64
65 65 void TMEchoBridge::listenOnTMEchoBridgePort()
66 66 {
67 67 QString str;
68 68
69 69 tmEchoBridgeServer->listen(QHostAddress::Any, this->getTMPort());
70 70 str = tmEchoBridgeServer->errorString();
71 71 if (!str.isEmpty())
72 72 {
73 73 this->displayOnConsole(str);
74 74 }
75 75 this->displayOnConsole("Listening TM on port "
76 76 + QString::number(this->getTMPort())
77 77 );
78 78 }
79 79
80 80 void TMEchoBridge::testTMEchoBridgePort()
81 81 {
82 82 if (tmEchoBridgeSocket != NULL)
83 83 {
84 84 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
85 85 }
86 86 else
87 87 {
88 88 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
89 89 }
90 90 }
91 91
92 92 void TMEchoBridge::newConnectionOnTMEchoBridgeServer()
93 93 {
94 94 this->displayOnConsole("got new connection on TM port");
95 95 tmEchoBridgeSocket = tmEchoBridgeServer->nextPendingConnection();
96 96 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
97 97 xmlWriter->setDevice(this->tmEchoBridgeSocket);
98 98 }
99 99
100 100 int TMEchoBridge::getTMPort()
101 101 {
102 102 return spinbox_TMServerPort->value();
103 103 }
104 104
105 105 void TMEchoBridge::displayOnConsole(QString message)
106 106 {
107 107 console->append(message);
108 108 }
109 109
110 110 void TMEchoBridge::initSocketStatesList()
111 111 {
112 112 socketStates.append("The socket is not connected");
113 113 socketStates.append("The socket is performing a host name lookup");
114 114 socketStates.append("The socket has started establishing a connection");
115 115 socketStates.append("A connection is established");
116 116 socketStates.append("The socket is bound to an address and port (for servers)");
117 117 socketStates.append("The socket is about to close (data may still be waiting to be written)");
118 118 socketStates.append("For internal use only");
119 119 }
120 120
121 121 void TMEchoBridge::sendXML_GSE_HK()
122 122 {
123 123 char data[10];
124 124 for (int i = 0; i <10; i++)
125 125 {
126 126 data[i] = i;
127 127 }
128 128 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
129 129 {
130 130 xmlWriter->writeStartDocument();
131 131
132 132 xmlWriter->writeStartElement("Event");
133 133
134 134 // EventDate
135 135 xmlWriter->writeStartElement("EventDate");
136 136 xmlWriter->writeEndElement();
137 137
138 138 // Event Time
139 139 xmlWriter->writeStartElement("EventTime");
140 140 xmlWriter->writeEndElement();
141 141
142 142 // EventBinary
143 143 xmlWriter->writeStartElement("EventBinary");
144 144 xmlWriter->writeCharacters("FFFFCC0099");
145 145 xmlWriter->writeCharacters(QString::fromLocal8Bit(data, 10));
146 146 xmlWriter->writeEndElement();
147 147
148 148 xmlWriter->writeEndElement();
149 149
150 150 xmlWriter->writeEndDocument();
151 151 }
152 152 else
153 153 {
154 154 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
155 155 }
156 156 }
157 157
158 158 void TMEchoBridge::sendTMPacket(TMPacketToRead *tmPacketToRead)
159 159 {
160 160 QByteArray ccsdsArray;
161 QTime echoBridgeTimeout;
162 161
163 162 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
164 163 {
165 164 ccsdsArray.append("<Event>");
166 165
167 166 ccsdsArray.append("<EventDate>");
168 167 ccsdsArray.append("</EventDate>");
169 168
170 169 ccsdsArray.append("<EventTime>");
171 170 ccsdsArray.append("</EventTime>");
172 171
173 172 ccsdsArray.append("<EventBinary>");
174 173 ccsdsArray.append(QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size).toHex());
175 174 ccsdsArray.append("</EventBinary>");
176 175
177 176 ccsdsArray.append("</Event>");
178 177
179 178 tmEchoBridgeSocket->write(ccsdsArray);
180 179 tmEchoBridgeSocket->flush();
181 180
182 181 totalOfBytes = totalOfBytes + tmPacketToRead->size;
183 182 totalOfPackets = totalOfPackets + 1;
184 183 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
185 184 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
186 185 }
187 186 else
188 187 {
189 188 totalOfPacketsDropped = totalOfPacketsDropped + 1;
190 189 label_totalOfPacketsDropped->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
191 190 }
192 191 }
193 192
193 void TMEchoBridge::sendTMPacketLESIA(TMPacketToRead *tmPacketToRead)
194 {
195 QByteArray ccsdsArray;
196
197 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
198 {
199 ccsdsArray.append("<Event>");
200
201 ccsdsArray.append("<EventDate>");
202 ccsdsArray.append("</EventDate>");
203
204 ccsdsArray.append("<EventTime>");
205 ccsdsArray.append("</EventTime>");
206
207 ccsdsArray.append("<EventBinary>");
208 ccsdsArray.append(QByteArray::fromRawData( (char*) &tmPacketToRead->Value[4], tmPacketToRead->size-4).toHex());
209 ccsdsArray.append("</EventBinary>");
210
211 ccsdsArray.append("</Event>");
212
213 tmEchoBridgeSocket->write(ccsdsArray);
214 tmEchoBridgeSocket->flush();
215
216 totalOfBytes = totalOfBytes + tmPacketToRead->size;
217 totalOfPackets = totalOfPackets + 1;
218 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
219 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
220 }
221 else
222 {
223 totalOfPacketsDropped = totalOfPacketsDropped + 1;
224 label_totalOfPacketsDropped->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
225 }
226 }
227
194 228 void TMEchoBridge::clearConsole()
195 229 {
196 230 this->console->clear();
197 231 }
198 232
199 233 void TMEchoBridge::resetTMStatistics()
200 234 {
201 235 label_totalOfBytes->setText("Number of TM bytes sent: -");
202 236 label_totalOfPackets->setText("Number of TM packets sent: -");
203 237 label_totalOfPacketsDropped->setText("Number of TM packets dropped: -");
204 238 totalOfBytes = 0;
205 239 totalOfPackets = 0;
206 240 totalOfPacketsDropped = 0;
207 241 }
@@ -1,72 +1,73
1 1 #ifndef TMECHOBRIDGE_H
2 2 #define TMECHOBRIDGE_H
3 3
4 4 #include <QWidget>
5 5 #include <QTcpServer>
6 6 #include <QTcpSocket>
7 7 #include <QLabel>
8 8 #include <QSpinBox>
9 9 #include <QPushButton>
10 10 #include <QGroupBox>
11 11 #include <QGridLayout>
12 12 #include <QTextEdit>
13 13 #include <QXmlStreamWriter>
14 14 #include <QTime>
15 15 #include "tmpackettoread.h"
16 16
17 17 class TMEchoBridge : public QWidget
18 18 {
19 19 Q_OBJECT
20 20 public:
21 21 explicit TMEchoBridge(QWidget *parent = 0);
22 22
23 23 signals:
24 24
25 25 public slots:
26 26 void listenOnTMEchoBridgePort();
27 27 void testTMEchoBridgePort();
28 28 void newConnectionOnTMEchoBridgeServer();
29 29 int getTMPort();
30 30 void displayOnConsole(QString message);
31 31 void initSocketStatesList();
32 32 void newConnectionOnTCServer();
33 33 void sendXML_GSE_HK();
34 34 void sendTMPacket(TMPacketToRead *tmPacketToRead);
35 void sendTMPacketLESIA(TMPacketToRead *tmPacketToRead);
35 36 void clearConsole();
36 37 void resetTMStatistics();
37 38
38 39 private:
39 40 QList<QString> socketStates;
40 41
41 42 unsigned int totalOfBytes;
42 43 unsigned int totalOfPackets;
43 44 unsigned int totalOfPacketsDropped;
44 45
45 46 QTcpServer *tmEchoBridgeServer;
46 47 QTcpSocket *tmEchoBridgeSocket;
47 48
48 49 QXmlStreamWriter *xmlWriter;
49 50
50 51 QTextEdit *console;
51 52
52 53 QLabel *label_TMServerPort;
53 54 QLabel *label_totalOfBytes;
54 55 QLabel *label_totalOfPackets;
55 56 QLabel *label_totalOfPacketsDropped;
56 57
57 58 QSpinBox *spinbox_TMServerPort;
58 59
59 60 QPushButton *button_openServerTCTM;
60 61 QPushButton *button_testServerTCTM;
61 62 QPushButton *button_sendTestPacket;
62 63 QPushButton *button_clearConsole;
63 64 QPushButton *button_resetTMStatistics;
64 65
65 66 QGroupBox *groupbox_ports;
66 67
67 68 QGridLayout *layout_ports;
68 69 QGridLayout *mainLayout;
69 70
70 71 };
71 72
72 73 #endif // TMECHOBRIDGE_H
@@ -1,540 +1,659
1 1 #include "tmstatistics.h"
2 2 #include <QtGui>
3 3 #include <QFontInfo>
4 4
5 5 TMStatistics::TMStatistics(QWidget *parent) :
6 6 QWidget(parent)
7 7 {
8 8 // Create Fonts
9 9 QFont font;
10 10 font = QFont(this->fontInfo().family(), STATISTICS_FONT_SIZE, QFont::Light);
11 11
12 12 label_UNKNOWN = new QLabel("UNKNOWN");
13 13 label_UNKNOWN_nb = new QLabel("-");
14 14
15 15 mainLayout = new QGridLayout();
16 16 layout_stat = new QGridLayout(); // TM stastictics
17 17 layout_NORM = new QGridLayout(); // TM_LFR_SCIENCE_NORMAL_
18 18 layout_BURST = new QGridLayout(); // TM_LFR_SCIENCE_BURST_
19 19 layout_SBM1 = new QGridLayout(); // TM_LFR_SCIENCE_SBM1_
20 20 layout_SBM2 = new QGridLayout(); // TM_LFR_SCIENCE_SBM2_
21 21 layout_last = new QGridLayout(); // last TM description
22 22
23 23 //***************
24 24 // TM_LFR_TC_EXE_
25 25 label_SUCC = new QLabel("SUCCESS");
26 26 label_INCO = new QLabel("INCONSISTENT");
27 27 label_NOTE = new QLabel("NOT_EXECUTABLE");
28 28 label_NOTI = new QLabel("NOT_IMPLEMENTED");
29 29 label_ERRO = new QLabel("ERROR");
30 30 label_CORR = new QLabel("CORRUPTED");
31 31 label_HK = new QLabel("TM_LFR_HK");
32 label_DUMP = new QLabel("TM_LFR_PARAMETER_DUMP");
32 33 //
33 34 label_SUCC_nb = new QLabel("-");
34 35 label_INCO_nb = new QLabel("-");
35 36 label_NOTE_nb = new QLabel("-");
36 37 label_NOTI_nb = new QLabel("-");
37 38 label_ERRO_nb = new QLabel("-");
38 39 label_CORR_nb = new QLabel("-");
39 40 label_HK_nb = new QLabel("-");
41 label_DUMP_nb = new QLabel("-");
40 42
41 43 //***********************
42 44 // TM_LFR_SCIENCE_NORMAL_
43 45 label_NORM_SWF_F0 = new QLabel("SWF_F0");
44 46 label_NORM_SWF_F1 = new QLabel("SWF_F1");
45 47 label_NORM_SWF_F2 = new QLabel("SWF_F2");
46 48 label_NORM_CWF_F3 = new QLabel("CWF_F3");
47 49 label_NORM_ASM_F0 = new QLabel("ASM_F0");
48 50 label_NORM_ASM_F1 = new QLabel("ASM_F1");
49 51 label_NORM_ASM_F2 = new QLabel("ASM_F2");
50 52 label_NORM_BP1_F0 = new QLabel("BP1_F0");
51 53 label_NORM_BP1_F1 = new QLabel("BP1_F1");
52 54 label_NORM_BP1_F2 = new QLabel("BP1_F2");
53 55 label_NORM_BP2_F0 = new QLabel("BP2_F0");
54 56 label_NORM_BP2_F1 = new QLabel("BP2_F1");
55 57 label_NORM_BP2_F2 = new QLabel("BP2_F2");
56 58 //
57 59 label_NORM_SWF_F0_nb = new QLabel("-");
58 60 label_NORM_SWF_F1_nb = new QLabel("-");
59 61 label_NORM_SWF_F2_nb = new QLabel("-");
60 62 label_NORM_CWF_F3_nb = new QLabel("-");
61 63 label_NORM_ASM_F0_nb = new QLabel("-");
62 64 label_NORM_ASM_F1_nb = new QLabel("-");
63 65 label_NORM_ASM_F2_nb = new QLabel("-");
64 66 label_NORM_BP1_F0_nb = new QLabel("-");
65 67 label_NORM_BP1_F1_nb = new QLabel("-");
66 68 label_NORM_BP1_F2_nb = new QLabel("-");
67 69 label_NORM_BP2_F0_nb = new QLabel("-");
68 70 label_NORM_BP2_F1_nb = new QLabel("-");
69 71 label_NORM_BP2_F2_nb = new QLabel("-");
70 72
71 73 //**********************
72 74 // TM_LFR_SCIENCE_BURST_
73 75 label_BURST_CWF_F2 = new QLabel("CWF_F2");
74 76 label_BURST_BP1_F0 = new QLabel("BP1_F0");
75 77 label_BURST_BP2_F0 = new QLabel("BP2_F0");
76 78 label_BURST_BP1_F1 = new QLabel("BP1_F1");
77 79 label_BURST_BP2_F1 = new QLabel("BP2_F1");
78 80 //
79 81 label_BURST_CWF_F2_nb = new QLabel("-");
80 82 label_BURST_BP1_F0_nb = new QLabel("-");
81 83 label_BURST_BP2_F0_nb = new QLabel("-");
82 84 label_BURST_BP1_F1_nb = new QLabel("-");
83 85 label_BURST_BP2_F1_nb = new QLabel("-");
84 86
85 87 //*********************
86 88 // TM_LFR_SCIENCE_SBM1_
87 89 label_SBM1_CWF_F1 = new QLabel("CWF_F1");
88 90 label_SBM1_BP1_F0 = new QLabel("BP1_F0");
89 91 label_SBM1_BP2_F0 = new QLabel("BP2_F0");
90 92 //
91 93 label_SBM1_CWF_F1_nb = new QLabel("-");
92 94 label_SBM1_BP1_F0_nb = new QLabel("-");
93 95 label_SBM1_BP2_F0_nb = new QLabel("-");
94 96
95 97 //*********************
96 98 // TM_LFR_SCIENCE_SBM2_
97 99 label_SBM2_CWF_F2 = new QLabel("CWF_F2");
98 100 label_SBM2_BP1_F0 = new QLabel("BP1_F0");
99 101 label_SBM2_BP2_F0 = new QLabel("BP2_F0");
100 102 label_SBM2_BP1_F1 = new QLabel("BP1_F1");
101 103 label_SBM2_BP2_F1 = new QLabel("BP2_F1");
102 104 //
103 105 label_SBM2_CWF_F2_nb = new QLabel("-");
104 106 label_SBM2_BP1_F0_nb = new QLabel("-");
105 107 label_SBM2_BP2_F0_nb = new QLabel("-");
106 108 label_SBM2_BP1_F1_nb = new QLabel("-");
107 109 label_SBM2_BP2_F1_nb = new QLabel("-");
108 110
109 111 //********
110 112 // LAST TM
111 113 label_PID = new QLabel("PID");
112 114 label_CAT = new QLabel("CAT");
113 115 label_TYP = new QLabel("Type");
114 116 label_SUB = new QLabel("Subtype");
115 117 label_SID = new QLabel("SID");
116 118 label_SIZ = new QLabel("Length");
117 119 label_coarse_time = new QLabel("Coarse time: ");
118 120 label_fine_time = new QLabel("Fine time: ");
119 121 //
120 122 label_PID_is = new QLabel("-");
121 123 label_CAT_is = new QLabel("-");
122 124 label_TYP_is = new QLabel("-");
123 125 label_SUB_is = new QLabel("-");
124 126 label_SID_is = new QLabel("-");
125 127 label_SIZ_is = new QLabel("-");
126 128 label_coarse_time_val = new QLabel("-");
127 129 label_fine_time_val = new QLabel("-");
128 130
129 131 // QPushButton
130 132 button_reset_stat = new QPushButton("reset stat");
131 133
132 134 //**********
133 135 // QGroupBox
134 136 this->setStyleSheet("QGroupBox {border: 1px solid black; }");
135 137
136 138 groupbox_stat = new QGroupBox("TM_LFR_TC_EXE_");
137 139 groupbox_NORM = new QGroupBox("TM_LFR_SCIENCE_NORMAL_");
138 140 groupbox_BURST = new QGroupBox("TM_LFR_SCIENCE_BURST_");
139 141 groupbox_SBM1 = new QGroupBox("TM_LFR_SCIENCE_SBM1_");
140 142 groupbox_SBM2 = new QGroupBox("TM_LFR_SCIENCE_SBM2_");
141 143 groupbox_last = new QGroupBox("Last TM received");
142 144
143 145 groupbox_stat->setFont(font);
144 146 groupbox_NORM->setFont(font);
145 147 groupbox_BURST->setFont(font);
146 148 groupbox_SBM1->setFont(font);
147 149 groupbox_SBM2->setFont(font);
148 150 groupbox_last->setFont(font);
149 151
150 152 initConstants();
151 153
152 154 buildMonitor_NORM();
153 155 buildMonitor_BURST();
154 156 buildMonitor_SBM1();
155 157 buildMonitor_SBM2();
156 158 buildMonitor();
157 159
158 160 connect(this->button_reset_stat, SIGNAL(clicked()), this, SLOT(resetStatistics()));
159 161
160 162 }
161 163
162 164 void TMStatistics::initConstants()
163 165 {
164 166 UNKNOWN_nb = 0;
165 167
166 // TM_LFR_SCIENCE_NORMAL_
168 // TM_LFR_TC_EXE_
167 169 SUCC_nb = 0;
168 170 INCO_nb = 0;
169 171 NOTE_nb = 0;
170 172 NOTI_nb = 0;
171 173 ERRO_nb = 0;
172 174 CORR_nb = 0;
173 175 HK_nb = 0;
176 DUMP_nb = 0;
174 177
175 178 // TM_LFR_SCIENCE_NORMAL_
176 179 NORM_SWF_F0_nb = 0;
177 180 NORM_SWF_F1_nb = 0;
178 181 NORM_SWF_F2_nb = 0;
179 182 NORM_CWF_F3_nb = 0;
180 183 NORM_ASM_F0_nb = 0;
181 184 NORM_ASM_F1_nb = 0;
182 185 NORM_ASM_F2_nb = 0;
183 186 NORM_BP1_F0_nb = 0;
184 187 NORM_BP1_F1_nb = 0;
185 188 NORM_BP1_F2_nb = 0;
186 189 NORM_BP2_F0_nb = 0;
187 190 NORM_BP2_F1_nb = 0;
188 191 NORM_BP2_F2_nb = 0;
189 192
190 193 BURST_CWF_F2_nb = 0;
191 194 BURST_BP1_F0_nb = 0;
192 195 BURST_BP2_F0_nb = 0;
193 196 BURST_BP1_F1_nb = 0;
194 197 BURST_BP2_F1_nb = 0;
195 198 SBM1_CWF_F1_nb = 0;
196 199 SBM1_BP1_F0_nb = 0;
197 200 SBM1_BP2_F0_nb = 0;
198 201 SBM2_CWF_F2_nb = 0;
199 202 SBM2_BP1_F0_nb = 0;
200 203 SBM2_BP2_F0_nb = 0;
201 204 SBM2_BP1_F1_nb = 0;
202 205 SBM2_BP2_F1_nb = 0;
203 206 }
204 207
205 208 void TMStatistics::buildMonitor_NORM()
206 209 {
207 210 layout_NORM->addWidget(label_NORM_SWF_F0, 0, 0, 1, 1);
208 211 layout_NORM->addWidget(label_NORM_SWF_F1, 1, 0, 1, 1);
209 212 layout_NORM->addWidget(label_NORM_SWF_F2, 2, 0, 1, 1);
210 213 layout_NORM->addWidget(label_NORM_CWF_F3, 3, 0, 1, 1);
211 214 //
212 215 layout_NORM->addWidget(label_NORM_SWF_F0_nb, 0, 1, 1, 1);
213 216 layout_NORM->addWidget(label_NORM_SWF_F1_nb, 1, 1, 1, 1);
214 217 layout_NORM->addWidget(label_NORM_SWF_F2_nb, 2, 1, 1, 1);
215 218 layout_NORM->addWidget(label_NORM_CWF_F3_nb, 3, 1, 1, 1);
216 219 //
217 220 layout_NORM->addWidget(label_NORM_ASM_F0, 4, 0, 1, 1);
218 221 layout_NORM->addWidget(label_NORM_ASM_F1, 5, 0, 1, 1);
219 222 layout_NORM->addWidget(label_NORM_ASM_F2, 6, 0, 1, 1);
220 223 //
221 224 layout_NORM->addWidget(label_NORM_ASM_F0_nb, 4, 1, 1, 1);
222 225 layout_NORM->addWidget(label_NORM_ASM_F1_nb, 5, 1, 1, 1);
223 226 layout_NORM->addWidget(label_NORM_ASM_F2_nb, 6, 1, 1, 1);
224 227 //
225 228 layout_NORM->addWidget(label_NORM_BP1_F0, 0, 2, 1, 1);
226 229 layout_NORM->addWidget(label_NORM_BP1_F1, 1, 2, 1, 1);
227 230 layout_NORM->addWidget(label_NORM_BP1_F2, 2, 2, 1, 1);
228 231 layout_NORM->addWidget(label_NORM_BP2_F0, 3, 2, 1, 1);
229 232 layout_NORM->addWidget(label_NORM_BP2_F1, 4, 2, 1, 1);
230 233 layout_NORM->addWidget(label_NORM_BP2_F2, 5, 2, 1, 1);
231 234 //
232 235 layout_NORM->addWidget(label_NORM_BP1_F0_nb, 0, 3, 1, 1);
233 236 layout_NORM->addWidget(label_NORM_BP1_F1_nb, 1, 3, 1, 1);
234 237 layout_NORM->addWidget(label_NORM_BP1_F2_nb, 2, 3, 1, 1);
235 238 layout_NORM->addWidget(label_NORM_BP2_F0_nb, 3, 3, 1, 1);
236 239 layout_NORM->addWidget(label_NORM_BP2_F1_nb, 4, 3, 1, 1);
237 240 layout_NORM->addWidget(label_NORM_BP2_F2_nb, 5, 3, 1, 1);
238 241 }
239 242
240 243 void TMStatistics::buildMonitor_BURST()
241 244 {
242 245 layout_BURST->addWidget(label_BURST_CWF_F2, 0, 0, 1, 1);
243 246 layout_BURST->addWidget(label_BURST_BP1_F0, 1, 0, 1, 1);
244 247 layout_BURST->addWidget(label_BURST_BP2_F0, 2, 0, 1, 1);
245 248 layout_BURST->addWidget(label_BURST_BP1_F1, 3, 0, 1, 1);
246 249 layout_BURST->addWidget(label_BURST_BP2_F1, 4, 0, 1, 1);
247 250 //
248 251 layout_BURST->addWidget(label_BURST_CWF_F2_nb, 0, 1, 1, 1);
249 252 layout_BURST->addWidget(label_BURST_BP1_F0_nb, 1, 1, 1, 1);
250 253 layout_BURST->addWidget(label_BURST_BP2_F0_nb, 2, 1, 1, 1);
251 254 layout_BURST->addWidget(label_BURST_BP1_F1_nb, 3, 1, 1, 1);
252 255 layout_BURST->addWidget(label_BURST_BP2_F1_nb, 4, 1, 1, 1);
253 256 //
254 257 layout_BURST->setRowStretch(5, 1);
255 258 layout_BURST->setColumnStretch(2,1);
256 259 }
257 260
258 261 void TMStatistics::buildMonitor_SBM1()
259 262 {
260 263 layout_SBM1->addWidget(label_SBM1_CWF_F1, 0, 0, 1, 1);
261 264 layout_SBM1->addWidget(label_SBM1_BP1_F0, 1, 0, 1, 1);
262 265 layout_SBM1->addWidget(label_SBM1_BP2_F0, 2, 0, 1, 1);
263 266 //
264 267 layout_SBM1->addWidget(label_SBM1_CWF_F1_nb, 0, 1, 1, 1);
265 268 layout_SBM1->addWidget(label_SBM1_BP1_F0_nb, 1, 1, 1, 1);
266 269 layout_SBM1->addWidget(label_SBM1_BP2_F0_nb, 2, 1, 1, 1);
267 270 //
268 271 layout_SBM1->setRowStretch(3, 1);
269 272 layout_SBM1->setColumnStretch(2,1);
270 273 }
271 274
272 275 void TMStatistics::buildMonitor_SBM2()
273 276 {
274 277 layout_SBM2->addWidget(label_SBM2_CWF_F2, 0, 0, 1, 1);
275 278 layout_SBM2->addWidget(label_SBM2_BP1_F0, 1, 0, 1, 1);
276 279 layout_SBM2->addWidget(label_SBM2_BP2_F0, 2, 0, 1, 1);
277 280 layout_SBM2->addWidget(label_SBM2_BP1_F1, 3, 0, 1, 1);
278 281 layout_SBM2->addWidget(label_SBM2_BP2_F1, 4, 0, 1, 1);
279 282 //
280 283 layout_SBM2->addWidget(label_SBM2_CWF_F2_nb, 0, 1, 1, 1);
281 284 layout_SBM2->addWidget(label_SBM2_BP1_F0_nb, 1, 1, 1, 1);
282 285 layout_SBM2->addWidget(label_SBM2_BP2_F0_nb, 2, 1, 1, 1);
283 286 layout_SBM2->addWidget(label_SBM2_BP1_F1_nb, 3, 1, 1, 1);
284 287 layout_SBM2->addWidget(label_SBM2_BP2_F1_nb, 4, 1, 1, 1);
285 288 //
286 289 layout_SBM2->setRowStretch(5, 1);
287 290 layout_SBM2->setColumnStretch(2,1);
288 291 }
289 292
290 293 void TMStatistics::buildMonitor()
291 294 {
292 295 //***************
293 296 // TM_LFR_TC_EXE_
294 297 layout_stat->addWidget(label_SUCC, 0, 0, 1, 1);
295 298 layout_stat->addWidget(label_INCO, 1, 0, 1, 1);
296 299 layout_stat->addWidget(label_NOTE, 2, 0, 1, 1);
297 300 layout_stat->addWidget(label_NOTI, 3, 0, 1, 1);
298 301 layout_stat->addWidget(label_ERRO, 4, 0, 1, 1);
299 302 layout_stat->addWidget(label_CORR, 5, 0, 1, 1);
300 303 layout_stat->addWidget(label_HK, 6, 0, 1, 1);
304 layout_stat->addWidget(label_DUMP, 7, 0, 1, 1);
301 305 //
302 306 layout_stat->addWidget(label_SUCC_nb, 0, 1, 1, 1);
303 307 layout_stat->addWidget(label_INCO_nb, 1, 1, 1, 1);
304 308 layout_stat->addWidget(label_NOTE_nb, 2, 1, 1, 1);
305 309 layout_stat->addWidget(label_NOTI_nb, 3, 1, 1, 1);
306 310 layout_stat->addWidget(label_ERRO_nb, 4, 1, 1, 1);
307 311 layout_stat->addWidget(label_CORR_nb, 5, 1, 1, 1);
308 312 layout_stat->addWidget(label_HK_nb, 6, 1, 1, 1);
313 layout_stat->addWidget(label_DUMP_nb, 7, 1, 1, 1);
309 314
310 315 //********
311 316 // LAST TM
312 317 layout_last->addWidget(label_PID, 0, 0, 1, 1);
313 318 layout_last->addWidget(label_CAT, 0, 1, 1, 1);
314 319 layout_last->addWidget(label_TYP, 0, 2, 1, 1);
315 320 layout_last->addWidget(label_SUB, 0, 3, 1, 1);
316 321 layout_last->addWidget(label_SID, 0, 4, 1, 1);
317 322 layout_last->addWidget(label_SIZ, 0, 5, 1, 1);
318 323 //
319 324 layout_last->addWidget(label_PID_is, 1, 0, 1, 1);
320 325 layout_last->addWidget(label_CAT_is, 1, 1, 1, 1);
321 326 layout_last->addWidget(label_TYP_is, 1, 2, 1, 1);
322 327 layout_last->addWidget(label_SUB_is, 1, 3, 1, 1);
323 328 layout_last->addWidget(label_SID_is, 1, 4, 1, 1);
324 329 layout_last->addWidget(label_SIZ_is, 1, 5, 1, 1);
325 330 //
326 331 layout_last->addWidget(label_coarse_time, 2, 0, 1, 1);
327 332 layout_last->addWidget(label_coarse_time_val, 2, 1, 1, 1);
328 333 layout_last->addWidget(label_fine_time, 2, 2, 1, 1);
329 334 layout_last->addWidget(label_fine_time_val, 2, 3, 1, 1);
330 335 //
331 336 layout_last->addWidget(label_UNKNOWN, 3, 0, 1, 1);
332 337 layout_last->addWidget(label_UNKNOWN_nb, 3, 1, 1, 1);
333 338
334 339 //***********
335 340 // groupboxes
336 341 groupbox_stat->setLayout(layout_stat);
337 342 groupbox_NORM->setLayout(layout_NORM);
338 343 groupbox_BURST->setLayout(layout_BURST);
339 344 groupbox_SBM1->setLayout(layout_SBM1);
340 345 groupbox_SBM2->setLayout(layout_SBM2);
341 346 groupbox_last->setLayout(layout_last);
342 347 //
343 348 mainLayout->addWidget(groupbox_stat, 0, 0, 1, 1);
344 349 mainLayout->addWidget(groupbox_NORM, 1, 0, 1, 1);
345 350 mainLayout->addWidget(groupbox_last, 2, 0, 1, 2);
346 351 mainLayout->addWidget(groupbox_SBM1, 0, 1, 1, 1);
347 352 mainLayout->addWidget(groupbox_SBM2, 0, 2, 1, 1);
348 353 mainLayout->addWidget(groupbox_BURST, 1, 1, 1, 1);
349 354 mainLayout->addWidget(button_reset_stat, 3, 0, 1, 2);
350 355 mainLayout->setColumnStretch(3, 1);
351 356 mainLayout->setRowStretch(4, 1);
352 357 //
353 358 this->setLayout(mainLayout);
354 359 }
355 360
356 361 void TMStatistics::resetStatistics()
357 362 {
358 363 initConstants();
359 364 //
360 365 label_UNKNOWN_nb->setText("-");
361 366 label_SUCC_nb->setText("-");
362 367 label_INCO_nb->setText("-");
363 368 label_NOTE_nb->setText("-");
364 369 label_NOTI_nb->setText("-");
365 370 label_ERRO_nb->setText("-");
366 371 label_CORR_nb->setText("-");
367 372 label_HK_nb->setText("-");
373 label_DUMP_nb->setText("-");
368 374 //
369 375 label_NORM_SWF_F0_nb->setText("-");
370 376 label_NORM_SWF_F1_nb->setText("-");
371 377 label_NORM_SWF_F2_nb->setText("-");
372 378 label_NORM_CWF_F3_nb->setText("-");
379 label_NORM_ASM_F0_nb->setText("-");
373 380 //
374 381 label_BURST_CWF_F2_nb->setText("-");
375 382 //
376 383 label_SBM1_CWF_F1_nb->setText("-");
377 384 //
378 385 label_SBM2_CWF_F2_nb->setText("-");
379 386 //
380 387 label_PID_is->setText("-");
381 388 label_CAT_is->setText("-");
382 389 label_TYP_is->setText("-");
383 390 label_SUB_is->setText("-");
384 391 label_SID_is->setText("-");
385 392 label_SIZ_is->setText("-");
386 393 //
387 394 label_coarse_time_val->setText("-");
388 395 label_fine_time_val->setText("-");
389 396 }
390 397
391 398 void TMStatistics::updateStatistics(unsigned char pid, unsigned char cat,
392 399 unsigned char typ, unsigned char sub,
393 400 unsigned int sid, unsigned int length,
394 401 unsigned int coarse_t, unsigned int fine_t)
395 402 {
396 403 if (cat == 1)
397 404 {
398 if (typ == 1)
405 if (typ == TM_TYPE_TC_EXE)
399 406 {
400 if (sub == 7)
407 if (sub == TM_SUBTYPE_EXE_OK)
401 408 {
402 409 SUCC_nb = SUCC_nb + 1;
403 410 label_SUCC_nb->setText(QString::number(SUCC_nb));
404 411 }
405 else if (sub == 8)
412 else if (sub == TM_SUBTYPE_EXE_NOK)
406 413 {
407 if (sid == 5)
414 if (sid == SID_EXE_INC)
408 415 {
409 416 INCO_nb = INCO_nb + 1;
410 417 label_INCO_nb->setText(QString::number(INCO_nb));
411 418 }
412 else if (sid == 40000)
419 else if (sid == SID_NOT_EXE)
413 420 {
414 421 NOTE_nb = NOTE_nb + 1;
415 422 label_NOTE_nb->setText(QString::number(NOTE_nb));
416 423 }
417 else if (sid == 40002)
424 else if (sid == SID_NOT_IMP)
418 425 {
419 426 NOTI_nb = NOTI_nb + 1;
420 427 label_NOTI_nb->setText(QString::number(NOTI_nb));
421 428 }
422 else if (sid == 40003)
429 else if (sid == SID_EXE_ERR)
423 430 {
424 431 ERRO_nb = ERRO_nb + 1;
425 432 label_ERRO_nb->setText(QString::number(ERRO_nb));
426 433 }
427 else if (sid == 40005)
434 else if (sid == SID_EXE_CORR)
428 435 {
429 436 CORR_nb = CORR_nb + 1;
430 437 label_CORR_nb->setText(QString::number(CORR_nb));
431 438 }
432 439 else incrementUnknown();
433 440 }
434 441 else incrementUnknown();
435 442 }
436 443 else
437 444 incrementUnknown();
438 445 }
439 446 else if (cat == 4)
440 447 {
441 if (typ == 3)
448 if (typ == TM_TYPE_HK)
442 449 {
443 if (sub == 25)
444 if (sid == 1)
450 if (sub == TM_SUBTYPE_HK)
451 if (sid == SID_HK)
445 452 {
446 453 HK_nb = HK_nb + 1;
447 454 label_HK_nb->setText(QString::number(HK_nb));
448 455 }
449 456 else
450 457 {
451 458 incrementUnknown();
452 459 }
453 460 else
454 461 {
455 462 incrementUnknown();
456 463 }
457 464 }
458 465 else
459 466 {
460 467 incrementUnknown();
461 468 }
462 469 }
470 else if (cat == 9)
471 {
472 if (typ == TM_TYPE_PARAMETER_DUMP)
473 {
474 if (sub == TM_SUBTYPE_PARAMETER_DUMP)
475 if (sid == SID_PARAMETER_DUMP)
476 {
477 DUMP_nb = DUMP_nb + 1;
478 label_DUMP_nb->setText(QString::number(DUMP_nb));
479 }
480 else
481 {
482 incrementUnknown();
483 }
484 else
485 {
486 incrementUnknown();
487 }
488 }
489 else
490 {
491 incrementUnknown();
492 }
493 }
463 494 else if (cat == 12)
464 495 {
465 496 if (typ == 21)
466 497 {
467 498 if (sub == 3)
468 499 {
469 if (sid == 1)
500 if (sid == SID_NORM_CWF_F3)
470 501 {
471 502 NORM_CWF_F3_nb = NORM_CWF_F3_nb + 1;
472 503 label_NORM_CWF_F3_nb->setText(QString::number(NORM_CWF_F3_nb));
473 504 }
474 else if (sid == 2)
505 else if (sid == SID_BURST_CWF_F2)
475 506 {
476 507 BURST_CWF_F2_nb = BURST_CWF_F2_nb + 1;
477 508 label_BURST_CWF_F2_nb->setText(QString::number(BURST_CWF_F2_nb));
478 509 }
479 else if (sid == 3)
510 else if (sid == SID_NORM_SWF_F0)
480 511 {
481 512 NORM_SWF_F0_nb = NORM_SWF_F0_nb + 1;
482 513 label_NORM_SWF_F0_nb->setText(QString::number(NORM_SWF_F0_nb));
483 514 }
484 else if (sid == 4)
515 else if (sid == SID_NORM_SWF_F1)
485 516 {
486 517 NORM_SWF_F1_nb = NORM_SWF_F1_nb + 1;
487 518 label_NORM_SWF_F1_nb->setText(QString::number(NORM_SWF_F1_nb));
488 519 }
489 else if (sid == 5)
520 else if (sid == SID_NORM_SWF_F2)
490 521 {
491 522 NORM_SWF_F2_nb = NORM_SWF_F2_nb + 1;
492 523 label_NORM_SWF_F2_nb->setText(QString::number(NORM_SWF_F2_nb));
493 524 }
494 else if (sid == 24)
525 else if (sid == SID_NORM_ASM_F0)
526 {
527 NORM_ASM_F0_nb = NORM_ASM_F0_nb + 1;
528 label_NORM_ASM_F0_nb->setText(QString::number(NORM_ASM_F0_nb));
529 }
530 else if (sid == SID_SBM1_CWF_F1)
495 531 {
496 532 SBM1_CWF_F1_nb = SBM1_CWF_F1_nb + 1;
497 533 label_SBM1_CWF_F1_nb->setText(QString::number(SBM1_CWF_F1_nb));
498 534 }
499 else if (sid == 25)
535 else if (sid == SID_SBM2_CWF_F2)
500 536 {
501 537 SBM2_CWF_F2_nb = SBM2_CWF_F2_nb + 1;
502 538 label_SBM2_CWF_F2_nb->setText(QString::number(SBM2_CWF_F2_nb));
503 539 }
504 540 else
505 541 {
506 542 incrementUnknown();
507 543 }
508 544 }
509 545 }
510 546 else
511 547 {
512 548 incrementUnknown();
513 549 }
514 550 }
515 551 else
516 552 {
517 553 incrementUnknown();
518 554 }
519 555
520 556 label_PID_is->setText(QString::number(pid));
521 557 label_CAT_is->setText(QString::number(cat));
522 558 label_TYP_is->setText(QString::number(typ));
523 559 label_SUB_is->setText(QString::number(sub));
524 560 label_SID_is->setText(QString::number(sid));
525 561 label_SIZ_is->setText(QString::number(length));
526 562 label_coarse_time_val->setText(QString::number(coarse_t, 16));
527 563 label_fine_time_val->setText(QString::number(fine_t, 16));
528 564 }
529 565
530 566 void TMStatistics::incrementUnknown()
531 567 {
532 568 UNKNOWN_nb = UNKNOWN_nb + 1;
533 569 label_UNKNOWN_nb->setText(QString::number(UNKNOWN_nb));
534 570 }
535 571
572 unsigned char TMStatistics::getPID(TMPacketToRead *packet)
573 {
574 unsigned char pid = 0;
575
576 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
577
578 return pid;
579 }
580
581 unsigned char TMStatistics::getCAT(TMPacketToRead *packet)
582 {
583 unsigned char cat = 0;
584
585 cat = packet->Value[5] & 0x0f;
586
587 return cat;
588 }
589
590 unsigned char TMStatistics::getTYPE(TMPacketToRead *packet)
591 {
592 unsigned char typ = 0;
593
594 typ = packet->Value[11]; // TYPE
595
596 return typ;
597 }
598
599 unsigned char TMStatistics::getSUBTYPE(TMPacketToRead *packet)
600 {
601 unsigned char sub = 0;
602
603 sub = packet->Value[12]; // SUBTYPE
604
605 return sub;
606 }
607
608 unsigned int TMStatistics::getLENGTH(TMPacketToRead *packet)
609 {
610 unsigned int length = 0;
611
612 length = packet->Value[8] * 256 + packet->Value[9];
613
614 return length;
615 }
616
617 unsigned int TMStatistics::getCoarseTime(TMPacketToRead *packet)
618 {
619 unsigned int coarse = 0;
620
621 coarse = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
622 + packet->Value[16] * pow(2, 8) + packet->Value[17];
623
624 return coarse;
625 }
626
627 unsigned int TMStatistics::getFineTime(TMPacketToRead *packet)
628 {
629 unsigned int fine = 0;
630
631 fine = packet->Value[18] * pow(2, 8) + packet->Value[19];
632
633 return fine;
634 }
635
636 unsigned int TMStatistics::getSID(TMPacketToRead *packet,
637 unsigned char pid, unsigned char cat,
638 unsigned char typ, unsigned char sub)
639 {
640 unsigned int sid = 0;
641
642 if ((pid == 76) & (cat == 1) & (typ == TM_TYPE_TC_EXE) & (sub == TM_SUBTYPE_EXE_NOK))
643 sid = packet->Value[20] * 256 + packet->Value[21];
644 else if ((pid == 76) & (cat == 4) & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK))
645 sid = SID_HK;
646 else if ((pid == 76) & (cat == 9) & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP))
647 sid = SID_PARAMETER_DUMP;
648 else if ((pid == 76) & (cat == 12) & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
649 sid = packet->Value[20];
650 else if ((pid == 79) & (cat == 12) & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
651 sid = packet->Value[20];
652
653 return sid;
654 }
536 655
537 656
538 657
539 658
540 659
@@ -1,205 +1,220
1 1 #ifndef TMSTATISTICS_H
2 2 #define TMSTATISTICS_H
3 3
4 4 #include <QWidget>
5 5 #include <QLabel>
6 6 #include <QPushButton>
7 7 #include <QGridLayout>
8 8 #include <QVBoxLayout>
9 9 #include <QGroupBox>
10 #include <tmpackettoread.h>
11 #include <ccsds_types.h>
10 12
11 13 #define STATISTICS_FONT_SIZE 9
12 14
13 15 class TMStatistics : public QWidget
14 16 {
15 17 Q_OBJECT
16 18 public:
17 19
18 20 explicit TMStatistics(QWidget *parent = 0);
19 21 void initConstants();
20 22 void buildMonitor_BURST();
21 23 void buildMonitor_SBM1();
22 24 void buildMonitor_SBM2();
23 25 void buildMonitor_NORM();
24 26 void buildMonitor();
25 27 void incrementUnknown();
28 //
29 void preProcessPacket(TMPacketToRead *packet);
30 unsigned char getPID(TMPacketToRead *packet);
31 unsigned char getCAT(TMPacketToRead *packet);
32 unsigned char getTYPE(TMPacketToRead *packet);
33 unsigned char getSUBTYPE(TMPacketToRead *packet);
34 unsigned int getLENGTH(TMPacketToRead *packet);
35 unsigned int getCoarseTime(TMPacketToRead *packet);
36 unsigned int getFineTime(TMPacketToRead *packet);
37 unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
26 38
27 39 unsigned int UNKNOWN_nb;
28 40 unsigned int SUCC_nb;
29 41 unsigned int INCO_nb;
30 42 unsigned int NOTE_nb;
31 43 unsigned int NOTI_nb;
32 44 unsigned int ERRO_nb;
33 45 unsigned int CORR_nb;
34 46 unsigned int HK_nb;
47 unsigned int DUMP_nb;
35 48 unsigned int NORM_SWF_F0_nb;
36 49 unsigned int NORM_SWF_F1_nb;
37 50 unsigned int NORM_SWF_F2_nb;
38 51 unsigned int NORM_CWF_F3_nb;
39 52 unsigned int NORM_ASM_F0_nb;
40 53 unsigned int NORM_ASM_F1_nb;
41 54 unsigned int NORM_ASM_F2_nb;
42 55 unsigned int NORM_BP1_F0_nb;
43 56 unsigned int NORM_BP1_F1_nb;
44 57 unsigned int NORM_BP1_F2_nb;
45 58 unsigned int NORM_BP2_F0_nb;
46 59 unsigned int NORM_BP2_F1_nb;
47 60 unsigned int NORM_BP2_F2_nb;
48 61 //
49 62 unsigned int BURST_CWF_F2_nb;
50 63 unsigned int BURST_BP1_F0_nb;
51 64 unsigned int BURST_BP2_F0_nb;
52 65 unsigned int BURST_BP1_F1_nb;
53 66 unsigned int BURST_BP2_F1_nb;
54 67 unsigned int SBM1_CWF_F1_nb;
55 68 unsigned int SBM1_BP1_F0_nb;
56 69 unsigned int SBM1_BP2_F0_nb;
57 70 unsigned int SBM2_CWF_F2_nb;
58 71 unsigned int SBM2_BP1_F0_nb;
59 72 unsigned int SBM2_BP2_F0_nb;
60 73 unsigned int SBM2_BP1_F1_nb;
61 74 unsigned int SBM2_BP2_F1_nb;
62 75
63 76 //*******
64 77 // QLabel
65 78 QLabel *label_UNKNOWN;
66 79 QLabel *label_UNKNOWN_nb;
67 80
68 81 //***************
69 82 // TM_LFR_TC_EXE_
70 83 QLabel *label_SUCC;
71 84 QLabel *label_INCO;
72 85 QLabel *label_NOTE;
73 86 QLabel *label_NOTI;
74 87 QLabel *label_ERRO;
75 88 QLabel *label_CORR;
76 89 QLabel *label_HK;
90 QLabel *label_DUMP;
77 91 //
78 92 QLabel *label_SUCC_nb;
79 93 QLabel *label_INCO_nb;
80 94 QLabel *label_NOTE_nb;
81 95 QLabel *label_NOTI_nb;
82 96 QLabel *label_ERRO_nb;
83 97 QLabel *label_CORR_nb;
84 98 QLabel *label_HK_nb;
99 QLabel *label_DUMP_nb;
85 100
86 101 //***********************
87 102 // TM_LFR_SCIENCE_NORMAL_
88 103 QLabel *label_NORM_SWF_F0;
89 104 QLabel *label_NORM_SWF_F1;
90 105 QLabel *label_NORM_SWF_F2;
91 106 QLabel *label_NORM_CWF_F3;
92 107 QLabel *label_NORM_ASM_F0;
93 108 QLabel *label_NORM_ASM_F1;
94 109 QLabel *label_NORM_ASM_F2;
95 110 QLabel *label_NORM_BP1_F0;
96 111 QLabel *label_NORM_BP1_F1;
97 112 QLabel *label_NORM_BP1_F2;
98 113 QLabel *label_NORM_BP2_F0;
99 114 QLabel *label_NORM_BP2_F1;
100 115 QLabel *label_NORM_BP2_F2;
101 116 //
102 117 QLabel *label_NORM_SWF_F0_nb;
103 118 QLabel *label_NORM_SWF_F1_nb;
104 119 QLabel *label_NORM_SWF_F2_nb;
105 120 QLabel *label_NORM_CWF_F3_nb;
106 121 QLabel *label_NORM_ASM_F0_nb;
107 122 QLabel *label_NORM_ASM_F1_nb;
108 123 QLabel *label_NORM_ASM_F2_nb;
109 124 QLabel *label_NORM_BP1_F0_nb;
110 125 QLabel *label_NORM_BP1_F1_nb;
111 126 QLabel *label_NORM_BP1_F2_nb;
112 127 QLabel *label_NORM_BP2_F0_nb;
113 128 QLabel *label_NORM_BP2_F1_nb;
114 129 QLabel *label_NORM_BP2_F2_nb;
115 130
116 131 //**********************
117 132 // TM_LFR_SCIENCE_BURST_
118 133 QLabel *label_BURST_CWF_F2;
119 134 QLabel *label_BURST_BP1_F0;
120 135 QLabel *label_BURST_BP2_F0;
121 136 QLabel *label_BURST_BP1_F1;
122 137 QLabel *label_BURST_BP2_F1;
123 138 //
124 139 QLabel *label_BURST_CWF_F2_nb;
125 140 QLabel *label_BURST_BP1_F0_nb;
126 141 QLabel *label_BURST_BP2_F0_nb;
127 142 QLabel *label_BURST_BP1_F1_nb;
128 143 QLabel *label_BURST_BP2_F1_nb;
129 144
130 145 //*********************
131 146 // TM_LFR_SCIENCE_SBM1_
132 147 QLabel *label_SBM1_CWF_F1;
133 148 QLabel *label_SBM1_BP1_F0;
134 149 QLabel *label_SBM1_BP2_F0;
135 150 //
136 151 QLabel *label_SBM1_CWF_F1_nb;
137 152 QLabel *label_SBM1_BP1_F0_nb;
138 153 QLabel *label_SBM1_BP2_F0_nb;
139 154
140 155 //*********************
141 156 // TM_LFR_SCIENCE_SBM2_
142 157 QLabel *label_SBM2_CWF_F2;
143 158 QLabel *label_SBM2_BP1_F0;
144 159 QLabel *label_SBM2_BP2_F0;
145 160 QLabel *label_SBM2_BP1_F1;
146 161 QLabel *label_SBM2_BP2_F1;
147 162 //
148 163 QLabel *label_SBM2_CWF_F2_nb;
149 164 QLabel *label_SBM2_BP1_F0_nb;
150 165 QLabel *label_SBM2_BP2_F0_nb;
151 166 QLabel *label_SBM2_BP1_F1_nb;
152 167 QLabel *label_SBM2_BP2_F1_nb;
153 168
154 169 //********
155 170 // LAST TM
156 171 QLabel *label_PID;
157 172 QLabel *label_CAT;
158 173 QLabel *label_TYP;
159 174 QLabel *label_SUB;
160 175 QLabel *label_SID;
161 176 QLabel *label_SIZ;
162 177 QLabel *label_coarse_time;
163 178 QLabel *label_fine_time;
164 179 //
165 180 QLabel *label_PID_is;
166 181 QLabel *label_CAT_is;
167 182 QLabel *label_TYP_is;
168 183 QLabel *label_SUB_is;
169 184 QLabel *label_SID_is;
170 185 QLabel *label_SIZ_is;
171 186 QLabel *label_coarse_time_val;
172 187 QLabel *label_fine_time_val;
173 188
174 189 // Layouts
175 190 QGridLayout *mainLayout;
176 191 QGridLayout *layout_stat; // TM stastictics
177 192 QGridLayout *layout_NORM; // TM_LFR_SCIENCE_NORMAL_
178 193 QGridLayout *layout_BURST; // TM_LFR_SCIENCE_BURST_
179 194 QGridLayout *layout_SBM1; // TM_LFR_SCIENCE_SBM1_
180 195 QGridLayout *layout_SBM2; // TM_LFR_SCIENCE_SBM2_
181 196 QGridLayout *layout_last; // last TM description
182 197
183 198 // QPushButton
184 199 QPushButton *button_reset_stat;
185 200
186 201 // QGroupBox
187 202 QGroupBox *groupbox_stat;
188 203 QGroupBox *groupbox_NORM;
189 204 QGroupBox *groupbox_BURST;
190 205 QGroupBox *groupbox_SBM1;
191 206 QGroupBox *groupbox_SBM2;
192 207 QGroupBox *groupbox_last;
193 208
194 209 signals:
195 210
196 211 public slots:
197 212 void resetStatistics();
198 213 void updateStatistics(unsigned char pid, unsigned char cat,
199 214 unsigned char typ, unsigned char sub,
200 215 unsigned int sid, unsigned int length,
201 216 unsigned int coarse_t, unsigned int fine_t);
202 217
203 218 };
204 219
205 220 #endif // TMSTATISTICS_H
@@ -1,340 +1,361
1 1 #############################################################################
2 2 # Makefile for building: libwfdisplay.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 12 08:12:10 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 24 10:11:16 2013
4 4 # Project: wfdisplay.pro
5 5 # Template: lib
6 # Command: /usr/bin/qmake-qt4 -o Makefile wfdisplay.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile wfdisplay.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 12 CXX = g++
13 13 DEFINES = -DWFDISPLAY_LIBRARY -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
16 16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -Ilppmonplot -IQCustomPlot -I.
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,libwfdisplay.so.1
19 19 LIBS = $(SUBLIBS) -L/usr/lib64 -lQtGui -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = ./
43 43
44 44 ####### Files
45 45
46 46 SOURCES = wfdisplay.cpp \
47 47 wfplot.cpp \
48 48 wfpage.cpp \
49 49 lppmonplot/lppmonplot.cpp \
50 QCustomPlot/qcustomplot.cpp moc_wfdisplay.cpp \
50 QCustomPlot/qcustomplot.cpp \
51 pagespectra.cpp moc_wfdisplay.cpp \
51 52 moc_wfplot.cpp \
52 53 moc_wfpage.cpp \
53 54 moc_lppmonplot.cpp \
54 moc_qcustomplot.cpp
55 moc_qcustomplot.cpp \
56 moc_pagespectra.cpp
55 57 OBJECTS = wfdisplay.o \
56 58 wfplot.o \
57 59 wfpage.o \
58 60 lppmonplot.o \
59 61 qcustomplot.o \
62 pagespectra.o \
60 63 moc_wfdisplay.o \
61 64 moc_wfplot.o \
62 65 moc_wfpage.o \
63 66 moc_lppmonplot.o \
64 moc_qcustomplot.o
67 moc_qcustomplot.o \
68 moc_pagespectra.o
65 69 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
66 70 /usr/lib64/qt4/mkspecs/common/linux.conf \
67 71 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
68 72 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
69 73 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
70 74 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
71 75 /usr/lib64/qt4/mkspecs/qconfig.pri \
72 76 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
73 77 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
74 78 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
75 79 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
76 80 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
77 81 /usr/lib64/qt4/mkspecs/features/release.prf \
78 82 /usr/lib64/qt4/mkspecs/features/default_post.prf \
79 83 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
80 84 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
81 85 /usr/lib64/qt4/mkspecs/features/qt.prf \
82 86 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
83 87 /usr/lib64/qt4/mkspecs/features/moc.prf \
84 88 /usr/lib64/qt4/mkspecs/features/resources.prf \
85 89 /usr/lib64/qt4/mkspecs/features/uic.prf \
86 90 /usr/lib64/qt4/mkspecs/features/yacc.prf \
87 91 /usr/lib64/qt4/mkspecs/features/lex.prf \
88 92 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
89 93 wfdisplay.pro
90 94 QMAKE_TARGET = wfdisplay
91 95 DESTDIR =
92 96 TARGET = libwfdisplay.so.1.0.0
93 97 TARGETA = libwfdisplay.a
94 98 TARGETD = libwfdisplay.so.1.0.0
95 99 TARGET0 = libwfdisplay.so
96 100 TARGET1 = libwfdisplay.so.1
97 101 TARGET2 = libwfdisplay.so.1.0
98 102
99 103 first: all
100 104 ####### Implicit rules
101 105
102 106 .SUFFIXES: .o .c .cpp .cc .cxx .C
103 107
104 108 .cpp.o:
105 109 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
106 110
107 111 .cc.o:
108 112 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
109 113
110 114 .cxx.o:
111 115 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
112 116
113 117 .C.o:
114 118 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
115 119
116 120 .c.o:
117 121 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
118 122
119 123 ####### Build rules
120 124
121 125 all: Makefile $(TARGET)
122 126
123 127 $(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
124 128 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
125 129 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
126 130 -ln -s $(TARGET) $(TARGET0)
127 131 -ln -s $(TARGET) $(TARGET1)
128 132 -ln -s $(TARGET) $(TARGET2)
129 133
130 134
131 135
132 136 staticlib: $(TARGETA)
133 137
134 138 $(TARGETA): $(OBJECTS) $(OBJCOMP)
135 139 -$(DEL_FILE) $(TARGETA)
136 140 $(AR) $(TARGETA) $(OBJECTS)
137 141
138 142 Makefile: wfdisplay.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
139 143 /usr/lib64/qt4/mkspecs/common/linux.conf \
140 144 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
141 145 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
142 146 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
143 147 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
144 148 /usr/lib64/qt4/mkspecs/qconfig.pri \
145 149 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
146 150 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
147 151 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
148 152 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
149 153 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
150 154 /usr/lib64/qt4/mkspecs/features/release.prf \
151 155 /usr/lib64/qt4/mkspecs/features/default_post.prf \
152 156 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
153 157 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
154 158 /usr/lib64/qt4/mkspecs/features/qt.prf \
155 159 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
156 160 /usr/lib64/qt4/mkspecs/features/moc.prf \
157 161 /usr/lib64/qt4/mkspecs/features/resources.prf \
158 162 /usr/lib64/qt4/mkspecs/features/uic.prf \
159 163 /usr/lib64/qt4/mkspecs/features/yacc.prf \
160 164 /usr/lib64/qt4/mkspecs/features/lex.prf \
161 165 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
162 166 /usr/lib64/libQtGui.prl \
163 167 /usr/lib64/libQtCore.prl
164 $(QMAKE) -o Makefile wfdisplay.pro
168 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile wfdisplay.pro
165 169 /usr/lib64/qt4/mkspecs/common/unix.conf:
166 170 /usr/lib64/qt4/mkspecs/common/linux.conf:
167 171 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
168 172 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
169 173 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
170 174 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
171 175 /usr/lib64/qt4/mkspecs/qconfig.pri:
172 176 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
173 177 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
174 178 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
175 179 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
176 180 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
177 181 /usr/lib64/qt4/mkspecs/features/release.prf:
178 182 /usr/lib64/qt4/mkspecs/features/default_post.prf:
179 183 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
180 184 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
181 185 /usr/lib64/qt4/mkspecs/features/qt.prf:
182 186 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
183 187 /usr/lib64/qt4/mkspecs/features/moc.prf:
184 188 /usr/lib64/qt4/mkspecs/features/resources.prf:
185 189 /usr/lib64/qt4/mkspecs/features/uic.prf:
186 190 /usr/lib64/qt4/mkspecs/features/yacc.prf:
187 191 /usr/lib64/qt4/mkspecs/features/lex.prf:
188 192 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
189 193 /usr/lib64/libQtGui.prl:
190 194 /usr/lib64/libQtCore.prl:
191 195 qmake: FORCE
192 @$(QMAKE) -o Makefile wfdisplay.pro
196 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile wfdisplay.pro
193 197
194 198 dist:
195 199 @$(CHK_DIR_EXISTS) .tmp/wfdisplay1.0.0 || $(MKDIR) .tmp/wfdisplay1.0.0
196 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.h wfdisplay_global.h wfplot.h wfpage.h wfdisplay_params.h lppmonplot/lppmonplot.h QCustomPlot/qcustomplot.h .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.cpp wfplot.cpp wfpage.cpp lppmonplot/lppmonplot.cpp QCustomPlot/qcustomplot.cpp .tmp/wfdisplay1.0.0/ && (cd `dirname .tmp/wfdisplay1.0.0` && $(TAR) wfdisplay1.0.0.tar wfdisplay1.0.0 && $(COMPRESS) wfdisplay1.0.0.tar) && $(MOVE) `dirname .tmp/wfdisplay1.0.0`/wfdisplay1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/wfdisplay1.0.0
200 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.h wfdisplay_global.h wfplot.h wfpage.h wfdisplay_params.h lppmonplot/lppmonplot.h QCustomPlot/qcustomplot.h pagespectra.h .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.cpp wfplot.cpp wfpage.cpp lppmonplot/lppmonplot.cpp QCustomPlot/qcustomplot.cpp pagespectra.cpp .tmp/wfdisplay1.0.0/ && (cd `dirname .tmp/wfdisplay1.0.0` && $(TAR) wfdisplay1.0.0.tar wfdisplay1.0.0 && $(COMPRESS) wfdisplay1.0.0.tar) && $(MOVE) `dirname .tmp/wfdisplay1.0.0`/wfdisplay1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/wfdisplay1.0.0
197 201
198 202
199 203 clean:compiler_clean
200 204 -$(DEL_FILE) $(OBJECTS)
201 205 -$(DEL_FILE) *~ core *.core
202 206
203 207
204 208 ####### Sub-libraries
205 209
206 210 distclean: clean
207 211 -$(DEL_FILE) $(TARGET)
208 212 -$(DEL_FILE) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA)
209 213 -$(DEL_FILE) Makefile
210 214
211 215
212 216 check: first
213 217
214 218 mocclean: compiler_moc_header_clean compiler_moc_source_clean
215 219
216 220 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
217 221
218 compiler_moc_header_make_all: moc_wfdisplay.cpp moc_wfplot.cpp moc_wfpage.cpp moc_lppmonplot.cpp moc_qcustomplot.cpp
222 compiler_moc_header_make_all: moc_wfdisplay.cpp moc_wfplot.cpp moc_wfpage.cpp moc_lppmonplot.cpp moc_qcustomplot.cpp moc_pagespectra.cpp
219 223 compiler_moc_header_clean:
220 -$(DEL_FILE) moc_wfdisplay.cpp moc_wfplot.cpp moc_wfpage.cpp moc_lppmonplot.cpp moc_qcustomplot.cpp
224 -$(DEL_FILE) moc_wfdisplay.cpp moc_wfplot.cpp moc_wfpage.cpp moc_lppmonplot.cpp moc_qcustomplot.cpp moc_pagespectra.cpp
221 225 moc_wfdisplay.cpp: wfdisplay_global.h \
222 226 wfpage.h \
223 227 wfplot.h \
224 228 wfdisplay_params.h \
225 229 wfdisplay.h
226 230 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfdisplay.h -o moc_wfdisplay.cpp
227 231
228 232 moc_wfplot.cpp: wfplot.h
229 233 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfplot.h -o moc_wfplot.cpp
230 234
231 235 moc_wfpage.cpp: wfdisplay_global.h \
232 236 wfplot.h \
233 237 wfdisplay_params.h \
234 238 wfpage.h
235 239 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpage.h -o moc_wfpage.cpp
236 240
237 241 moc_lppmonplot.cpp: lppmonplot/lppmonplot.h
238 242 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lppmonplot/lppmonplot.h -o moc_lppmonplot.cpp
239 243
240 244 moc_qcustomplot.cpp: QCustomPlot/qcustomplot.h
241 245 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) QCustomPlot/qcustomplot.h -o moc_qcustomplot.cpp
242 246
247 moc_pagespectra.cpp: wfdisplay_global.h \
248 wfplot.h \
249 wfdisplay_params.h \
250 pagespectra.h
251 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) pagespectra.h -o moc_pagespectra.cpp
252
243 253 compiler_rcc_make_all:
244 254 compiler_rcc_clean:
245 255 compiler_image_collection_make_all: qmake_image_collection.cpp
246 256 compiler_image_collection_clean:
247 257 -$(DEL_FILE) qmake_image_collection.cpp
248 258 compiler_moc_source_make_all:
249 259 compiler_moc_source_clean:
250 260 compiler_uic_make_all:
251 261 compiler_uic_clean:
252 262 compiler_yacc_decl_make_all:
253 263 compiler_yacc_decl_clean:
254 264 compiler_yacc_impl_make_all:
255 265 compiler_yacc_impl_clean:
256 266 compiler_lex_make_all:
257 267 compiler_lex_clean:
258 268 compiler_clean: compiler_moc_header_clean
259 269
260 270 ####### Compile
261 271
262 272 wfdisplay.o: wfdisplay.cpp wfdisplay.h \
263 273 wfdisplay_global.h \
264 274 wfpage.h \
265 275 wfplot.h \
266 276 wfdisplay_params.h
267 277 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfdisplay.o wfdisplay.cpp
268 278
269 279 wfplot.o: wfplot.cpp wfplot.h \
270 280 wfdisplay_params.h
271 281 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfplot.o wfplot.cpp
272 282
273 283 wfpage.o: wfpage.cpp wfpage.h \
274 284 wfdisplay_global.h \
275 285 wfplot.h \
276 286 wfdisplay_params.h
277 287 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpage.o wfpage.cpp
278 288
279 289 lppmonplot.o: lppmonplot/lppmonplot.cpp lppmonplot/lppmonplot.h
280 290 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lppmonplot.o lppmonplot/lppmonplot.cpp
281 291
282 292 qcustomplot.o: QCustomPlot/qcustomplot.cpp QCustomPlot/qcustomplot.h
283 293 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qcustomplot.o QCustomPlot/qcustomplot.cpp
284 294
295 pagespectra.o: pagespectra.cpp pagespectra.h \
296 wfdisplay_global.h \
297 wfplot.h \
298 wfdisplay_params.h
299 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pagespectra.o pagespectra.cpp
300
285 301 moc_wfdisplay.o: moc_wfdisplay.cpp
286 302 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfdisplay.o moc_wfdisplay.cpp
287 303
288 304 moc_wfplot.o: moc_wfplot.cpp
289 305 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfplot.o moc_wfplot.cpp
290 306
291 307 moc_wfpage.o: moc_wfpage.cpp
292 308 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfpage.o moc_wfpage.cpp
293 309
294 310 moc_lppmonplot.o: moc_lppmonplot.cpp
295 311 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lppmonplot.o moc_lppmonplot.cpp
296 312
297 313 moc_qcustomplot.o: moc_qcustomplot.cpp
298 314 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qcustomplot.o moc_qcustomplot.cpp
299 315
316 moc_pagespectra.o: moc_pagespectra.cpp
317 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_pagespectra.o moc_pagespectra.cpp
318
300 319 ####### Install
301 320
302 321 install_header: first FORCE
303 322 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ || $(MKDIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
304 -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
305 -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay_global.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
306 -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfpage.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
307 -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfplot.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
308 -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay_params.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
323 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfdisplay.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
324 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfdisplay_global.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
325 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfpage.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
326 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfplot.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
327 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfdisplay_params.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
328 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/pagespectra.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
309 329
310 330
311 331 uninstall_header: FORCE
312 332 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay.h
313 333 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay_global.h
314 334 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfpage.h
315 335 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfplot.h
316 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay_params.h
336 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay_params.h
337 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/pagespectra.h
317 338 -$(DEL_DIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
318 339
319 340
320 341 install_target: first FORCE
321 342 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib64/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib64/
322 343 -$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET)"
323 344 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET0)"
324 345 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET1)"
325 346 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET2)"
326 347
327 348 uninstall_target: FORCE
328 349 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET)"
329 350 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET0)"
330 351 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET1)"
331 352 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET2)"
332 353 -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib64/
333 354
334 355
335 356 install: install_header install_target FORCE
336 357
337 358 uninstall: uninstall_header uninstall_target FORCE
338 359
339 360 FORCE:
340 361
@@ -1,51 +1,56
1 1 #include "wfdisplay.h"
2 2
3 3
4 4 WFDisplay::WFDisplay(QWidget *parent) :
5 5 QWidget(parent)
6 6 {
7 7 waveforms_LAYOUT = new QVBoxLayout;
8 8
9 9 spwTabWidget = new QTabWidget;
10 10
11 11 page_f0 = new WFPage();
12 12 page_f1 = new WFPage();
13 13 page_f2 = new WFPage();
14 14 page_f3 = new WFPage();
15 15
16 page_f0->pageTitle = "NORM_SWF_F0";
17 page_f1->pageTitle = "NORM_SWF_F1";
18 page_f2->pageTitle = "NORM_SWF_F2";
19 page_f3->pageTitle = "NORM_CWF_F3";
20
16 21 spwTabWidget->addTab(page_f0, tr("f0 (24576 Hz)"));
17 22 spwTabWidget->addTab(page_f1, tr("f1 (4096 Hz"));
18 23 spwTabWidget->addTab(page_f2, tr("f2 (256 Hz)"));
19 24 spwTabWidget->addTab(page_f3, tr("f3 (16 Hz)"));
20 25
21 26 waveforms_LAYOUT->addWidget(spwTabWidget);
22 27
23 28 this->setLayout(waveforms_LAYOUT);
24 29
25 30 }
26 31
27 32 void WFDisplay::displayOnPlot(short *data, unsigned char num_page, unsigned char num)
28 33 {
29 34 QVector<double> x(XMAX), y(XMAX);
30 35
31 36 for (int i=0; i<XMAX; ++i)
32 37 {
33 38 x[i] = i;
34 39 y[i] = (double) data[i];
35 40 }
36 41 switch(num_page){
37 42 case 0:
38 43 page_f0->displayOnPlot(data, num);
39 44 break;
40 45 case 1:
41 46 page_f1->displayOnPlot(data, num);
42 47 break;
43 48 case 2:
44 49 page_f2->displayOnPlot(data, num);
45 50 break;
46 51 case 3:
47 52 page_f3->displayOnPlot(data, num);
48 53 break;
49 54 }
50 55
51 56 }
@@ -1,49 +1,52
1 1 #-------------------------------------------------
2 2 #
3 3 # Project created by QtCreator 2013-05-31T12:59:38
4 4 #
5 5 #-------------------------------------------------
6 6
7 7 TARGET = wfdisplay
8 8 TEMPLATE = lib
9 9
10 10 INCLUDEPATH += \
11 11 $${PWD} \
12 12 ./lppmonplot \
13 13 ./QCustomPlot
14 14 # $$[QT_INSTALL_HEADERS]/lppmon/common
15 15
16 16 #LIBS += -llppmoncommon
17 17
18 18 DEFINES += WFDISPLAY_LIBRARY
19 19
20 20 SOURCES += wfdisplay.cpp \
21 21 wfplot.cpp \
22 22 wfpage.cpp \
23 23 lppmonplot/lppmonplot.cpp \
24 QCustomPlot/qcustomplot.cpp
24 QCustomPlot/qcustomplot.cpp \
25 pagespectra.cpp
25 26
26 27
27 28 HEADERS += wfdisplay.h\
28 29 wfdisplay_global.h \
29 30 wfplot.h \
30 31 wfpage.h \
31 32 wfdisplay_params.h \
32 33 lppmonplot/lppmonplot.h \
33 QCustomPlot/qcustomplot.h
34 QCustomPlot/qcustomplot.h \
35 pagespectra.h
34 36
35 37
36 38 header.path = $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay
37 39 header.files = \
38 40 wfdisplay.h \
39 41 wfdisplay_global.h \
40 42 wfpage.h \
41 43 wfplot.h \
42 wfdisplay_params.h
44 wfdisplay_params.h \
45 pagespectra.h
43 46
44 47 target.path = $$[QT_INSTALL_LIBS]
45 48 isEmpty(target.path) {
46 49 target.path = $(QTDIR)/lib
47 50 }
48 51
49 52 INSTALLS += header target
@@ -1,214 +1,195
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-07-12T07:39:41. -->
3 <!-- Written by QtCreator 2.7.0, 2013-07-24T16:26:20. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
14 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 <value type="QString" key="language">Cpp</value>
16 <value type="QByteArray" key="language">Cpp</value>
16 17 <valuemap type="QVariantMap" key="value">
17 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 19 </valuemap>
19 20 </valuemap>
20 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 <value type="QString" key="language">QmlJS</value>
22 <value type="QByteArray" key="language">QmlJS</value>
22 23 <valuemap type="QVariantMap" key="value">
23 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 25 </valuemap>
25 26 </valuemap>
26 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
30 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 45 </valuemap>
44 46 </data>
45 47 <data>
46 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 49 <valuemap type="QVariantMap"/>
48 50 </data>
49 51 <data>
50 52 <variable>ProjectExplorer.Project.Target.0</variable>
51 53 <valuemap type="QVariantMap">
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
55 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/lib64/ccache/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
62 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
66 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
67 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 71 </valuemap>
70 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
71 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
76 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 <value type="QString">-w</value>
79 <value type="QString">-r</value>
80 </valuelist>
74 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
76 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 84 </valuemap>
78 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
88 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 89 </valuemap>
83 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
85 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
95 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 <value type="QString">-w</value>
98 <value type="QString">-r</value>
99 </valuelist>
88 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
90 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 103 </valuemap>
92 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
107 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 108 </valuemap>
97 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
114 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 118 </valuemap>
108 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
109 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
110 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
112 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
113 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
125 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
115 126 </valuemap>
116 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
117 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
118 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
119 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
130 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
120 131 </valuemap>
121 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
122 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
123 134 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
124 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
125 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
126 135 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
127 136 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
128 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
129 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
130 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
131 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
132 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
133 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
134 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
135 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
136 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
137 141 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
138 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
139 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
140 142 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
141 143 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
142 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
143 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
144 144 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
145 145 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 146 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
149 147 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
150 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
151 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
152 <value type="int">0</value>
153 <value type="int">1</value>
154 <value type="int">2</value>
155 <value type="int">3</value>
156 <value type="int">4</value>
157 <value type="int">5</value>
158 <value type="int">6</value>
159 <value type="int">7</value>
160 <value type="int">8</value>
161 <value type="int">9</value>
162 <value type="int">10</value>
163 <value type="int">11</value>
164 <value type="int">12</value>
165 <value type="int">13</value>
166 <value type="int">14</value>
167 </valuelist>
168 148 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
169 149 <value type="int">0</value>
170 150 <value type="int">1</value>
171 151 <value type="int">2</value>
172 152 <value type="int">3</value>
173 153 <value type="int">4</value>
174 154 <value type="int">5</value>
175 155 <value type="int">6</value>
176 156 <value type="int">7</value>
177 157 <value type="int">8</value>
178 158 <value type="int">9</value>
179 159 <value type="int">10</value>
180 160 <value type="int">11</value>
181 161 <value type="int">12</value>
182 162 <value type="int">13</value>
183 163 <value type="int">14</value>
184 164 </valuelist>
185 165 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
186 166 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
187 167 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
188 168 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
189 169 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
190 170 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
191 171 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
192 172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
193 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
173 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
194 174 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
195 175 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
176 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
196 177 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
197 178 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
198 179 </valuemap>
199 180 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
200 181 </valuemap>
201 182 </data>
202 183 <data>
203 184 <variable>ProjectExplorer.Project.TargetCount</variable>
204 185 <value type="int">1</value>
205 186 </data>
206 187 <data>
207 188 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
208 189 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
209 190 </data>
210 191 <data>
211 192 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
212 <value type="int">10</value>
193 <value type="int">12</value>
213 194 </data>
214 195 </qtcreator>
@@ -1,9 +1,10
1 1 #ifndef WFDISPLAY_PARAMS_H
2 2 #define WFDISPLAY_PARAMS_H
3 3
4 4 #define FONT_SIZE_WAVEFORM_TITLE 10
5 #define XMAX 2048
6 #define YMAX 15000
5 #define WFDISPLAY_XMAX 2048
6 #define WFDISPLAY_YMAX 15000
7 7 #define DEFAULT_SIZE 2048
8 #define WFDISPLAY_DEFAULT_SPECTRA_SIZE 128
8 9
9 10 #endif // WFDISPLAY_PARAMS_H
@@ -1,559 +1,597
1 1 #include "wfpage.h"
2 #include <stdio.h>
2 3
3 4 WFPage::WFPage(QWidget *parent) :
4 5 QMainWindow(parent)
5 6 {
6 wfPlot_v = new WFPlot();
7 wfPlot_e1 = new WFPlot();
8 wfPlot_e2 = new WFPlot();
9 wfPlot_b1 = new WFPlot();
10 wfPlot_b2 = new WFPlot();
11 wfPlot_b3 = new WFPlot();
7 unsigned int i = 0;
8
9 for (i = 0; i<6; i++)
10 {
11 localIndex[i] = 0;
12 }
13
14 pageTitle = "default";
15 wfPlot_v = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
16 wfPlot_e1 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
17 wfPlot_e2 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
18 wfPlot_b1 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
19 wfPlot_b2 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
20 wfPlot_b3 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
12 21 //
13 22 wfPlot_v->customPlot->setTitle("v");
14 23 wfPlot_e1->customPlot->setTitle("e1");
15 24 wfPlot_e2->customPlot->setTitle("e2");
16 25 wfPlot_b1->customPlot->setTitle("b1");
17 26 wfPlot_b2->customPlot->setTitle("b2");
18 27 wfPlot_b3->customPlot->setTitle("b3");
19 28 //
20 29 /*mainLayout = new QGridLayout;
21 30 mainLayout->addWidget(wfPlot_v, 0, 0, 1, 1);
22 31 mainLayout->addWidget(wfPlot_e1, 0, 1, 1, 1);
23 32 mainLayout->addWidget(wfPlot_e2, 0, 2, 1, 1);
24 33 mainLayout->addWidget(wfPlot_b1, 1, 0, 1, 1);
25 34 mainLayout->addWidget(wfPlot_b2, 1, 1, 1, 1);
26 35 mainLayout->addWidget(wfPlot_b3, 1, 2, 1, 1);*/
27 36 //
28 37 dockV = NULL;
29 38 dockE1 = NULL;
30 39 dockE2 = NULL;
31 40 dockB1 = NULL;
32 41 dockB2 = NULL;
33 42 dockB3 = NULL;
34 43
35 44 titleWidgetV = new QWidget();
36 45 titleWidgetE1 = new QWidget();
37 46 titleWidgetE2 = new QWidget();
38 47 titleWidgetB1 = new QWidget();
39 48 titleWidgetB2 = new QWidget();
40 49 titleWidgetB3 = new QWidget();
41 50
42 51 logFileName = new QLabel();
43 52 logFile = new QFile();
44 53 logFileV = new QFile();
45 54 logFileE1 = new QFile();
46 55 logFileE2 = new QFile();
47 56 logFileB1 = new QFile();
48 57 logFileB2 = new QFile();
49 58 logFileB3 = new QFile();
59
50 60 logFileEn = false;
61 storageEnabledV = false;
62 storageEnabledE1 = false;
63 storageEnabledE2 = false;
64 storageEnabledB1 = false;
65 storageEnabledB2 = false;
66 storageEnabledB3 = false;
51 67
52 68 createToolBar();
53
54 connect(this, SIGNAL(setLogFileName(QString)), this->logFileName, SLOT(setText(QString)));
55 //
56 //this->setLayout(mainLayout);
69 readSettings();
57 70 }
58 71
59 72 void WFPage::displayOnPlot(short *data, unsigned char num)
60 73 {
74 QByteArray dataByteArray;
75 unsigned int i;
76
61 77 switch(num){
62 78 case 0:
63 79 wfPlot_v->displayOnPlot(data, DEFAULT_SIZE);
80 if ( (storageEnabledV == true) && (logFileV->isOpen()) )
81 {
82 for (i=0; i<DEFAULT_SIZE; i++)
83 {
84 dataByteArray.clear();
85 dataByteArray.append(QByteArray::number(localIndex[0]));
86 dataByteArray.append(' ');
87 dataByteArray.append(QByteArray::number(data[i]));
88 *(this->logFileStrmV) << dataByteArray << endl;
89 localIndex[0]++;
90 }
91 }
64 92 break;
65 93 case 1:
66 94 wfPlot_e1->displayOnPlot(data, DEFAULT_SIZE);
67 95 break;
68 96 case 2:
69 97 wfPlot_e2->displayOnPlot(data, DEFAULT_SIZE);
70 98 break;
71 99 case 3:
72 100 wfPlot_b1->displayOnPlot(data, DEFAULT_SIZE);
73 101 break;
74 102 case 4:
75 103 wfPlot_b2->displayOnPlot(data, DEFAULT_SIZE);
76 104 break;
77 105 case 5:
78 106 wfPlot_b3->displayOnPlot(data, DEFAULT_SIZE);
79 107 break;
80 108 }
81 109 }
82 110
83 111 void WFPage::createToolBar()
84 112 {
85 113 radio_v = new QRadioButton(tr("v"));
86 114 radio_e1 = new QRadioButton(tr("e1"));
87 115 radio_e2 = new QRadioButton(tr("e2"));
88 116 radio_b1 = new QRadioButton(tr("b1"));
89 117 radio_b2 = new QRadioButton(tr("b2"));
90 118 radio_b3 = new QRadioButton(tr("b3"));
91 119 radio_tabify = new QRadioButton(tr("tabify"));
92 120
93 121 radio_v->setAutoExclusive(false);
94 122 radio_e1->setAutoExclusive(false);
95 123 radio_e2->setAutoExclusive(false);
96 124 radio_b1->setAutoExclusive(false);
97 125 radio_b2->setAutoExclusive(false);
98 126 radio_b3->setAutoExclusive(false);
99 127 radio_tabify->setAutoExclusive(false);
100 128
101 129 button_selectAll = new QPushButton(tr("select all"));
102 130 button_storeWfrm = new QPushButton(tr("REC"));
131 button_chooseDir = new QPushButton(tr("choose dir"));
103 132
104 133 myToolBar = new QToolBar("select");
105 134
106 135 myToolBar->addWidget(radio_v);
107 136 myToolBar->addWidget(radio_e1);
108 137 myToolBar->addWidget(radio_e2);
109 138 myToolBar->addWidget(radio_b1);
110 139 myToolBar->addWidget(radio_b2);
111 140 myToolBar->addWidget(radio_b3);
112 141 myToolBar->addSeparator();
113 142 myToolBar->addWidget(button_selectAll);
114 143 myToolBar->addWidget(radio_tabify);
144 myToolBar->addSeparator();
115 145 myToolBar->addWidget(button_storeWfrm);
146 myToolBar->addWidget(button_chooseDir);
116 147
117 148 addToolBar(Qt::LeftToolBarArea, myToolBar);
118 149
119 150 radio_tabify->setChecked(true);
120 151
121 152 connect(this->radio_v, SIGNAL(clicked(bool)), this, SLOT(actionRadioV(bool)));
122 153 connect(this->radio_e1, SIGNAL(clicked(bool)), this, SLOT(actionRadioE1(bool)));
123 154 connect(this->radio_e2, SIGNAL(clicked(bool)), this, SLOT(actionRadioE2(bool)));
124 155 connect(this->radio_b1, SIGNAL(clicked(bool)), this, SLOT(actionRadioB1(bool)));
125 156 connect(this->radio_b2, SIGNAL(clicked(bool)), this, SLOT(actionRadioB2(bool)));
126 157 connect(this->radio_b3, SIGNAL(clicked(bool)), this, SLOT(actionRadioB3(bool)));
127 158 connect(this->button_selectAll, SIGNAL(clicked()), this, SLOT(selectAll()));
128 159 connect(this->radio_tabify, SIGNAL(clicked(bool)), this, SLOT(organizeDocks()));
129 160 connect(this->button_storeWfrm, SIGNAL(clicked()), this, SLOT(storeWfrm()));
161 connect(this->button_chooseDir, SIGNAL(clicked()), this, SLOT(chooseDir()));
130 162 }
131 163
132 164 void WFPage::actionRadioV(bool state)
133 165 {
134 166 if (state == true)
135 167 {
136 168 if (dockV == NULL)
137 169 {
138 170 dockV = new QDockWidget("V", this);
139 171 dockV->setWidget(wfPlot_v);
140 172 dockV->setTitleBarWidget(titleWidgetV);
141 173 }
142 174 }
143 175 else
144 176 {
145 177 this->removeDockWidget(dockV);
146 178 }
147 179 organizeDocks();
148 180 }
149 181
150 182 void WFPage::actionRadioE1(bool state)
151 183 {
152 184 if (state == true)
153 185 {
154 186 if (dockE1 == NULL)
155 187 {
156 188 dockE1 = new QDockWidget("E1", this);
157 189 dockE1->setWidget(wfPlot_e1);
158 190 dockE1->setTitleBarWidget(titleWidgetE1);
159 191 }
160 192 }
161 193 else
162 194 {
163 195 this->removeDockWidget(dockE1);
164 196 }
165 197 organizeDocks();
166 198 }
167 199
168 200 void WFPage::actionRadioE2(bool state)
169 201 {
170 202 if (state == true)
171 203 {
172 204 if (dockE2 == NULL)
173 205 {
174 206 dockE2 = new QDockWidget("E2", this);
175 207 dockE2->setWidget(wfPlot_e2);
176 208 dockE2->setTitleBarWidget(titleWidgetE2);
177 209 }
178 210 }
179 211 else
180 212 {
181 213 this->removeDockWidget(dockE2);
182 214 }
183 215 organizeDocks();
184 216 }
185 217
186 218 void WFPage::actionRadioB1(bool state)
187 219 {
188 220 if (state == true)
189 221 {
190 222 if (dockB1 == NULL)
191 223 {
192 224 dockB1 = new QDockWidget("B1", this);
193 225 dockB1->setWidget(wfPlot_b1);
194 226 dockB1->setTitleBarWidget(titleWidgetB1);
195 227 }
196 228 }
197 229 else
198 230 {
199 231 this->removeDockWidget(dockB1);
200 232 }
201 233 organizeDocks();
202 234 }
203 235
204 236 void WFPage::actionRadioB2(bool state)
205 237 {
206 238 if (state == true)
207 239 {
208 240 if (dockB2 == NULL)
209 241 {
210 242 dockB2 = new QDockWidget("B2", this);
211 243 dockB2->setWidget(wfPlot_b2);
212 244 dockB2->setTitleBarWidget(titleWidgetB2);
213 245 }
214 246 }
215 247 else
216 248 {
217 249 this->removeDockWidget(dockB2);
218 250 }
219 251 organizeDocks();
220 252 }
221 253
222 254 void WFPage::actionRadioB3(bool state)
223 255 {
224 256 if (state == true)
225 257 {
226 258 if (dockB3 == NULL)
227 259 {
228 260 dockB3 = new QDockWidget("B3", this);
229 261 dockB3->setWidget(wfPlot_b3);
230 262 dockB3->setTitleBarWidget(titleWidgetB3);
231 263 }
232 264 }
233 265 else
234 266 {
235 267 this->removeDockWidget(dockB3);
236 268 }
237 269 organizeDocks();
238 270 }
239 271
240 272 void WFPage::buildDockList()
241 273 {
242 274 dockList.clear();
243 275
244 276 if (radio_v->isChecked())
245 277 {
246 278 dockList.append(dockV);
247 279 removeDockWidget(dockV);
248 280 }
249 281 if (radio_e1->isChecked())
250 282 {
251 283 dockList.append(dockE1);
252 284 removeDockWidget(dockE1);
253 285 }
254 286 if (radio_e2->isChecked())
255 287 {
256 288 dockList.append(dockE2);
257 289 removeDockWidget(dockE2);
258 290 }
259 291 if (radio_b1->isChecked())
260 292 {
261 293 dockList.append(dockB1);
262 294 removeDockWidget(dockB1);
263 295 }
264 296 if (radio_b2->isChecked())
265 297 {
266 298 dockList.append(dockB2);
267 299 removeDockWidget(dockB2);
268 300 }
269 301 if (radio_b3->isChecked())
270 302 {
271 303 dockList.append(dockB3);
272 304 removeDockWidget(dockB3);
273 305 }
274 306 }
275 307
276 308 void WFPage::organizeDocks()
277 309 {
278 310 if (radio_tabify->isChecked())
279 311 {
280 312 tabify();
281 313 }
282 314 else
283 315 {
284 316 unTabify();
285 317 }
286 318 wfPlot_v->resize(wfPlot_v->minimumSizeHint());
287 319 wfPlot_e1->resize(wfPlot_e1->minimumSizeHint());
288 320 wfPlot_e2->resize(wfPlot_e2->minimumSizeHint());
289 321 wfPlot_b1->resize(wfPlot_b1->minimumSizeHint());
290 322 wfPlot_b2->resize(wfPlot_b2->minimumSizeHint());
291 323 wfPlot_b3->resize(wfPlot_b3->minimumSizeHint());
292 324 this->resize(this->minimumSizeHint());
293 325 }
294 326
295 327 void WFPage::unTabify()
296 328 {
297 329 buildDockList();
298 330
299 331 switch(dockList.size())
300 332 {
301 333 case 0:
302 334 break;
303 335 case 1:
304 336 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
305 337 dockList.at(0)->show();
306 338 break;
307 339 case 2:
308 340 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
309 341 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
310 342 dockList.at(0)->show();
311 343 dockList.at(1)->show();
312 344 break;
313 345 case 3:
314 346 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
315 347 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
316 348 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2));
317 349 dockList.at(0)->show();
318 350 dockList.at(1)->show();
319 351 dockList.at(2)->show();
320 352 break;
321 353 case 4:
322 354 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
323 355 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
324 356 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2));
325 357 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
326 358 dockList.at(0)->show();
327 359 dockList.at(1)->show();
328 360 dockList.at(2)->show();
329 361 dockList.at(3)->show();
330 362 break;
331 363 case 5:
332 364 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
333 365 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
334 366 addDockWidget(Qt::TopDockWidgetArea, dockList.at(2));
335 367 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
336 368 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(4));
337 369 dockList.at(0)->show();
338 370 dockList.at(1)->show();
339 371 dockList.at(2)->show();
340 372 dockList.at(3)->show();
341 373 dockList.at(4)->show();
342 374 break;
343 375 case 6:
344 376 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
345 377 addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
346 378 addDockWidget(Qt::TopDockWidgetArea, dockList.at(2));
347 379 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
348 380 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(4));
349 381 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(5));
350 382 dockList.at(0)->show();
351 383 dockList.at(1)->show();
352 384 dockList.at(2)->show();
353 385 dockList.at(3)->show();
354 386 dockList.at(4)->show();
355 387 dockList.at(5)->show();
356 388 break;
357 389 default:
358 390 break;
359 391 }
360 392 }
361 393
362 394 void WFPage::tabify()
363 395 {
364 396 buildDockList();
365 397
366 398 switch(dockList.size())
367 399 {
368 400 case 0:
369 401 break;
370 402 case 1:
371 403 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
372 404 dockList.at(0)->show();
373 405 break;
374 406 case 2:
375 407 addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
376 408 tabifyDockWidget(dockList.at(0), dockList.at(1));
377 409 dockList.at(0)->show();
378 410 dockList.at(1)->show();
379 411 break;
380 412 case 3:
381 413 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
382 414 tabifyDockWidget(dockList.at(0), dockList.at(1));
383 415 tabifyDockWidget(dockList.at(1), dockList.at(2));
384 416 dockList.at(0)->show();
385 417 dockList.at(1)->show();
386 418 dockList.at(2)->show();
387 419 break;
388 420 case 4:
389 421 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
390 422 tabifyDockWidget(dockList.at(0), dockList.at(1));
391 423 tabifyDockWidget(dockList.at(1), dockList.at(2));
392 424 tabifyDockWidget(dockList.at(2), dockList.at(3));
393 425 dockList.at(0)->show();
394 426 dockList.at(1)->show();
395 427 dockList.at(2)->show();
396 428 dockList.at(3)->show();
397 429 break;
398 430 case 5:
399 431 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
400 432 tabifyDockWidget(dockList.at(0), dockList.at(1));
401 433 tabifyDockWidget(dockList.at(1), dockList.at(2));
402 434 tabifyDockWidget(dockList.at(2), dockList.at(3));
403 435 tabifyDockWidget(dockList.at(3), dockList.at(4));
404 436 dockList.at(0)->show();
405 437 dockList.at(1)->show();
406 438 dockList.at(2)->show();
407 439 dockList.at(3)->show();
408 440 dockList.at(4)->show();
409 441 break;
410 442 case 6:
411 443 addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
412 444 tabifyDockWidget(dockList.at(0), dockList.at(1));
413 445 tabifyDockWidget(dockList.at(1), dockList.at(2));
414 446 tabifyDockWidget(dockList.at(2), dockList.at(3));
415 447 tabifyDockWidget(dockList.at(3), dockList.at(4));
416 448 tabifyDockWidget(dockList.at(4), dockList.at(5));
417 449 dockList.at(0)->show();
418 450 dockList.at(1)->show();
419 451 dockList.at(2)->show();
420 452 dockList.at(3)->show();
421 453 dockList.at(4)->show();
422 454 dockList.at(5)->show();
423 455 break;
424 456 default:
425 457 break;
426 458 }
427 459 }
428 460
429 461 void WFPage::selectAll()
430 462 {
431 463 radio_v->click();
432 464 radio_e1->click();
433 465 radio_e2->click();
434 466 radio_b1->click();
435 467 radio_b2->click();
436 468 radio_b3->click();
437 469 }
438 470
439 471 void WFPage::storeWfrm()
440 472 {
441 473 if (logFileEn == false)
442 474 {
443 chooseLogFile();
475 buildFileNames();
444 476 button_storeWfrm->setText(tr("STOP"));
445 477 logFileEn = true;
446 478 }
447 479 else
448 480 {
481 if(this->logFileV->isOpen()) this->logFileV->close();
482 if(this->logFileE1->isOpen()) this->logFileE1->close();
483 if(this->logFileE2->isOpen()) this->logFileE2->close();
484 // disable all storage
485 storageEnabledV = false;
486 storageEnabledE1 = false;
487 storageEnabledE2 = false;
488 storageEnabledB1 = false;
489 storageEnabledB2 = false;
490 storageEnabledB3 = false;
449 491 button_storeWfrm->setText(tr("REC"));
450 492 logFileEn = false;
451 493 }
452 494 }
453 495
454 496 void WFPage::buildFileNames()
455 497 {
456 498 QString date;
457 499 QString time;
500 QString prefix;
458 501
459 502 date = QDate::currentDate().toString();
460 503 time = QTime::currentTime().toString();
461 504
505 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" + pageTitle ;
462 506
463 507 if (radio_v->isChecked())
464 508 {
465
509 if(this->logFileV->isOpen()) this->logFileV->close();
510 this->logFileV->setFileName( prefix + "_V.data");
511 if(this->logFileV->open(QIODevice::WriteOnly)) this->logFileStrmV = new QTextStream(this->logFileV);
512 storageEnabledV = true;
466 513 }
467 514 if (radio_e1->isChecked())
468 515 {
469
516 if(this->logFileE1->isOpen()) this->logFileE1->close();
517 this->logFileE1->setFileName( prefix + "_E1.data");
518 if(this->logFileE1->open(QIODevice::WriteOnly)) this->logFileStrmE1 = new QTextStream(this->logFileE1);
519 storageEnabledE1 = true;
470 520 }
471 521 if (radio_e2->isChecked())
472 522 {
473
523 if(this->logFileE2->isOpen()) this->logFileE2->close();
524 this->logFileE2->setFileName( prefix + "_E2.data");
525 if(this->logFileE2->open(QIODevice::WriteOnly)) this->logFileStrmE2 = new QTextStream(this->logFileE2);
526 storageEnabledE2 = true;
474 527 }
475 528 if (radio_b1->isChecked())
476 529 {
477 530
478 531 }
479 532 if (radio_b2->isChecked())
480 533 {
481 534
482 535 }
483 536 if (radio_b3->isChecked())
484 537 {
485 538
486 539 }
487 540 }
488 541
489 void WFPage::chooseLogFile()
490 {
491 QString date;
492 QString time;
493
494 date = QDate::currentDate().toString();
495 time = QTime::currentTime().toString();
496
497 if(this->logFile->isOpen())
498 {
499 this->logFile->close();
500 }
501
502 /*this->logFile->setFileName(QDir::homePath()
503 + "/"
504 + QDate::currentDate().toString()
505 + "_"
506 + QTime::currentTime().toString()
507 + "_rmapPluginUI.log",
508 tr("Log Files (*.txt *.log)"));*/
509 this->logFile->setFileName(QFileDialog::getSaveFileName(this,tr("Open Log file"),
510 QDir::homePath()
511 + "/"
512 + QDate::currentDate().toString()
513 + "_"
514 + QTime::currentTime().toString()
515 + "_rmapPluginUI.log",
516 tr("Log Files (*.txt *.log)")));
517
518 if(this->logFile->open(QIODevice::WriteOnly))
519 {
520 this->logFileStrm = new QTextStream(this->logFile);
521 emit this->setLogFileName(this->logFile->fileName());
522 }
523 }
524
525 542 void WFPage::logFileEnDisable(bool state)
526 543 {
527 544 if(state==true)
528 545 {
529 546 this->logFileEn = true;
530 547 }
531 548 else if(state==false)
532 549 {
533 550 this->logFileEn = false;
534 551 }
535 552 }
536 553
537 554 bool WFPage::islogfileenable()
538 555 {
539 556 return this->logFileEn;
540 557 }
541 558
542 559 void WFPage::appendToLogFile(const QString & text)
543 560 {
544 561 if(this->logFileEn && this->logFile->isOpen())
545 562 {
546 563 *(this->logFileStrm) << text << endl;
547 564 }
548 565 }
549 566
550 567 void WFPage::closeEvent(QCloseEvent *event)
551 568 {
552 569 if(this->logFile->isOpen())
553 570 {
554 571 this->logFileStrm->flush();
555 572 this->logFile->waitForBytesWritten(3000);
556 573 this->logFile->close();
557 574 }
575 writeSettings();
558 576 event->accept();
559 577 }
578
579 void WFPage::readSettings()
580 {
581 QSettings settings("lpp", "lfrsgse");
582 defaultStorageDirectory = settings.value("defaultStorageDirectory", QDir::homePath()).toString();
583 }
584
585 void WFPage::writeSettings()
586 {
587 QSettings settings("lpp", "lfrsgse");
588 settings.setValue("defaultStorageDirectory", defaultStorageDirectory);
589 }
590
591 void WFPage::chooseDir()
592 {
593 defaultStorageDirectory = QFileDialog::getExistingDirectory(this,
594 "choose the directory",
595 QDir::homePath(),
596 QFileDialog::ShowDirsOnly);
597 }
@@ -1,113 +1,134
1 1 #ifndef WFPAGE_H
2 2 #define WFPAGE_H
3 3
4 4 #include "wfdisplay_global.h"
5 5
6 6 #include <QtGui/QMainWindow>
7 7 #include <QRadioButton>
8 8 #include <QPushButton>
9 9 #include <QDockWidget>
10 10 #include <QToolBar>
11 11 #include <QLabel>
12 12 #include <QFile>
13 13 #include <QTextStream>
14 14 #include <QFileDialog>
15 #include <QSettings>
15 16
16 17 #include <wfplot.h>
17 18 #include <wfdisplay_params.h>
18 19
19 20 class WFDISPLAYSHARED_EXPORT WFPage : public QMainWindow
20 21 {
21 22 Q_OBJECT
22 23 public:
23 24 explicit WFPage(QWidget *parent = 0);
24 25
25 26 void createToolBar();
26 27 void buildDockList();
27 28 void unTabify();
28 29 void tabify();
29 30 // STORE
30 void chooseLogFile();
31 31 void buildFileNames();
32 32 bool islogfileenable();
33 33 void appendToLogFile(const QString & text);
34 34 void closeEvent(QCloseEvent *event);
35 void readSettings();
36 void writeSettings();
37
38 bool logFileEn;
39 bool storageEnabledV;
40 bool storageEnabledE1;
41 bool storageEnabledE2;
42 bool storageEnabledB1;
43 bool storageEnabledB2;
44 bool storageEnabledB3;
35 45
36 46 QLabel *logFileName;
47 QLabel *logFileNameV;
48 QLabel *logFileNameE1;
49 QLabel *logFileNameE2;
50 QLabel *logFileNameB1;
51 QLabel *logFileNameB2;
52 QLabel *logFileNameB3;
37 53
38 54 QWidget *titleWidgetV;
39 55 QWidget *titleWidgetE1;
40 56 QWidget *titleWidgetE2;
41 57 QWidget *titleWidgetB1;
42 58 QWidget *titleWidgetB2;
43 59 QWidget *titleWidgetB3;
44 60
45 61 QList<QDockWidget*> dockList;
46 62
47 63 QDockWidget *dockV;
48 64 QDockWidget *dockE1;
49 65 QDockWidget *dockE2;
50 66 QDockWidget *dockB1;
51 67 QDockWidget *dockB2;
52 68 QDockWidget *dockB3;
53 69
54 70 QRadioButton *radio_v;
55 71 QRadioButton *radio_e1;
56 72 QRadioButton *radio_e2;
57 73 QRadioButton *radio_b1;
58 74 QRadioButton *radio_b2;
59 75 QRadioButton *radio_b3;
60 76 QRadioButton *radio_tabify;
61 77
62 78 QPushButton *button_selectAll;
63 79 QPushButton *button_storeWfrm;
80 QPushButton *button_chooseDir;
64 81
65 82 QToolBar *myToolBar;
66 83
67 84 WFPlot *wfPlot_v;
68 85 WFPlot *wfPlot_e1;
69 86 WFPlot *wfPlot_e2;
70 87 WFPlot *wfPlot_b1;
71 88 WFPlot *wfPlot_b2;
72 89 WFPlot *wfPlot_b3;
73 90
74 91 QFile *logFile;
75 92 QFile *logFileV;
76 93 QFile *logFileE1;
77 94 QFile *logFileE2;
78 95 QFile *logFileB1;
79 96 QFile *logFileB2;
80 97 QFile *logFileB3;
81 98
82 99 QTextStream *logFileStrm;
83 100 QTextStream *logFileStrmV;
84 101 QTextStream *logFileStrmE1;
85 102 QTextStream *logFileStrmE2;
86 103 QTextStream *logFileStrmB1;
87 104 QTextStream *logFileStrmB2;
88 105 QTextStream *logFileStrmB3;
89 106
90 bool logFileEn;
107 QString pageTitle;
108 QString defaultStorageDirectory;
109
110 unsigned int localIndex[5];
91 111
92 112 //QGridLayout *mainLayout;
93 113
94 114 void displayOnPlot(short *data, unsigned char num);
95 115
96 116 signals:
97 117 void setLogFileName(QString FileName);
98 118
99 119 public slots:
100 120 void actionRadioV(bool state);
101 121 void actionRadioE1(bool state);
102 122 void actionRadioE2(bool state);
103 123 void actionRadioB1(bool state);
104 124 void actionRadioB2(bool state);
105 125 void actionRadioB3(bool state);
106 126 void organizeDocks();
107 127 void selectAll();
108 128 void storeWfrm();
109 129 void logFileEnDisable(bool state);
130 void chooseDir();
110 131
111 132 };
112 133
113 134 #endif // WFPAGE_H
@@ -1,49 +1,63
1 1 #include "wfplot.h"
2 2 #include <QFontInfo>
3 3 #include <wfdisplay_params.h>
4 4
5 WFPlot::WFPlot(QWidget *parent) :
5 WFPlot::WFPlot(QWidget *parent, unsigned int xmax, unsigned int ymax) :
6 6 QWidget(parent)
7 7 {
8 8 // Create Fonts
9 9 QFont font;
10 10 font = QFont(this->fontInfo().family(), FONT_SIZE_WAVEFORM_TITLE, QFont::Light);
11 11 customPlot = new LppMonPlot();
12 12 mainLayout = new QVBoxLayout();
13 13
14 customPlot->setXaxisRange(0, XMAX);
15 customPlot->setYaxisRange(-YMAX, YMAX);
14 customPlot->setXaxisRange(0, xmax);
15 customPlot->setYaxisRange(-ymax, ymax);
16 16 //customPlot->setTitleFont(font);
17 17
18 18 customPlot->addGraph();
19 19
20 20 mainLayout->addWidget(customPlot);
21 21
22 22 this->setLayout(mainLayout);
23 23 }
24 24
25 25
26 26
27 27 void WFPlot::displayOnPlot(short *data, unsigned int size)
28 28 {
29 29 QList<QVariant> qListX;
30 30 QList<QVariant> qListY;
31 31 qListX.clear();
32 32 qListY.clear();
33 33
34 34 for (unsigned int i=0; i<size; ++i)
35 35 {
36 36 qListX.append(i);
37 37 qListY.append( (double) data[i] );
38 38 }
39 39
40 40 customPlot->setGraphData(0, qListX, qListY);
41 customPlot->rescaleAxis();
42 customPlot->setGraphName(0, "v");
41 //customPlot->rescaleAxis();
42 }
43
44 void WFPlot::displayOnPlotFloat(float *data, unsigned int size)
45 {
46 QList<QVariant> qListX;
47 QList<QVariant> qListY;
48 qListX.clear();
49 qListY.clear();
50
51 for (unsigned int i=0; i<size; ++i)
52 {
53 qListX.append(i);
54 qListY.append( (double) data[i] );
55 }
56
57 customPlot->setGraphData(0, qListX, qListY);
58 //customPlot->rescaleAxis();
43 59 }
44 60
45 61
46 62
47 63
48
49
@@ -1,25 +1,26
1 1 #ifndef WFPLOT_H
2 2 #define WFPLOT_H
3 3
4 4 #include <QWidget>
5 5 #include <QVBoxLayout>
6 6 #include <lppmonplot.h>
7 7
8 8 class WFPlot : public QWidget
9 9 {
10 10 Q_OBJECT
11 11 public:
12 explicit WFPlot(QWidget *parent = 0);
12 explicit WFPlot(QWidget *parent = 0, unsigned int xmax = 0, unsigned int ymax = 0);
13 13
14 14 void displayOnPlot(short *data, unsigned int size);
15 void displayOnPlotFloat(float *data, unsigned int size);
15 16
16 17 LppMonPlot *customPlot;
17 18 QVBoxLayout *mainLayout;
18 19
19 20 signals:
20 21
21 22 public slots:
22 23
23 24 };
24 25
25 26 #endif // WFPLOT_H
General Comments 0
You need to be logged in to leave comments. Login now