##// END OF EJS Templates
Minor upgrade on rmapplugin...
leroy -
r27:237de88e9fa6 default
parent child
Show More
@@ -0,0 +1,66
1 #include "lfrspectrogram.h"
2
3 class SpectrogramData: public QwtRasterData
4 {
5 public:
6 SpectrogramData():
7 QwtRasterData(QwtDoubleRect(-1.5, -1.5, 3.0, 3.0))
8 {
9 }
10
11 virtual QwtRasterData *copy() const
12 {
13 return new SpectrogramData();
14 }
15
16 virtual QwtDoubleInterval range() const
17 {
18 return QwtDoubleInterval(0.0, 10.0);
19 }
20
21 virtual double value(double x, double y) const
22 {
23 const double c = 0.842;
24
25 const double v1 = x * x + (y-c) * (y+c);
26 const double v2 = x * (y+c) + x * (y+c);
27
28 return 1.0 / (v1 * v1 + v2 * v2);
29 }
30 };
31
32 LFRSpectrogram::LFRSpectrogram(QWidget *parent) :
33 QWidget(parent)
34 {
35 mainLayout = new QVBoxLayout();
36 plot_spectrogram = new QwtPlot();
37 spectrogram = new QwtPlotSpectrogram(tr("spectrogram"));
38
39 QwtLinearColorMap colorMap(Qt::darkCyan, Qt::red);
40 colorMap.addColorStop(0.1, Qt::cyan);
41 colorMap.addColorStop(0.6, Qt::green);
42 colorMap.addColorStop(0.95, Qt::yellow);
43
44 spectrogram->setColorMap(colorMap);
45 spectrogram->setData( SpectrogramData() );
46 spectrogram->attach(plot_spectrogram);
47
48 // A color bar on the right axis
49 QwtScaleWidget *rightAxis = plot_spectrogram->axisWidget(QwtPlot::yRight);
50 rightAxis->setTitle("Intensity");
51 rightAxis->setColorBarEnabled(true);
52 rightAxis->setColorMap(spectrogram->data().range(),
53 spectrogram->colorMap());
54
55 plot_spectrogram->setAxisScale(QwtPlot::yRight,
56 spectrogram->data().range().minValue(),
57 spectrogram->data().range().maxValue() );
58 plot_spectrogram->enableAxis(QwtPlot::yRight);
59
60 plot_spectrogram->plotLayout()->setAlignCanvasToScales(true);
61 plot_spectrogram->replot();
62
63 mainLayout->addWidget(plot_spectrogram);
64
65 this->setLayout(mainLayout);
66 }
@@ -0,0 +1,34
1 #ifndef LFRSPECTROGRAM_H
2 #define LFRSPECTROGRAM_H
3
4 #include <QWidget>
5 #include <QVBoxLayout>
6
7 #include <qwt5-qt4/qwt_plot.h>
8 #include <qwt5-qt4/qwt_plot_spectrogram.h>
9 #include <qwt5-qt4/qwt_color_map.h>
10 #include <qwt5-qt4/qwt_scale_widget.h>
11 #include <qwt5-qt4/qwt_plot_layout.h>
12
13 class LFRSpectrogram : public QWidget
14 {
15 Q_OBJECT
16 public:
17 explicit LFRSpectrogram(QWidget *parent = 0);
18
19 signals:
20
21 public slots:
22
23 private:
24
25 QVBoxLayout* mainLayout;
26 QwtPlot* plot_spectrogram;
27 QwtPlotSpectrogram* spectrogram;
28
29 QwtPlotLayout *plotLayout();
30 const QwtPlotLayout *plotLayout() const;
31
32 };
33
34 #endif // LFRSPECTROGRAM_H
@@ -1,342 +1,342
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-06-18T15:38:00. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-06-27T15:10:56. -->
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 14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 15 <value type="QString" key="language">Cpp</value>
16 16 <valuemap type="QVariantMap" key="value">
17 17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 18 </valuemap>
19 19 </valuemap>
20 20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 21 <value type="QString" key="language">QmlJS</value>
22 22 <valuemap type="QVariantMap" key="value">
23 23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 24 </valuemap>
25 25 </valuemap>
26 26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 43 </valuemap>
44 44 </data>
45 45 <data>
46 46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 47 <valuemap type="QVariantMap"/>
48 48 </data>
49 49 <data>
50 50 <variable>ProjectExplorer.Project.Target.0</variable>
51 51 <valuemap type="QVariantMap">
52 52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 69 </valuemap>
70 70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 77 </valuemap>
78 78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 82 </valuemap>
83 83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 91 </valuemap>
92 92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 96 </valuemap>
97 97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
105 105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 107 </valuemap>
108 108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 119 </valuemap>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 127 </valuemap>
128 128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 132 </valuemap>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 141 </valuemap>
142 142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 146 </valuemap>
147 147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
155 155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 157 </valuemap>
158 158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 165 </valuemap>
166 166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 170 </valuemap>
171 171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 202 <value type="int">0</value>
203 203 <value type="int">1</value>
204 204 <value type="int">2</value>
205 205 <value type="int">3</value>
206 206 <value type="int">4</value>
207 207 <value type="int">5</value>
208 208 <value type="int">6</value>
209 209 <value type="int">7</value>
210 210 <value type="int">8</value>
211 211 <value type="int">9</value>
212 212 <value type="int">10</value>
213 213 <value type="int">11</value>
214 214 <value type="int">12</value>
215 215 <value type="int">13</value>
216 216 <value type="int">14</value>
217 217 </valuelist>
218 218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 219 <value type="int">0</value>
220 220 <value type="int">1</value>
221 221 <value type="int">2</value>
222 222 <value type="int">3</value>
223 223 <value type="int">4</value>
224 224 <value type="int">5</value>
225 225 <value type="int">6</value>
226 226 <value type="int">7</value>
227 227 <value type="int">8</value>
228 228 <value type="int">9</value>
229 229 <value type="int">10</value>
230 230 <value type="int">11</value>
231 231 <value type="int">12</value>
232 232 <value type="int">13</value>
233 233 <value type="int">14</value>
234 234 </valuelist>
235 235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
236 236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
237 237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
238 238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
239 239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
240 240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
241 241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
242 242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
243 243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
244 244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
245 245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
246 246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
247 247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
248 248 </valuemap>
249 249 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
250 250 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
251 251 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
252 252 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
253 253 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
254 254 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
255 255 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
256 256 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
257 257 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
258 258 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
259 259 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
260 260 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
261 261 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
262 262 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
263 263 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
264 264 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
265 265 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
266 266 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
267 267 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
268 268 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
269 269 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
270 270 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
271 271 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
272 272 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
273 273 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
274 274 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
275 275 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
276 276 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
277 277 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
278 278 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
279 279 <value type="int">0</value>
280 280 <value type="int">1</value>
281 281 <value type="int">2</value>
282 282 <value type="int">3</value>
283 283 <value type="int">4</value>
284 284 <value type="int">5</value>
285 285 <value type="int">6</value>
286 286 <value type="int">7</value>
287 287 <value type="int">8</value>
288 288 <value type="int">9</value>
289 289 <value type="int">10</value>
290 290 <value type="int">11</value>
291 291 <value type="int">12</value>
292 292 <value type="int">13</value>
293 293 <value type="int">14</value>
294 294 </valuelist>
295 295 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
296 296 <value type="int">0</value>
297 297 <value type="int">1</value>
298 298 <value type="int">2</value>
299 299 <value type="int">3</value>
300 300 <value type="int">4</value>
301 301 <value type="int">5</value>
302 302 <value type="int">6</value>
303 303 <value type="int">7</value>
304 304 <value type="int">8</value>
305 305 <value type="int">9</value>
306 306 <value type="int">10</value>
307 307 <value type="int">11</value>
308 308 <value type="int">12</value>
309 309 <value type="int">13</value>
310 310 <value type="int">14</value>
311 311 </valuelist>
312 312 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">spwtimegenerator</value>
313 313 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
314 314 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
315 315 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
316 316 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
317 317 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">spwtimegenerator/spwtimegenerator/spwtimegenerator.pro</value>
318 318 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
319 319 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
320 320 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
321 321 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
322 322 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
323 323 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
324 324 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
325 325 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
326 326 </valuemap>
327 327 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
328 328 </valuemap>
329 329 </data>
330 330 <data>
331 331 <variable>ProjectExplorer.Project.TargetCount</variable>
332 332 <value type="int">1</value>
333 333 </data>
334 334 <data>
335 335 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
336 336 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
337 337 </data>
338 338 <data>
339 339 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
340 340 <value type="int">10</value>
341 341 </data>
342 342 </qtcreator>
@@ -1,205 +1,398
1 1 #include "hkdisplay.h"
2 2
3 3 HKDisplay::HKDisplay(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 mainLayout = new QGridLayout();
7 7
8 setupLFRStatusWord();
9 setupLFRSWVersion();
10 setupTCStatistics();
11 setupAnomalyStatistics();
12 setupSpaceWireIFStatistics();
13 setupErrorCountersSpaceWire();
14
15 mainLayout->addWidget(groupbox_lfrStatusWord, 0,0,1,1);
16 mainLayout->addWidget(groupbox_lfrSWVersion, 0,1,1,1);
17 mainLayout->addWidget(groupbox_tcStatistics, 1,0,1,1);
18 mainLayout->addWidget(groupbox_anomalyStatistics, 1,1,1,1);
19 mainLayout->addWidget(groupbox_spacewireIFStatisctics, 1, 2, 1, 1);
20 mainLayout->addWidget(groupbox_errorCountersSpaceWire, 1, 3, 1, 1);
21 mainLayout->setColumnStretch(4, 1);
22
23 this->setLayout(mainLayout);
24 }
25
26 void HKDisplay::setupLFRStatusWord()
27 {
8 28 groupbox_lfrStatusWord = new QGroupBox("LFR Status Word");
9 29 box_lfrStatusWord = new QVBoxLayout();
10 30 hk_lfr_mode = new QLabel("hk_lfr_mode: -");
11 31 hk_lfr_dpu_spw_enabled = new QLabel("hk_lfr_dpu_spw_enabled: -");
12 32 hk_lfr_dpu_link_state = new QLabel("hk_lfr_dpu_link_state: -");
13 33 sy_lfr_watchdog_enabled = new QLabel("sy_lfr_watchdog_enabled: -");
14 34 hk_lfr_calib_enabled = new QLabel("hk_lfr_calib_enabled: -");
15 35 hk_lfr_reset_cause = new QLabel("hk_lfr_reset_cause: -");
16 36 box_lfrStatusWord->addWidget(hk_lfr_mode);
17 37 box_lfrStatusWord->addWidget(hk_lfr_dpu_spw_enabled);
18 38 box_lfrStatusWord->addWidget(hk_lfr_dpu_link_state);
19 39 box_lfrStatusWord->addWidget(sy_lfr_watchdog_enabled);
20 40 box_lfrStatusWord->addWidget(hk_lfr_calib_enabled);
21 41 box_lfrStatusWord->addWidget(hk_lfr_reset_cause);
22 42 box_lfrStatusWord->insertStretch(6);
23 43 groupbox_lfrStatusWord->setLayout(box_lfrStatusWord);
44 }
24 45
46 void HKDisplay::setupLFRSWVersion()
47 {
25 48 groupbox_lfrSWVersion = new QGroupBox("LFR Software Version");
26 49 box_lfrSWVersion = new QVBoxLayout();
27 50 sy_lfr_sw_version_n1 = new QLabel("sy_lfr_sw_version_n1: -");
28 51 sy_lfr_sw_version_n2 = new QLabel("sy_lfr_sw_version_n2: -");
29 52 sy_lfr_sw_version_n3 = new QLabel("sy_lfr_sw_version_n3: -");
30 53 sy_lfr_sw_version_n4 = new QLabel("sy_lfr_sw_version_n4: -");
31 54 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n1);
32 55 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n2);
33 56 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n3);
34 57 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n4);
35 58 box_lfrSWVersion->insertStretch(4);
36 59 groupbox_lfrSWVersion->setLayout(box_lfrSWVersion);
60 }
37 61
62 void HKDisplay::setupTCStatistics()
63 {
38 64 groupbox_tcStatistics = new QGroupBox("TC Statistics");
39 65 box_tcStatistics = new QVBoxLayout();
40 66 hk_lfr_update_info_tc_cnt = new QLabel("hk_lfr_update_info_tc_cnt: -");
41 67 hk_lfr_update_time_tc_cnt = new QLabel("hk_lfr_update_time_tc_cnt: -");
42 68 hk_dpu_exe_tc_lfr_cnt = new QLabel("hk_dpu_exe_tc_lfr_cnt: -");
43 69 hk_dpu_rej_tc_lfr_cnt = new QLabel("hk_dpu_rej_tc_lfr_cnt: -");
44 70 hk_lfr_last_exe_tc_id = new QLabel("hk_lfr_last_exe_tc_id: -");
45 71 hk_lfr_last_exe_tc_type = new QLabel("hk_lfr_last_exe_tc_type: -");
46 72 hk_lfr_last_exe_tc_subtype = new QLabel("hk_lfr_last_exe_tc_subtype: -");
47 73 hk_lfr_last_exe_tc_time = new QLabel("hk_lfr_last_exe_tc_time: -");
48 74 hk_lfr_last_rej_tc_id = new QLabel("hk_lfr_last_rej_tc_id: -");
49 75 hk_lfr_last_rej_tc_type = new QLabel("hk_lfr_last_rej_tc_type: -");
50 76 hk_lfr_last_rej_tc_subtype = new QLabel("hk_lfr_last_rej_tc_subtype: -");
51 77 hk_lfr_last_rej_tc_time = new QLabel("hk_lfr_last_rej_tc_time: -");
52 78 box_tcStatistics->addWidget(hk_lfr_update_info_tc_cnt);
53 79 box_tcStatistics->addWidget(hk_lfr_update_time_tc_cnt);
54 80 box_tcStatistics->addWidget(hk_dpu_exe_tc_lfr_cnt);
55 81 box_tcStatistics->addWidget(hk_dpu_rej_tc_lfr_cnt);
56 82 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_id);
57 83 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_type);
58 84 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_subtype);
59 85 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_time);
60 86 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_id);
61 87 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_type);
62 88 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_subtype);
63 89 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_time);
64 90 box_tcStatistics->insertStretch(12, 1);
65 91 groupbox_tcStatistics->setLayout(box_tcStatistics);
92 }
66 93
94 void HKDisplay::setupAnomalyStatistics()
95 {
67 96 groupbox_anomalyStatistics = new QGroupBox("Anomaly Statistics");
68 97 box_anomalyStatistics = new QVBoxLayout();
69 98 hk_lfr_le_cnt = new QLabel("hk_lfr_le_cnt: -");
70 99 hk_lfr_me_cnt = new QLabel("hk_lfr_me_cnt: -");
71 100 hk_lfr_he_cnt = new QLabel("hk_lfr_he_cnt: -");
72 101 hk_lfr_last_er_rid = new QLabel("hk_lfr_last_er_rid: -");
73 102 hk_lfr_last_er_code = new QLabel("hk_lfr_last_er_code: -");
74 103 hk_lfr_last_er_time = new QLabel("hk_lfr_last_er_time: -");
75 104 box_anomalyStatistics->addWidget(hk_lfr_le_cnt);
76 105 box_anomalyStatistics->addWidget(hk_lfr_me_cnt);
77 106 box_anomalyStatistics->addWidget(hk_lfr_he_cnt);
78 107 box_anomalyStatistics->addWidget(hk_lfr_last_er_rid);
79 108 box_anomalyStatistics->addWidget(hk_lfr_last_er_code);
80 109 box_anomalyStatistics->addWidget(hk_lfr_last_er_time);
81 110 box_anomalyStatistics->insertStretch(6, 1);
82 111 groupbox_anomalyStatistics->setLayout(box_anomalyStatistics);
112 }
83 113
84 mainLayout->addWidget(groupbox_lfrStatusWord, 0,0,1,1);
85 mainLayout->addWidget(groupbox_lfrSWVersion, 0,1,1,1);
86 mainLayout->addWidget(groupbox_tcStatistics, 1,0,1,1);
87 mainLayout->addWidget(groupbox_anomalyStatistics, 1,1,1,1);
114 void HKDisplay::setupSpaceWireIFStatistics()
115 {
116 groupbox_spacewireIFStatisctics = new QGroupBox("SpaceWire IF Statistics");
117 box_spacewireIFStatisctics = new QVBoxLayout();
118
119 hk_lfr_dpu_spw_pkt_rcv_cnt = new QLabel("hk_lfr_dpu_spw_pkt_rcv_cnt: -");
120 hk_lfr_dpu_spw_pkt_sent_cnt = new QLabel("hk_lfr_dpu_spw_pkt_sent_cnt: -");
121 hk_lfr_dpu_spw_tick_out_cnt = new QLabel("hk_lfr_dpu_spw_tick_out_cnt: -");
122 hk_lfr_dpu_spw_last_timc = new QLabel("hk_lfr_dpu_spw_last_timc: -");
123
124 box_spacewireIFStatisctics->addWidget(hk_lfr_dpu_spw_pkt_rcv_cnt);
125 box_spacewireIFStatisctics->addWidget(hk_lfr_dpu_spw_pkt_sent_cnt);
126 box_spacewireIFStatisctics->addWidget(hk_lfr_dpu_spw_tick_out_cnt);
127 box_spacewireIFStatisctics->addWidget(hk_lfr_dpu_spw_last_timc);
128 box_spacewireIFStatisctics->insertStretch(5);
129
130 groupbox_spacewireIFStatisctics->setLayout(box_spacewireIFStatisctics->layout());
131 }
132
133 void HKDisplay::setupErrorCountersSpaceWire()
134 {
135 groupbox_errorCountersSpaceWire = new QGroupBox("SpaceWire Error Counters");
136 box_errorCountersSpaceWire = new QVBoxLayout();
88 137
89 this->setLayout(mainLayout);
138 hk_lfr_dpu_spw_parity = new QLabel("hk_lfr_dpu_spw_parity: -");
139 hk_lfr_dpu_spw_disconnect = new QLabel("hk_lfr_dpu_spw_disconnect: -");
140 hk_lfr_dpu_spw_escape = new QLabel("hk_lfr_dpu_spw_escape: -");
141 hk_lfr_dpu_spw_credit = new QLabel("hk_lfr_dpu_spw_credit: -");
142 hk_lfr_dpu_spw_write_sync = new QLabel("hk_lfr_dpu_spw_write_sync: -");
143 hk_lfr_dpu_spw_rx_ahb = new QLabel("hk_lfr_dpu_spw_rx_ahb: -");
144 hk_lfr_dpu_spw_tx_ahb = new QLabel("hk_lfr_dpu_spw_tx_ahb: -");
145 hk_lfr_dpu_spw_header_crc = new QLabel("hk_lfr_dpu_spw_header_crc: -");
146 hk_lfr_dpu_spw_data_crc = new QLabel("hk_lfr_dpu_spw_data_crc: -");
147 hk_lfr_dpu_spw_early_eop = new QLabel("hk_lfr_dpu_spw_early_eop: -");
148 hk_lfr_dpu_spw_invalid_addr = new QLabel("hk_lfr_dpu_spw_invalid_addr: -");
149 hk_lfr_dpu_spw_eep = new QLabel("hk_lfr_dpu_spw_eep: -");
150 hk_lfr_dpu_spw_rx_too_big = new QLabel("hk_lfr_dpu_spw_rx_too_big: -");
151
152 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_parity);
153 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_disconnect);
154 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_escape);
155 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_credit);
156 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_write_sync);
157 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_rx_ahb);
158 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_tx_ahb);
159 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_header_crc);
160 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_data_crc);
161 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_early_eop);
162 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_invalid_addr);
163 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_eep);
164 box_errorCountersSpaceWire->addWidget(hk_lfr_dpu_spw_rx_too_big);
165
166 groupbox_errorCountersSpaceWire->setLayout(box_errorCountersSpaceWire->layout());
90 167 }
91 168
92 169 void HKDisplay::displayPacket(TMPacketToRead *tmPacketToRead)
93 170 {
94 171 Packet_TM_LFR_HK_t *housekeepingPacket;
95 172 if (tmPacketToRead->size != HK_PACKET_SIZE) {
96 173 emit displayMessage("in displayPacket *** HK packet size is "
97 174 + QString::number(tmPacketToRead->size)
98 175 + " instead of "
99 176 + QString::number(HK_PACKET_SIZE));
100 177 }
101 178 else {
102 179 housekeepingPacket = (Packet_TM_LFR_HK_t *) tmPacketToRead->Value;
103 180
104 181 updateLFRMode(housekeepingPacket);
105
106 182 updateSWVersion(housekeepingPacket);
107
108 183 updateTCStatistics(housekeepingPacket);
184 updateAnomalyStatistics(housekeepingPacket);
185 updateSpaceWireIFStatistics(housekeepingPacket);
186 updateErrorCountersSpaceWire(housekeepingPacket);
109 187 }
110 188 }
111 189
112 190 void HKDisplay::updateLFRMode(Packet_TM_LFR_HK_t *housekeepingPacket)
113 191 {
114 192 hk_lfr_mode->setText("hk_lfr_mode: "
115 193 +QString::number( ( (housekeepingPacket->lfr_status_word[0] & 0x70) >> 4 ) )
116 194 );
117 195
118 196 }
119 197
120 198 void HKDisplay::updateSWVersion(Packet_TM_LFR_HK_t *housekeepingPacket)
121 199 {
122 200 sy_lfr_sw_version_n1->setText("sy_lfr_sw_version_n1: "
123 201 +QString::number( housekeepingPacket->lfr_sw_version[0] )
124 202 );
125 203 sy_lfr_sw_version_n2->setText("sy_lfr_sw_version_n2: "
126 204 +QString::number( housekeepingPacket->lfr_sw_version[1] )
127 205 );
128 206 sy_lfr_sw_version_n3->setText("sy_lfr_sw_version_n3: "
129 207 +QString::number( housekeepingPacket->lfr_sw_version[2] )
130 208 );
131 209 sy_lfr_sw_version_n4->setText("sy_lfr_sw_version_n4: "
132 210 +QString::number( housekeepingPacket->lfr_sw_version[3] )
133 211 );
134 212 }
135 213
136 214 void HKDisplay::updateTCStatistics(Packet_TM_LFR_HK_t *housekeepingPacket)
137 215 {
138 216 // TC Statistics
139 217 hk_lfr_update_info_tc_cnt->setText("hk_lfr_update_info_tc_cnt: "
140 218 + QString::number(
141 219 housekeepingPacket->hk_lfr_update_info_tc_cnt[0] * 256
142 220 + housekeepingPacket->hk_lfr_update_info_tc_cnt[1])
143 221 );
144 222 hk_lfr_update_time_tc_cnt->setText("hk_lfr_update_time_tc_cnt: "
145 223 + QString::number(
146 224 housekeepingPacket->hk_lfr_update_time_tc_cnt[0] * 256
147 225 + housekeepingPacket->hk_lfr_update_time_tc_cnt[1])
148 226 );
149 227 hk_dpu_exe_tc_lfr_cnt->setText("hk_dpu_exe_tc_lfr_cnt: "
150 228 + QString::number(
151 229 housekeepingPacket->hk_dpu_exe_tc_lfr_cnt[0] * 256
152 230 + housekeepingPacket->hk_dpu_exe_tc_lfr_cnt[1])
153 231 );
154 232 hk_dpu_rej_tc_lfr_cnt->setText("hk_dpu_rej_tc_lfr_cnt: "
155 233 + QString::number(
156 234 housekeepingPacket->hk_dpu_rej_tc_lfr_cnt[0] * 256
157 235 + housekeepingPacket->hk_dpu_rej_tc_lfr_cnt[1])
158 236 );
159 237 hk_lfr_last_exe_tc_id->setText("hk_lfr_last_exe_tc_id: "
160 238 + QString::number(
161 239 housekeepingPacket->hk_lfr_last_exe_tc_id[0] * 256
162 240 + housekeepingPacket->hk_lfr_last_exe_tc_id[1], 16)
163 241 );
164 242 hk_lfr_last_exe_tc_type->setText("hk_lfr_last_exe_tc_type: "
165 243 + QString::number(
166 244 housekeepingPacket->hk_lfr_last_exe_tc_type[0] * 256
167 245 + housekeepingPacket->hk_lfr_last_exe_tc_type[1])
168 246 );
169 247 hk_lfr_last_exe_tc_subtype->setText("hk_lfr_last_exe_tc_subtype: "
170 248 + QString::number(
171 249 housekeepingPacket->hk_lfr_last_exe_tc_subtype[0] * 256
172 250 + housekeepingPacket->hk_lfr_last_exe_tc_subtype[1])
173 251 );
174 252 hk_lfr_last_exe_tc_time->setText("hk_lfr_last_exe_tc_time: "
175 253 + QString::number(
176 254 (housekeepingPacket->hk_lfr_last_exe_tc_time[0] << 24)
177 255 + (housekeepingPacket->hk_lfr_last_exe_tc_time[1] << 16)
178 256 + (housekeepingPacket->hk_lfr_last_exe_tc_time[2] << 8)
179 257 + (housekeepingPacket->hk_lfr_last_exe_tc_time[3]), 16
180 258 )
181 259 );
182 260 hk_lfr_last_rej_tc_id->setText("hk_lfr_last_rej_tc_id: "
183 261 + QString::number(
184 262 housekeepingPacket->hk_lfr_last_rej_tc_id[0] * 256
185 263 + housekeepingPacket->hk_lfr_last_rej_tc_id[1], 16)
186 264 );
187 265 hk_lfr_last_rej_tc_type->setText("hk_lfr_last_rej_tc_type: "
188 266 + QString::number(
189 267 housekeepingPacket->hk_lfr_last_rej_tc_type[0] * 256
190 268 + housekeepingPacket->hk_lfr_last_rej_tc_type[1])
191 269 );
192 270 hk_lfr_last_rej_tc_subtype->setText("hk_lfr_last_rej_tc_subtype: "
193 271 + QString::number(
194 272 housekeepingPacket->hk_lfr_last_rej_tc_subtype[0] * 256
195 273 + housekeepingPacket->hk_lfr_last_rej_tc_subtype[1])
196 274 );
197 275 hk_lfr_last_rej_tc_time->setText("hk_lfr_last_rej_tc_time: "
198 276 + QString::number(
199 277 (housekeepingPacket->hk_lfr_last_rej_tc_time[0] << 24)
200 278 + (housekeepingPacket->hk_lfr_last_rej_tc_time[1] << 16)
201 279 + (housekeepingPacket->hk_lfr_last_rej_tc_time[2] << 8)
202 280 + (housekeepingPacket->hk_lfr_last_rej_tc_time[3]), 16
203 281 )
204 282 );
205 283 }
284
285 void HKDisplay::updateAnomalyStatistics(Packet_TM_LFR_HK_t *housekeepingPacket)
286 {
287 // Anomaly Statistics
288 hk_lfr_le_cnt->setText("hk_lfr_le_cnt: "
289 + QString::number(
290 housekeepingPacket->hk_lfr_le_cnt[0] * 256
291 + housekeepingPacket->hk_lfr_le_cnt[1])
292 );
293 hk_lfr_me_cnt->setText("hk_lfr_me_cnt: "
294 + QString::number(
295 housekeepingPacket->hk_lfr_me_cnt[0] * 256
296 + housekeepingPacket->hk_lfr_me_cnt[1])
297 );
298 hk_lfr_he_cnt->setText("hk_lfr_he_cnt: "
299 + QString::number(
300 housekeepingPacket->hk_lfr_he_cnt[0] * 256
301 + housekeepingPacket->hk_lfr_he_cnt[1])
302 );
303 hk_lfr_last_er_rid->setText("hk_lfr_last_er_rid: "
304 + QString::number(
305 housekeepingPacket->hk_lfr_last_er_rid[0] * 256
306 + housekeepingPacket->hk_lfr_last_er_rid[1])
307 );
308 hk_lfr_last_er_code->setText("hk_lfr_last_er_code: "
309 + QString::number(
310 housekeepingPacket->hk_lfr_last_er_code)
311 );
312 hk_lfr_last_er_time->setText("hk_lfr_last_er_time: "
313 + QString::number(
314 (housekeepingPacket->hk_lfr_last_er_time[0] << 24)
315 + (housekeepingPacket->hk_lfr_last_er_time[1] << 16)
316 + (housekeepingPacket->hk_lfr_last_er_time[2] << 8)
317 + (housekeepingPacket->hk_lfr_last_er_time[3]), 16
318 )
319 );
320 }
321
322 void HKDisplay::updateSpaceWireIFStatistics(Packet_TM_LFR_HK_t *housekeepingPacket)
323 {
324 hk_lfr_dpu_spw_pkt_rcv_cnt->setText("hk_lfr_dpu_spw_pkt_rcv_cnt: "
325 + QString::number(
326 housekeepingPacket->hk_lfr_dpu_spw_pkt_rcv_cnt[0] * 256
327 + housekeepingPacket->hk_lfr_dpu_spw_pkt_rcv_cnt[1])
328 );
329 hk_lfr_dpu_spw_pkt_sent_cnt->setText("hk_lfr_dpu_spw_pkt_sent_cnt: "
330 + QString::number(
331 housekeepingPacket->hk_lfr_dpu_spw_pkt_sent_cnt[0] * 256
332 + housekeepingPacket->hk_lfr_dpu_spw_pkt_sent_cnt[1])
333 );
334 hk_lfr_dpu_spw_tick_out_cnt->setText("hk_lfr_dpu_spw_tick_out_cnt: "
335 + QString::number(
336 housekeepingPacket->hk_lfr_dpu_spw_tick_out_cnt)
337 );
338 hk_lfr_dpu_spw_last_timc->setText("hk_lfr_dpu_spw_last_timc: "
339 + QString::number(
340 housekeepingPacket->hk_lfr_dpu_spw_last_timc)
341 );
342 }
343
344 void HKDisplay::updateErrorCountersSpaceWire(Packet_TM_LFR_HK_t *housekeepingPacket)
345 {
346 hk_lfr_dpu_spw_parity->setText("hk_lfr_dpu_spw_parity: "
347 + QString::number(
348 housekeepingPacket->hk_lfr_dpu_spw_parity)
349 );
350 hk_lfr_dpu_spw_disconnect->setText("hk_lfr_dpu_spw_disconnect: "
351 + QString::number(
352 housekeepingPacket->hk_lfr_dpu_spw_disconnect)
353 );
354 hk_lfr_dpu_spw_escape->setText("hk_lfr_dpu_spw_escape: "
355 + QString::number(
356 housekeepingPacket->hk_lfr_dpu_spw_escape)
357 );
358 hk_lfr_dpu_spw_credit->setText("hk_lfr_dpu_spw_credit: "
359 + QString::number(
360 housekeepingPacket->hk_lfr_dpu_spw_credit)
361 );
362 hk_lfr_dpu_spw_write_sync->setText("hk_lfr_dpu_spw_write_sync: "
363 + QString::number(
364 housekeepingPacket->hk_lfr_dpu_spw_write_sync)
365 );
366 hk_lfr_dpu_spw_rx_ahb->setText("hk_lfr_dpu_spw_rx_ahb: "
367 + QString::number(
368 housekeepingPacket->hk_lfr_dpu_spw_rx_ahb)
369 );
370 hk_lfr_dpu_spw_tx_ahb->setText("hk_lfr_dpu_spw_tx_ahb: "
371 + QString::number(
372 housekeepingPacket->hk_lfr_dpu_spw_tx_ahb)
373 );
374 hk_lfr_dpu_spw_header_crc->setText("hk_lfr_dpu_spw_header_crc: "
375 + QString::number(
376 housekeepingPacket->hk_lfr_dpu_spw_header_crc)
377 );
378 hk_lfr_dpu_spw_data_crc->setText("hk_lfr_dpu_spw_data_crc: "
379 + QString::number(
380 housekeepingPacket->hk_lfr_dpu_spw_data_crc)
381 );
382 hk_lfr_dpu_spw_early_eop->setText("hk_lfr_dpu_spw_early_eop: "
383 + QString::number(
384 housekeepingPacket->hk_lfr_dpu_spw_early_eop)
385 );
386 hk_lfr_dpu_spw_invalid_addr->setText("hk_lfr_dpu_spw_invalid_addr: "
387 + QString::number(
388 housekeepingPacket->hk_lfr_dpu_spw_invalid_addr)
389 );
390 hk_lfr_dpu_spw_eep->setText("hk_lfr_dpu_spw_eep: "
391 + QString::number(
392 housekeepingPacket->hk_lfr_dpu_spw_eep)
393 );
394 hk_lfr_dpu_spw_rx_too_big->setText("hk_lfr_dpu_spw_rx_too_big: "
395 + QString::number(
396 housekeepingPacket->hk_lfr_dpu_spw_rx_too_big)
397 );
398 }
@@ -1,157 +1,168
1 1 #ifndef HKDISPLAY_H
2 2 #define HKDISPLAY_H
3 3
4 4 #include <QWidget>
5 5 #include <QLabel>
6 6 #include <QGroupBox>
7 7 #include <QVBoxLayout>
8 8 #include <QGridLayout>
9 9 #include "tmpackettoread.h"
10 10 #include "ccsds_types.h"
11 11
12 12 #define HK_PACKET_SIZE 126 + 4
13 13
14 14 class HKDisplay : public QWidget
15 15 {
16 16 Q_OBJECT
17 17 public:
18 18 explicit HKDisplay(QWidget *parent = 0);
19 19 void displayPacket(TMPacketToRead *tmPacketToRead);
20
21 void setupLFRStatusWord();
22 void setupLFRSWVersion();
23 void setupTCStatistics();
24 void setupAnomalyStatistics();
25 void setupSpaceWireIFStatistics();
26 void setupErrorCountersSpaceWire();
27
20 28 void updateLFRMode(Packet_TM_LFR_HK_t *housekeepingPacket);
21 29 void updateSWVersion(Packet_TM_LFR_HK_t *housekeepingPacket);
22 30 void updateTCStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
31 void updateAnomalyStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
32 void updateSpaceWireIFStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
33 void updateErrorCountersSpaceWire(Packet_TM_LFR_HK_t *housekeepingPacket);
23 34
24 35 signals:
25 36 void displayMessage(QString message);
26 37
27 38 public slots:
28 39
29 40 private:
30 41 QGroupBox *groupbox_lfrStatusWord;
31 42 QGroupBox *groupbox_lfrSWVersion;
32 43 QGroupBox *groupbox_tcStatistics;
33 44 QGroupBox *groupbox_anomalyStatistics;
34 45 //***********************************
35 46 //***********************************
36 47 QGroupBox *groupbox_vhdlBlockStatus;
37 48 QGroupBox *groupbox_spacewireIFStatisctics;
38 49 QGroupBox *groupbox_ahbErrorStatistics;
39 50 QGroupBox *groupbox_temperatures;
40 51 QGroupBox *groupbox_errorCountersSpaceWire;
41 52 QGroupBox *groupbox_errorCountersTime;
42 53
43 54 QGridLayout *mainLayout;
44 55 QVBoxLayout *box_lfrStatusWord;
45 56 QVBoxLayout *box_lfrSWVersion;
46 57 QVBoxLayout *box_tcStatistics;
47 58 QVBoxLayout *box_anomalyStatistics;
48 59 //***********************************
49 60 //***********************************
50 61 QVBoxLayout *box_vhdlBlockStatus;
51 62 QVBoxLayout *box_spacewireIFStatisctics;
52 63 QVBoxLayout *box_ahbErrorStatistics;
53 64 QVBoxLayout *box_temperatures;
54 65 QVBoxLayout *box_errorCountersSpaceWire;
55 66 QVBoxLayout *box_errorCountersTime;
56 67
57 68 QLabel *hk_lfr_mode;
58 69 QLabel *hk_lfr_dpu_spw_enabled;
59 70 QLabel *hk_lfr_dpu_link_state;
60 71 QLabel *sy_lfr_watchdog_enabled;
61 72 QLabel *hk_lfr_calib_enabled;
62 73 QLabel *hk_lfr_reset_cause;
63 74 // sy_lfr_sw_version_
64 75 QLabel *sy_lfr_sw_version_n1;
65 76 QLabel *sy_lfr_sw_version_n2;
66 77 QLabel *sy_lfr_sw_version_n3;
67 78 QLabel *sy_lfr_sw_version_n4;
68 79 QLabel *hk_lfr_update_info_tc_cnt;
69 80 QLabel *hk_lfr_update_time_tc_cnt;
70 81 QLabel *hk_dpu_exe_tc_lfr_cnt;
71 82 QLabel *hk_dpu_rej_tc_lfr_cnt;
72 83 // hk_lfr_last_exe_tc_
73 84 QLabel *hk_lfr_last_exe_tc_id;
74 85 QLabel *hk_lfr_last_exe_tc_type;
75 86 QLabel *hk_lfr_last_exe_tc_subtype;
76 87 QLabel *hk_lfr_last_exe_tc_time;
77 88 // hk_lfr_last_rej_tc_
78 89 QLabel *hk_lfr_last_rej_tc_id;
79 90 QLabel *hk_lfr_last_rej_tc_type;
80 91 QLabel *hk_lfr_last_rej_tc_subtype;
81 92 QLabel *hk_lfr_last_rej_tc_time;
82 93
83 94 QLabel *hk_lfr_le_cnt;
84 95 QLabel *hk_lfr_me_cnt;
85 96 QLabel *hk_lfr_he_cnt;
86 97 // hk_lfr_last_er
87 98 QLabel *hk_lfr_last_er_rid;
88 99 QLabel *hk_lfr_last_er_code;
89 100 QLabel *hk_lfr_last_er_time;
90 101 //***********************************
91 102 //***********************************
92 103 //hk_lfr_vhdl_
93 104 QLabel *hk_lfr_vhdl_aa;
94 105 QLabel *hk_lfr_vhdl_sm;
95 106 QLabel *hk_lfr_vhdl_fft;
96 107 QLabel *hk_lfr_vhdl_sr;
97 108 QLabel *hk_lfr_vhdl_cic;
98 109 QLabel *hk_lfr_vhdl_hk;
99 110 QLabel *hk_lfr_vhdl_iir;
100 111 QLabel *hk_lfr_vhdl_cal;
101 112 // hk_lfr_dpu_spw_
102 113 QLabel *hk_lfr_dpu_spw_pkt_rcv_cnt;
103 114 QLabel *hk_lfr_dpu_spw_pkt_sent_cnt;
104 115 QLabel *hk_lfr_dpu_spw_tick_out_cnt;
105 116 QLabel *hk_lfr_dpu_spw_last_timc;
106 117 // hk_lfr_last_fail_addr
107 118 QLabel *hk_lfr_last_fail_addr;
108 119 // hk_lfr_temp_
109 120 QLabel *hk_lfr_temp_scm;
110 121 QLabel *hk_lfr_temp_pcb;
111 122 QLabel *hk_lfr_temp_fpga;
112 123 // hk_lfr_dpu_spw_
113 124 QLabel *hk_lfr_dpu_spw_parity;
114 125 QLabel *hk_lfr_dpu_spw_disconnect;
115 126 QLabel *hk_lfr_dpu_spw_escape;
116 127 QLabel *hk_lfr_dpu_spw_credit;
117 128 QLabel *hk_lfr_dpu_spw_write_sync;
118 129 QLabel *hk_lfr_dpu_spw_rx_ahb;
119 130 QLabel *hk_lfr_dpu_spw_tx_ahb;
120 131 QLabel *hk_lfr_dpu_spw_header_crc;
121 132 QLabel *hk_lfr_dpu_spw_data_crc;
122 133 QLabel *hk_lfr_dpu_spw_early_eop;
123 134 QLabel *hk_lfr_dpu_spw_invalid_addr;
124 135 QLabel *hk_lfr_dpu_spw_eep;
125 136 QLabel *hk_lfr_dpu_spw_rx_too_big;
126 137 // hk_lfr_timecode_
127 138 QLabel *hk_lfr_timecode_erroneous;
128 139 QLabel *hk_lfr_timecode_missing;
129 140 QLabel *hk_lfr_timecode_invalid;
130 141 // hk_lfr_time_
131 142 QLabel *hk_lfr_time_timecode_it;
132 143 QLabel *hk_lfr_time_not_synchro;
133 144 QLabel *hk_lfr_time_timecode_ctr;
134 145 // hk_lfr_buffer_dpu_
135 146 QLabel *hk_lfr_buffer_dpu_tc_fifo;
136 147 QLabel *hk_lfr_buffer_dpu_tm_fifo;
137 148 // hk_lfr_ahb_
138 149 QLabel *hk_lfr_ahb_correctable;
139 150 QLabel *hk_lfr_ahb_uncorrectable;
140 151 QLabel *hk_lfr_ahb_fails_trans;
141 152 // hk_lfr_adc_
142 153 QLabel *hk_lfr_adc_failure;
143 154 QLabel *hk_lfr_adc_timeout;
144 155 QLabel *hk_lfr_toomany_err;
145 156 // hk_lfr_cpu_
146 157 QLabel *hk_lfr_cpu_write_err;
147 158 QLabel *hk_lfr_cpu_ins_access_err;
148 159 QLabel *hk_lfr_cpu_illegal_ins;
149 160 QLabel *hk_lfr_cpu_privilegied_ins;
150 161 QLabel *hk_lfr_cpu_register_hw;
151 162 QLabel *hk_lfr_cpu_not_aligned;
152 163 QLabel *hk_lfr_cpu_data_exception;
153 164 QLabel *hk_lfr_cpu_div_exception;
154 165 QLabel *hk_lfr_cpu_arith_overflow;
155 166 };
156 167
157 168 #endif // HKDISPLAY_H
@@ -1,378 +1,378
1 1 #############################################################################
2 # Makefile for building: gselesia
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Tue Jun 18 10:19:47 2013
2 # Makefile for building: lfrsgse
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jun 28 13:46:55 2013
4 4 # Project: gselesia.pro
5 5 # Template: app
6 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 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 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)
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 55 ../common_PLE/hkdisplay.cpp \
56 56 lfrxmlparser.cpp \
57 57 lfrspectrogram.cpp moc_mainwindow.cpp \
58 58 moc_mainwindowui.cpp \
59 59 moc_qipdialogbox.cpp \
60 60 moc_lfrxmlhandler.cpp \
61 61 moc_lfrxmlwriter.cpp \
62 62 moc_tmstatistics.cpp \
63 63 moc_tmpackettoread.cpp \
64 64 moc_wfpacket.cpp \
65 65 moc_hkdisplay.cpp \
66 66 moc_lfrxmlparser.cpp \
67 67 moc_lfrspectrogram.cpp
68 68 OBJECTS = main.o \
69 69 mainwindow.o \
70 70 mainwindowui.o \
71 71 qipdialogbox.o \
72 72 lfrxmlhandler.o \
73 73 lfrxmlwriter.o \
74 74 tmstatistics.o \
75 75 tmpackettoread.o \
76 76 wfpacket.o \
77 77 hkdisplay.o \
78 78 lfrxmlparser.o \
79 79 lfrspectrogram.o \
80 80 moc_mainwindow.o \
81 81 moc_mainwindowui.o \
82 82 moc_qipdialogbox.o \
83 83 moc_lfrxmlhandler.o \
84 84 moc_lfrxmlwriter.o \
85 85 moc_tmstatistics.o \
86 86 moc_tmpackettoread.o \
87 87 moc_wfpacket.o \
88 88 moc_hkdisplay.o \
89 89 moc_lfrxmlparser.o \
90 90 moc_lfrspectrogram.o
91 91 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
92 92 /usr/lib64/qt4/mkspecs/common/linux.conf \
93 93 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
94 94 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
95 95 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
96 96 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
97 97 /usr/lib64/qt4/mkspecs/qconfig.pri \
98 98 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
99 99 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
100 100 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
101 101 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
102 102 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
103 103 /usr/lib64/qt4/mkspecs/features/release.prf \
104 104 /usr/lib64/qt4/mkspecs/features/default_post.prf \
105 105 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
106 106 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
107 107 /usr/lib64/qt4/mkspecs/features/qt.prf \
108 108 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
109 109 /usr/lib64/qt4/mkspecs/features/moc.prf \
110 110 /usr/lib64/qt4/mkspecs/features/resources.prf \
111 111 /usr/lib64/qt4/mkspecs/features/uic.prf \
112 112 /usr/lib64/qt4/mkspecs/features/yacc.prf \
113 113 /usr/lib64/qt4/mkspecs/features/lex.prf \
114 114 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
115 115 gselesia.pro
116 QMAKE_TARGET = gselesia
116 QMAKE_TARGET = lfrsgse
117 117 DESTDIR =
118 TARGET = gselesia
118 TARGET = lfrsgse
119 119
120 120 first: all
121 121 ####### Implicit rules
122 122
123 123 .SUFFIXES: .o .c .cpp .cc .cxx .C
124 124
125 125 .cpp.o:
126 126 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
127 127
128 128 .cc.o:
129 129 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
130 130
131 131 .cxx.o:
132 132 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
133 133
134 134 .C.o:
135 135 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
136 136
137 137 .c.o:
138 138 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
139 139
140 140 ####### Build rules
141 141
142 142 all: Makefile $(TARGET)
143 143
144 144 $(TARGET): $(OBJECTS)
145 145 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
146 146
147 147 Makefile: gselesia.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
148 148 /usr/lib64/qt4/mkspecs/common/linux.conf \
149 149 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
150 150 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
151 151 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
152 152 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
153 153 /usr/lib64/qt4/mkspecs/qconfig.pri \
154 154 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
155 155 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
156 156 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
157 157 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
158 158 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
159 159 /usr/lib64/qt4/mkspecs/features/release.prf \
160 160 /usr/lib64/qt4/mkspecs/features/default_post.prf \
161 161 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
162 162 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
163 163 /usr/lib64/qt4/mkspecs/features/qt.prf \
164 164 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
165 165 /usr/lib64/qt4/mkspecs/features/moc.prf \
166 166 /usr/lib64/qt4/mkspecs/features/resources.prf \
167 167 /usr/lib64/qt4/mkspecs/features/uic.prf \
168 168 /usr/lib64/qt4/mkspecs/features/yacc.prf \
169 169 /usr/lib64/qt4/mkspecs/features/lex.prf \
170 170 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
171 171 /usr/lib64/libQtXml.prl \
172 172 /usr/lib64/libQtCore.prl \
173 173 /usr/lib64/libQtGui.prl \
174 174 /usr/lib64/libQtNetwork.prl
175 175 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
176 176 /usr/lib64/qt4/mkspecs/common/unix.conf:
177 177 /usr/lib64/qt4/mkspecs/common/linux.conf:
178 178 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
179 179 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
180 180 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
181 181 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
182 182 /usr/lib64/qt4/mkspecs/qconfig.pri:
183 183 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
184 184 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
185 185 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
186 186 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
187 187 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
188 188 /usr/lib64/qt4/mkspecs/features/release.prf:
189 189 /usr/lib64/qt4/mkspecs/features/default_post.prf:
190 190 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
191 191 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
192 192 /usr/lib64/qt4/mkspecs/features/qt.prf:
193 193 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
194 194 /usr/lib64/qt4/mkspecs/features/moc.prf:
195 195 /usr/lib64/qt4/mkspecs/features/resources.prf:
196 196 /usr/lib64/qt4/mkspecs/features/uic.prf:
197 197 /usr/lib64/qt4/mkspecs/features/yacc.prf:
198 198 /usr/lib64/qt4/mkspecs/features/lex.prf:
199 199 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
200 200 /usr/lib64/libQtXml.prl:
201 201 /usr/lib64/libQtCore.prl:
202 202 /usr/lib64/libQtGui.prl:
203 203 /usr/lib64/libQtNetwork.prl:
204 204 qmake: FORCE
205 205 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
206 206
207 207 dist:
208 @$(CHK_DIR_EXISTS) .tmp/gselesia1.0.0 || $(MKDIR) .tmp/gselesia1.0.0
209 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/gselesia1.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/gselesia1.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/gselesia1.0.0/ && (cd `dirname .tmp/gselesia1.0.0` && $(TAR) gselesia1.0.0.tar gselesia1.0.0 && $(COMPRESS) gselesia1.0.0.tar) && $(MOVE) `dirname .tmp/gselesia1.0.0`/gselesia1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/gselesia1.0.0
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
210 210
211 211
212 212 clean:compiler_clean
213 213 -$(DEL_FILE) $(OBJECTS)
214 214 -$(DEL_FILE) *~ core *.core
215 215
216 216
217 217 ####### Sub-libraries
218 218
219 219 distclean: clean
220 220 -$(DEL_FILE) $(TARGET)
221 221 -$(DEL_FILE) Makefile
222 222
223 223
224 224 check: first
225 225
226 226 mocclean: compiler_moc_header_clean compiler_moc_source_clean
227 227
228 228 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
229 229
230 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
231 231 compiler_moc_header_clean:
232 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
233 233 moc_mainwindow.cpp: lfrxmlhandler.h \
234 234 lfrxmlwriter.h \
235 235 mainwindowui.h \
236 236 lfrspectrogram.h \
237 237 lfrxmlparser.h \
238 238 mainwindow.h
239 239 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
240 240
241 241 moc_mainwindowui.cpp: lfrspectrogram.h \
242 242 mainwindowui.h
243 243 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindowui.h -o moc_mainwindowui.cpp
244 244
245 245 moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
246 246 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc_qipdialogbox.cpp
247 247
248 248 moc_lfrxmlhandler.cpp: lfrxmlhandler.h
249 249 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlhandler.h -o moc_lfrxmlhandler.cpp
250 250
251 251 moc_lfrxmlwriter.cpp: lfrxmlwriter.h
252 252 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlwriter.h -o moc_lfrxmlwriter.cpp
253 253
254 254 moc_tmstatistics.cpp: ../rmapplugin/tmstatistics.h
255 255 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmstatistics.h -o moc_tmstatistics.cpp
256 256
257 257 moc_tmpackettoread.cpp: ../rmapplugin/tmpackettoread.h
258 258 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmpackettoread.h -o moc_tmpackettoread.cpp
259 259
260 260 moc_wfpacket.cpp: ../rmapplugin/wfpacket.h
261 261 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/wfpacket.h -o moc_wfpacket.cpp
262 262
263 263 moc_hkdisplay.cpp: ../common_PLE/hkdisplay.h
264 264 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/hkdisplay.h -o moc_hkdisplay.cpp
265 265
266 266 moc_lfrxmlparser.cpp: lfrxmlparser.h
267 267 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlparser.h -o moc_lfrxmlparser.cpp
268 268
269 269 moc_lfrspectrogram.cpp: lfrspectrogram.h
270 270 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrspectrogram.h -o moc_lfrspectrogram.cpp
271 271
272 272 compiler_rcc_make_all:
273 273 compiler_rcc_clean:
274 274 compiler_image_collection_make_all: qmake_image_collection.cpp
275 275 compiler_image_collection_clean:
276 276 -$(DEL_FILE) qmake_image_collection.cpp
277 277 compiler_moc_source_make_all:
278 278 compiler_moc_source_clean:
279 279 compiler_uic_make_all:
280 280 compiler_uic_clean:
281 281 compiler_yacc_decl_make_all:
282 282 compiler_yacc_decl_clean:
283 283 compiler_yacc_impl_make_all:
284 284 compiler_yacc_impl_clean:
285 285 compiler_lex_make_all:
286 286 compiler_lex_clean:
287 287 compiler_clean: compiler_moc_header_clean
288 288
289 289 ####### Compile
290 290
291 291 main.o: main.cpp mainwindow.h \
292 292 lfrxmlhandler.h \
293 293 lfrxmlwriter.h \
294 294 mainwindowui.h \
295 295 lfrspectrogram.h \
296 296 lfrxmlparser.h
297 297 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
298 298
299 299 mainwindow.o: mainwindow.cpp mainwindow.h \
300 300 lfrxmlhandler.h \
301 301 lfrxmlwriter.h \
302 302 mainwindowui.h \
303 303 lfrspectrogram.h \
304 304 lfrxmlparser.h
305 305 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
306 306
307 307 mainwindowui.o: mainwindowui.cpp mainwindowui.h \
308 308 lfrspectrogram.h
309 309 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindowui.o mainwindowui.cpp
310 310
311 311 qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
312 312 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qipdialogbox.o ../common_PLE/qipdialogbox.cpp
313 313
314 314 lfrxmlhandler.o: lfrxmlhandler.cpp lfrxmlhandler.h
315 315 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlhandler.o lfrxmlhandler.cpp
316 316
317 317 lfrxmlwriter.o: lfrxmlwriter.cpp lfrxmlwriter.h
318 318 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlwriter.o lfrxmlwriter.cpp
319 319
320 320 tmstatistics.o: ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmstatistics.h
321 321 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmstatistics.o ../rmapplugin/tmstatistics.cpp
322 322
323 323 tmpackettoread.o: ../rmapplugin/tmpackettoread.cpp ../rmapplugin/tmpackettoread.h
324 324 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmpackettoread.o ../rmapplugin/tmpackettoread.cpp
325 325
326 326 wfpacket.o: ../rmapplugin/wfpacket.cpp ../rmapplugin/wfpacket.h
327 327 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpacket.o ../rmapplugin/wfpacket.cpp
328 328
329 329 hkdisplay.o: ../common_PLE/hkdisplay.cpp ../common_PLE/hkdisplay.h
330 330 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o hkdisplay.o ../common_PLE/hkdisplay.cpp
331 331
332 332 lfrxmlparser.o: lfrxmlparser.cpp lfrxmlparser.h
333 333 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlparser.o lfrxmlparser.cpp
334 334
335 335 lfrspectrogram.o: lfrspectrogram.cpp lfrspectrogram.h
336 336 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrspectrogram.o lfrspectrogram.cpp
337 337
338 338 moc_mainwindow.o: moc_mainwindow.cpp
339 339 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
340 340
341 341 moc_mainwindowui.o: moc_mainwindowui.cpp
342 342 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindowui.o moc_mainwindowui.cpp
343 343
344 344 moc_qipdialogbox.o: moc_qipdialogbox.cpp
345 345 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qipdialogbox.o moc_qipdialogbox.cpp
346 346
347 347 moc_lfrxmlhandler.o: moc_lfrxmlhandler.cpp
348 348 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlhandler.o moc_lfrxmlhandler.cpp
349 349
350 350 moc_lfrxmlwriter.o: moc_lfrxmlwriter.cpp
351 351 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlwriter.o moc_lfrxmlwriter.cpp
352 352
353 353 moc_tmstatistics.o: moc_tmstatistics.cpp
354 354 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmstatistics.o moc_tmstatistics.cpp
355 355
356 356 moc_tmpackettoread.o: moc_tmpackettoread.cpp
357 357 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmpackettoread.o moc_tmpackettoread.cpp
358 358
359 359 moc_wfpacket.o: moc_wfpacket.cpp
360 360 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfpacket.o moc_wfpacket.cpp
361 361
362 362 moc_hkdisplay.o: moc_hkdisplay.cpp
363 363 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_hkdisplay.o moc_hkdisplay.cpp
364 364
365 365 moc_lfrxmlparser.o: moc_lfrxmlparser.cpp
366 366 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlparser.o moc_lfrxmlparser.cpp
367 367
368 368 moc_lfrspectrogram.o: moc_lfrspectrogram.cpp
369 369 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrspectrogram.o moc_lfrspectrogram.cpp
370 370
371 371 ####### Install
372 372
373 373 install: FORCE
374 374
375 375 uninstall: FORCE
376 376
377 377 FORCE:
378 378
1 NO CONTENT: modified file, binary diff hidden
@@ -1,265 +1,265
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-06-18T10:58:40. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-06-28T13:47:27. -->
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 14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 15 <value type="QString" key="language">Cpp</value>
16 16 <valuemap type="QVariantMap" key="value">
17 17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 18 </valuemap>
19 19 </valuemap>
20 20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 21 <value type="QString" key="language">QmlJS</value>
22 22 <valuemap type="QVariantMap" key="value">
23 23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 24 </valuemap>
25 25 </valuemap>
26 26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 43 </valuemap>
44 44 </data>
45 45 <data>
46 46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 47 <valuemap type="QVariantMap"/>
48 48 </data>
49 49 <data>
50 50 <variable>ProjectExplorer.Project.Target.0</variable>
51 51 <valuemap type="QVariantMap">
52 52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 69 </valuemap>
70 70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 77 </valuemap>
78 78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 82 </valuemap>
83 83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 91 </valuemap>
92 92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 96 </valuemap>
97 97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/GSE_LESIA/gselesia</value>
105 105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 107 </valuemap>
108 108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 119 </valuemap>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 127 </valuemap>
128 128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 132 </valuemap>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 141 </valuemap>
142 142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 146 </valuemap>
147 147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/GSE_LESIA/gselesia</value>
155 155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 157 </valuemap>
158 158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 165 </valuemap>
166 166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 170 </valuemap>
171 171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 202 <value type="int">0</value>
203 203 <value type="int">1</value>
204 204 <value type="int">2</value>
205 205 <value type="int">3</value>
206 206 <value type="int">4</value>
207 207 <value type="int">5</value>
208 208 <value type="int">6</value>
209 209 <value type="int">7</value>
210 210 <value type="int">8</value>
211 211 <value type="int">9</value>
212 212 <value type="int">10</value>
213 213 <value type="int">11</value>
214 214 <value type="int">12</value>
215 215 <value type="int">13</value>
216 216 <value type="int">14</value>
217 217 </valuelist>
218 218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 219 <value type="int">0</value>
220 220 <value type="int">1</value>
221 221 <value type="int">2</value>
222 222 <value type="int">3</value>
223 223 <value type="int">4</value>
224 224 <value type="int">5</value>
225 225 <value type="int">6</value>
226 226 <value type="int">7</value>
227 227 <value type="int">8</value>
228 228 <value type="int">9</value>
229 229 <value type="int">10</value>
230 230 <value type="int">11</value>
231 231 <value type="int">12</value>
232 232 <value type="int">13</value>
233 233 <value type="int">14</value>
234 234 </valuelist>
235 235 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">gselesia</value>
236 236 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
237 237 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
238 238 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
239 239 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
240 240 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">gselesia.pro</value>
241 241 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
242 242 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
243 243 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
244 244 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
245 245 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
246 246 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
247 247 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
248 248 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
249 249 </valuemap>
250 250 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
251 251 </valuemap>
252 252 </data>
253 253 <data>
254 254 <variable>ProjectExplorer.Project.TargetCount</variable>
255 255 <value type="int">1</value>
256 256 </data>
257 257 <data>
258 258 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
259 259 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
260 260 </data>
261 261 <data>
262 262 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
263 263 <value type="int">10</value>
264 264 </data>
265 265 </qtcreator>
@@ -1,63 +1,65
1 1 #include "lfrxmlparser.h"
2 2
3 3 LFRXmlParser::LFRXmlParser(QObject *parent) :
4 4 QObject(parent)
5 5 {
6 6 }
7 7
8 8 void LFRXmlParser::processIncomingStr(QString incomingStr)
9 9 {
10 10 int indexOfStartStr;
11 11 int indexOfStopStr;
12 12 int result;
13 13 QString eventBinaryStr;
14 14 QString startStr = "<EventBinary>";
15 15 QString stopStr = "</EventBinary>";
16 16
17 17 xmlBuffer.append(incomingStr);
18 18
19 19 result = findPattern( startStr, stopStr, &indexOfStartStr, &indexOfStopStr);
20 20 while( result !=-1 )
21 21 {
22 22 eventBinaryStr = xmlBuffer.mid(
23 23 indexOfStartStr + startStr.size(),
24 24 indexOfStopStr - (indexOfStartStr + startStr.size() ) );
25 25 processIncomingData( eventBinaryStr );
26 26 xmlBuffer.remove(0, indexOfStopStr + stopStr.size());
27 27 result = findPattern( startStr, stopStr, &indexOfStartStr, &indexOfStopStr);
28 28 }
29 emit processPacketStore();
29 30 }
30 31
31 32 int LFRXmlParser::findPattern(QString startStr, QString stopStr, int *indexOfStartStr, int *indexOfStopStr)
32 33 {
33 34 *indexOfStartStr = xmlBuffer.indexOf(startStr);
34 35 *indexOfStopStr = xmlBuffer.indexOf(stopStr);
35 36
36 37 if ( (*indexOfStartStr==-1) | (*indexOfStopStr==-1) | (*indexOfStartStr > *indexOfStopStr) )
37 38 {
38 39 return -1;
39 40 }
40 41 else
41 42 {
42 43 return 0;
43 44 }
44 45 }
45 46
46 47 void LFRXmlParser::processIncomingData(const QString &ch)
47 48 {
48 49 QByteArray newdat;
49 50 char *values;
50 51 unsigned char *ccsdsData;
51 52 unsigned int ccsdsSize = 0;
52 53
53 54 TMPacketToRead *incomingPacket;
54 55
55 56 newdat = QByteArray::fromHex(ch.toAscii());
56 57
57 58 values = (char*) newdat.data();
58 59 ccsdsSize = newdat.size();
59 60 ccsdsData = (unsigned char *) values;
60 61
61 62 incomingPacket = new TMPacketToRead(ccsdsData, ccsdsSize);
62 emit sendPacket( incomingPacket );
63
64 generalCCSDSPacketStore->append(incomingPacket);
63 65 }
@@ -1,27 +1,28
1 1 #ifndef LFRXMLPARSER_H
2 2 #define LFRXMLPARSER_H
3 3
4 4 #include <QObject>
5 5 #include <tmpackettoread.h>
6 6
7 7 class LFRXmlParser : public QObject
8 8 {
9 9 Q_OBJECT
10 10 public:
11 11 explicit LFRXmlParser(QObject *parent = 0);
12 12 void processIncomingStr(QString incomingStr);
13 13 int findPattern(QString startStr, QString stopStr, int *indexOfStartStr, int *indexOfStopStr);
14 14 void processIncomingData(const QString &ch);
15 QList<TMPacketToRead*> *generalCCSDSPacketStore;
15 16
16 17 signals:
17 18 void sendMessage(QString);
18 void sendPacket(TMPacketToRead *incomingPacket);
19 void processPacketStore();
19 20
20 21 public slots:
21 22
22 23 private:
23 24 QString xmlBuffer;
24 25
25 26 };
26 27
27 28 #endif // LFRXMLPARSER_H
@@ -1,366 +1,472
1 1 #include "mainwindow.h"
2 2 #include <iostream>
3 3 #include <QNetworkInterface>
4 4
5 5 MainWindow::MainWindow(QWidget *parent)
6 6 : QWidget(parent)
7 7 {
8 8 parsingContinue = false;
9 9 totalOfBytes = 0;
10 10 totalOfPackets = 0;
11 11
12 12 analyserSGSEServerTC = new QTcpServer();
13 13 analyserSGSEServerTM = new QTcpServer();
14 14
15 15 socketTC = NULL;
16 16 socketTM = NULL;
17 17 socketEchoServer = new QTcpSocket();
18 18
19 19 //****
20 20 // XML
21 21 // xml handlers
22 22 xmlHandler = new LFRXmlHandler();
23 23 // xml sources
24 24 sourceTC = new QXmlInputSource();
25 25 // xml writer
26 26 lfrXmlWriter = new LFRXmlWriter();
27 27 // setup xml parser for the echo bridge
28 28 lfrXmlParser = new LFRXmlParser();
29 29
30 30 UI = new MainWindowUI();
31 31
32 lfrXmlParser->generalCCSDSPacketStore = &this->generalCCSDSPacketStore;
33
32 34 initSocketStatesList();
33 35
34 36 this->setLayout(UI->layout());
35 37
36 38 connect(this->UI->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTCTMPorts()));
37 39 connect(this->UI->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTCTMPorts()));
38 40 connect(this->UI->button_openSocketEchoServer, SIGNAL(clicked()), this, SLOT(openEchoServer()));
39 41 //
40 42 connect(this->analyserSGSEServerTC, SIGNAL(newConnection()), this, SLOT(newConnectionOnTCServer()));
41 43 connect(this->analyserSGSEServerTM, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMServer()));
42 44 //
43 45 connect(this, SIGNAL(socketTMHasChanged(QTcpSocket*)), this->lfrXmlWriter, SLOT(setSocketTM(QTcpSocket*)));
44 46 connect(this->UI->button_TCAcknowledgement, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_Acknowledgment()));
45 47 connect(this->UI->button_TCRejection, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_rejection()));
46 48 connect(this->UI->button_GSEHK, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_GSE_HK()));
47 49
48 50 // socket echo server
49 51 connect(this->socketEchoServer, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
50 52 this, SLOT(socket_TMEcho_ServerHasChanged()));
51 53 connect(this->socketEchoServer, SIGNAL(readyRead()),
52 54 this, SLOT(readDataOnSocketEchoServer()));
53 55
54 56 // display on console
55 57 connect(this->xmlHandler, SIGNAL(displayMessage(QString)),
56 58 this, SLOT(displayOnConsole(QString)));
57 59 connect(this->UI->hkDisplay, SIGNAL(displayMessage(QString)),
58 60 this, SLOT(displayOnConsole(QString)));
59 61 connect(this->lfrXmlParser, SIGNAL(sendMessage(QString)),
60 62 this, SLOT(displayOnConsole(QString)));
61 63 //
62 connect(this->lfrXmlParser, SIGNAL(sendPacket(TMPacketToRead*)),
63 this, SLOT(processIncomingPacket(TMPacketToRead*)));
64 connect(this->lfrXmlParser, SIGNAL(processPacketStore()),
65 this, SLOT(processPacketStore()));
64 66 //
65 67 connect(this->UI->button_resetStatistics, SIGNAL(clicked()),
66 68 this, SLOT(resetStatistics()));
67 69
68 70 displayNetworkInterfaces();
69 71
70 72 this->xmlHandler->packetStoreHasChanged(&generalCCSDSPacketStore);
71 73 };
72 74
73 75 MainWindow::~MainWindow()
74 76 {
75 77
76 78 }
77 79
78 80 void MainWindow::displayNetworkInterfaces()
79 81 {
80 82 QList<QHostAddress> list = QNetworkInterface::allAddresses();
81 83 this->displayOnConsole("Network interfaces:");
82 84 for(int nIter=0; nIter<list.count(); nIter++)
83 85 {
84 86 this->UI->displayOnConsole(list[nIter].toString());
85 87 }
86 88 }
87 89
88 90 void MainWindow::listenOnTCTMPorts()
89 91 {
90 92 QString str;
91 93
92 94 //***
93 95 // TC
94 96 analyserSGSEServerTC->listen(QHostAddress::Any, this->UI->getTCPort());
95 97 str = analyserSGSEServerTC->errorString();
96 98 if (!str.isEmpty())
97 99 {
98 100 this->displayOnConsole(str);
99 101 }
100 102 this->displayOnConsole("Listening TC on port "
101 103 + QString::number(this->UI->getTCPort())
102 104 );
103 105
104 106 //***
105 107 // TM
106 108 analyserSGSEServerTM->listen(QHostAddress::Any, this->UI->getTMPort());
107 109 str = analyserSGSEServerTM->errorString();
108 110 if (!str.isEmpty())
109 111 {
110 112 this->displayOnConsole(str);
111 113 }
112 114 this->displayOnConsole("Listening TM on port "
113 115 + QString::number(this->UI->getTMPort())
114 116 );
115 117 }
116 118
117 119 void MainWindow::testTCTMPorts()
118 120 {
119 121 if (socketTC != NULL)
120 122 {
121 123 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
122 124 }
123 125 else
124 126 {
125 127 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
126 128 }
127 129 if (socketTM != NULL)
128 130 {
129 131 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
130 132 }
131 133 else
132 134 {
133 135 this->displayOnConsole("TM socket *** not tested, (socketTM) is NULL" );
134 136 }
135 137 }
136 138
137 139 void MainWindow::newConnectionOnTCServer()
138 140 {
139 141 this->displayOnConsole("got new connection on TC port");
140 142 socketTC = analyserSGSEServerTC->nextPendingConnection();
141 143 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
142 144 connect(this->socketTC, SIGNAL(readyRead()), this, SLOT(readDataOnTCPort()));
143 145 }
144 146
145 147 void MainWindow::newConnectionOnTMServer()
146 148 {
147 149 this->displayOnConsole("got new connection on TM port");
148 150 socketTM = analyserSGSEServerTM->nextPendingConnection();
149 151 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
150 152 connect(this->socketTM, SIGNAL(readyRead()), this, SLOT(readDataOnTMPort()));
151 153
152 154 emit socketTMHasChanged(this->socketTM);
153 155 }
154 156
155 157 void MainWindow::readDataOnTCPort()
156 158 {
157 159 bool ok;
158 160 int nbBytesAvailable = 0;
159 161
160 162 nbBytesAvailable = socketTC->bytesAvailable();
161 163 buffer = (char *) malloc(nbBytesAvailable);
162 164 socketTC->read(buffer, nbBytesAvailable);
163 165
164 166 this->displayOnConsole("readDataOnTCPort *** "
165 167 + QString::number(nbBytesAvailable)
166 168 + " read");
167 169
168 170 QByteArray xmlData( buffer, nbBytesAvailable);
169 171
170 172 free(buffer);
171 173
172 174 sourceTC->setData( xmlData );
173 175
174 176 xmlReader.setContentHandler(xmlHandler);
175 177 xmlReader.setErrorHandler(xmlHandler);
176 178
177 179 ok = xmlReader.parse(sourceTC);
178 180 if (!ok) {
179 181 std::cout << "Parsing failed." << std::endl;
180 182 }
181 183 else {
182 184 QStringList names = xmlHandler->names();
183 185 QList<int> indentations = xmlHandler->indentations();
184 186
185 187 int items = names.count();
186 188
187 189 for (int i = 0; i < items; ++i) {
188 190 displayOnConsole(
189 191 names[i]
190 192 + " --- identations: "
191 193 + QString::number(indentations[i]));
192 194 }
193 195 }
194 196 }
195 197
196 198 void MainWindow::readDataOnTMPort()
197 199 {
198 200 this->displayOnConsole("TM data received, begin parsing");
199 201 }
200 202
201 203 void MainWindow::readDataOnSocketEchoServer()
202 204 {
203 205 QString dataString;
204 206
205 207 dataArray.append(socketEchoServer->readAll());
206 208 dataString = QString::fromAscii(dataArray);
207 209 this->lfrXmlParser->processIncomingStr(dataString);
208 210 dataArray.clear();
209 211 }
210 212
211 void MainWindow::processIncomingData(const QString &ch)
212 {
213 QByteArray newdat;
214 char *values;
215 unsigned char *ccsdsData;
216 unsigned int ccsdsSize = 0;
217
218 TMPacketToRead *incomingPacket;
219
220 newdat = QByteArray::fromHex(ch.toAscii());
221
222 values = (char*) newdat.data();
223 ccsdsSize = newdat.size();
224 ccsdsData = (unsigned char *) values;
225
226 incomingPacket = new TMPacketToRead(ccsdsData, ccsdsSize);
227 processIncomingPacket( incomingPacket );
228 }
229
230 213 void MainWindow::displayOnConsole(QString message)
231 214 {
232 215 this->UI->displayOnConsole( message );
233 216 }
234 217
235 218 void MainWindow::initSocketStatesList()
236 219 {
237 220 socketStates.append("The socket is not connected");
238 221 socketStates.append("The socket is performing a host name lookup");
239 222 socketStates.append("The socket has started establishing a connection");
240 223 socketStates.append("A connection is established");
241 224 socketStates.append("The socket is bound to an address and port (for servers)");
242 225 socketStates.append("The socket is about to close (data may still be waiting to be written)");
243 226 socketStates.append("For internal use only");
244 227 }
245 228
246 229 void MainWindow::openEchoServer()
247 230 {
248 231 socketEchoServer->connectToHost(this->UI->serverTMEchoDialogBox->getIP(),
249 232 this->UI->spinbox_serverTMEchoPort->value());
250 233 //socketEchoServer->open();
251 234 }
252 235
253 236 void MainWindow::socket_TMEcho_ServerHasChanged()
254 237 {
255 238 this->displayOnConsole("TM Echo Socket socket *** " + socketStates.at(socketEchoServer->state()) );
256 239 }
257 240
258 241 void MainWindow::preProcessPacket(TMPacketToRead *packet)
259 242 {
260 243 unsigned char pid = 0;
261 244 unsigned char cat = 0;
262 245 unsigned char typ = 0;
263 246 unsigned char sub = 0;
264 247 unsigned int sid = 0;
265 248 unsigned int length = 0;
266 249 unsigned int coarse_t = 0;
267 250 unsigned int fine_t = 0;
268 251
269 252 //*********************************
270 253 // get the parameters of the packet
271 254 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
272 255 cat = packet->Value[5] & 0x0f;
273 256 typ = packet->Value[11]; // TYPE
274 257 sub = packet->Value[12]; // SUBTYPE
275 258 sid = 0;
276 259 length = packet->Value[8] * 256 + packet->Value[9];
260 // compare length in the packet with the size of the packet
261 if ( (length + 1 + 10) != (packet->size))
262 {
263 displayOnConsole("reception of " + QString::number(packet->size)
264 + " bytes instead of " + QString::number(length + 1 + 10));
265 }
277 266 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
278 267 + packet->Value[16] * pow(2, 8) + packet->Value[17];
279 268 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
280 269
281 270 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
282 271 sid = packet->Value[20] * 256 + packet->Value[21];
272 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
273 sid = 1;
283 274 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
284 275 sid = packet->Value[20];
285 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
286 sid = 1;
276 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
277 sid = packet->Value[20];
287 278
288 279 this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
289 280
290 281 //***************************************************
291 282 // if the packet is an HK packet, display its content
292 283 if ( (typ == TYPE_HK) & (sub == SUBTYPE_HK) )
293 284 {
294 285 this->UI->hkDisplay->displayPacket(packet);
295 286 }
296 287
297 288 //****************************************
298 289 // if the packet is a waveform, display it
299 290 if ( (typ == 21) & (sub == 3) )
300 291 {
301 292 sid = packet->Value[20]; // SID
302 293 switch (sid){
303 294 case SID_NORMAL_SWF_F0:
304 295 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
305 296 break;
306 297 case SID_NORMAL_SWF_F1:
307 298 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
308 299 break;
309 300 case SID_NORMAL_SWF_F2:
310 301 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
311 302 break;
312 303 case SID_NORMAL_CWF_F3:
313 304 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
314 305 break;
306 case SID_BURST_CWF_F2:
307 buildWFAndDisplayBurst(packet, &wfPacketBurst);
308 break;
309 case SID_SBM1_CWF_F1:
310 buildWFAndDisplaySBM1(packet, &wfPacketSBM1);
311 break;
312 case SID_SBM2_CWF_F2:
313 buildWFAndDisplaySBM2(packet, &wfPacketSBM2);
314 break;
315 315 }
316 316 }
317 317 }
318 318
319 319 void MainWindow::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
320 320 {
321 321 unsigned int i = 0;
322 322 unsigned int j = 0;
323 323 unsigned char *data;
324 324 unsigned char pkt_nr = 0;
325 325 unsigned int blk_nr = 0;
326 326
327 327 pkt_nr = packet->Value[23]; // PKT_NR
328 blk_nr = packet->Value[24] * 256 + packet->Value[25];
329 data = &packet->Value[26]; // start of the first data block;
328 blk_nr = packet->Value[30] * 256 + packet->Value[31];
329 data = &packet->Value[32]; // start of the first data block;
330 330 j = (pkt_nr-1) * 340;
331 331 for ( i=0; i<blk_nr; i++ ){
332 332 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
333 333 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
334 334 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
335 335 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
336 336 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
337 337 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
338 338 }
339 339 if (pkt_nr == 7)
340 340 {
341 341 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
342 342 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
343 343 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
344 344 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
345 345 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
346 346 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
347 347 }
348 348 }
349 349
350 void MainWindow::buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket)
351 {
352 unsigned int i = 0;
353 unsigned int j = 0;
354 unsigned char *data;
355 static unsigned char pkt_nr = 1;
356 unsigned int blk_nr = 0;
357
358 blk_nr = packet->Value[28] * 256 + packet->Value[29];
359 data = &packet->Value[30]; // start of the first data block;
360 j = (pkt_nr-1) * 340;
361 for ( i=0; i<blk_nr; i++ ){
362 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
363 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
364 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
365 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
366 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
367 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
368 }
369 pkt_nr = pkt_nr + 1;
370 if (blk_nr == 8)
371 {
372 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_v, 0);
373 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e1, 1);
374 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e2, 2);
375 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b1, 3);
376 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b2, 4);
377 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b3, 5);
378 pkt_nr = 1;
379 }
380 }
381
382 void MainWindow::buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket)
383 {
384 unsigned int i = 0;
385 unsigned int j = 0;
386 unsigned char *data;
387 static unsigned char pkt_nr = 1;
388 unsigned int blk_nr = 0;
389
390 blk_nr = packet->Value[28] * 256 + packet->Value[29];
391 data = &packet->Value[30]; // start of the first data block;
392 j = (pkt_nr-1) * 340;
393 for ( i=0; i<blk_nr; i++ ){
394 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
395 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
396 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
397 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
398 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
399 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
400 }
401 pkt_nr = pkt_nr + 1;
402 if (blk_nr == 8)
403 {
404 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_v, 0);
405 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e1, 1);
406 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e2, 2);
407 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b1, 3);
408 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b2, 4);
409 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b3, 5);
410 pkt_nr = 1;
411 }
412 }
413
414 void MainWindow::buildWFAndDisplaySBM2(TMPacketToRead *packet, WFPacket *wfPacket)
415 {
416 unsigned int i = 0;
417 unsigned int j = 0;
418 unsigned char *data;
419 static unsigned char pkt_nr = 1;
420 unsigned int blk_nr = 0;
421
422 blk_nr = packet->Value[28] * 256 + packet->Value[29];
423 data = &packet->Value[30]; // start of the first data block;
424 j = (pkt_nr-1) * 340;
425 for ( i=0; i<blk_nr; i++ ){
426 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
427 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
428 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
429 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
430 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
431 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
432 }
433 pkt_nr = pkt_nr + 1;
434 if (blk_nr == 8)
435 {
436 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_v, 0);
437 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_e1, 1);
438 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_e2, 2);
439 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b1, 3);
440 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b2, 4);
441 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b3, 5);
442 pkt_nr = 1;
443 }
444 }
445
350 446 void MainWindow::processIncomingPacket(TMPacketToRead *packet)
351 447 {
352 448 totalOfBytes = totalOfBytes + packet->size;
353 449 totalOfPackets = totalOfPackets + 1;
354 450 this->UI->totalOfBytesHasChanged(totalOfBytes);
355 451 this->UI->totalOfPacketsHasChanged(totalOfPackets);
356 452 preProcessPacket(packet);
357 packet->deleteLater();
358 453 }
359 454
360 455 void MainWindow::resetStatistics()
361 456 {
362 457 totalOfBytes = 0;
363 458 totalOfPackets = 0;
364 459 this->UI->totalOfBytesHasChanged(totalOfBytes);
365 460 this->UI->totalOfPacketsHasChanged(totalOfPackets);
366 461 }
462
463 void MainWindow::processPacketStore()
464 {
465 TMPacketToRead *packet;
466 while(!generalCCSDSPacketStore.isEmpty())
467 {
468 packet = generalCCSDSPacketStore.takeFirst();
469 processIncomingPacket(packet);
470 delete(packet);
471 }
472 }
@@ -1,79 +1,85
1 1 #ifndef MAINWINDOW_H
2 2 #define MAINWINDOW_H
3 3
4 4 #include <QtGui/QMainWindow>
5 5 #include <QTcpServer>
6 6 #include <QTcpSocket>
7 7 #include <QXmlSimpleReader>
8 8
9 9 #include <lfrxmlhandler.h>
10 10 #include <lfrxmlwriter.h>
11 11 #include <mainwindowui.h>
12 12 #include "tmpackettoread.h"
13 13 #include "wfpacket.h"
14 14 #include "lfrxmlparser.h"
15 15
16 16 class MainWindow : public QWidget
17 17 {
18 18 Q_OBJECT
19 19
20 20 public:
21 21 MainWindow(QWidget *parent = 0);
22 22 ~MainWindow();
23 23
24 24 void displayNetworkInterfaces();
25 void processIncomingData(const QString &ch);
26 25 void initSocketStatesList();
27 26 void preProcessPacket(TMPacketToRead *packet);
28 27 void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
28 void buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket);
29 void buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket);
30 void buildWFAndDisplaySBM2(TMPacketToRead *packet, WFPacket *wfPacket);
29 31
30 32 private:
31 33 QByteArray dataArray;
32 34
33 35 QList<TMPacketToRead*> generalCCSDSPacketStore;
34 36
35 37 QTcpServer *analyserSGSEServerTC;
36 38 QTcpServer *analyserSGSEServerTM;
37 39 QTcpSocket *socketTC;
38 40 QTcpSocket *socketTM;
39 41 QTcpSocket *socketEchoServer;
40 42
41 43 unsigned int totalOfBytes;
42 44 unsigned int totalOfPackets;
43 45
44 46 QXmlSimpleReader xmlReader;
45 47 QXmlInputSource *sourceTC;
46 48 LFRXmlHandler *xmlHandler;
47 49 LFRXmlParser *lfrXmlParser;
48 50
49 51 QList<QString> socketStates;
50 52
51 53 char *buffer;
52 54
53 55 MainWindowUI *UI;
54 56
55 57 LFRXmlWriter *lfrXmlWriter;
56 58
57 59 WFPacket wfPacketNormal[4];
60 WFPacket wfPacketBurst;
61 WFPacket wfPacketSBM1;
62 WFPacket wfPacketSBM2;
58 63
59 64 bool parsingContinue;
60 65
61 66 signals:
62 67 void socketTMHasChanged(QTcpSocket *socket);
63 68
64 69 public slots:
65 70 void displayOnConsole(QString message);
66 71 void listenOnTCTMPorts();
67 72 void testTCTMPorts();
68 73 void newConnectionOnTCServer();
69 74 void newConnectionOnTMServer();
70 75 void readDataOnTCPort();
71 76 void readDataOnTMPort();
72 77 void readDataOnSocketEchoServer();
73 78 void openEchoServer();
74 79 void socket_TMEcho_ServerHasChanged();
75 80 void processIncomingPacket(TMPacketToRead *packet);
76 81 void resetStatistics();
82 void processPacketStore();
77 83 };
78 84
79 85 #endif // MAINWINDOW_H
@@ -1,151 +1,162
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 spwTabWidgetPage5 = new QWidget;
23 spwTabWidgetPage5 = new QWidget; // WFRM BURST
24 spwTabWidgetPage6 = new QWidget; // WFRM SBM1
25 spwTabWidgetPage7 = new QWidget; // WFRM SBM2
24 26
25 27 tmStatistics = new TMStatistics;
26 28
27 wfDisplay = new WFDisplay;
28 hkDisplay = new HKDisplay;
29 wfDisplay = new WFDisplay();
30 wfPageBurst = new WFPage();
31 wfPageSBM1 = new WFPage();
32 wfPageSBM2 = new WFPage();
33 hkDisplay = new HKDisplay();
29 34 lfrSpectrogam = new LFRSpectrogram();
30 35
31 36 spinbox_TMServerPort = new QSpinBox();
32 37 spinbox_TCServerPort = new QSpinBox();
33 38 spinbox_serverTMEchoPort = new QSpinBox();
34 39 spinbox_TMServerPort->setRange(59000, 65535);
35 40 spinbox_TCServerPort->setRange(59001, 65535);
36 41 spinbox_serverTMEchoPort->setRange(59002, 65535);
37 42
38 43 button_openServerTCTM = new QPushButton(tr("Open TC / TM Ports"));
39 44 button_testServerTCTM = new QPushButton(tr("Test TC / TM Ports"));
40 45 button_openSocketEchoServer = new QPushButton(tr("Open Echo Server"));
41 46 button_TCAcknowledgement = new QPushButton(tr("send TC Acknowledgement"));
42 47 button_TCRejection = new QPushButton(tr("send TC rejection"));
43 48 button_GSEHK = new QPushButton(tr("send GSE HK"));
44 49 button_clearConsole = new QPushButton(tr("Clear console"));
45 50 button_resetStatistics = new QPushButton(tr("Reset statistics"));
46 51
47 52 serverTMEchoDialogBox = new QIPDialogBox();
48 53 serverTMEchoDialogBox->setIP(127, 0, 0, 1);
49 54
50 55 groupbox_TMEcho = new QGroupBox(tr("TM Echo Server"));
51 56 groupbox_ports = new QGroupBox(tr("Ports for the TM and TC Servers"));
52 57 groupbox_TMToForeignGSETester = new QGroupBox(tr("Send TM to the foreign GSE tester"));
53 58
54 59 layout_TMEcho = new QVBoxLayout();
55 60 layout_overallLayout = new QVBoxLayout();
56 61 layout_ports = new QGridLayout();
57 62 layout_TMToForeignGSETester = new QVBoxLayout();
58 63 mainLayout = new QGridLayout();
59 64
60 65 layout_TMEcho->addWidget(label_serverTMEcho);
61 66 layout_TMEcho->addWidget(serverTMEchoDialogBox);
62 67 layout_TMEcho->addWidget(label_serverTMEchoPort);
63 68 layout_TMEcho->addWidget(spinbox_serverTMEchoPort);
64 69 layout_TMEcho->addWidget(button_openSocketEchoServer);
65 70 layout_TMEcho->addWidget(label_totalOfPackets);
66 71 layout_TMEcho->addWidget(label_totalOfBytes);
67 72 layout_TMEcho->addWidget(button_resetStatistics);
68 73 groupbox_TMEcho->setLayout(layout_TMEcho);
69 74
70 75 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
71 76 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
72 77 layout_ports->addWidget(label_TCServerPort, 1, 0, 1, 1);
73 78 layout_ports->addWidget(spinbox_TCServerPort, 1, 1, 1, 1);
74 79 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
75 80 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
76 81 groupbox_ports->setLayout(layout_ports);
77 82
78 83 layout_TMToForeignGSETester->addWidget(button_TCAcknowledgement);
79 84 layout_TMToForeignGSETester->addWidget(button_TCRejection);
80 85 layout_TMToForeignGSETester->addWidget(button_GSEHK);
81 86 groupbox_TMToForeignGSETester->setLayout(layout_TMToForeignGSETester);
82 87
83 88 mainLayout->addWidget(groupbox_TMEcho, 0, 0, 1, 1);
84 89 mainLayout->addWidget(groupbox_ports, 1, 0, 1, 1);
85 90 mainLayout->addWidget(groupbox_TMToForeignGSETester, 2, 0, 1, 1);
86 91 mainLayout->addWidget(console, 0, 1, 2, 2);
87 92 mainLayout->addWidget(button_clearConsole, 3, 1, 1, 2);
88 93
89 94 spwTabWidget->addTab(spwTabWidgetPage0, tr("Connection"));
90 95 spwTabWidget->addTab(spwTabWidgetPage1, tr("TM Statistics"));
91 96 spwTabWidget->addTab(spwTabWidgetPage3, tr("HK"));
92 spwTabWidget->addTab(spwTabWidgetPage2, tr("Waveforms"));
97 spwTabWidget->addTab(spwTabWidgetPage2, tr("WFRM NORM"));
98 spwTabWidget->addTab(spwTabWidgetPage5, tr("WFRM BURST"));
99 spwTabWidget->addTab(spwTabWidgetPage6, tr("WFRM SBM1"));
100 spwTabWidget->addTab(spwTabWidgetPage7, tr("WFRM SBM2"));
93 101 spwTabWidget->addTab(spwTabWidgetPage4, tr("Spectrograms"));
94 102
95 103 spwTabWidgetPage0->setLayout(mainLayout);
96 104 spwTabWidgetPage1->setLayout(tmStatistics->layout());
97 105 spwTabWidgetPage2->setLayout(wfDisplay->layout());
98 106 spwTabWidgetPage3->setLayout(hkDisplay->layout());
99 107 spwTabWidgetPage4->setLayout(lfrSpectrogam->layout());
108 spwTabWidgetPage5->setLayout(wfPageBurst->layout());
109 spwTabWidgetPage6->setLayout(wfPageSBM1->layout());
110 spwTabWidgetPage7->setLayout(wfPageSBM2->layout());
100 111
101 112 layout_overallLayout->addWidget(spwTabWidget);
102 113
103 114 this->setLayout(layout_overallLayout);
104 115
105 116 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
106 117 }
107 118
108 119 QString MainWindowUI::getTMEchoServerAddress()
109 120 {
110 121 return(serverTMEchoDialogBox->getIP());
111 122 }
112 123
113 124 void MainWindowUI::setTCTMServerAddressIP(QString address)
114 125 {
115 126 label_currentTCTMServerIP->setText(address);
116 127 }
117 128
118 129 int MainWindowUI::getTMPort()
119 130 {
120 131 return spinbox_TMServerPort->value();
121 132 }
122 133
123 134 int MainWindowUI::getTCPort()
124 135 {
125 136 return spinbox_TCServerPort->value();
126 137 }
127 138
128 139 void MainWindowUI::displayOnConsole(QString message)
129 140 {
130 141 console->append(message);
131 142 }
132 143
133 144 void MainWindowUI::clearConsole()
134 145 {
135 146 console->clear();
136 147 }
137 148
138 149 void MainWindowUI::totalOfBytesHasChanged(unsigned int nbBytes)
139 150 {
140 151 label_totalOfBytes->setText(
141 152 "Received Bytes: "
142 153 + QString::number(nbBytes));
143 154 }
144 155
145 156 void MainWindowUI::totalOfPacketsHasChanged(unsigned int nbPackets)
146 157 {
147 158 label_totalOfPackets->setText(
148 159 "Received Packets: "
149 160 + QString::number(nbPackets));
150 161 }
151 162
@@ -1,96 +1,101
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 "tmstatistics.h"
16 16 #include "wfdisplay.h"
17 17 #include "hkdisplay.h"
18 18 #include "lfrspectrogram.h"
19 19
20 20 class MainWindowUI : public QWidget
21 21 {
22 22 Q_OBJECT
23 23 public:
24 24 explicit MainWindowUI(QWidget *parent = 0);
25 25
26 26 void setTCTMServerAddressIP(QString address);
27 27 QString getTMEchoServerAddress();
28 28 int getTMPort();
29 29 int getTCPort();
30 30 void displayOnConsole(QString message);
31 31
32 32 QTabWidget *spwTabWidget;
33 33 QWidget* spwTabWidgetPage0;
34 34 QWidget* spwTabWidgetPage1;
35 35 QWidget* spwTabWidgetPage2;
36 36 QWidget* spwTabWidgetPage3;
37 37 QWidget* spwTabWidgetPage4;
38 38 QWidget* spwTabWidgetPage5;
39 QWidget* spwTabWidgetPage6;
40 QWidget* spwTabWidgetPage7;
39 41
40 42 TMStatistics* tmStatistics;
41 43
42 44 WFDisplay* wfDisplay;
45 WFPage* wfPageBurst;
46 WFPage* wfPageSBM1;
47 WFPage* wfPageSBM2;
43 48 HKDisplay* hkDisplay;
44 49 LFRSpectrogram* lfrSpectrogam;
45 50
46 51 QWidget* widget_spectrogram;
47 52
48 53 QPushButton *button_openServerTCTM;
49 54 QPushButton *button_testServerTCTM;
50 55 QPushButton *button_openSocketEchoServer;
51 56 QPushButton *button_TCAcknowledgement;
52 57 QPushButton *button_TCRejection;
53 58 QPushButton *button_GSEHK;
54 59 QPushButton *button_clearConsole;
55 60 QPushButton *button_resetStatistics;
56 61
57 62 QIPDialogBox *serverTMEchoDialogBox;
58 63
59 64 QSpinBox *spinbox_serverTMEchoPort;
60 65
61 66 signals:
62 67
63 68 public slots:
64 69 void clearConsole();
65 70 void totalOfBytesHasChanged(unsigned int nbBytes);
66 71 void totalOfPacketsHasChanged(unsigned int nbPackets);
67 72
68 73 private:
69 74 QLabel *label_serverTMEcho;
70 75 QLabel *label_serverTMEchoPort;
71 76 QLabel *label_TMServerPort;
72 77 QLabel *label_TCServerPort;
73 78 QLabel *label_currentTCTMServer;
74 79 QLabel *label_currentTCTMServerIP;
75 80 QLabel *label_totalOfBytes;
76 81 QLabel *label_totalOfPackets;
77 82
78 83 QTextEdit *console;
79 84
80 85 QSpinBox *spinbox_TMServerPort;
81 86 QSpinBox *spinbox_TCServerPort;
82 87
83 88 QGroupBox *groupbox_TMEcho;
84 89 QGroupBox *groupbox_ports;
85 90 QGroupBox *groupbox_TMToForeignGSETester;
86 91
87 92 QVBoxLayout *layout_TMEcho;
88 93 QVBoxLayout *layout_TMToForeignGSETester;
89 94 QVBoxLayout *layout_overallLayout;
90 95
91 96 QGridLayout *mainLayout;
92 97 QGridLayout *layout_ports;
93 98
94 99 };
95 100
96 101 #endif // MAINWINDOWUI_H
@@ -1,404 +1,406
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 248 this->UI->tmEchoBridge->sendTMPacket_v2(packet);
249 249 //this->UI->tmEchoBridge->sendTMPacket_alternative(packet);
250 250
251 251 this->generalCCSDSPacketStore.append(packet);
252 252 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
253 253 processPacketStore();
254 254 }
255 255
256 256 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
257 257 {
258 258 unsigned char pid = 0;
259 259 unsigned char cat = 0;
260 260 unsigned char typ = 0;
261 261 unsigned char sub = 0;
262 262 unsigned int sid = 0;
263 263 unsigned int length = 0;
264 264 unsigned int coarse_t = 0;
265 265 unsigned int fine_t = 0;
266 266
267 267 //*********************************
268 268 // get the parameters of the packet
269 269 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
270 270 cat = packet->Value[5] & 0x0f;
271 271 typ = packet->Value[11]; // TYPE
272 272 sub = packet->Value[12]; // SUBTYPE
273 273 sid = 0;
274 274 length = packet->Value[8] * 256 + packet->Value[9];
275 275 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
276 276 + packet->Value[16] * pow(2, 8) + packet->Value[17];
277 277 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
278 278
279 279 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
280 280 sid = packet->Value[20] * 256 + packet->Value[21];
281 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
282 sid = 1;
281 283 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
282 284 sid = packet->Value[20];
283 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
284 sid = 1;
285 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
286 sid = packet->Value[20];
285 287
286 288 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
287 289
288 290
289 291 //****************************************
290 292 // if the packet is a waveform, display it
291 293 /*if ( (typ == 21) & (sub == 3) )
292 294 {
293 295 sid = packet->Value[20]; // SID
294 296 switch (sid){
295 297 case SID_NORMAL_SWF_F0:
296 298 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
297 299 break;
298 300 case SID_NORMAL_SWF_F1:
299 301 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
300 302 break;
301 303 case SID_NORMAL_SWF_F2:
302 304 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
303 305 break;
304 306 case SID_NORMAL_CWF_F3:
305 307 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
306 308 break;
307 309 }
308 310 }*/
309 311 }
310 312
311 313 void rmapplugin::nbPacketHasChanged(int nb)
312 314 {
313 315 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
314 316 }
315 317
316 318 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
317 319 {
318 320 unsigned int i = 0;
319 321 unsigned int j = 0;
320 322 unsigned char *data;
321 323 unsigned char pkt_nr = 0;
322 324 unsigned int blk_nr = 0;
323 325
324 326 pkt_nr = packet->Value[23]; // PKT_NR
325 327 blk_nr = packet->Value[24] * 256 + packet->Value[25];
326 328 data = &packet->Value[26]; // start of the first data block;
327 329 j = (pkt_nr-1) * 340;
328 330 for ( i=0; i<blk_nr; i++ ){
329 331 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
330 332 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
331 333 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
332 334 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
333 335 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
334 336 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
335 337 }
336 338 if (pkt_nr == 7)
337 339 {
338 340 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
339 341 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
340 342 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
341 343 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
342 344 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
343 345 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
344 346 }
345 347 }
346 348
347 349 /////////////////////
348 350 // INTERNAL FUNCTIONS
349 351
350 352 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
351 353 {
352 354 QString message;
353 355 unsigned int fine_time_value = 0;
354 356 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
355 357 + ((unsigned int) ccsdsPacket[6]<<16)
356 358 + ((unsigned int) ccsdsPacket[5]<<8)
357 359 + ((unsigned int) ccsdsPacket[4]);
358 360 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
359 361 message.append("size "
360 362 + QString::number(size)
361 363 +" *** header "
362 364 + QString::number(ccsdsPacket[0], 16)
363 365 + " "
364 366 + QString::number(ccsdsPacket[1], 16)
365 367 + " "
366 368 + QString::number(ccsdsPacket[2], 16)
367 369 + " "
368 370 + QString::number(ccsdsPacket[3], 16)
369 371 + " *** coarse time "
370 372 + QString::number(fine_time_value));
371 373 //+ QString::number(ccsdsPacket[4], 16)
372 374 //+" "
373 375 //+ QString::number(ccsdsPacket[5], 16)
374 376 //+" "
375 377 //+ QString::number(ccsdsPacket[6], 16)
376 378 //+" "
377 379 //+ QString::number(ccsdsPacket[7], 16));
378 380 displayOnConsole(message);
379 381 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
380 382 emit ccsdsPacketIsProcessed();
381 383 }
382 384
383 385 void rmapplugin::processPacketStore()
384 386 {
385 387 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
386 388 }
387 389
388 390 int rmapplugin::fetchPacket()
389 391 {
390 392 int ret = 0;
391 393
392 394 switch(currentBridge)
393 395 {
394 396 case selectedBridgeIsGRESB :
395 397 break;
396 398 case selectedBridgeIsStarDundee :
397 399 ret = this->UI->starDundee->receiveSPWPacketLoop();
398 400 break;
399 401 default:
400 402 break;
401 403 }
402 404
403 405 return ret;
404 406 }
@@ -1,519 +1,540
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 font = QFont(this->fontInfo().family(), STATISTICS_FONT_SIZE, QFont::Light);
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 32 //
33 33 label_SUCC_nb = new QLabel("-");
34 34 label_INCO_nb = new QLabel("-");
35 35 label_NOTE_nb = new QLabel("-");
36 36 label_NOTI_nb = new QLabel("-");
37 37 label_ERRO_nb = new QLabel("-");
38 38 label_CORR_nb = new QLabel("-");
39 39 label_HK_nb = new QLabel("-");
40 40
41 41 //***********************
42 42 // TM_LFR_SCIENCE_NORMAL_
43 43 label_NORM_SWF_F0 = new QLabel("SWF_F0");
44 44 label_NORM_SWF_F1 = new QLabel("SWF_F1");
45 45 label_NORM_SWF_F2 = new QLabel("SWF_F2");
46 46 label_NORM_CWF_F3 = new QLabel("CWF_F3");
47 47 label_NORM_ASM_F0 = new QLabel("ASM_F0");
48 48 label_NORM_ASM_F1 = new QLabel("ASM_F1");
49 49 label_NORM_ASM_F2 = new QLabel("ASM_F2");
50 50 label_NORM_BP1_F0 = new QLabel("BP1_F0");
51 51 label_NORM_BP1_F1 = new QLabel("BP1_F1");
52 52 label_NORM_BP1_F2 = new QLabel("BP1_F2");
53 53 label_NORM_BP2_F0 = new QLabel("BP2_F0");
54 54 label_NORM_BP2_F1 = new QLabel("BP2_F1");
55 55 label_NORM_BP2_F2 = new QLabel("BP2_F2");
56 56 //
57 57 label_NORM_SWF_F0_nb = new QLabel("-");
58 58 label_NORM_SWF_F1_nb = new QLabel("-");
59 59 label_NORM_SWF_F2_nb = new QLabel("-");
60 60 label_NORM_CWF_F3_nb = new QLabel("-");
61 61 label_NORM_ASM_F0_nb = new QLabel("-");
62 62 label_NORM_ASM_F1_nb = new QLabel("-");
63 63 label_NORM_ASM_F2_nb = new QLabel("-");
64 64 label_NORM_BP1_F0_nb = new QLabel("-");
65 65 label_NORM_BP1_F1_nb = new QLabel("-");
66 66 label_NORM_BP1_F2_nb = new QLabel("-");
67 67 label_NORM_BP2_F0_nb = new QLabel("-");
68 68 label_NORM_BP2_F1_nb = new QLabel("-");
69 69 label_NORM_BP2_F2_nb = new QLabel("-");
70 70
71 71 //**********************
72 72 // TM_LFR_SCIENCE_BURST_
73 label_BURST_CWF_F2 = new QLabel("CWF_F3");
73 label_BURST_CWF_F2 = new QLabel("CWF_F2");
74 74 label_BURST_BP1_F0 = new QLabel("BP1_F0");
75 75 label_BURST_BP2_F0 = new QLabel("BP2_F0");
76 76 label_BURST_BP1_F1 = new QLabel("BP1_F1");
77 77 label_BURST_BP2_F1 = new QLabel("BP2_F1");
78 78 //
79 79 label_BURST_CWF_F2_nb = new QLabel("-");
80 80 label_BURST_BP1_F0_nb = new QLabel("-");
81 81 label_BURST_BP2_F0_nb = new QLabel("-");
82 82 label_BURST_BP1_F1_nb = new QLabel("-");
83 83 label_BURST_BP2_F1_nb = new QLabel("-");
84 84
85 85 //*********************
86 86 // TM_LFR_SCIENCE_SBM1_
87 87 label_SBM1_CWF_F1 = new QLabel("CWF_F1");
88 88 label_SBM1_BP1_F0 = new QLabel("BP1_F0");
89 89 label_SBM1_BP2_F0 = new QLabel("BP2_F0");
90 90 //
91 91 label_SBM1_CWF_F1_nb = new QLabel("-");
92 92 label_SBM1_BP1_F0_nb = new QLabel("-");
93 93 label_SBM1_BP2_F0_nb = new QLabel("-");
94 94
95 95 //*********************
96 96 // TM_LFR_SCIENCE_SBM2_
97 97 label_SBM2_CWF_F2 = new QLabel("CWF_F2");
98 98 label_SBM2_BP1_F0 = new QLabel("BP1_F0");
99 99 label_SBM2_BP2_F0 = new QLabel("BP2_F0");
100 100 label_SBM2_BP1_F1 = new QLabel("BP1_F1");
101 101 label_SBM2_BP2_F1 = new QLabel("BP2_F1");
102 102 //
103 103 label_SBM2_CWF_F2_nb = new QLabel("-");
104 104 label_SBM2_BP1_F0_nb = new QLabel("-");
105 105 label_SBM2_BP2_F0_nb = new QLabel("-");
106 106 label_SBM2_BP1_F1_nb = new QLabel("-");
107 107 label_SBM2_BP2_F1_nb = new QLabel("-");
108 108
109 109 //********
110 110 // LAST TM
111 111 label_PID = new QLabel("PID");
112 112 label_CAT = new QLabel("CAT");
113 113 label_TYP = new QLabel("Type");
114 114 label_SUB = new QLabel("Subtype");
115 115 label_SID = new QLabel("SID");
116 116 label_SIZ = new QLabel("Length");
117 117 label_coarse_time = new QLabel("Coarse time: ");
118 118 label_fine_time = new QLabel("Fine time: ");
119 119 //
120 120 label_PID_is = new QLabel("-");
121 121 label_CAT_is = new QLabel("-");
122 122 label_TYP_is = new QLabel("-");
123 123 label_SUB_is = new QLabel("-");
124 124 label_SID_is = new QLabel("-");
125 125 label_SIZ_is = new QLabel("-");
126 126 label_coarse_time_val = new QLabel("-");
127 127 label_fine_time_val = new QLabel("-");
128 128
129 129 // QPushButton
130 130 button_reset_stat = new QPushButton("reset stat");
131 131
132 132 //**********
133 133 // QGroupBox
134 134 this->setStyleSheet("QGroupBox {border: 1px solid black; }");
135 135
136 136 groupbox_stat = new QGroupBox("TM_LFR_TC_EXE_");
137 137 groupbox_NORM = new QGroupBox("TM_LFR_SCIENCE_NORMAL_");
138 138 groupbox_BURST = new QGroupBox("TM_LFR_SCIENCE_BURST_");
139 139 groupbox_SBM1 = new QGroupBox("TM_LFR_SCIENCE_SBM1_");
140 140 groupbox_SBM2 = new QGroupBox("TM_LFR_SCIENCE_SBM2_");
141 141 groupbox_last = new QGroupBox("Last TM received");
142 142
143 143 groupbox_stat->setFont(font);
144 144 groupbox_NORM->setFont(font);
145 145 groupbox_BURST->setFont(font);
146 146 groupbox_SBM1->setFont(font);
147 147 groupbox_SBM2->setFont(font);
148 148 groupbox_last->setFont(font);
149 149
150 150 initConstants();
151 151
152 152 buildMonitor_NORM();
153 153 buildMonitor_BURST();
154 154 buildMonitor_SBM1();
155 155 buildMonitor_SBM2();
156 156 buildMonitor();
157 157
158 158 connect(this->button_reset_stat, SIGNAL(clicked()), this, SLOT(resetStatistics()));
159 159
160 160 }
161 161
162 162 void TMStatistics::initConstants()
163 163 {
164 164 UNKNOWN_nb = 0;
165 165
166 166 // TM_LFR_SCIENCE_NORMAL_
167 167 SUCC_nb = 0;
168 168 INCO_nb = 0;
169 169 NOTE_nb = 0;
170 170 NOTI_nb = 0;
171 171 ERRO_nb = 0;
172 172 CORR_nb = 0;
173 173 HK_nb = 0;
174 174
175 175 // TM_LFR_SCIENCE_NORMAL_
176 176 NORM_SWF_F0_nb = 0;
177 177 NORM_SWF_F1_nb = 0;
178 178 NORM_SWF_F2_nb = 0;
179 179 NORM_CWF_F3_nb = 0;
180 180 NORM_ASM_F0_nb = 0;
181 181 NORM_ASM_F1_nb = 0;
182 182 NORM_ASM_F2_nb = 0;
183 183 NORM_BP1_F0_nb = 0;
184 184 NORM_BP1_F1_nb = 0;
185 185 NORM_BP1_F2_nb = 0;
186 186 NORM_BP2_F0_nb = 0;
187 187 NORM_BP2_F1_nb = 0;
188 188 NORM_BP2_F2_nb = 0;
189 189
190 190 BURST_CWF_F2_nb = 0;
191 191 BURST_BP1_F0_nb = 0;
192 192 BURST_BP2_F0_nb = 0;
193 193 BURST_BP1_F1_nb = 0;
194 194 BURST_BP2_F1_nb = 0;
195 SBM1_CWF_F2_nb = 0;
195 SBM1_CWF_F1_nb = 0;
196 196 SBM1_BP1_F0_nb = 0;
197 197 SBM1_BP2_F0_nb = 0;
198 198 SBM2_CWF_F2_nb = 0;
199 199 SBM2_BP1_F0_nb = 0;
200 200 SBM2_BP2_F0_nb = 0;
201 201 SBM2_BP1_F1_nb = 0;
202 202 SBM2_BP2_F1_nb = 0;
203 203 }
204 204
205 205 void TMStatistics::buildMonitor_NORM()
206 206 {
207 207 layout_NORM->addWidget(label_NORM_SWF_F0, 0, 0, 1, 1);
208 208 layout_NORM->addWidget(label_NORM_SWF_F1, 1, 0, 1, 1);
209 209 layout_NORM->addWidget(label_NORM_SWF_F2, 2, 0, 1, 1);
210 210 layout_NORM->addWidget(label_NORM_CWF_F3, 3, 0, 1, 1);
211 211 //
212 212 layout_NORM->addWidget(label_NORM_SWF_F0_nb, 0, 1, 1, 1);
213 213 layout_NORM->addWidget(label_NORM_SWF_F1_nb, 1, 1, 1, 1);
214 214 layout_NORM->addWidget(label_NORM_SWF_F2_nb, 2, 1, 1, 1);
215 215 layout_NORM->addWidget(label_NORM_CWF_F3_nb, 3, 1, 1, 1);
216 216 //
217 217 layout_NORM->addWidget(label_NORM_ASM_F0, 4, 0, 1, 1);
218 218 layout_NORM->addWidget(label_NORM_ASM_F1, 5, 0, 1, 1);
219 219 layout_NORM->addWidget(label_NORM_ASM_F2, 6, 0, 1, 1);
220 220 //
221 221 layout_NORM->addWidget(label_NORM_ASM_F0_nb, 4, 1, 1, 1);
222 222 layout_NORM->addWidget(label_NORM_ASM_F1_nb, 5, 1, 1, 1);
223 223 layout_NORM->addWidget(label_NORM_ASM_F2_nb, 6, 1, 1, 1);
224 224 //
225 225 layout_NORM->addWidget(label_NORM_BP1_F0, 0, 2, 1, 1);
226 226 layout_NORM->addWidget(label_NORM_BP1_F1, 1, 2, 1, 1);
227 227 layout_NORM->addWidget(label_NORM_BP1_F2, 2, 2, 1, 1);
228 228 layout_NORM->addWidget(label_NORM_BP2_F0, 3, 2, 1, 1);
229 229 layout_NORM->addWidget(label_NORM_BP2_F1, 4, 2, 1, 1);
230 230 layout_NORM->addWidget(label_NORM_BP2_F2, 5, 2, 1, 1);
231 231 //
232 232 layout_NORM->addWidget(label_NORM_BP1_F0_nb, 0, 3, 1, 1);
233 233 layout_NORM->addWidget(label_NORM_BP1_F1_nb, 1, 3, 1, 1);
234 234 layout_NORM->addWidget(label_NORM_BP1_F2_nb, 2, 3, 1, 1);
235 235 layout_NORM->addWidget(label_NORM_BP2_F0_nb, 3, 3, 1, 1);
236 236 layout_NORM->addWidget(label_NORM_BP2_F1_nb, 4, 3, 1, 1);
237 237 layout_NORM->addWidget(label_NORM_BP2_F2_nb, 5, 3, 1, 1);
238 238 }
239 239
240 240 void TMStatistics::buildMonitor_BURST()
241 241 {
242 242 layout_BURST->addWidget(label_BURST_CWF_F2, 0, 0, 1, 1);
243 243 layout_BURST->addWidget(label_BURST_BP1_F0, 1, 0, 1, 1);
244 244 layout_BURST->addWidget(label_BURST_BP2_F0, 2, 0, 1, 1);
245 245 layout_BURST->addWidget(label_BURST_BP1_F1, 3, 0, 1, 1);
246 246 layout_BURST->addWidget(label_BURST_BP2_F1, 4, 0, 1, 1);
247 247 //
248 248 layout_BURST->addWidget(label_BURST_CWF_F2_nb, 0, 1, 1, 1);
249 249 layout_BURST->addWidget(label_BURST_BP1_F0_nb, 1, 1, 1, 1);
250 250 layout_BURST->addWidget(label_BURST_BP2_F0_nb, 2, 1, 1, 1);
251 251 layout_BURST->addWidget(label_BURST_BP1_F1_nb, 3, 1, 1, 1);
252 252 layout_BURST->addWidget(label_BURST_BP2_F1_nb, 4, 1, 1, 1);
253 253 //
254 254 layout_BURST->setRowStretch(5, 1);
255 255 layout_BURST->setColumnStretch(2,1);
256 256 }
257 257
258 258 void TMStatistics::buildMonitor_SBM1()
259 259 {
260 260 layout_SBM1->addWidget(label_SBM1_CWF_F1, 0, 0, 1, 1);
261 261 layout_SBM1->addWidget(label_SBM1_BP1_F0, 1, 0, 1, 1);
262 262 layout_SBM1->addWidget(label_SBM1_BP2_F0, 2, 0, 1, 1);
263 263 //
264 264 layout_SBM1->addWidget(label_SBM1_CWF_F1_nb, 0, 1, 1, 1);
265 265 layout_SBM1->addWidget(label_SBM1_BP1_F0_nb, 1, 1, 1, 1);
266 266 layout_SBM1->addWidget(label_SBM1_BP2_F0_nb, 2, 1, 1, 1);
267 267 //
268 268 layout_SBM1->setRowStretch(3, 1);
269 269 layout_SBM1->setColumnStretch(2,1);
270 270 }
271 271
272 272 void TMStatistics::buildMonitor_SBM2()
273 273 {
274 274 layout_SBM2->addWidget(label_SBM2_CWF_F2, 0, 0, 1, 1);
275 275 layout_SBM2->addWidget(label_SBM2_BP1_F0, 1, 0, 1, 1);
276 276 layout_SBM2->addWidget(label_SBM2_BP2_F0, 2, 0, 1, 1);
277 277 layout_SBM2->addWidget(label_SBM2_BP1_F1, 3, 0, 1, 1);
278 278 layout_SBM2->addWidget(label_SBM2_BP2_F1, 4, 0, 1, 1);
279 279 //
280 280 layout_SBM2->addWidget(label_SBM2_CWF_F2_nb, 0, 1, 1, 1);
281 281 layout_SBM2->addWidget(label_SBM2_BP1_F0_nb, 1, 1, 1, 1);
282 282 layout_SBM2->addWidget(label_SBM2_BP2_F0_nb, 2, 1, 1, 1);
283 283 layout_SBM2->addWidget(label_SBM2_BP1_F1_nb, 3, 1, 1, 1);
284 284 layout_SBM2->addWidget(label_SBM2_BP2_F1_nb, 4, 1, 1, 1);
285 285 //
286 286 layout_SBM2->setRowStretch(5, 1);
287 287 layout_SBM2->setColumnStretch(2,1);
288 288 }
289 289
290 290 void TMStatistics::buildMonitor()
291 291 {
292 292 //***************
293 293 // TM_LFR_TC_EXE_
294 294 layout_stat->addWidget(label_SUCC, 0, 0, 1, 1);
295 295 layout_stat->addWidget(label_INCO, 1, 0, 1, 1);
296 296 layout_stat->addWidget(label_NOTE, 2, 0, 1, 1);
297 297 layout_stat->addWidget(label_NOTI, 3, 0, 1, 1);
298 298 layout_stat->addWidget(label_ERRO, 4, 0, 1, 1);
299 299 layout_stat->addWidget(label_CORR, 5, 0, 1, 1);
300 300 layout_stat->addWidget(label_HK, 6, 0, 1, 1);
301 301 //
302 302 layout_stat->addWidget(label_SUCC_nb, 0, 1, 1, 1);
303 303 layout_stat->addWidget(label_INCO_nb, 1, 1, 1, 1);
304 304 layout_stat->addWidget(label_NOTE_nb, 2, 1, 1, 1);
305 305 layout_stat->addWidget(label_NOTI_nb, 3, 1, 1, 1);
306 306 layout_stat->addWidget(label_ERRO_nb, 4, 1, 1, 1);
307 307 layout_stat->addWidget(label_CORR_nb, 5, 1, 1, 1);
308 308 layout_stat->addWidget(label_HK_nb, 6, 1, 1, 1);
309 309
310 310 //********
311 311 // LAST TM
312 312 layout_last->addWidget(label_PID, 0, 0, 1, 1);
313 313 layout_last->addWidget(label_CAT, 0, 1, 1, 1);
314 314 layout_last->addWidget(label_TYP, 0, 2, 1, 1);
315 315 layout_last->addWidget(label_SUB, 0, 3, 1, 1);
316 316 layout_last->addWidget(label_SID, 0, 4, 1, 1);
317 317 layout_last->addWidget(label_SIZ, 0, 5, 1, 1);
318 318 //
319 319 layout_last->addWidget(label_PID_is, 1, 0, 1, 1);
320 320 layout_last->addWidget(label_CAT_is, 1, 1, 1, 1);
321 321 layout_last->addWidget(label_TYP_is, 1, 2, 1, 1);
322 322 layout_last->addWidget(label_SUB_is, 1, 3, 1, 1);
323 323 layout_last->addWidget(label_SID_is, 1, 4, 1, 1);
324 324 layout_last->addWidget(label_SIZ_is, 1, 5, 1, 1);
325 325 //
326 326 layout_last->addWidget(label_coarse_time, 2, 0, 1, 1);
327 327 layout_last->addWidget(label_coarse_time_val, 2, 1, 1, 1);
328 328 layout_last->addWidget(label_fine_time, 2, 2, 1, 1);
329 329 layout_last->addWidget(label_fine_time_val, 2, 3, 1, 1);
330 330 //
331 331 layout_last->addWidget(label_UNKNOWN, 3, 0, 1, 1);
332 332 layout_last->addWidget(label_UNKNOWN_nb, 3, 1, 1, 1);
333 333
334 334 //***********
335 335 // groupboxes
336 336 groupbox_stat->setLayout(layout_stat);
337 337 groupbox_NORM->setLayout(layout_NORM);
338 338 groupbox_BURST->setLayout(layout_BURST);
339 339 groupbox_SBM1->setLayout(layout_SBM1);
340 340 groupbox_SBM2->setLayout(layout_SBM2);
341 341 groupbox_last->setLayout(layout_last);
342 342 //
343 343 mainLayout->addWidget(groupbox_stat, 0, 0, 1, 1);
344 344 mainLayout->addWidget(groupbox_NORM, 1, 0, 1, 1);
345 345 mainLayout->addWidget(groupbox_last, 2, 0, 1, 2);
346 346 mainLayout->addWidget(groupbox_SBM1, 0, 1, 1, 1);
347 347 mainLayout->addWidget(groupbox_SBM2, 0, 2, 1, 1);
348 348 mainLayout->addWidget(groupbox_BURST, 1, 1, 1, 1);
349 349 mainLayout->addWidget(button_reset_stat, 3, 0, 1, 2);
350 350 mainLayout->setColumnStretch(3, 1);
351 351 mainLayout->setRowStretch(4, 1);
352 352 //
353 353 this->setLayout(mainLayout);
354 354 }
355 355
356 356 void TMStatistics::resetStatistics()
357 357 {
358 358 initConstants();
359 359 //
360 360 label_UNKNOWN_nb->setText("-");
361 361 label_SUCC_nb->setText("-");
362 362 label_INCO_nb->setText("-");
363 363 label_NOTE_nb->setText("-");
364 364 label_NOTI_nb->setText("-");
365 365 label_ERRO_nb->setText("-");
366 366 label_CORR_nb->setText("-");
367 367 label_HK_nb->setText("-");
368 368 //
369 369 label_NORM_SWF_F0_nb->setText("-");
370 370 label_NORM_SWF_F1_nb->setText("-");
371 371 label_NORM_SWF_F2_nb->setText("-");
372 372 label_NORM_CWF_F3_nb->setText("-");
373 373 //
374 label_BURST_CWF_F2_nb->setText("-");
375 //
376 label_SBM1_CWF_F1_nb->setText("-");
377 //
378 label_SBM2_CWF_F2_nb->setText("-");
379 //
374 380 label_PID_is->setText("-");
375 381 label_CAT_is->setText("-");
376 382 label_TYP_is->setText("-");
377 383 label_SUB_is->setText("-");
378 384 label_SID_is->setText("-");
379 385 label_SIZ_is->setText("-");
380 386 //
381 387 label_coarse_time_val->setText("-");
382 388 label_fine_time_val->setText("-");
383 389 }
384 390
385 391 void TMStatistics::updateStatistics(unsigned char pid, unsigned char cat,
386 392 unsigned char typ, unsigned char sub,
387 393 unsigned int sid, unsigned int length,
388 394 unsigned int coarse_t, unsigned int fine_t)
389 395 {
390 396 if (cat == 1)
391 397 {
392 398 if (typ == 1)
393 399 {
394 400 if (sub == 7)
395 401 {
396 402 SUCC_nb = SUCC_nb + 1;
397 403 label_SUCC_nb->setText(QString::number(SUCC_nb));
398 404 }
399 405 else if (sub == 8)
400 406 {
401 407 if (sid == 5)
402 408 {
403 409 INCO_nb = INCO_nb + 1;
404 410 label_INCO_nb->setText(QString::number(INCO_nb));
405 411 }
406 412 else if (sid == 40000)
407 413 {
408 414 NOTE_nb = NOTE_nb + 1;
409 415 label_NOTE_nb->setText(QString::number(NOTE_nb));
410 416 }
411 417 else if (sid == 40002)
412 418 {
413 419 NOTI_nb = NOTI_nb + 1;
414 420 label_NOTI_nb->setText(QString::number(NOTI_nb));
415 421 }
416 422 else if (sid == 40003)
417 423 {
418 424 ERRO_nb = ERRO_nb + 1;
419 425 label_ERRO_nb->setText(QString::number(ERRO_nb));
420 426 }
421 427 else if (sid == 40005)
422 428 {
423 429 CORR_nb = CORR_nb + 1;
424 430 label_CORR_nb->setText(QString::number(CORR_nb));
425 431 }
426 432 else incrementUnknown();
427 433 }
428 434 else incrementUnknown();
429 435 }
430 436 else
431 437 incrementUnknown();
432 438 }
433 439 else if (cat == 4)
434 440 {
435 441 if (typ == 3)
436 442 {
437 443 if (sub == 25)
438 444 if (sid == 1)
439 445 {
440 446 HK_nb = HK_nb + 1;
441 447 label_HK_nb->setText(QString::number(HK_nb));
442 448 }
443 449 else
444 450 {
445 451 incrementUnknown();
446 452 }
447 453 else
448 454 {
449 455 incrementUnknown();
450 456 }
451 457 }
452 458 else
453 459 {
454 460 incrementUnknown();
455 461 }
456 462 }
457 463 else if (cat == 12)
458 464 {
459 465 if (typ == 21)
460 466 {
461 467 if (sub == 3)
462 468 {
463 469 if (sid == 1)
464 470 {
465 471 NORM_CWF_F3_nb = NORM_CWF_F3_nb + 1;
466 472 label_NORM_CWF_F3_nb->setText(QString::number(NORM_CWF_F3_nb));
467 473 }
474 else if (sid == 2)
475 {
476 BURST_CWF_F2_nb = BURST_CWF_F2_nb + 1;
477 label_BURST_CWF_F2_nb->setText(QString::number(BURST_CWF_F2_nb));
478 }
468 479 else if (sid == 3)
469 480 {
470 481 NORM_SWF_F0_nb = NORM_SWF_F0_nb + 1;
471 482 label_NORM_SWF_F0_nb->setText(QString::number(NORM_SWF_F0_nb));
472 483 }
473 484 else if (sid == 4)
474 485 {
475 486 NORM_SWF_F1_nb = NORM_SWF_F1_nb + 1;
476 487 label_NORM_SWF_F1_nb->setText(QString::number(NORM_SWF_F1_nb));
477 488 }
478 489 else if (sid == 5)
479 490 {
480 491 NORM_SWF_F2_nb = NORM_SWF_F2_nb + 1;
481 492 label_NORM_SWF_F2_nb->setText(QString::number(NORM_SWF_F2_nb));
482 493 }
494 else if (sid == 24)
495 {
496 SBM1_CWF_F1_nb = SBM1_CWF_F1_nb + 1;
497 label_SBM1_CWF_F1_nb->setText(QString::number(SBM1_CWF_F1_nb));
498 }
499 else if (sid == 25)
500 {
501 SBM2_CWF_F2_nb = SBM2_CWF_F2_nb + 1;
502 label_SBM2_CWF_F2_nb->setText(QString::number(SBM2_CWF_F2_nb));
503 }
483 504 else
484 505 {
485 506 incrementUnknown();
486 507 }
487 508 }
488 509 }
489 510 else
490 511 {
491 512 incrementUnknown();
492 513 }
493 514 }
494 515 else
495 516 {
496 517 incrementUnknown();
497 518 }
498 519
499 520 label_PID_is->setText(QString::number(pid));
500 521 label_CAT_is->setText(QString::number(cat));
501 522 label_TYP_is->setText(QString::number(typ));
502 523 label_SUB_is->setText(QString::number(sub));
503 524 label_SID_is->setText(QString::number(sid));
504 525 label_SIZ_is->setText(QString::number(length));
505 526 label_coarse_time_val->setText(QString::number(coarse_t, 16));
506 527 label_fine_time_val->setText(QString::number(fine_t, 16));
507 528 }
508 529
509 530 void TMStatistics::incrementUnknown()
510 531 {
511 532 UNKNOWN_nb = UNKNOWN_nb + 1;
512 533 label_UNKNOWN_nb->setText(QString::number(UNKNOWN_nb));
513 534 }
514 535
515 536
516 537
517 538
518 539
519 540
@@ -1,205 +1,205
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 10
11 11 #define STATISTICS_FONT_SIZE 9
12 12
13 13 class TMStatistics : public QWidget
14 14 {
15 15 Q_OBJECT
16 16 public:
17 17
18 18 explicit TMStatistics(QWidget *parent = 0);
19 19 void initConstants();
20 20 void buildMonitor_BURST();
21 21 void buildMonitor_SBM1();
22 22 void buildMonitor_SBM2();
23 23 void buildMonitor_NORM();
24 24 void buildMonitor();
25 25 void incrementUnknown();
26 26
27 27 unsigned int UNKNOWN_nb;
28 28 unsigned int SUCC_nb;
29 29 unsigned int INCO_nb;
30 30 unsigned int NOTE_nb;
31 31 unsigned int NOTI_nb;
32 32 unsigned int ERRO_nb;
33 33 unsigned int CORR_nb;
34 34 unsigned int HK_nb;
35 35 unsigned int NORM_SWF_F0_nb;
36 36 unsigned int NORM_SWF_F1_nb;
37 37 unsigned int NORM_SWF_F2_nb;
38 38 unsigned int NORM_CWF_F3_nb;
39 39 unsigned int NORM_ASM_F0_nb;
40 40 unsigned int NORM_ASM_F1_nb;
41 41 unsigned int NORM_ASM_F2_nb;
42 42 unsigned int NORM_BP1_F0_nb;
43 43 unsigned int NORM_BP1_F1_nb;
44 44 unsigned int NORM_BP1_F2_nb;
45 45 unsigned int NORM_BP2_F0_nb;
46 46 unsigned int NORM_BP2_F1_nb;
47 47 unsigned int NORM_BP2_F2_nb;
48 48 //
49 49 unsigned int BURST_CWF_F2_nb;
50 50 unsigned int BURST_BP1_F0_nb;
51 51 unsigned int BURST_BP2_F0_nb;
52 52 unsigned int BURST_BP1_F1_nb;
53 53 unsigned int BURST_BP2_F1_nb;
54 unsigned int SBM1_CWF_F2_nb;
54 unsigned int SBM1_CWF_F1_nb;
55 55 unsigned int SBM1_BP1_F0_nb;
56 56 unsigned int SBM1_BP2_F0_nb;
57 57 unsigned int SBM2_CWF_F2_nb;
58 58 unsigned int SBM2_BP1_F0_nb;
59 59 unsigned int SBM2_BP2_F0_nb;
60 60 unsigned int SBM2_BP1_F1_nb;
61 61 unsigned int SBM2_BP2_F1_nb;
62 62
63 63 //*******
64 64 // QLabel
65 65 QLabel *label_UNKNOWN;
66 66 QLabel *label_UNKNOWN_nb;
67 67
68 68 //***************
69 69 // TM_LFR_TC_EXE_
70 70 QLabel *label_SUCC;
71 71 QLabel *label_INCO;
72 72 QLabel *label_NOTE;
73 73 QLabel *label_NOTI;
74 74 QLabel *label_ERRO;
75 75 QLabel *label_CORR;
76 76 QLabel *label_HK;
77 77 //
78 78 QLabel *label_SUCC_nb;
79 79 QLabel *label_INCO_nb;
80 80 QLabel *label_NOTE_nb;
81 81 QLabel *label_NOTI_nb;
82 82 QLabel *label_ERRO_nb;
83 83 QLabel *label_CORR_nb;
84 84 QLabel *label_HK_nb;
85 85
86 86 //***********************
87 87 // TM_LFR_SCIENCE_NORMAL_
88 88 QLabel *label_NORM_SWF_F0;
89 89 QLabel *label_NORM_SWF_F1;
90 90 QLabel *label_NORM_SWF_F2;
91 91 QLabel *label_NORM_CWF_F3;
92 92 QLabel *label_NORM_ASM_F0;
93 93 QLabel *label_NORM_ASM_F1;
94 94 QLabel *label_NORM_ASM_F2;
95 95 QLabel *label_NORM_BP1_F0;
96 96 QLabel *label_NORM_BP1_F1;
97 97 QLabel *label_NORM_BP1_F2;
98 98 QLabel *label_NORM_BP2_F0;
99 99 QLabel *label_NORM_BP2_F1;
100 100 QLabel *label_NORM_BP2_F2;
101 101 //
102 102 QLabel *label_NORM_SWF_F0_nb;
103 103 QLabel *label_NORM_SWF_F1_nb;
104 104 QLabel *label_NORM_SWF_F2_nb;
105 105 QLabel *label_NORM_CWF_F3_nb;
106 106 QLabel *label_NORM_ASM_F0_nb;
107 107 QLabel *label_NORM_ASM_F1_nb;
108 108 QLabel *label_NORM_ASM_F2_nb;
109 109 QLabel *label_NORM_BP1_F0_nb;
110 110 QLabel *label_NORM_BP1_F1_nb;
111 111 QLabel *label_NORM_BP1_F2_nb;
112 112 QLabel *label_NORM_BP2_F0_nb;
113 113 QLabel *label_NORM_BP2_F1_nb;
114 114 QLabel *label_NORM_BP2_F2_nb;
115 115
116 116 //**********************
117 117 // TM_LFR_SCIENCE_BURST_
118 118 QLabel *label_BURST_CWF_F2;
119 119 QLabel *label_BURST_BP1_F0;
120 120 QLabel *label_BURST_BP2_F0;
121 121 QLabel *label_BURST_BP1_F1;
122 122 QLabel *label_BURST_BP2_F1;
123 123 //
124 124 QLabel *label_BURST_CWF_F2_nb;
125 125 QLabel *label_BURST_BP1_F0_nb;
126 126 QLabel *label_BURST_BP2_F0_nb;
127 127 QLabel *label_BURST_BP1_F1_nb;
128 128 QLabel *label_BURST_BP2_F1_nb;
129 129
130 130 //*********************
131 131 // TM_LFR_SCIENCE_SBM1_
132 132 QLabel *label_SBM1_CWF_F1;
133 133 QLabel *label_SBM1_BP1_F0;
134 134 QLabel *label_SBM1_BP2_F0;
135 135 //
136 136 QLabel *label_SBM1_CWF_F1_nb;
137 137 QLabel *label_SBM1_BP1_F0_nb;
138 138 QLabel *label_SBM1_BP2_F0_nb;
139 139
140 140 //*********************
141 141 // TM_LFR_SCIENCE_SBM2_
142 142 QLabel *label_SBM2_CWF_F2;
143 143 QLabel *label_SBM2_BP1_F0;
144 144 QLabel *label_SBM2_BP2_F0;
145 145 QLabel *label_SBM2_BP1_F1;
146 146 QLabel *label_SBM2_BP2_F1;
147 147 //
148 148 QLabel *label_SBM2_CWF_F2_nb;
149 149 QLabel *label_SBM2_BP1_F0_nb;
150 150 QLabel *label_SBM2_BP2_F0_nb;
151 151 QLabel *label_SBM2_BP1_F1_nb;
152 152 QLabel *label_SBM2_BP2_F1_nb;
153 153
154 154 //********
155 155 // LAST TM
156 156 QLabel *label_PID;
157 157 QLabel *label_CAT;
158 158 QLabel *label_TYP;
159 159 QLabel *label_SUB;
160 160 QLabel *label_SID;
161 161 QLabel *label_SIZ;
162 162 QLabel *label_coarse_time;
163 163 QLabel *label_fine_time;
164 164 //
165 165 QLabel *label_PID_is;
166 166 QLabel *label_CAT_is;
167 167 QLabel *label_TYP_is;
168 168 QLabel *label_SUB_is;
169 169 QLabel *label_SID_is;
170 170 QLabel *label_SIZ_is;
171 171 QLabel *label_coarse_time_val;
172 172 QLabel *label_fine_time_val;
173 173
174 174 // Layouts
175 175 QGridLayout *mainLayout;
176 176 QGridLayout *layout_stat; // TM stastictics
177 177 QGridLayout *layout_NORM; // TM_LFR_SCIENCE_NORMAL_
178 178 QGridLayout *layout_BURST; // TM_LFR_SCIENCE_BURST_
179 179 QGridLayout *layout_SBM1; // TM_LFR_SCIENCE_SBM1_
180 180 QGridLayout *layout_SBM2; // TM_LFR_SCIENCE_SBM2_
181 181 QGridLayout *layout_last; // last TM description
182 182
183 183 // QPushButton
184 184 QPushButton *button_reset_stat;
185 185
186 186 // QGroupBox
187 187 QGroupBox *groupbox_stat;
188 188 QGroupBox *groupbox_NORM;
189 189 QGroupBox *groupbox_BURST;
190 190 QGroupBox *groupbox_SBM1;
191 191 QGroupBox *groupbox_SBM2;
192 192 QGroupBox *groupbox_last;
193 193
194 194 signals:
195 195
196 196 public slots:
197 197 void resetStatistics();
198 198 void updateStatistics(unsigned char pid, unsigned char cat,
199 199 unsigned char typ, unsigned char sub,
200 200 unsigned int sid, unsigned int length,
201 201 unsigned int coarse_t, unsigned int fine_t);
202 202
203 203 };
204 204
205 205 #endif // TMSTATISTICS_H
@@ -1,308 +1,308
1 1 #############################################################################
2 2 # Makefile for building: libwfdisplay.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri May 31 14:14:01 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jun 28 09:02:23 2013
4 4 # Project: wfdisplay.pro
5 5 # Template: lib
6 6 # Command: /usr/bin/qmake-qt4 -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 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 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)
16 16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I/usr/include/lppmon/common -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 -llppmoncommon -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 moc_wfdisplay.cpp \
49 49 moc_wfplot.cpp \
50 50 moc_wfpage.cpp
51 51 OBJECTS = wfdisplay.o \
52 52 wfplot.o \
53 53 wfpage.o \
54 54 moc_wfdisplay.o \
55 55 moc_wfplot.o \
56 56 moc_wfpage.o
57 57 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
58 58 /usr/lib64/qt4/mkspecs/common/linux.conf \
59 59 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
60 60 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
61 61 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
62 62 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
63 63 /usr/lib64/qt4/mkspecs/qconfig.pri \
64 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
64 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
65 65 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
66 66 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
67 67 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
68 68 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
69 69 /usr/lib64/qt4/mkspecs/features/release.prf \
70 70 /usr/lib64/qt4/mkspecs/features/default_post.prf \
71 71 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
72 72 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
73 73 /usr/lib64/qt4/mkspecs/features/qt.prf \
74 74 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
75 75 /usr/lib64/qt4/mkspecs/features/moc.prf \
76 76 /usr/lib64/qt4/mkspecs/features/resources.prf \
77 77 /usr/lib64/qt4/mkspecs/features/uic.prf \
78 78 /usr/lib64/qt4/mkspecs/features/yacc.prf \
79 79 /usr/lib64/qt4/mkspecs/features/lex.prf \
80 80 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
81 81 wfdisplay.pro
82 82 QMAKE_TARGET = wfdisplay
83 83 DESTDIR =
84 84 TARGET = libwfdisplay.so.1.0.0
85 85 TARGETA = libwfdisplay.a
86 86 TARGETD = libwfdisplay.so.1.0.0
87 87 TARGET0 = libwfdisplay.so
88 88 TARGET1 = libwfdisplay.so.1
89 89 TARGET2 = libwfdisplay.so.1.0
90 90
91 91 first: all
92 92 ####### Implicit rules
93 93
94 94 .SUFFIXES: .o .c .cpp .cc .cxx .C
95 95
96 96 .cpp.o:
97 97 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
98 98
99 99 .cc.o:
100 100 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
101 101
102 102 .cxx.o:
103 103 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
104 104
105 105 .C.o:
106 106 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
107 107
108 108 .c.o:
109 109 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
110 110
111 111 ####### Build rules
112 112
113 113 all: Makefile $(TARGET)
114 114
115 115 $(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
116 116 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
117 117 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
118 118 -ln -s $(TARGET) $(TARGET0)
119 119 -ln -s $(TARGET) $(TARGET1)
120 120 -ln -s $(TARGET) $(TARGET2)
121 121
122 122
123 123
124 124 staticlib: $(TARGETA)
125 125
126 126 $(TARGETA): $(OBJECTS) $(OBJCOMP)
127 127 -$(DEL_FILE) $(TARGETA)
128 128 $(AR) $(TARGETA) $(OBJECTS)
129 129
130 130 Makefile: wfdisplay.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
131 131 /usr/lib64/qt4/mkspecs/common/linux.conf \
132 132 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
133 133 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
134 134 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
135 135 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
136 136 /usr/lib64/qt4/mkspecs/qconfig.pri \
137 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
137 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
138 138 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
139 139 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
140 140 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
141 141 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
142 142 /usr/lib64/qt4/mkspecs/features/release.prf \
143 143 /usr/lib64/qt4/mkspecs/features/default_post.prf \
144 144 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
145 145 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
146 146 /usr/lib64/qt4/mkspecs/features/qt.prf \
147 147 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
148 148 /usr/lib64/qt4/mkspecs/features/moc.prf \
149 149 /usr/lib64/qt4/mkspecs/features/resources.prf \
150 150 /usr/lib64/qt4/mkspecs/features/uic.prf \
151 151 /usr/lib64/qt4/mkspecs/features/yacc.prf \
152 152 /usr/lib64/qt4/mkspecs/features/lex.prf \
153 153 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
154 154 /usr/lib64/libQtGui.prl \
155 155 /usr/lib64/libQtCore.prl
156 156 $(QMAKE) -o Makefile wfdisplay.pro
157 157 /usr/lib64/qt4/mkspecs/common/unix.conf:
158 158 /usr/lib64/qt4/mkspecs/common/linux.conf:
159 159 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
160 160 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
161 161 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
162 162 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
163 163 /usr/lib64/qt4/mkspecs/qconfig.pri:
164 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
164 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
165 165 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
166 166 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
167 167 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
168 168 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
169 169 /usr/lib64/qt4/mkspecs/features/release.prf:
170 170 /usr/lib64/qt4/mkspecs/features/default_post.prf:
171 171 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
172 172 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
173 173 /usr/lib64/qt4/mkspecs/features/qt.prf:
174 174 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
175 175 /usr/lib64/qt4/mkspecs/features/moc.prf:
176 176 /usr/lib64/qt4/mkspecs/features/resources.prf:
177 177 /usr/lib64/qt4/mkspecs/features/uic.prf:
178 178 /usr/lib64/qt4/mkspecs/features/yacc.prf:
179 179 /usr/lib64/qt4/mkspecs/features/lex.prf:
180 180 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
181 181 /usr/lib64/libQtGui.prl:
182 182 /usr/lib64/libQtCore.prl:
183 183 qmake: FORCE
184 184 @$(QMAKE) -o Makefile wfdisplay.pro
185 185
186 186 dist:
187 187 @$(CHK_DIR_EXISTS) .tmp/wfdisplay1.0.0 || $(MKDIR) .tmp/wfdisplay1.0.0
188 188 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.h wfdisplay_global.h wfplot.h wfpage.h params.h .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.cpp wfplot.cpp wfpage.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
189 189
190 190
191 191 clean:compiler_clean
192 192 -$(DEL_FILE) $(OBJECTS)
193 193 -$(DEL_FILE) *~ core *.core
194 194
195 195
196 196 ####### Sub-libraries
197 197
198 198 distclean: clean
199 199 -$(DEL_FILE) $(TARGET)
200 200 -$(DEL_FILE) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA)
201 201 -$(DEL_FILE) Makefile
202 202
203 203
204 204 check: first
205 205
206 206 mocclean: compiler_moc_header_clean compiler_moc_source_clean
207 207
208 208 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
209 209
210 210 compiler_moc_header_make_all: moc_wfdisplay.cpp moc_wfplot.cpp moc_wfpage.cpp
211 211 compiler_moc_header_clean:
212 212 -$(DEL_FILE) moc_wfdisplay.cpp moc_wfplot.cpp moc_wfpage.cpp
213 213 moc_wfdisplay.cpp: wfdisplay_global.h \
214 214 wfpage.h \
215 215 wfplot.h \
216 216 params.h \
217 217 wfdisplay.h
218 218 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfdisplay.h -o moc_wfdisplay.cpp
219 219
220 220 moc_wfplot.cpp: wfplot.h
221 221 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfplot.h -o moc_wfplot.cpp
222 222
223 223 moc_wfpage.cpp: wfplot.h \
224 224 params.h \
225 225 wfpage.h
226 226 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpage.h -o moc_wfpage.cpp
227 227
228 228 compiler_rcc_make_all:
229 229 compiler_rcc_clean:
230 230 compiler_image_collection_make_all: qmake_image_collection.cpp
231 231 compiler_image_collection_clean:
232 232 -$(DEL_FILE) qmake_image_collection.cpp
233 233 compiler_moc_source_make_all:
234 234 compiler_moc_source_clean:
235 235 compiler_uic_make_all:
236 236 compiler_uic_clean:
237 237 compiler_yacc_decl_make_all:
238 238 compiler_yacc_decl_clean:
239 239 compiler_yacc_impl_make_all:
240 240 compiler_yacc_impl_clean:
241 241 compiler_lex_make_all:
242 242 compiler_lex_clean:
243 243 compiler_clean: compiler_moc_header_clean
244 244
245 245 ####### Compile
246 246
247 247 wfdisplay.o: wfdisplay.cpp wfdisplay.h \
248 248 wfdisplay_global.h \
249 249 wfpage.h \
250 250 wfplot.h \
251 251 params.h
252 252 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfdisplay.o wfdisplay.cpp
253 253
254 254 wfplot.o: wfplot.cpp wfplot.h \
255 255 params.h
256 256 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfplot.o wfplot.cpp
257 257
258 258 wfpage.o: wfpage.cpp wfpage.h \
259 259 wfplot.h \
260 260 params.h
261 261 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpage.o wfpage.cpp
262 262
263 263 moc_wfdisplay.o: moc_wfdisplay.cpp
264 264 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfdisplay.o moc_wfdisplay.cpp
265 265
266 266 moc_wfplot.o: moc_wfplot.cpp
267 267 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfplot.o moc_wfplot.cpp
268 268
269 269 moc_wfpage.o: moc_wfpage.cpp
270 270 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfpage.o moc_wfpage.cpp
271 271
272 272 ####### Install
273 273
274 274 install_header: first FORCE
275 275 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ || $(MKDIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
276 276 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfdisplay.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
277 277 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfdisplay_global.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
278 278 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay/wfpage.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
279 279
280 280
281 281 uninstall_header: FORCE
282 282 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay.h
283 283 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay_global.h
284 284 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfpage.h
285 285 -$(DEL_DIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/
286 286
287 287
288 288 install_target: first FORCE
289 289 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib64/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib64/
290 290 -$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET)"
291 291 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET0)"
292 292 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET1)"
293 293 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET2)"
294 294
295 295 uninstall_target: FORCE
296 296 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET)"
297 297 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET0)"
298 298 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET1)"
299 299 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib64/$(TARGET2)"
300 300 -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib64/
301 301
302 302
303 303 install: install_header install_target FORCE
304 304
305 305 uninstall: uninstall_header uninstall_target FORCE
306 306
307 307 FORCE:
308 308
@@ -1,51 +1,51
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 spwTabWidget->addTab(page_f0, tr("f0"));
17 spwTabWidget->addTab(page_f1, tr("f1"));
18 spwTabWidget->addTab(page_f2, tr("f2"));
19 spwTabWidget->addTab(page_f3, tr("f3"));
16 spwTabWidget->addTab(page_f0, tr("f0 (24576 Hz)"));
17 spwTabWidget->addTab(page_f1, tr("f1 (4096 Hz"));
18 spwTabWidget->addTab(page_f2, tr("f2 (256 Hz)"));
19 spwTabWidget->addTab(page_f3, tr("f3 (16 Hz)"));
20 20
21 21 waveforms_LAYOUT->addWidget(spwTabWidget);
22 22
23 23 this->setLayout(waveforms_LAYOUT);
24 24
25 25 }
26 26
27 27 void WFDisplay::displayOnPlot(short *data, unsigned char num_page, unsigned char num)
28 28 {
29 29 QVector<double> x(XMAX), y(XMAX);
30 30
31 31 for (int i=0; i<XMAX; ++i)
32 32 {
33 33 x[i] = i;
34 34 y[i] = (double) data[i];
35 35 }
36 36 switch(num_page){
37 37 case 0:
38 38 page_f0->displayOnPlot(data, num);
39 39 break;
40 40 case 1:
41 41 page_f1->displayOnPlot(data, num);
42 42 break;
43 43 case 2:
44 44 page_f2->displayOnPlot(data, num);
45 45 break;
46 46 case 3:
47 47 page_f3->displayOnPlot(data, num);
48 48 break;
49 49 }
50 50
51 51 }
@@ -1,264 +1,264
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-05-31T15:27:20. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-06-28T13:26:54. -->
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 14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 15 <value type="QString" key="language">Cpp</value>
16 16 <valuemap type="QVariantMap" key="value">
17 17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 18 </valuemap>
19 19 </valuemap>
20 20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 21 <value type="QString" key="language">QmlJS</value>
22 22 <valuemap type="QVariantMap" key="value">
23 23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 24 </valuemap>
25 25 </valuemap>
26 26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 43 </valuemap>
44 44 </data>
45 45 <data>
46 46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 47 <valuemap type="QVariantMap"/>
48 48 </data>
49 49 <data>
50 50 <variable>ProjectExplorer.Project.Target.0</variable>
51 51 <valuemap type="QVariantMap">
52 52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 69 </valuemap>
70 70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 77 </valuemap>
78 78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 82 </valuemap>
83 83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 91 </valuemap>
92 92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 96 </valuemap>
97 97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay</value>
105 105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 107 </valuemap>
108 108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 119 </valuemap>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 127 </valuemap>
128 128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 132 </valuemap>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 141 </valuemap>
142 142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 146 </valuemap>
147 147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay</value>
155 155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 157 </valuemap>
158 158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 165 </valuemap>
166 166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 170 </valuemap>
171 171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 202 <value type="int">0</value>
203 203 <value type="int">1</value>
204 204 <value type="int">2</value>
205 205 <value type="int">3</value>
206 206 <value type="int">4</value>
207 207 <value type="int">5</value>
208 208 <value type="int">6</value>
209 209 <value type="int">7</value>
210 210 <value type="int">8</value>
211 211 <value type="int">9</value>
212 212 <value type="int">10</value>
213 213 <value type="int">11</value>
214 214 <value type="int">12</value>
215 215 <value type="int">13</value>
216 216 <value type="int">14</value>
217 217 </valuelist>
218 218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 219 <value type="int">0</value>
220 220 <value type="int">1</value>
221 221 <value type="int">2</value>
222 222 <value type="int">3</value>
223 223 <value type="int">4</value>
224 224 <value type="int">5</value>
225 225 <value type="int">6</value>
226 226 <value type="int">7</value>
227 227 <value type="int">8</value>
228 228 <value type="int">9</value>
229 229 <value type="int">10</value>
230 230 <value type="int">11</value>
231 231 <value type="int">12</value>
232 232 <value type="int">13</value>
233 233 <value type="int">14</value>
234 234 </valuelist>
235 235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
236 236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
237 237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
238 238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
239 239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
240 240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
241 241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
242 242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
243 243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
244 244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
245 245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
246 246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
248 248 </valuemap>
249 249 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
250 250 </valuemap>
251 251 </data>
252 252 <data>
253 253 <variable>ProjectExplorer.Project.TargetCount</variable>
254 254 <value type="int">1</value>
255 255 </data>
256 256 <data>
257 257 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
258 258 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
259 259 </data>
260 260 <data>
261 261 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
262 262 <value type="int">10</value>
263 263 </data>
264 264 </qtcreator>
@@ -1,55 +1,53
1 1 #include "wfpage.h"
2 2
3 3 WFPage::WFPage(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 wfPlot_v = new WFPlot();
7 7 wfPlot_e1 = new WFPlot();
8 8 wfPlot_e2 = new WFPlot();
9 9 wfPlot_b1 = new WFPlot();
10 10 wfPlot_b2 = new WFPlot();
11 11 wfPlot_b3 = new WFPlot();
12 12 //
13 //wfPlot_v->customPlot->setTitle("v");
14 wfPlot_v->customPlot->setGraphName(0, "v");
15 //wfPlot_e1->customPlot->setTitle("e1");
16 wfPlot_e1->customPlot->setGraphName(0, "e1");
13 wfPlot_v->customPlot->setTitle("v");
14 wfPlot_e1->customPlot->setTitle("e1");
17 15 wfPlot_e2->customPlot->setTitle("e2");
18 16 wfPlot_b1->customPlot->setTitle("b1");
19 17 wfPlot_b2->customPlot->setTitle("b2");
20 18 wfPlot_b3->customPlot->setTitle("b3");
21 19 //
22 20 mainLayout = new QGridLayout;
23 21 mainLayout->addWidget(wfPlot_v, 0, 0, 1, 1);
24 22 mainLayout->addWidget(wfPlot_e1, 0, 1, 1, 1);
25 23 mainLayout->addWidget(wfPlot_e2, 0, 2, 1, 1);
26 24 mainLayout->addWidget(wfPlot_b1, 1, 0, 1, 1);
27 25 mainLayout->addWidget(wfPlot_b2, 1, 1, 1, 1);
28 26 mainLayout->addWidget(wfPlot_b3, 1, 2, 1, 1);
29 27 //
30 28 this->setLayout(mainLayout);
31 29 }
32 30
33 31 void WFPage::displayOnPlot(short *data, unsigned char num)
34 32 {
35 33 switch(num){
36 34 case 0:
37 35 wfPlot_v->displayOnPlot(data, DEFAULT_SIZE);
38 36 break;
39 37 case 1:
40 38 wfPlot_e1->displayOnPlot(data, DEFAULT_SIZE);
41 39 break;
42 40 case 2:
43 41 wfPlot_e2->displayOnPlot(data, DEFAULT_SIZE);
44 42 break;
45 43 case 3:
46 44 wfPlot_b1->displayOnPlot(data, DEFAULT_SIZE);
47 45 break;
48 46 case 4:
49 47 wfPlot_b2->displayOnPlot(data, DEFAULT_SIZE);
50 48 break;
51 49 case 5:
52 50 wfPlot_b3->displayOnPlot(data, DEFAULT_SIZE);
53 51 break;
54 52 }
55 53 }
General Comments 0
You need to be logged in to leave comments. Login now