##// END OF EJS Templates
gselesia changed to process CWF_F3 light waveforms...
leroy -
r52:061b27b067a0 default
parent child
Show More
@@ -1,197 +1,197
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 2.8.0, 2013-10-03T07:18:57. -->
3 <!-- Written by QtCreator 2.8.0, 2013-10-11T09:55:13. -->
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 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
15 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
16 16 <value type="QString" key="language">Cpp</value>
17 17 <valuemap type="QVariantMap" key="value">
18 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
19 19 </valuemap>
20 20 </valuemap>
21 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
22 22 <value type="QString" key="language">QmlJS</value>
23 23 <valuemap type="QVariantMap" key="value">
24 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
25 25 </valuemap>
26 26 </valuemap>
27 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
28 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
29 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
30 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
32 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
33 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
34 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
35 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
36 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
37 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
38 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
39 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
40 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
41 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
42 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
43 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
44 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
45 45 </valuemap>
46 46 </data>
47 47 <data>
48 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
49 49 <valuemap type="QVariantMap"/>
50 50 </data>
51 51 <data>
52 52 <variable>ProjectExplorer.Project.Target.0</variable>
53 53 <valuemap type="QVariantMap">
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
62 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
65 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
66 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
67 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
69 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
70 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
71 71 </valuemap>
72 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
74 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
75 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
76 76 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 78 <value type="QString">-w</value>
79 79 <value type="QString">-r</value>
80 80 </valuelist>
81 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
82 82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
83 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
84 84 </valuemap>
85 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
88 88 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
89 89 </valuemap>
90 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
91 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 97 <value type="QString">-w</value>
98 98 <value type="QString">-r</value>
99 99 </valuelist>
100 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
101 101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
102 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
103 103 </valuemap>
104 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
105 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
106 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
107 107 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
108 108 </valuemap>
109 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
110 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
111 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
115 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
116 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
117 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
118 118 </valuemap>
119 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
121 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
122 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
124 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
125 125 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
126 126 </valuemap>
127 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
128 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
131 131 </valuemap>
132 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
135 135 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
136 136 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
137 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
138 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
139 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
140 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
141 141 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
142 142 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
143 143 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
144 144 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
145 145 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
146 146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 148 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
149 149 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
150 150 <value type="int">0</value>
151 151 <value type="int">1</value>
152 152 <value type="int">2</value>
153 153 <value type="int">3</value>
154 154 <value type="int">4</value>
155 155 <value type="int">5</value>
156 156 <value type="int">6</value>
157 157 <value type="int">7</value>
158 158 <value type="int">8</value>
159 159 <value type="int">9</value>
160 160 <value type="int">10</value>
161 161 <value type="int">11</value>
162 162 <value type="int">12</value>
163 163 <value type="int">13</value>
164 164 <value type="int">14</value>
165 165 </valuelist>
166 166 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
167 167 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
168 168 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
169 169 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
170 170 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
171 171 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
172 172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
173 173 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
174 174 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
175 175 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
176 176 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
177 177 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
178 178 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
179 179 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
180 180 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
181 181 </valuemap>
182 182 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
183 183 </valuemap>
184 184 </data>
185 185 <data>
186 186 <variable>ProjectExplorer.Project.TargetCount</variable>
187 187 <value type="int">1</value>
188 188 </data>
189 189 <data>
190 190 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
191 191 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
192 192 </data>
193 193 <data>
194 194 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
195 195 <value type="int">14</value>
196 196 </data>
197 197 </qtcreator>
@@ -1,391 +1,381
1 1 #############################################################################
2 2 # Makefile for building: lfrsgse
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Thu Aug 1 07:46:21 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Thu Oct 10 08:44:30 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 -grecord-gcc-switches -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 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
16 16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../rmapplugin -I../../DEV_PLE/header -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/parameterdump -I.
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro
19 LIBS = $(SUBLIBS) -L/usr/lib64 -llppmoncommon -lwfdisplay -lqwt5-qt4 -lparameterdump -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
19 LIBS = $(SUBLIBS) -L/usr/lib64 -llppmoncommon -lwfdisplay -lparameterdump -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 lfrxmlhandler.cpp \
50 50 lfrxmlwriter.cpp \
51 51 ../rmapplugin/tmstatistics.cpp \
52 52 ../rmapplugin/tmpackettoread.cpp \
53 53 ../rmapplugin/wfpacket.cpp \
54 54 ../rmapplugin/spectrapacket.cpp \
55 55 ../common_PLE/qipdialogbox.cpp \
56 56 ../common_PLE/hkdisplay.cpp \
57 lfrxmlparser.cpp \
58 lfrspectrogram.cpp moc_mainwindow.cpp \
57 lfrxmlparser.cpp moc_mainwindow.cpp \
59 58 moc_mainwindowui.cpp \
60 59 moc_lfrxmlhandler.cpp \
61 60 moc_lfrxmlwriter.cpp \
62 61 moc_tmstatistics.cpp \
63 62 moc_tmpackettoread.cpp \
64 63 moc_wfpacket.cpp \
65 64 moc_spectrapacket.cpp \
66 65 moc_qipdialogbox.cpp \
67 66 moc_hkdisplay.cpp \
68 moc_lfrxmlparser.cpp \
69 moc_lfrspectrogram.cpp
67 moc_lfrxmlparser.cpp
70 68 OBJECTS = main.o \
71 69 mainwindow.o \
72 70 mainwindowui.o \
73 71 lfrxmlhandler.o \
74 72 lfrxmlwriter.o \
75 73 tmstatistics.o \
76 74 tmpackettoread.o \
77 75 wfpacket.o \
78 76 spectrapacket.o \
79 77 qipdialogbox.o \
80 78 hkdisplay.o \
81 79 lfrxmlparser.o \
82 lfrspectrogram.o \
83 80 moc_mainwindow.o \
84 81 moc_mainwindowui.o \
85 82 moc_lfrxmlhandler.o \
86 83 moc_lfrxmlwriter.o \
87 84 moc_tmstatistics.o \
88 85 moc_tmpackettoread.o \
89 86 moc_wfpacket.o \
90 87 moc_spectrapacket.o \
91 88 moc_qipdialogbox.o \
92 89 moc_hkdisplay.o \
93 moc_lfrxmlparser.o \
94 moc_lfrspectrogram.o
90 moc_lfrxmlparser.o
95 91 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
96 92 /usr/lib64/qt4/mkspecs/common/linux.conf \
97 93 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
98 94 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
99 95 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
100 96 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
101 97 /usr/lib64/qt4/mkspecs/qconfig.pri \
102 98 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
103 99 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
104 100 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
105 101 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
106 102 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
107 103 /usr/lib64/qt4/mkspecs/features/release.prf \
108 104 /usr/lib64/qt4/mkspecs/features/default_post.prf \
105 /usr/lib64/qt4/mkspecs/features/shared.prf \
109 106 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
110 107 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
111 108 /usr/lib64/qt4/mkspecs/features/qt.prf \
112 109 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
113 110 /usr/lib64/qt4/mkspecs/features/moc.prf \
114 111 /usr/lib64/qt4/mkspecs/features/resources.prf \
115 112 /usr/lib64/qt4/mkspecs/features/uic.prf \
116 113 /usr/lib64/qt4/mkspecs/features/yacc.prf \
117 114 /usr/lib64/qt4/mkspecs/features/lex.prf \
118 115 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
119 116 gselesia.pro
120 117 QMAKE_TARGET = lfrsgse
121 118 DESTDIR =
122 119 TARGET = lfrsgse
123 120
124 121 first: all
125 122 ####### Implicit rules
126 123
127 124 .SUFFIXES: .o .c .cpp .cc .cxx .C
128 125
129 126 .cpp.o:
130 127 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
131 128
132 129 .cc.o:
133 130 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
134 131
135 132 .cxx.o:
136 133 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
137 134
138 135 .C.o:
139 136 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
140 137
141 138 .c.o:
142 139 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
143 140
144 141 ####### Build rules
145 142
146 143 all: Makefile $(TARGET)
147 144
148 145 $(TARGET): $(OBJECTS)
149 146 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
150 147
151 148 Makefile: gselesia.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
152 149 /usr/lib64/qt4/mkspecs/common/linux.conf \
153 150 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
154 151 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
155 152 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
156 153 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
157 154 /usr/lib64/qt4/mkspecs/qconfig.pri \
158 155 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
159 156 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
160 157 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
161 158 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
162 159 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
163 160 /usr/lib64/qt4/mkspecs/features/release.prf \
164 161 /usr/lib64/qt4/mkspecs/features/default_post.prf \
162 /usr/lib64/qt4/mkspecs/features/shared.prf \
165 163 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
166 164 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
167 165 /usr/lib64/qt4/mkspecs/features/qt.prf \
168 166 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
169 167 /usr/lib64/qt4/mkspecs/features/moc.prf \
170 168 /usr/lib64/qt4/mkspecs/features/resources.prf \
171 169 /usr/lib64/qt4/mkspecs/features/uic.prf \
172 170 /usr/lib64/qt4/mkspecs/features/yacc.prf \
173 171 /usr/lib64/qt4/mkspecs/features/lex.prf \
174 172 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
175 173 /usr/lib64/libQtXml.prl \
176 174 /usr/lib64/libQtCore.prl \
177 175 /usr/lib64/libQtGui.prl \
178 176 /usr/lib64/libQtNetwork.prl
179 177 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
180 178 /usr/lib64/qt4/mkspecs/common/unix.conf:
181 179 /usr/lib64/qt4/mkspecs/common/linux.conf:
182 180 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
183 181 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
184 182 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
185 183 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
186 184 /usr/lib64/qt4/mkspecs/qconfig.pri:
187 185 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
188 186 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
189 187 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
190 188 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
191 189 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
192 190 /usr/lib64/qt4/mkspecs/features/release.prf:
193 191 /usr/lib64/qt4/mkspecs/features/default_post.prf:
192 /usr/lib64/qt4/mkspecs/features/shared.prf:
194 193 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
195 194 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
196 195 /usr/lib64/qt4/mkspecs/features/qt.prf:
197 196 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
198 197 /usr/lib64/qt4/mkspecs/features/moc.prf:
199 198 /usr/lib64/qt4/mkspecs/features/resources.prf:
200 199 /usr/lib64/qt4/mkspecs/features/uic.prf:
201 200 /usr/lib64/qt4/mkspecs/features/yacc.prf:
202 201 /usr/lib64/qt4/mkspecs/features/lex.prf:
203 202 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
204 203 /usr/lib64/libQtXml.prl:
205 204 /usr/lib64/libQtCore.prl:
206 205 /usr/lib64/libQtGui.prl:
207 206 /usr/lib64/libQtNetwork.prl:
208 207 qmake: FORCE
209 208 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
210 209
211 210 dist:
212 211 @$(CHK_DIR_EXISTS) .tmp/lfrsgse1.0.0 || $(MKDIR) .tmp/lfrsgse1.0.0
213 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/lfrsgse1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h lfrxmlhandler.h lfrxmlwriter.h ../rmapplugin/tmstatistics.h ../rmapplugin/tmpackettoread.h ../rmapplugin/wfpacket.h ../rmapplugin/spectrapacket.h ../common_PLE/qipdialogbox.h ../common_PLE/hkdisplay.h ../rmapplugin/params.h ../../DEV_PLE/header/TC_types.h ../../DEV_PLE/header/ccsds_types.h lfrxmlparser.h lfrspectrogram.h .tmp/lfrsgse1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp lfrxmlhandler.cpp lfrxmlwriter.cpp ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmpackettoread.cpp ../rmapplugin/wfpacket.cpp ../rmapplugin/spectrapacket.cpp ../common_PLE/qipdialogbox.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
212 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/lfrsgse1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h lfrxmlhandler.h lfrxmlwriter.h ../rmapplugin/tmstatistics.h ../rmapplugin/tmpackettoread.h ../rmapplugin/wfpacket.h ../rmapplugin/spectrapacket.h ../common_PLE/qipdialogbox.h ../common_PLE/hkdisplay.h ../rmapplugin/params.h ../../DEV_PLE/header/TC_types.h ../../DEV_PLE/header/ccsds_types.h lfrxmlparser.h .tmp/lfrsgse1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp lfrxmlhandler.cpp lfrxmlwriter.cpp ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmpackettoread.cpp ../rmapplugin/wfpacket.cpp ../rmapplugin/spectrapacket.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/hkdisplay.cpp lfrxmlparser.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
214 213
215 214
216 215 clean:compiler_clean
217 216 -$(DEL_FILE) $(OBJECTS)
218 217 -$(DEL_FILE) *~ core *.core
219 218
220 219
221 220 ####### Sub-libraries
222 221
223 222 distclean: clean
224 223 -$(DEL_FILE) $(TARGET)
225 224 -$(DEL_FILE) Makefile
226 225
227 226
228 227 check: first
229 228
230 229 mocclean: compiler_moc_header_clean compiler_moc_source_clean
231 230
232 231 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
233 232
234 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_spectrapacket.cpp moc_qipdialogbox.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp moc_lfrspectrogram.cpp
233 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_spectrapacket.cpp moc_qipdialogbox.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp
235 234 compiler_moc_header_clean:
236 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_spectrapacket.cpp moc_qipdialogbox.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp moc_lfrspectrogram.cpp
235 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_spectrapacket.cpp moc_qipdialogbox.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp
237 236 moc_mainwindow.cpp: lfrxmlhandler.h \
238 237 lfrxmlwriter.h \
239 238 mainwindowui.h \
240 239 lfrspectrogram.h \
241 240 lfrxmlparser.h \
242 241 mainwindow.h
243 242 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
244 243
245 244 moc_mainwindowui.cpp: lfrspectrogram.h \
246 245 mainwindowui.h
247 246 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindowui.h -o moc_mainwindowui.cpp
248 247
249 248 moc_lfrxmlhandler.cpp: lfrxmlhandler.h
250 249 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlhandler.h -o moc_lfrxmlhandler.cpp
251 250
252 251 moc_lfrxmlwriter.cpp: lfrxmlwriter.h
253 252 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlwriter.h -o moc_lfrxmlwriter.cpp
254 253
255 254 moc_tmstatistics.cpp: ../rmapplugin/tmstatistics.h
256 255 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmstatistics.h -o moc_tmstatistics.cpp
257 256
258 257 moc_tmpackettoread.cpp: ../rmapplugin/tmpackettoread.h
259 258 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmpackettoread.h -o moc_tmpackettoread.cpp
260 259
261 260 moc_wfpacket.cpp: ../rmapplugin/wfpacket.h
262 261 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/wfpacket.h -o moc_wfpacket.cpp
263 262
264 263 moc_spectrapacket.cpp: ../rmapplugin/spectrapacket.h
265 264 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/spectrapacket.h -o moc_spectrapacket.cpp
266 265
267 266 moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
268 267 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc_qipdialogbox.cpp
269 268
270 269 moc_hkdisplay.cpp: ../common_PLE/hkdisplay.h
271 270 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/hkdisplay.h -o moc_hkdisplay.cpp
272 271
273 272 moc_lfrxmlparser.cpp: lfrxmlparser.h
274 273 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlparser.h -o moc_lfrxmlparser.cpp
275 274
276 moc_lfrspectrogram.cpp: lfrspectrogram.h
277 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrspectrogram.h -o moc_lfrspectrogram.cpp
278
279 275 compiler_rcc_make_all:
280 276 compiler_rcc_clean:
281 277 compiler_image_collection_make_all: qmake_image_collection.cpp
282 278 compiler_image_collection_clean:
283 279 -$(DEL_FILE) qmake_image_collection.cpp
284 280 compiler_moc_source_make_all:
285 281 compiler_moc_source_clean:
286 282 compiler_uic_make_all:
287 283 compiler_uic_clean:
288 284 compiler_yacc_decl_make_all:
289 285 compiler_yacc_decl_clean:
290 286 compiler_yacc_impl_make_all:
291 287 compiler_yacc_impl_clean:
292 288 compiler_lex_make_all:
293 289 compiler_lex_clean:
294 290 compiler_clean: compiler_moc_header_clean
295 291
296 292 ####### Compile
297 293
298 294 main.o: main.cpp mainwindow.h \
299 295 lfrxmlhandler.h \
300 296 lfrxmlwriter.h \
301 297 mainwindowui.h \
302 298 lfrspectrogram.h \
303 299 lfrxmlparser.h
304 300 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
305 301
306 302 mainwindow.o: mainwindow.cpp mainwindow.h \
307 303 lfrxmlhandler.h \
308 304 lfrxmlwriter.h \
309 305 mainwindowui.h \
310 306 lfrspectrogram.h \
311 307 lfrxmlparser.h
312 308 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
313 309
314 310 mainwindowui.o: mainwindowui.cpp mainwindowui.h \
315 311 lfrspectrogram.h
316 312 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindowui.o mainwindowui.cpp
317 313
318 314 lfrxmlhandler.o: lfrxmlhandler.cpp lfrxmlhandler.h
319 315 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlhandler.o lfrxmlhandler.cpp
320 316
321 317 lfrxmlwriter.o: lfrxmlwriter.cpp lfrxmlwriter.h
322 318 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlwriter.o lfrxmlwriter.cpp
323 319
324 320 tmstatistics.o: ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmstatistics.h
325 321 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmstatistics.o ../rmapplugin/tmstatistics.cpp
326 322
327 323 tmpackettoread.o: ../rmapplugin/tmpackettoread.cpp ../rmapplugin/tmpackettoread.h
328 324 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmpackettoread.o ../rmapplugin/tmpackettoread.cpp
329 325
330 326 wfpacket.o: ../rmapplugin/wfpacket.cpp ../rmapplugin/wfpacket.h
331 327 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpacket.o ../rmapplugin/wfpacket.cpp
332 328
333 329 spectrapacket.o: ../rmapplugin/spectrapacket.cpp ../rmapplugin/spectrapacket.h
334 330 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o spectrapacket.o ../rmapplugin/spectrapacket.cpp
335 331
336 332 qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
337 333 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qipdialogbox.o ../common_PLE/qipdialogbox.cpp
338 334
339 335 hkdisplay.o: ../common_PLE/hkdisplay.cpp ../common_PLE/hkdisplay.h
340 336 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o hkdisplay.o ../common_PLE/hkdisplay.cpp
341 337
342 338 lfrxmlparser.o: lfrxmlparser.cpp lfrxmlparser.h
343 339 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlparser.o lfrxmlparser.cpp
344 340
345 lfrspectrogram.o: lfrspectrogram.cpp lfrspectrogram.h
346 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrspectrogram.o lfrspectrogram.cpp
347
348 341 moc_mainwindow.o: moc_mainwindow.cpp
349 342 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
350 343
351 344 moc_mainwindowui.o: moc_mainwindowui.cpp
352 345 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindowui.o moc_mainwindowui.cpp
353 346
354 347 moc_lfrxmlhandler.o: moc_lfrxmlhandler.cpp
355 348 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlhandler.o moc_lfrxmlhandler.cpp
356 349
357 350 moc_lfrxmlwriter.o: moc_lfrxmlwriter.cpp
358 351 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlwriter.o moc_lfrxmlwriter.cpp
359 352
360 353 moc_tmstatistics.o: moc_tmstatistics.cpp
361 354 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmstatistics.o moc_tmstatistics.cpp
362 355
363 356 moc_tmpackettoread.o: moc_tmpackettoread.cpp
364 357 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmpackettoread.o moc_tmpackettoread.cpp
365 358
366 359 moc_wfpacket.o: moc_wfpacket.cpp
367 360 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfpacket.o moc_wfpacket.cpp
368 361
369 362 moc_spectrapacket.o: moc_spectrapacket.cpp
370 363 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_spectrapacket.o moc_spectrapacket.cpp
371 364
372 365 moc_qipdialogbox.o: moc_qipdialogbox.cpp
373 366 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qipdialogbox.o moc_qipdialogbox.cpp
374 367
375 368 moc_hkdisplay.o: moc_hkdisplay.cpp
376 369 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_hkdisplay.o moc_hkdisplay.cpp
377 370
378 371 moc_lfrxmlparser.o: moc_lfrxmlparser.cpp
379 372 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlparser.o moc_lfrxmlparser.cpp
380 373
381 moc_lfrspectrogram.o: moc_lfrspectrogram.cpp
382 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrspectrogram.o moc_lfrspectrogram.cpp
383
384 374 ####### Install
385 375
386 376 install: FORCE
387 377
388 378 uninstall: FORCE
389 379
390 380 FORCE:
391 381
@@ -1,56 +1,54
1 1 #-------------------------------------------------
2 2 #
3 3 # Project created by QtCreator 2013-05-03T14:05:02
4 4 #
5 5 #-------------------------------------------------
6 6
7 7 QT += core gui
8 8 QT += network
9 9 QT += xml
10 10
11 11 TARGET = lfrsgse
12 12 TEMPLATE = app
13 13
14 14 INCLUDEPATH += \
15 15 $${PWD} \
16 16 ../common_PLE \
17 17 ../rmapplugin \
18 18 ../../DEV_PLE/header \
19 19 $$[QT_INSTALL_HEADERS]/lppmon/common \
20 20 $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay \
21 21 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump
22 22
23 LIBS += -llppmoncommon -lwfdisplay -lqwt5-qt4 -lparameterdump
23 LIBS += -llppmoncommon -lwfdisplay -lparameterdump
24 24
25 25 SOURCES += main.cpp\
26 26 mainwindow.cpp \
27 27 mainwindowui.cpp \
28 28 lfrxmlhandler.cpp \
29 29 lfrxmlwriter.cpp \
30 30 ../rmapplugin/tmstatistics.cpp \
31 31 ../rmapplugin/tmpackettoread.cpp \
32 32 ../rmapplugin/wfpacket.cpp \
33 33 ../rmapplugin/spectrapacket.cpp \
34 34 ../common_PLE/qipdialogbox.cpp \
35 35 ../common_PLE/hkdisplay.cpp \
36 lfrxmlparser.cpp \
37 lfrspectrogram.cpp
36 lfrxmlparser.cpp
38 37
39 38 HEADERS += mainwindow.h \
40 39 mainwindowui.h \
41 40 lfrxmlhandler.h \
42 41 lfrxmlwriter.h \
43 42 ../rmapplugin/tmstatistics.h \
44 43 ../rmapplugin/tmpackettoread.h \
45 44 ../rmapplugin/wfpacket.h \
46 45 ../rmapplugin/spectrapacket.h \
47 46 ../common_PLE/qipdialogbox.h \
48 47 ../common_PLE/hkdisplay.h \
49 48 ../rmapplugin/params.h \
50 49 ../../DEV_PLE/header/TC_types.h \
51 50 ../../DEV_PLE/header/ccsds_types.h \
52 lfrxmlparser.h \
53 lfrspectrogram.h
51 lfrxmlparser.h
54 52
55 53
56 54
@@ -1,198 +1,198
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 2.8.0, 2013-09-23T12:59:08. -->
3 <!-- Written by QtCreator 2.8.0, 2013-10-11T14:18:06. -->
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 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
15 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
16 16 <value type="QString" key="language">Cpp</value>
17 17 <valuemap type="QVariantMap" key="value">
18 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
19 19 </valuemap>
20 20 </valuemap>
21 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
22 22 <value type="QString" key="language">QmlJS</value>
23 23 <valuemap type="QVariantMap" key="value">
24 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
25 25 </valuemap>
26 26 </valuemap>
27 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
28 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
29 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
30 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
32 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
33 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
34 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
35 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
36 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
37 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
38 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
39 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
40 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
41 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
42 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
43 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
44 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
45 45 </valuemap>
46 46 </data>
47 47 <data>
48 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
49 49 <valuemap type="QVariantMap"/>
50 50 </data>
51 51 <data>
52 52 <variable>ProjectExplorer.Project.Target.0</variable>
53 53 <valuemap type="QVariantMap">
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
62 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
65 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
66 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
67 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
69 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
70 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
71 71 </valuemap>
72 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
74 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
75 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
76 76 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 78 <value type="QString">-w</value>
79 79 <value type="QString">-r</value>
80 80 </valuelist>
81 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
82 82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
83 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
84 84 </valuemap>
85 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
88 88 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
89 89 </valuemap>
90 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
91 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 97 <value type="QString">-w</value>
98 98 <value type="QString">-r</value>
99 99 </valuelist>
100 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
101 101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
102 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
103 103 </valuemap>
104 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
105 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
106 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
107 107 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
108 108 </valuemap>
109 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
110 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
111 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
115 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
116 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/gse_lesia</value>
117 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
118 118 </valuemap>
119 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
121 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
122 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
124 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
125 125 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
126 126 </valuemap>
127 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
128 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
131 131 </valuemap>
132 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
135 135 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
136 136 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
137 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
138 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
139 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
140 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
141 141 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
142 142 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
143 143 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
144 144 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
145 145 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
146 146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 148 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
149 149 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
150 150 <value type="int">0</value>
151 151 <value type="int">1</value>
152 152 <value type="int">2</value>
153 153 <value type="int">3</value>
154 154 <value type="int">4</value>
155 155 <value type="int">5</value>
156 156 <value type="int">6</value>
157 157 <value type="int">7</value>
158 158 <value type="int">8</value>
159 159 <value type="int">9</value>
160 160 <value type="int">10</value>
161 161 <value type="int">11</value>
162 162 <value type="int">12</value>
163 163 <value type="int">13</value>
164 164 <value type="int">14</value>
165 165 </valuelist>
166 166 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
167 167 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">gselesia</value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
170 170 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/LPPMON_PLUGINS_PAUL/gse_lesia/gselesia.pro</value>
171 171 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
172 172 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">gselesia.pro</value>
173 173 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
174 174 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
175 175 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
176 176 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
177 177 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
178 178 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
179 179 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
180 180 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
181 181 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
182 182 </valuemap>
183 183 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
184 184 </valuemap>
185 185 </data>
186 186 <data>
187 187 <variable>ProjectExplorer.Project.TargetCount</variable>
188 188 <value type="int">1</value>
189 189 </data>
190 190 <data>
191 191 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
192 192 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
193 193 </data>
194 194 <data>
195 195 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
196 196 <value type="int">14</value>
197 197 </data>
198 198 </qtcreator>
1 NO CONTENT: modified file, binary diff hidden
@@ -1,580 +1,661
1 1 #include "mainwindow.h"
2 2 #include <iostream>
3 3 #include <QNetworkInterface>
4 4
5 5 MainWindow::MainWindow(QWidget *parent)
6 6 : QMainWindow(parent)
7 7 {
8 8 parsingContinue = false;
9 9 totalOfBytes = 0;
10 10 totalOfPackets = 0;
11 11
12 12 spectraPacketNormalSpectrumF0 = new SpectraPacket(this, 128);
13 13
14 14 //****
15 15 // XML
16 16 // xml handlers
17 17 xmlHandler = new LFRXmlHandler();
18 18 // xml sources
19 19 sourceTC = new QXmlInputSource();
20 20 // xml writer
21 21 lfrXmlWriter = new LFRXmlWriter();
22 22 // setup xml parser for the echo bridge
23 23 lfrXmlParser = new LFRXmlParser();
24 24
25 25 UI = new MainWindowUI();
26 26 readSettings();
27 27 this->UI->serverTMEchoDialogBox->setIP(echoBridgeIP0, echoBridgeIP1, echoBridgeIP2, echoBridgeIP3);
28 28
29 29 lfrXmlParser->generalCCSDSPacketStore = &this->generalCCSDSPacketStore;
30 30
31 31 initSocketStatesList();
32 32
33 33 this->setCentralWidget(this->UI);
34 34 //this->setLayout(UI->layout());
35 35
36 36 analyserSGSEServerTC = new QTcpServer();
37 37 analyserSGSEServerTM = new QTcpServer();
38 38
39 39 socketTC = NULL;
40 40 socketTM = NULL;
41 41 socketEchoServer = new QTcpSocket();
42 42
43 43 connect(this->UI->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTCTMPorts()));
44 44 connect(this->UI->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTCTMPorts()));
45 45 connect(this->UI->button_openSocketEchoServer, SIGNAL(clicked()), this, SLOT(openEchoServer()));
46 46 //
47 47 connect(this->analyserSGSEServerTC, SIGNAL(newConnection()), this, SLOT(newConnectionOnTCServer()));
48 48 connect(this->analyserSGSEServerTM, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMServer()));
49 49 //
50 50 connect(this, SIGNAL(socketTMHasChanged(QTcpSocket*)), this->lfrXmlWriter, SLOT(setSocketTM(QTcpSocket*)));
51 51 connect(this->UI->button_TCAcknowledgement, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_Acknowledgment()));
52 52 connect(this->UI->button_TCRejection, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_rejection()));
53 53 connect(this->UI->button_GSEHK, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_GSE_HK()));
54 54
55 55 // socket echo server
56 56 connect(this->socketEchoServer, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
57 57 this, SLOT(socket_TMEcho_ServerHasChanged()));
58 58 connect(this->socketEchoServer, SIGNAL(readyRead()),
59 59 this, SLOT(readDataOnSocketEchoServer()));
60 60
61 61 // display on console
62 62 connect(this->xmlHandler, SIGNAL(displayMessage(QString)),
63 63 this, SLOT(displayOnConsole(QString)));
64 64 connect(this->UI->hkDisplay, SIGNAL(displayMessage(QString)),
65 65 this, SLOT(displayOnConsole(QString)));
66 66 connect(this->lfrXmlParser, SIGNAL(sendMessage(QString)),
67 67 this, SLOT(displayOnConsole(QString)));
68 68 //
69 69 connect(this->lfrXmlParser, SIGNAL(processPacketStore()),
70 70 this, SLOT(processPacketStore()));
71 71 //
72 72 connect(this->UI->button_resetStatistics, SIGNAL(clicked()),
73 73 this, SLOT(resetStatistics()));
74 74
75 75 displayNetworkInterfaces();
76 76
77 77 this->xmlHandler->packetStoreHasChanged(&generalCCSDSPacketStore);
78 78 };
79 79
80 80 MainWindow::~MainWindow()
81 81 {
82 82
83 83 }
84 84
85 85 void MainWindow::displayNetworkInterfaces()
86 86 {
87 87 QList<QHostAddress> list = QNetworkInterface::allAddresses();
88 88 this->displayOnConsole("Network interfaces:");
89 89 for(int nIter=0; nIter<list.count(); nIter++)
90 90 {
91 91 this->UI->displayOnConsole(list[nIter].toString());
92 92 }
93 93 }
94 94
95 95 void MainWindow::listenOnTCTMPorts()
96 96 {
97 97 QString str;
98 98
99 99 //***
100 100 // TC
101 101 analyserSGSEServerTC->listen(QHostAddress::Any, this->UI->getTCPort());
102 102 str = analyserSGSEServerTC->errorString();
103 103 if (!str.isEmpty())
104 104 {
105 105 this->displayOnConsole(str);
106 106 }
107 107 this->displayOnConsole("Listening TC on port "
108 108 + QString::number(this->UI->getTCPort())
109 109 );
110 110
111 111 //***
112 112 // TM
113 113 analyserSGSEServerTM->listen(QHostAddress::Any, this->UI->getTMPort());
114 114 str = analyserSGSEServerTM->errorString();
115 115 if (!str.isEmpty())
116 116 {
117 117 this->displayOnConsole(str);
118 118 }
119 119 this->displayOnConsole("Listening TM on port "
120 120 + QString::number(this->UI->getTMPort())
121 121 );
122 122 }
123 123
124 124 void MainWindow::testTCTMPorts()
125 125 {
126 126 if (socketTC != NULL)
127 127 {
128 128 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
129 129 }
130 130 else
131 131 {
132 132 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
133 133 }
134 134 if (socketTM != NULL)
135 135 {
136 136 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
137 137 }
138 138 else
139 139 {
140 140 this->displayOnConsole("TM socket *** not tested, (socketTM) is NULL" );
141 141 }
142 142 }
143 143
144 144 void MainWindow::newConnectionOnTCServer()
145 145 {
146 146 this->displayOnConsole("got new connection on TC port");
147 147 socketTC = analyserSGSEServerTC->nextPendingConnection();
148 148 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
149 149 connect(this->socketTC, SIGNAL(readyRead()), this, SLOT(readDataOnTCPort()));
150 150 }
151 151
152 152 void MainWindow::newConnectionOnTMServer()
153 153 {
154 154 this->displayOnConsole("got new connection on TM port");
155 155 socketTM = analyserSGSEServerTM->nextPendingConnection();
156 156 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
157 157 connect(this->socketTM, SIGNAL(readyRead()), this, SLOT(readDataOnTMPort()));
158 158
159 159 emit socketTMHasChanged(this->socketTM);
160 160 }
161 161
162 162 void MainWindow::readDataOnTCPort()
163 163 {
164 164 bool ok;
165 165 int nbBytesAvailable = 0;
166 166
167 167 nbBytesAvailable = socketTC->bytesAvailable();
168 168 buffer = (char *) malloc(nbBytesAvailable);
169 169 socketTC->read(buffer, nbBytesAvailable);
170 170
171 171 this->displayOnConsole("readDataOnTCPort *** "
172 172 + QString::number(nbBytesAvailable)
173 173 + " read");
174 174
175 175 QByteArray xmlData( buffer, nbBytesAvailable);
176 176
177 177 free(buffer);
178 178
179 179 sourceTC->setData( xmlData );
180 180
181 181 xmlReader.setContentHandler(xmlHandler);
182 182 xmlReader.setErrorHandler(xmlHandler);
183 183
184 184 ok = xmlReader.parse(sourceTC);
185 185 if (!ok) {
186 186 std::cout << "Parsing failed." << std::endl;
187 187 }
188 188 else {
189 189 QStringList names = xmlHandler->names();
190 190 QList<int> indentations = xmlHandler->indentations();
191 191
192 192 int items = names.count();
193 193
194 194 for (int i = 0; i < items; ++i) {
195 195 displayOnConsole(
196 196 names[i]
197 197 + " --- identations: "
198 198 + QString::number(indentations[i]));
199 199 }
200 200 }
201 201 }
202 202
203 203 void MainWindow::readDataOnTMPort()
204 204 {
205 205 this->displayOnConsole("TM data received, begin parsing");
206 206 }
207 207
208 208 void MainWindow::readDataOnSocketEchoServer()
209 209 {
210 210 QString dataString;
211 211
212 212 dataArray.append(socketEchoServer->readAll());
213 213 dataString = QString::fromAscii(dataArray);
214 214 this->lfrXmlParser->processIncomingStr(dataString);
215 215 dataArray.clear();
216 216 }
217 217
218 218 void MainWindow::displayOnConsole(QString message)
219 219 {
220 220 this->UI->displayOnConsole( message );
221 221 }
222 222
223 223 void MainWindow::initSocketStatesList()
224 224 {
225 225 socketStates.append("The socket is not connected");
226 226 socketStates.append("The socket is performing a host name lookup");
227 227 socketStates.append("The socket has started establishing a connection");
228 228 socketStates.append("A connection is established");
229 229 socketStates.append("The socket is bound to an address and port (for servers)");
230 230 socketStates.append("The socket is about to close (data may still be waiting to be written)");
231 231 socketStates.append("For internal use only");
232 232 }
233 233
234 234 void MainWindow::openEchoServer()
235 235 {
236 236 socketEchoServer->connectToHost(this->UI->serverTMEchoDialogBox->getIP(),
237 237 this->UI->spinbox_serverTMEchoPort->value());
238 238 //socketEchoServer->open();
239 239 }
240 240
241 241 void MainWindow::socket_TMEcho_ServerHasChanged()
242 242 {
243 243 this->displayOnConsole("TM Echo Socket socket *** " + socketStates.at(socketEchoServer->state()) );
244 244 }
245 245
246 246 void MainWindow::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
247 247 {
248 248 unsigned int i = 0;
249 249 unsigned int j = 0;
250 250 unsigned char *data;
251 251 unsigned char pkt_nr = 0;
252 252 unsigned int blk_nr = 0;
253 253
254 254 pkt_nr = packet->Value[23]; // PKT_NR
255 255 blk_nr = packet->Value[30] * 256 + packet->Value[31];
256 256 data = &packet->Value[32]; // start of the first data block;
257 257 j = (pkt_nr-1) * 340;
258 258 for ( i=0; i<blk_nr; i++ ){
259 259 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
260 260 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
261 261 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
262 262 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
263 263 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
264 264 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
265 265 }
266 266 if (pkt_nr == 7)
267 267 {
268 268 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
269 269 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
270 270 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
271 271 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
272 272 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
273 273 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
274 274 }
275 275 }
276 276
277 277 void MainWindow::buildWFAndDisplay_CWF_F3(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
278 278 {
279 279 unsigned int i = 0;
280 280 unsigned int j = 0;
281 281 unsigned char *data;
282 282 static unsigned char pkt_nr = 1;
283 283 unsigned int blk_nr = 0;
284 284
285 285 blk_nr = packet->Value[28] * 256 + packet->Value[29];
286 286 data = &packet->Value[30]; // start of the first data block;
287 287 j = (pkt_nr-1) * 340;
288 288 for ( i=0; i<blk_nr; i++ ){
289 289 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
290 290 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
291 291 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
292 292 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
293 293 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
294 294 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
295 295 }
296 296 pkt_nr = pkt_nr + 1;
297 297 if (blk_nr == 8)
298 298 {
299 299 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
300 300 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
301 301 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
302 302 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
303 303 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
304 304 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3,num_page, 5);
305 305 pkt_nr = 1;
306 306 }
307 307 }
308 308
309 void MainWindow::buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket)
309 void MainWindow::buildWFAndDisplay_CWF_F3_light(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
310 310 {
311 311 unsigned int i = 0;
312 312 unsigned int j = 0;
313 313 unsigned char *data;
314 314 static unsigned char pkt_nr = 1;
315 315 unsigned int blk_nr = 0;
316 316
317 317 blk_nr = packet->Value[28] * 256 + packet->Value[29];
318 318 data = &packet->Value[30]; // start of the first data block;
319 319 j = (pkt_nr-1) * 340;
320 320 for ( i=0; i<blk_nr; i++ ){
321 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
322 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
323 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
324 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
325 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
326 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
321 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE_CWF3_LIGHT) ] << 8) + (data[ (i*BLK_SIZE_CWF3_LIGHT) + 1]) );
322 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE_CWF3_LIGHT) + 2] << 8) + (data[ (i*BLK_SIZE_CWF3_LIGHT) + 3]) );
323 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE_CWF3_LIGHT) + 4] << 8) + (data[ (i*BLK_SIZE_CWF3_LIGHT) + 5]) );
324 wfPacket->wf_b1[j + i] = 0;
325 wfPacket->wf_b2[j + i] = 0;
326 wfPacket->wf_b3[j + i] = 0;
327 327 }
328 328 pkt_nr = pkt_nr + 1;
329 329 if (blk_nr == 8)
330 330 {
331 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_v, 0);
332 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e1, 1);
333 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e2, 2);
334 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b1, 3);
335 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b2, 4);
336 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b3, 5);
331 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
332 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
333 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
334 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
335 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
336 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
337 337 pkt_nr = 1;
338 338 }
339 339 }
340 340
341 void MainWindow::buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket)
341 void MainWindow::buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket)
342 342 {
343 343 unsigned int i = 0;
344 344 unsigned int j = 0;
345 345 unsigned char *data;
346 346 static unsigned char pkt_nr = 1;
347 347 unsigned int blk_nr = 0;
348 348
349 349 blk_nr = packet->Value[28] * 256 + packet->Value[29];
350 350 data = &packet->Value[30]; // start of the first data block;
351 351 j = (pkt_nr-1) * 340;
352 352 for ( i=0; i<blk_nr; i++ ){
353 353 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
354 354 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
355 355 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
356 356 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
357 357 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
358 358 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
359 359 }
360 360 pkt_nr = pkt_nr + 1;
361 361 if (blk_nr == 8)
362 362 {
363 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_v, 0);
364 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e1, 1);
365 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_e2, 2);
366 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b1, 3);
367 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b2, 4);
368 this->UI->wfPageBurst->displayOnPlot(wfPacket->wf_b3, 5);
369 pkt_nr = 1;
370 }
371 }
372
373 void MainWindow::buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket)
374 {
375 unsigned int i = 0;
376 unsigned int j = 0;
377 unsigned char *data;
378 unsigned char *pData;
379 static unsigned char pkt_nr = 1;
380 unsigned int blk_nr = 0;
381
382 blk_nr = packet->Value[28] * 256 + packet->Value[29];
383 data = &packet->Value[30]; // start of the first data block;
384 j = (pkt_nr-1) * 340;
385 for ( i=0; i<blk_nr; i++ ){
386 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
387 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
388 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
389 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
390 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
391 // wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
392 pData = (unsigned char*) &wfPacket->wf_b3[j + i];
393 pData[0] = data[ (i*BLK_SIZE) + 11];
394 pData[1] = data[ (i*BLK_SIZE) + 10];
395 }
396 pkt_nr = pkt_nr + 1;
397 if (blk_nr == 8)
398 {
399 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_v, 0);
400 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e1, 1);
401 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e2, 2);
402 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b1, 3);
403 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b2, 4);
404 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b3, 5);
405 pkt_nr = 1;
406 }
407 }
408
409 void MainWindow::buildWFAndDisplaySBM1_alt(TMPacketToRead *packet, WFPacket *wfPacket)
410 {
411 unsigned int i = 0;
412 unsigned int j = 0;
413 unsigned char segmentationGroupingFlag;
414 unsigned char *data;
415 static unsigned char pkt_nr = 1;
416 unsigned int blk_nr = 0;
417
418 segmentationGroupingFlag = this->UI->tmStatistics->getSegmentationGroupingFlag( packet );
419 blk_nr = packet->Value[28] * 256 + packet->Value[29];
420 data = &packet->Value[30]; // start of the first data block;
421
422 if (segmentationGroupingFlag == 1) // first packet of the sequence
423 {
424 pkt_nr = 1;
425 }
426 else // continuation packet or last packet
427 {
428 pkt_nr = pkt_nr + 1;
429 }
430 j = (pkt_nr-1) * 340;
431 for ( i=0; i<blk_nr; i++ ){
432 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
433 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
434 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
435 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
436 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
437 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
438 }
439 if (segmentationGroupingFlag == 2) // last packet of the sequence
440 {
363 441 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_v, 0);
364 442 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e1, 1);
365 443 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_e2, 2);
366 444 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b1, 3);
367 445 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b2, 4);
368 446 this->UI->wfPageSBM1->displayOnPlot(wfPacket->wf_b3, 5);
369 447 pkt_nr = 1;
370 448 }
371 449 }
372 450
373 451 void MainWindow::buildWFAndDisplaySBM2(TMPacketToRead *packet, WFPacket *wfPacket)
374 452 {
375 453 unsigned int i = 0;
376 454 unsigned int j = 0;
377 455 unsigned char *data;
378 456 static unsigned char pkt_nr = 1;
379 457 unsigned int blk_nr = 0;
380 458
381 459 blk_nr = packet->Value[28] * 256 + packet->Value[29];
382 460 data = &packet->Value[30]; // start of the first data block;
383 461 j = (pkt_nr-1) * 340;
384 462 for ( i=0; i<blk_nr; i++ ){
385 463 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
386 464 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
387 465 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
388 466 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
389 467 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
390 468 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
391 469 }
392 470 pkt_nr = pkt_nr + 1;
393 471 if (blk_nr == 8)
394 472 {
395 473 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_v, 0);
396 474 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_e1, 1);
397 475 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_e2, 2);
398 476 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b1, 3);
399 477 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b2, 4);
400 478 this->UI->wfPageSBM2->displayOnPlot(wfPacket->wf_b3, 5);
401 479 pkt_nr = 1;
402 480 }
403 481 }
404 482
405 483 void MainWindow::buildSpectrumAndDisplayNORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket)
406 484 {
407 485 unsigned int i = 0;
408 486 unsigned int j = 0;
409 487 unsigned char *data;
410 488 char *aux;
411 489 unsigned char nrASM;
412 490 unsigned int blkNR;
413 491
414 492 nrASM = packet->Value[23];
415 493 blkNR = packet->Value[30] * 256 + packet->Value[31];
416 494 data = &packet->Value[32]; // start of the first data block;
417 495
418 496 j = (nrASM-1) * blkNR;
419 497 for ( i=0; i<blkNR; i++ ){
420 498 aux = (char*) &spectraPacket->s11[j + i];
421 499 aux[3] = data[ (i * 50 + 2*0) ];
422 500 aux[2] = data[ (i * 50 + 2*0) + 1];
423 501 aux = (char*) &spectraPacket->s22[j + i];
424 502 aux[3] = data[ (i * 50 + 2*9) ];
425 503 aux[2] = data[ (i * 50 + 2*9) + 1];
426 504 aux = (char*) &spectraPacket->s33[j + i];
427 505 aux[3] = data[ (i * 50 + 2*16) ];
428 506 aux[2] = data[ (i * 50 + 2*16) + 1];
429 507 aux = (char*) &spectraPacket->s44[j + i];
430 508 aux[3] = data[ (i * 50 + 2*21) ];
431 509 aux[2] = data[ (i * 50 + 2*21) + 1];
432 510 aux = (char*) &spectraPacket->s55[j + i];
433 511 aux[3] = data[ (i * 50 + 2*24) ];
434 512 aux[2] = data[ (i * 50 + 2*24) + 1];
435 513 }
436 514 if (nrASM == 2)
437 515 {
438 516 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s11, 0);
439 517 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s22, 1);
440 518 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s33, 2);
441 519 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s44, 3);
442 520 this->UI->pageSpectraNORM->displayOnPlotFloat(spectraPacket->s55, 4);
443 521 }
444 522 }
445 523
446 524 void MainWindow::resetStatistics()
447 525 {
448 526 totalOfBytes = 0;
449 527 totalOfPackets = 0;
450 528 this->UI->totalOfBytesHasChanged(totalOfBytes);
451 529 this->UI->totalOfPacketsHasChanged(totalOfPackets);
452 530 }
453 531
454 532 //******************
455 533 // packet processing
456 534
457 535 void MainWindow::processPacketStore()
458 536 {
459 537 TMPacketToRead *packet;
460 538 while(!generalCCSDSPacketStore.isEmpty())
461 539 {
462 540 packet = generalCCSDSPacketStore.takeFirst();
463 541 processIncomingPacket(packet);
464 542 delete(packet);
465 543 }
466 544 }
467 545
468 546 void MainWindow::processIncomingPacket(TMPacketToRead *packet)
469 547 {
470 548 totalOfBytes = totalOfBytes + packet->size;
471 549 totalOfPackets = totalOfPackets + 1;
472 550 this->UI->totalOfBytesHasChanged(totalOfBytes);
473 551 this->UI->totalOfPacketsHasChanged(totalOfPackets);
474 552 preProcessPacket(packet);
475 553 }
476 554
477 555 void MainWindow::preProcessPacket(TMPacketToRead *packet)
478 556 {
479 557 unsigned char pid = 0;
480 558 unsigned char cat = 0;
481 559 unsigned char typ = 0;
482 560 unsigned char sub = 0;
483 561 unsigned int sid = 0;
484 562 unsigned int length = 0;
485 563 unsigned int coarse_t = 0;
486 564 unsigned int fine_t = 0;
487 565
488 566 //*********************************
489 567 // get the parameters of the packet
490 568 pid = this->UI->tmStatistics->getPID( packet );
491 569 cat = this->UI->tmStatistics->getCAT( packet );
492 570 typ = this->UI->tmStatistics->getTYPE( packet );
493 571 sub = this->UI->tmStatistics->getSUBTYPE( packet );
494 572 length = this->UI->tmStatistics->getLENGTH( packet );
495 573 coarse_t = this->UI->tmStatistics->getCoarseTime( packet );
496 574 fine_t = this->UI->tmStatistics->getFineTime( packet );
497 575 sid = this->UI->tmStatistics->getSID( packet, pid, cat, typ, sub );
498 576
499 577 this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
500 578
501 579 // compare length in the packet with the size of the packet
502 580 if ( (length + 1 + 10) != (packet->size))
503 581 {
504 582 displayOnConsole("reception of " + QString::number(packet->size)
505 583 + " bytes instead of " + QString::number(length + 1 + 10));
506 584 }
507 585
508 586 //***************************************************
509 587 // if the packet is an HK packet, display its content
510 if ( (pid == 76) & (cat == 4) & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK) )
588 if ( (pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_HK)
589 & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK) )
511 590 {
512 591 this->UI->hkDisplay->displayPacket(packet);
513 592 }
514 593
515 594 //**************************************************************
516 595 // if the packet is a parameter dump packet, display its content
517 if ( (pid == 76) & (cat == 9) & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP) )
596 if ( (pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_PARAMETER_DUMP)
597 & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP) )
518 598 {
519 599 this->UI->parameterDump->updateParameterDump(packet);
520 600 }
521 601
522 602 //****************************************
523 603 // if the packet is a waveform, display it
524 604 if ( (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE) )
525 605 {
526 sid = packet->Value[20]; // SID
606 //sid = packet->Value[20]; // SID
527 607 switch (sid){
528 608 case SID_NORMAL_SWF_F0:
529 609 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
530 610 break;
531 611 case SID_NORMAL_SWF_F1:
532 612 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
533 613 break;
534 614 case SID_NORMAL_SWF_F2:
535 615 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
536 616 break;
537 617 case SID_NORMAL_CWF_F3:
538 buildWFAndDisplay_CWF_F3(packet, &wfPacketNormal[3], 3);
618 //buildWFAndDisplay_CWF_F3(packet, &wfPacketNormal[3], 3);
619 buildWFAndDisplay_CWF_F3_light(packet, &wfPacketNormal[3], 3);
539 620 break;
540 621 case SID_BURST_CWF_F2:
541 622 buildWFAndDisplayBurst(packet, &wfPacketBurst);
542 623 break;
543 624 case SID_SBM1_CWF_F1:
544 buildWFAndDisplaySBM1(packet, &wfPacketSBM1);
625 buildWFAndDisplaySBM1_alt(packet, &wfPacketSBM1);
545 626 break;
546 627 case SID_SBM2_CWF_F2:
547 628 buildWFAndDisplaySBM2(packet, &wfPacketSBM2);
548 629 break;
549 630 case SID_NORMAL_ASM_F0:
550 631 buildSpectrumAndDisplayNORM_F0(packet, spectraPacketNormalSpectrumF0);
551 632 break;
552 633 }
553 634 }
554 635 }
555 636
556 637 //******************
557 638 // general functions
558 639
559 640 void MainWindow::readSettings()
560 641 {
561 642 QSettings settings("lpp", "lfrsgse");
562 643 echoBridgeIP0 = (unsigned char) settings.value("echoBridgeIP0", 127).toInt();
563 644 echoBridgeIP1 = (unsigned char) settings.value("echoBridgeIP1", 0).toInt();
564 645 echoBridgeIP2 = (unsigned char) settings.value("echoBridgeIP2", 0).toInt();
565 646 echoBridgeIP3 = (unsigned char) settings.value("echoBridgeIP3", 1).toInt();
566 647 }
567 648
568 649 void MainWindow::writeSettings()
569 650 {
570 651 QSettings settings("lpp", "lfrsgse");
571 652 settings.setValue("echoBridgeIP0", this->UI->serverTMEchoDialogBox->get_addressPart1());
572 653 settings.setValue("echoBridgeIP1", this->UI->serverTMEchoDialogBox->get_addressPart2());
573 654 settings.setValue("echoBridgeIP2", this->UI->serverTMEchoDialogBox->get_addressPart3());
574 655 settings.setValue("echoBridgeIP3", this->UI->serverTMEchoDialogBox->get_addressPart4());
575 656 }
576 657
577 658 void MainWindow::closeEvent(QCloseEvent *)
578 659 {
579 660 writeSettings();
580 661 }
@@ -1,110 +1,112
1 1 #ifndef MAINWINDOW_H
2 2 #define MAINWINDOW_H
3 3
4 4 #include <QTcpServer>
5 5 #include <QTcpSocket>
6 6 #include <QXmlSimpleReader>
7 7 #include <QSettings>
8 8 #include <QMainWindow>
9 9
10 10 #include <lfrxmlhandler.h>
11 11 #include <lfrxmlwriter.h>
12 12 #include <mainwindowui.h>
13 13 #include "tmpackettoread.h"
14 14 #include "wfpacket.h"
15 15 #include "lfrxmlparser.h"
16 16 #include <spectrapacket.h>
17 17
18 18 class MainWindow : public QMainWindow
19 19 {
20 20 Q_OBJECT
21 21
22 22 public:
23 23 MainWindow(QWidget *parent = 0);
24 24 ~MainWindow();
25 25
26 26 void displayNetworkInterfaces();
27 27 void initSocketStatesList();
28 28 //
29 29 void preProcessPacket(TMPacketToRead *packet);
30 30 unsigned char getPID(TMPacketToRead *packet);
31 31 unsigned char getCAT(TMPacketToRead *packet);
32 32 unsigned char getTYPE(TMPacketToRead *packet);
33 33 unsigned char getSUBTYPE(TMPacketToRead *packet);
34 34 unsigned int getLENGTH(TMPacketToRead *packet);
35 35 unsigned int getCoarseTime(TMPacketToRead *packet);
36 36 unsigned int getFineTime(TMPacketToRead *packet);
37 37 unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
38 38 //
39 39 void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
40 40 void buildWFAndDisplay_CWF_F3(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
41 void buildWFAndDisplay_CWF_F3_light(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
41 42 void buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket);
42 43 void buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket);
44 void buildWFAndDisplaySBM1_alt(TMPacketToRead *packet, WFPacket *wfPacket);
43 45 void buildWFAndDisplaySBM2(TMPacketToRead *packet, WFPacket *wfPacket);
44 46 void buildSpectrumAndDisplayNORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket);
45 47
46 48 protected:
47 49 void closeEvent(QCloseEvent *);
48 50
49 51 private:
50 52 void readSettings();
51 53 void writeSettings();
52 54 unsigned char echoBridgeIP0;
53 55 unsigned char echoBridgeIP1;
54 56 unsigned char echoBridgeIP2;
55 57 unsigned char echoBridgeIP3;
56 58
57 59 QByteArray dataArray;
58 60
59 61 QList<TMPacketToRead*> generalCCSDSPacketStore;
60 62
61 63 QTcpServer *analyserSGSEServerTC;
62 64 QTcpServer *analyserSGSEServerTM;
63 65 QTcpSocket *socketTC;
64 66 QTcpSocket *socketTM;
65 67 QTcpSocket *socketEchoServer;
66 68
67 69 unsigned int totalOfBytes;
68 70 unsigned int totalOfPackets;
69 71
70 72 QXmlSimpleReader xmlReader;
71 73 QXmlInputSource *sourceTC;
72 74 LFRXmlHandler *xmlHandler;
73 75 LFRXmlParser *lfrXmlParser;
74 76
75 77 QList<QString> socketStates;
76 78
77 79 char *buffer;
78 80
79 81 MainWindowUI *UI;
80 82
81 83 LFRXmlWriter *lfrXmlWriter;
82 84
83 85 WFPacket wfPacketNormal[4];
84 86 WFPacket wfPacketBurst;
85 87 WFPacket wfPacketSBM1;
86 88 WFPacket wfPacketSBM2;
87 89 SpectraPacket *spectraPacketNormalSpectrumF0;
88 90
89 91 bool parsingContinue;
90 92
91 93 signals:
92 94 void socketTMHasChanged(QTcpSocket *socket);
93 95
94 96 public slots:
95 97 void displayOnConsole(QString message);
96 98 void listenOnTCTMPorts();
97 99 void testTCTMPorts();
98 100 void newConnectionOnTCServer();
99 101 void newConnectionOnTMServer();
100 102 void readDataOnTCPort();
101 103 void readDataOnTMPort();
102 104 void readDataOnSocketEchoServer();
103 105 void openEchoServer();
104 106 void socket_TMEcho_ServerHasChanged();
105 107 void processIncomingPacket(TMPacketToRead *packet);
106 108 void resetStatistics();
107 109 void processPacketStore();
108 110 };
109 111
110 112 #endif // MAINWINDOW_H
@@ -1,172 +1,171
1 1 #include "mainwindowui.h"
2 2
3 3 MainWindowUI::MainWindowUI(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 label_serverTMEcho = new QLabel(tr("TM Echo Server address"));
7 7 label_serverTMEchoPort = new QLabel(tr("TM Echo Server Port"));
8 8 label_TMServerPort = new QLabel(tr("TM Server Port:"));
9 9 label_TCServerPort = new QLabel(tr("TC Server Port:"));
10 10 label_currentTCTMServer = new QLabel(tr("Current IP address:"));
11 11 label_currentTCTMServerIP = new QLabel(tr("-"));
12 12 label_totalOfBytes = new QLabel(tr("Received Bytes: -"));
13 13 label_totalOfPackets = new QLabel(tr("Received Packets: -"));
14 14
15 15 console = new QTextEdit();
16 16
17 17 spwTabWidget = new QTabWidget();
18 18 spwTabWidgetPage0 = new QWidget();
19 19 spwTabWidgetPage1 = new QWidget();
20 20 spwTabWidgetPage2 = new QWidget();
21 21 spwTabWidgetPage3 = new QWidget();
22 22 spwTabWidgetPage4 = new QWidget();
23 23 spwTabWidgetPage5 = new QWidget(); // WFRM BURST
24 24 spwTabWidgetPage6 = new QWidget(); // WFRM SBM1
25 25 spwTabWidgetPage7 = new QWidget(); // WFRM SBM2
26 26
27 27 tmStatistics = new TMStatistics;
28 28
29 29 wfDisplay = new WFDisplay();
30 30 wfPageBurst = new WFPage();
31 31 wfPageSBM1 = new WFPage();
32 32 wfPageSBM2 = new WFPage();
33 33 pageSpectraNORM = new PageSpectra();
34 34 wfPageBurst->pageTitle = "BURST_CWF_F2";
35 35 wfPageSBM1->pageTitle = "SBM1_CWF_F1";
36 36 wfPageSBM2->pageTitle = "SBM2_CWF_F2";
37 37 pageSpectraNORM->pageTitle = "ASM f0";
38 38 hkDisplay = new HKDisplay();
39 lfrSpectrogam = new LFRSpectrogram();
40 39
41 40 spinbox_TMServerPort = new QSpinBox();
42 41 spinbox_TCServerPort = new QSpinBox();
43 42 spinbox_serverTMEchoPort = new QSpinBox();
44 43 spinbox_TMServerPort->setRange(59000, 65535);
45 44 spinbox_TCServerPort->setRange(59001, 65535);
46 45 spinbox_serverTMEchoPort->setRange(59002, 65535);
47 46
48 47 button_openServerTCTM = new QPushButton(tr("Open TC / TM Ports"));
49 48 button_testServerTCTM = new QPushButton(tr("Test TC / TM Ports"));
50 49 button_openSocketEchoServer = new QPushButton(tr("Open Echo Server"));
51 50 button_TCAcknowledgement = new QPushButton(tr("send TC Acknowledgement"));
52 51 button_TCRejection = new QPushButton(tr("send TC rejection"));
53 52 button_GSEHK = new QPushButton(tr("send GSE HK"));
54 53 button_clearConsole = new QPushButton(tr("Clear console"));
55 54 button_resetStatistics = new QPushButton(tr("Reset statistics"));
56 55
57 56 serverTMEchoDialogBox = new QIPDialogBox();
58 57 serverTMEchoDialogBox->setIP(127, 0, 0, 1);
59 58
60 59 groupbox_TMEcho = new QGroupBox(tr("TM Echo Server"));
61 60 groupbox_ports = new QGroupBox(tr("Ports for the TM and TC Servers"));
62 61 groupbox_TMToForeignGSETester = new QGroupBox(tr("Send TM to the foreign GSE tester"));
63 62
64 63 layout_TMEcho = new QVBoxLayout();
65 64 layout_overallLayout = new QVBoxLayout();
66 65 layout_ports = new QGridLayout();
67 66 layout_TMToForeignGSETester = new QVBoxLayout();
68 67 mainLayout = new QGridLayout();
69 68
70 69 parameterDump = new ParameterDump();
71 70
72 71 layout_TMEcho->addWidget(label_serverTMEcho);
73 72 layout_TMEcho->addWidget(serverTMEchoDialogBox);
74 73 layout_TMEcho->addWidget(label_serverTMEchoPort);
75 74 layout_TMEcho->addWidget(spinbox_serverTMEchoPort);
76 75 layout_TMEcho->addWidget(button_openSocketEchoServer);
77 76 layout_TMEcho->addWidget(label_totalOfPackets);
78 77 layout_TMEcho->addWidget(label_totalOfBytes);
79 78 layout_TMEcho->addWidget(button_resetStatistics);
80 79 groupbox_TMEcho->setLayout(layout_TMEcho);
81 80
82 81 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
83 82 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
84 83 layout_ports->addWidget(label_TCServerPort, 1, 0, 1, 1);
85 84 layout_ports->addWidget(spinbox_TCServerPort, 1, 1, 1, 1);
86 85 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
87 86 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
88 87 groupbox_ports->setLayout(layout_ports);
89 88
90 89 layout_TMToForeignGSETester->addWidget(button_TCAcknowledgement);
91 90 layout_TMToForeignGSETester->addWidget(button_TCRejection);
92 91 layout_TMToForeignGSETester->addWidget(button_GSEHK);
93 92 groupbox_TMToForeignGSETester->setLayout(layout_TMToForeignGSETester);
94 93
95 94 mainLayout->addWidget(groupbox_TMEcho, 0, 0, 1, 1);
96 95 mainLayout->addWidget(button_clearConsole, 1, 0, 1, 1);
97 96 mainLayout->addWidget(console, 0, 1, 2, 1);
98 97 mainLayout->addWidget(groupbox_ports, 2, 0, 1, 1);
99 98 mainLayout->addWidget(groupbox_TMToForeignGSETester, 2, 1, 1, 1);
100 99 mainLayout->setColumnStretch(2, 1);
101 100 mainLayout->setRowStretch(3, 1);
102 101
103 102 spwTabWidget->addTab(spwTabWidgetPage0, tr("Connection"));
104 103 spwTabWidget->addTab(spwTabWidgetPage1, tr("TM Statistics"));
105 104 spwTabWidget->addTab(spwTabWidgetPage3, tr("HK"));
106 105 spwTabWidget->addTab(parameterDump, tr("DUMP"));
107 106 spwTabWidget->addTab(spwTabWidgetPage2, tr("WFRM NORM"));
108 107 spwTabWidget->addTab(pageSpectraNORM, tr("ASM f0"));
109 108 spwTabWidget->addTab((QWidget *) wfPageBurst, tr("WFRM BURST"));
110 109 spwTabWidget->addTab((QWidget *) wfPageSBM1, tr("WFRM SBM1"));
111 110 spwTabWidget->addTab((QWidget *) wfPageSBM2, tr("WFRM SBM2"));
112 111 //spwTabWidget->addTab(spwTabWidgetPage4, tr("Spectrograms"));
113 112
114 113 spwTabWidgetPage0->setLayout(mainLayout);
115 114 spwTabWidgetPage1->setLayout(tmStatistics->layout());
116 115 spwTabWidgetPage2->setLayout(wfDisplay->layout());
117 116 spwTabWidgetPage3->setLayout(hkDisplay->layout());
118 117 //spwTabWidgetPage4->setLayout(lfrSpectrogam->layout());
119 118 //spwTabWidgetPage5->setLayout(wfPageBurst->layout());
120 119 //spwTabWidgetPage6->setLayout(wfPageSBM1->layout());
121 120 //spwTabWidgetPage7->setLayout(wfPageSBM2->layout());
122 121
123 122 layout_overallLayout->addWidget(spwTabWidget);
124 123
125 124 this->setLayout(layout_overallLayout);
126 125
127 126 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
128 127 }
129 128
130 129 QString MainWindowUI::getTMEchoServerAddress()
131 130 {
132 131 return(serverTMEchoDialogBox->getIP());
133 132 }
134 133
135 134 void MainWindowUI::setTCTMServerAddressIP(QString address)
136 135 {
137 136 label_currentTCTMServerIP->setText(address);
138 137 }
139 138
140 139 int MainWindowUI::getTMPort()
141 140 {
142 141 return spinbox_TMServerPort->value();
143 142 }
144 143
145 144 int MainWindowUI::getTCPort()
146 145 {
147 146 return spinbox_TCServerPort->value();
148 147 }
149 148
150 149 void MainWindowUI::displayOnConsole(QString message)
151 150 {
152 151 console->append(message);
153 152 }
154 153
155 154 void MainWindowUI::clearConsole()
156 155 {
157 156 console->clear();
158 157 }
159 158
160 159 void MainWindowUI::totalOfBytesHasChanged(unsigned int nbBytes)
161 160 {
162 161 label_totalOfBytes->setText(
163 162 "Received Bytes: "
164 163 + QString::number(nbBytes));
165 164 }
166 165
167 166 void MainWindowUI::totalOfPacketsHasChanged(unsigned int nbPackets)
168 167 {
169 168 label_totalOfPackets->setText(
170 169 "Received Packets: "
171 170 + QString::number(nbPackets));
172 171 }
@@ -1,107 +1,105
1 1 #ifndef MAINWINDOWUI_H
2 2 #define MAINWINDOWUI_H
3 3
4 4 #include <QWidget>
5 5 #include <qipdialogbox.h>
6 6 #include <QLabel>
7 7 #include <QPushButton>
8 8 #include <QGridLayout>
9 9 #include <QVBoxLayout>
10 10 #include <QGroupBox>
11 11 #include <QSpinBox>
12 12 #include <QTextEdit>
13 13 #include <QTabWidget>
14 14
15 15 #include <wfdisplay.h>
16 16 #include <pagespectra.h>
17 17 #include <parameterdump.h>
18 18
19 19 #include "tmstatistics.h"
20 20 #include "hkdisplay.h"
21 #include "lfrspectrogram.h"
22 21
23 22 class MainWindowUI : public QWidget
24 23 {
25 24 Q_OBJECT
26 25 public:
27 26 explicit MainWindowUI(QWidget *parent = 0);
28 27
29 28 void setTCTMServerAddressIP(QString address);
30 29 QString getTMEchoServerAddress();
31 30 int getTMPort();
32 31 int getTCPort();
33 32 void displayOnConsole(QString message);
34 33
35 34 QTabWidget *spwTabWidget;
36 35 QWidget* spwTabWidgetPage0;
37 36 QWidget* spwTabWidgetPage1;
38 37 QWidget* spwTabWidgetPage2;
39 38 QWidget* spwTabWidgetPage3;
40 39 QWidget* spwTabWidgetPage4;
41 40 QWidget* spwTabWidgetPage5;
42 41 QWidget* spwTabWidgetPage6;
43 42 QWidget* spwTabWidgetPage7;
44 43
45 44 TMStatistics* tmStatistics;
46 45
47 46 WFDisplay* wfDisplay;
48 47 WFPage* wfPageBurst;
49 48 WFPage* wfPageSBM1;
50 49 WFPage* wfPageSBM2;
51 50 PageSpectra* pageSpectraNORM;
52 51 HKDisplay* hkDisplay;
53 LFRSpectrogram* lfrSpectrogam;
54 52
55 53 QWidget* widget_spectrogram;
56 54
57 55 ParameterDump* parameterDump;
58 56
59 57 QPushButton *button_openServerTCTM;
60 58 QPushButton *button_testServerTCTM;
61 59 QPushButton *button_openSocketEchoServer;
62 60 QPushButton *button_TCAcknowledgement;
63 61 QPushButton *button_TCRejection;
64 62 QPushButton *button_GSEHK;
65 63 QPushButton *button_clearConsole;
66 64 QPushButton *button_resetStatistics;
67 65
68 66 QIPDialogBox *serverTMEchoDialogBox;
69 67
70 68 QSpinBox *spinbox_serverTMEchoPort;
71 69
72 70 signals:
73 71
74 72 public slots:
75 73 void clearConsole();
76 74 void totalOfBytesHasChanged(unsigned int nbBytes);
77 75 void totalOfPacketsHasChanged(unsigned int nbPackets);
78 76
79 77 private:
80 78 QLabel *label_serverTMEcho;
81 79 QLabel *label_serverTMEchoPort;
82 80 QLabel *label_TMServerPort;
83 81 QLabel *label_TCServerPort;
84 82 QLabel *label_currentTCTMServer;
85 83 QLabel *label_currentTCTMServerIP;
86 84 QLabel *label_totalOfBytes;
87 85 QLabel *label_totalOfPackets;
88 86
89 87 QTextEdit *console;
90 88
91 89 QSpinBox *spinbox_TMServerPort;
92 90 QSpinBox *spinbox_TCServerPort;
93 91
94 92 QGroupBox *groupbox_TMEcho;
95 93 QGroupBox *groupbox_ports;
96 94 QGroupBox *groupbox_TMToForeignGSETester;
97 95
98 96 QVBoxLayout *layout_TMEcho;
99 97 QVBoxLayout *layout_TMToForeignGSETester;
100 98 QVBoxLayout *layout_overallLayout;
101 99
102 100 QGridLayout *mainLayout;
103 101 QGridLayout *layout_ports;
104 102
105 103 };
106 104
107 105 #endif // MAINWINDOWUI_H
@@ -1,471 +1,480
1 1 #include "parameterdump.h"
2 2
3 3 ParameterDump::ParameterDump(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 this->buildTabParameterDump();
7 7
8 8 packetToSend = new TCPacketToSend();
9 9
10 10 this->setLayout(layout_parameterDump);
11 11 }
12 12
13 13 void ParameterDump::buildTabParameterDump()
14 14 {
15 15 buildCOMM();
16 16 buildNORM();
17 17 buildBURST();
18 18 buildSBM1();
19 19 buildSBM2();
20 20 buildActions();
21 21
22 22 layout_parameterDump = new QGridLayout();
23 23
24 24 layout_parameterDump->addWidget(groupbox_COMM, 0, 0, 1, 1);
25 25 layout_parameterDump->addWidget(groupbox_NORM, 0, 1, 1, 1);
26 26 layout_parameterDump->addWidget(groupbox_BURST, 1, 0, 1, 1);
27 layout_parameterDump->addWidget(groupbox_ACTIONS, 1, 1, 1, 1);
28 layout_parameterDump->addWidget(groupbox_SBM1,2 , 0, 1, 1);
29 layout_parameterDump->addWidget(groupbox_SBM2, 2, 1, 1, 1);
27 layout_parameterDump->addWidget(groupbox_SBM1, 1 , 1, 1, 1);
28 layout_parameterDump->addWidget(groupbox_SBM2, 2, 0, 1, 1);
29 layout_parameterDump->addWidget(button_parameterDump, 2, 1, 1, 1);
30 30
31 layout_parameterDump->setRowStretch(3, 1);
32 layout_parameterDump->setColumnStretch(2, 1);
33
34 layout_parameterDump->setRowStretch(3, 1);
31 layout_parameterDump->setRowStretch(2, 1);
35 32 layout_parameterDump->setColumnStretch(2, 1);
36 33 }
37 34
38 35 void ParameterDump::buildCOMM()
39 36 {
40 37 groupbox_COMM = new QGroupBox(tr("COMMON_PAR"));
41 38 layout_COMM = new QGridLayout();
42 39
43 40 sy_lfr_bw = new QLabel("sy_lfr_bw ");
44 41 sy_lfr_sp0 = new QLabel("sy_lfr_sp0 ");
45 42 sy_lfr_sp1 = new QLabel("sy_lfr_sp1 ");
46 43 sy_lfr_r0 = new QLabel("sy_lfr_r0 ");
47 44 sy_lfr_r1 = new QLabel("sy_lfr_r1 ");
48 45
49 46 spinbox_sy_lfr_bw = new QSpinBox();
50 47 spinbox_sy_lfr_sp0 = new QSpinBox();
51 48 spinbox_sy_lfr_sp1 = new QSpinBox();
52 49 spinbox_sy_lfr_r0 = new QSpinBox();
53 50 spinbox_sy_lfr_r1 = new QSpinBox();
54 51
52 button_loadCommon = new QPushButton(tr("LOAD_COMM"));
53
54 button_loadCommon->setEnabled(false);
55
55 56 spinbox_sy_lfr_bw->setRange(0, 1);
56 57 spinbox_sy_lfr_sp0->setRange(0, 1);
57 58 spinbox_sy_lfr_sp1->setRange(0, 1);
58 59 spinbox_sy_lfr_r0->setRange(0, 1);
59 60 spinbox_sy_lfr_r1->setRange(0, 1);
60 61
61 62 spinbox_sy_lfr_bw->setValue(1);
62 63 spinbox_sy_lfr_sp0->setValue(0);
63 64 spinbox_sy_lfr_sp1->setValue(0);
64 65 spinbox_sy_lfr_r0->setValue(0);
65 66 spinbox_sy_lfr_r1->setValue(0);
66 67
67 layout_COMM->addWidget(sy_lfr_bw, 0, 0, 1, 1);
68 layout_COMM->addWidget(sy_lfr_sp0, 1, 0, 1, 1);
69 layout_COMM->addWidget(sy_lfr_sp1, 2, 0, 1, 1);
70 layout_COMM->addWidget(sy_lfr_r0, 3, 0, 1, 1);
71 layout_COMM->addWidget(sy_lfr_r1, 4, 0, 1, 1);
68 layout_COMM->addWidget(button_loadCommon, 0, 0, 1, 2);
69 layout_COMM->addWidget(sy_lfr_bw, 1, 0, 1, 1);
70 layout_COMM->addWidget(sy_lfr_sp0, 2, 0, 1, 1);
71 layout_COMM->addWidget(sy_lfr_sp1, 3, 0, 1, 1);
72 layout_COMM->addWidget(sy_lfr_r0, 4, 0, 1, 1);
73 layout_COMM->addWidget(sy_lfr_r1, 5, 0, 1, 1);
72 74
73 layout_COMM->addWidget(spinbox_sy_lfr_bw, 0, 1, 1, 1);
74 layout_COMM->addWidget(spinbox_sy_lfr_sp0, 1, 1, 1, 1);
75 layout_COMM->addWidget(spinbox_sy_lfr_sp1, 2, 1, 1, 1);
76 layout_COMM->addWidget(spinbox_sy_lfr_r0, 3, 1, 1, 1);
77 layout_COMM->addWidget(spinbox_sy_lfr_r1, 4, 1, 1, 1);
75 layout_COMM->addWidget(spinbox_sy_lfr_bw, 1, 1, 1, 1);
76 layout_COMM->addWidget(spinbox_sy_lfr_sp0, 2, 1, 1, 1);
77 layout_COMM->addWidget(spinbox_sy_lfr_sp1, 3, 1, 1, 1);
78 layout_COMM->addWidget(spinbox_sy_lfr_r0, 4, 1, 1, 1);
79 layout_COMM->addWidget(spinbox_sy_lfr_r1, 5, 1, 1, 1);
78 80
79 81 layout_COMM->setColumnStretch(2, 1);
80 layout_COMM->setRowStretch(5, 1);
82 layout_COMM->setRowStretch(6, 1);
81 83
82 84 groupbox_COMM->setLayout(layout_COMM);
85
86 connect(this->button_loadCommon, SIGNAL(clicked()), this, SLOT(sendLoadCommon()));
83 87 }
84 88
85 89 void ParameterDump::buildNORM()
86 90 {
87 91 groupbox_NORM = new QGroupBox(tr("NORMAL_PAR"));
88 92 layout_NORM = new QGridLayout();
89 93
90 94 sy_lfr_n_swf_l = new QLabel("sy_lfr_n_swf_l ");
91 95 sy_lfr_n_swf_p = new QLabel("sy_lfr_n_swf_p ");
92 96 sy_lfr_n_asm_p = new QLabel("sy_lfr_n_asm_p ");
93 97 sy_lfr_n_bp_p0 = new QLabel("sy_lfr_n_bp_p0 ");
94 98 sy_lfr_n_bp_p1 = new QLabel("sy_lfr_n_bp_p1 ");
95 99
96 100 spinbox_sy_lfr_n_swf_l = new QSpinBox();
97 101 spinbox_sy_lfr_n_swf_p = new QSpinBox();
98 102 spinbox_sy_lfr_n_asm_p = new QSpinBox();
99 103 spinbox_sy_lfr_n_bp_p0 = new QSpinBox();
100 104 spinbox_sy_lfr_n_bp_p1 = new QSpinBox();
101 105
106 button_loadNormal = new QPushButton(tr("LOAD_NORM"));
107
108 button_loadNormal->setEnabled(false);
109
102 110 spinbox_sy_lfr_n_swf_l->setRange(256, 65535);
103 111 spinbox_sy_lfr_n_swf_p->setRange(16, 65535);
104 112 spinbox_sy_lfr_n_asm_p->setRange(2, 65535);
105 113 spinbox_sy_lfr_n_bp_p0->setRange(4, 255);
106 114 spinbox_sy_lfr_n_bp_p1->setRange(20, 255);
107 115
108 116 spinbox_sy_lfr_n_swf_l->setValue(2048);
109 117 spinbox_sy_lfr_n_swf_p->setValue(300);
110 118 spinbox_sy_lfr_n_asm_p->setValue(3600);
111 119 spinbox_sy_lfr_n_bp_p0->setValue(4);
112 120 spinbox_sy_lfr_n_bp_p1->setValue(20);
113 121
114 layout_NORM->addWidget(sy_lfr_n_swf_l, 0, 0, 1, 1);
115 layout_NORM->addWidget(sy_lfr_n_swf_p, 1, 0, 1, 1);
116 layout_NORM->addWidget(sy_lfr_n_asm_p, 2, 0, 1, 1);
117 layout_NORM->addWidget(sy_lfr_n_bp_p0, 3, 0, 1, 1);
118 layout_NORM->addWidget(sy_lfr_n_bp_p1, 4, 0, 1, 1);
122 layout_NORM->addWidget(button_loadNormal, 0, 0, 1, 2);
123 layout_NORM->addWidget(sy_lfr_n_swf_l, 1, 0, 1, 1);
124 layout_NORM->addWidget(sy_lfr_n_swf_p, 2, 0, 1, 1);
125 layout_NORM->addWidget(sy_lfr_n_asm_p, 3, 0, 1, 1);
126 layout_NORM->addWidget(sy_lfr_n_bp_p0, 4, 0, 1, 1);
127 layout_NORM->addWidget(sy_lfr_n_bp_p1, 5, 0, 1, 1);
119 128
120 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_l, 0, 1, 1, 1);
121 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_p, 1, 1, 1, 1);
122 layout_NORM->addWidget(spinbox_sy_lfr_n_asm_p, 2, 1, 1, 1);
123 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p0, 3, 1, 1, 1);
124 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p1, 4, 1, 1, 1);
129 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_l, 1, 1, 1, 1);
130 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_p, 2, 1, 1, 1);
131 layout_NORM->addWidget(spinbox_sy_lfr_n_asm_p, 3, 1, 1, 1);
132 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p0, 4, 1, 1, 1);
133 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p1, 5, 1, 1, 1);
125 134
126 135 layout_NORM->setColumnStretch(2, 1);
127 layout_NORM->setRowStretch(5, 1);
136 layout_NORM->setRowStretch(6, 1);
128 137
129 138 groupbox_NORM->setLayout(layout_NORM);
139
140 connect(this->button_loadNormal, SIGNAL(clicked()), this, SLOT(sendLoadNormal()));
130 141 }
131 142
132 143 void ParameterDump::buildBURST()
133 144 {
134 145 groupbox_BURST = new QGroupBox(tr("BURST_PAR"));
135 146 layout_BURST = new QGridLayout();
136 147
137 148 sy_lfr_b_bp_p0 = new QLabel("sy_lfr_b_bp_p0 ");
138 149 sy_lfr_b_bp_p1 = new QLabel("sy_lfr_b_bp_p1 ");
139 150
140 151 spinbox_sy_lfr_b_bp_p0 = new QSpinBox();
141 152 spinbox_sy_lfr_b_bp_p1 = new QSpinBox();
142 153
154 button_loadBurst = new QPushButton(tr("LOAD_BURST"));
155
156 button_loadBurst->setEnabled(false);
157
143 158 spinbox_sy_lfr_b_bp_p0->setRange(1, 255);
144 159 spinbox_sy_lfr_b_bp_p1->setRange(5, 255);
145 160
146 layout_BURST->addWidget(sy_lfr_b_bp_p0, 0, 0, 1, 1);
147 layout_BURST->addWidget(sy_lfr_b_bp_p1, 1, 0, 1, 1);
148 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p0, 0, 1, 1, 1);
149 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p1, 1, 1, 1, 1);
161 layout_BURST->addWidget(button_loadBurst, 0, 0, 1, 2);
162 layout_BURST->addWidget(sy_lfr_b_bp_p0, 1, 0, 1, 1);
163 layout_BURST->addWidget(sy_lfr_b_bp_p1, 2, 0, 1, 1);
164
165 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p0, 1, 1, 1, 1);
166 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p1, 2, 1, 1, 1);
150 167
151 168 layout_BURST->setColumnStretch(2, 1);
152 169 layout_BURST->setRowStretch(3, 1);
153 170
154 171 groupbox_BURST->setLayout(layout_BURST);
172
173 connect(this->button_loadBurst, SIGNAL(clicked()), this, SLOT(sendLoadBurst()));
155 174 }
156 175
157 176 void ParameterDump::buildSBM1()
158 177 {
159 178 groupbox_SBM1 = new QGroupBox(tr("SBM1_PAR"));
160 179 layout_SBM1 = new QGridLayout();
161 180
162 181 sy_lfr_s1_bp_p0 = new QLabel("sy_lfr_s1_bp_p0 ");
163 182 sy_lfr_s1_bp_p1 = new QLabel("sy_lfr_s1_bp_p1 ");
164 183
165 184 spinbox_sy_lfr_s1_bp_p0 = new QDoubleSpinBox();
166 185 spinbox_sy_lfr_s1_bp_p1 = new QSpinBox();
167 186
187 button_loadSBM1 = new QPushButton(tr("LOAD_SBM1"));
188
189 button_loadSBM1->setEnabled(false);
190
168 191 spinbox_sy_lfr_s1_bp_p0->setRange(0.25, 0.25*256);
169 192 spinbox_sy_lfr_b_bp_p0->setValue(0.25);
170 193 spinbox_sy_lfr_s1_bp_p1->setRange(1, 255);
171 194 spinbox_sy_lfr_b_bp_p1->setValue(1);
172 195
173 layout_SBM1->addWidget(sy_lfr_s1_bp_p0, 0, 0, 1, 1);
174 layout_SBM1->addWidget(sy_lfr_s1_bp_p1, 1, 0, 1, 1);
175 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p0, 0, 1, 1, 1);
176 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p1, 1, 1, 1, 1);
196 layout_SBM1->addWidget(button_loadSBM1, 0, 0, 1, 2);
197 layout_SBM1->addWidget(sy_lfr_s1_bp_p0, 1, 0, 1, 1);
198 layout_SBM1->addWidget(sy_lfr_s1_bp_p1, 2, 0, 1, 1);
199
200 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p0, 1, 1, 1, 1);
201 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p1, 2, 1, 1, 1);
177 202
178 203 layout_SBM1->setColumnStretch(2, 1);
179 204 layout_SBM1->setRowStretch(3, 1);
180 205
181 206 groupbox_SBM1->setLayout(layout_SBM1);
207
208 connect(this->button_loadSBM1, SIGNAL(clicked()), this, SLOT(sendLoadSBM1()));
182 209 }
183 210
184 211 void ParameterDump::buildSBM2()
185 212 {
186 213 groupbox_SBM2 = new QGroupBox(tr("SBM2_PAR"));
187 214 layout_SBM2 = new QGridLayout();
188 215
189 216 sy_lfr_s2_bp_p0 = new QLabel("sy_lfr_s2_bp_p0 ");
190 217 sy_lfr_s2_bp_p1 = new QLabel("sy_lfr_s2_bp_p1 ");
191 218
192 219 spinbox_sy_lfr_s2_bp_p0 = new QSpinBox();
193 220 spinbox_sy_lfr_s2_bp_p1 = new QSpinBox();
194 221
222 button_loadSBM2 = new QPushButton(tr("LOAD_SBM2"));
223
224 button_loadSBM2->setEnabled(false);
225
195 226 spinbox_sy_lfr_s2_bp_p0->setRange(1, 255);
196 227 spinbox_sy_lfr_s2_bp_p1->setRange(5, 255);
197 228
198 layout_SBM2->addWidget(sy_lfr_s2_bp_p0, 0, 0, 1, 1);
199 layout_SBM2->addWidget(sy_lfr_s2_bp_p1, 1, 0, 1, 1);
200 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p0, 0, 1, 1, 1);
201 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p1, 1, 1, 1, 1);
229 layout_SBM2->addWidget(button_loadSBM2, 0, 0, 1, 2);
230
231 layout_SBM2->addWidget(sy_lfr_s2_bp_p0, 1, 0, 1, 1);
232 layout_SBM2->addWidget(sy_lfr_s2_bp_p1, 2, 0, 1, 1);
233
234 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p0, 1, 1, 1, 1);
235 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p1, 2, 1, 1, 1);
202 236
203 237 layout_SBM2->setColumnStretch(2, 1);
204 238 layout_SBM2->setRowStretch(3, 1);
205 239
206 240 groupbox_SBM2->setLayout(layout_SBM2);
241
242 connect(this->button_loadSBM2, SIGNAL(clicked()), this, SLOT(sendLoadSBM2()));
207 243 }
208 244
209 245 void ParameterDump::buildActions()
210 246 {
211 groupbox_ACTIONS = new QGroupBox(tr("LOAD / DUMP"));
212 layout_ACTIONS = new QGridLayout;
213
214 button_loadCommon = new QPushButton(tr("LOAD_COMM"));
215 button_loadNormal = new QPushButton(tr("LOAD_NORM"));
216 button_loadBurst = new QPushButton(tr("LOAD_BURST"));
217 button_loadSBM1 = new QPushButton(tr("LOAD_SBM1"));
218 button_loadSBM2 = new QPushButton(tr("LOAD_SBM2"));
219 247 button_parameterDump = new QPushButton(tr("DUMP_PAR"));
220 248
221 button_loadCommon->setEnabled(false);
222 button_loadNormal->setEnabled(false);
223 button_loadBurst->setEnabled(false);
224 button_loadSBM1->setEnabled(false);
225 button_loadSBM2->setEnabled(false);
226 249 button_parameterDump->setEnabled(false);
227 250
228 layout_ACTIONS->addWidget(button_loadCommon, 0, 0, 1, 1);
229 layout_ACTIONS->addWidget(button_loadNormal, 0, 1, 1, 1);
230 layout_ACTIONS->addWidget(button_loadBurst, 1, 0, 1, 1);
231 layout_ACTIONS->addWidget(button_parameterDump, 1, 1, 1, 1);
232 layout_ACTIONS->addWidget(button_loadSBM1, 2, 0, 1, 1);
233 layout_ACTIONS->addWidget(button_loadSBM2, 2, 1, 1, 1);
234
235 groupbox_ACTIONS->setLayout(layout_ACTIONS);
236
237 251 connect(this->button_parameterDump, SIGNAL(clicked()), this, SLOT(sendParameterDump()));
238 connect(this->button_loadCommon, SIGNAL(clicked()), this, SLOT(sendLoadCommon()));
239 connect(this->button_loadNormal, SIGNAL(clicked()), this, SLOT(sendLoadNormal()));
240 connect(this->button_loadBurst, SIGNAL(clicked()), this, SLOT(sendLoadBurst()));
241 connect(this->button_loadSBM1, SIGNAL(clicked()), this, SLOT(sendLoadSBM1()));
242 connect(this->button_loadSBM2, SIGNAL(clicked()), this, SLOT(sendLoadSBM2()));
243 252 }
244 253
245 254 void ParameterDump::updateParameterDump(TMPacketToRead *tmPacketToRead)
246 255 {
247 256
248 257 Packet_TM_LFR_PARAMETER_DUMP_t *parameterPacket;
249 258
250 259 parameterPacket = (Packet_TM_LFR_PARAMETER_DUMP_t *) tmPacketToRead->Value;
251 260
252 261 // COMMON
253 262 spinbox_sy_lfr_bw->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x10 ) >> 4 );
254 263 spinbox_sy_lfr_sp0->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x08 ) >> 3 );
255 264 spinbox_sy_lfr_sp1->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x04 ) >> 2 );
256 265 spinbox_sy_lfr_r0->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x02 ) >> 1 );
257 266 spinbox_sy_lfr_r1->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x01 ) );
258 267
259 268 // NORMAL
260 269 spinbox_sy_lfr_n_swf_l->setValue(parameterPacket->sy_lfr_n_swf_l[0] * 256
261 270 + parameterPacket->sy_lfr_n_swf_l[1]);
262 271 spinbox_sy_lfr_n_swf_p->setValue(parameterPacket->sy_lfr_n_swf_p[0] * 256
263 272 + parameterPacket->sy_lfr_n_swf_p[1]);
264 273 spinbox_sy_lfr_n_asm_p->setValue(parameterPacket->sy_lfr_n_asm_p[0] * 256
265 274 + parameterPacket->sy_lfr_n_asm_p[1]);
266 275 spinbox_sy_lfr_n_bp_p0->setValue(parameterPacket->sy_lfr_n_bp_p0);
267 276 spinbox_sy_lfr_n_bp_p1->setValue(parameterPacket->sy_lfr_n_bp_p1);
268 277
269 278 // BURST
270 279 spinbox_sy_lfr_b_bp_p0->setValue(parameterPacket->sy_lfr_b_bp_p0);
271 280 spinbox_sy_lfr_b_bp_p1->setValue(parameterPacket->sy_lfr_b_bp_p1);
272 281
273 282 // SBM1
274 283 spinbox_sy_lfr_s1_bp_p0->setValue(parameterPacket->sy_lfr_s1_bp_p0);
275 284 spinbox_sy_lfr_s1_bp_p1->setValue(parameterPacket->sy_lfr_s1_bp_p1);
276 285
277 286 // SBM2
278 287 spinbox_sy_lfr_s2_bp_p0->setValue(parameterPacket->sy_lfr_s2_bp_p0);
279 288 spinbox_sy_lfr_s2_bp_p1->setValue(parameterPacket->sy_lfr_s2_bp_p1);
280 289 }
281 290
282 291 void ParameterDump::sendParameterDump()
283 292 {
284 293 Packet_TC_LFR_DUMP_PAR_t packet;
285 294 unsigned char crcAsTwoBytes[2];
286 295
287 296 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
288 297 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
289 298 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
290 299 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
291 300 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_DUMP_PAR >> 8);
292 301 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_DUMP_PAR );
293 302
294 303 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
295 304 packet.serviceType = TC_TYPE_DEFAULT;
296 305 packet.serviceSubType = TC_SUBTYPE_DUMP;
297 306 packet.sourceID = SID_DEFAULT;
298 307
299 308 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
300 309 PACKET_LENGTH_TC_LFR_DUMP_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
301 310 packet.crc[0] = crcAsTwoBytes[0];
302 311 packet.crc[1] = crcAsTwoBytes[1];
303 312
304 313 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_DUMP_PAR + CCSDS_TC_TM_PACKET_OFFSET,
305 314 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
306 315 }
307 316
308 317 void ParameterDump::sendLoadCommon()
309 318 {
310 319 Packet_TC_LFR_LOAD_COMMON_PAR_t packet;
311 320 unsigned char crcAsTwoBytes[2];
312 321
313 322 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
314 323 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
315 324 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
316 325 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
317 326 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR >> 8);
318 327 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR );
319 328
320 329 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
321 330 packet.serviceType = TC_TYPE_DEFAULT;
322 331 packet.serviceSubType = TC_SUBTYPE_LOAD_COMMON_PAR;
323 332 packet.sourceID = SID_DEFAULT;
324 333 packet.spare = TC_LFR_LOAD_COMMON_PAR_SPARE;
325 334 packet.bw_sp0_sp1_r0_r1 = (spinbox_sy_lfr_bw->value() << 4)
326 335 + (spinbox_sy_lfr_sp0->value() << 3)
327 336 + (spinbox_sy_lfr_sp1->value() << 2)
328 337 + (spinbox_sy_lfr_r0->value() << 1)
329 338 + (spinbox_sy_lfr_r1->value() );
330 339
331 340 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
332 341 PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
333 342 packet.crc[0] = crcAsTwoBytes[0];
334 343 packet.crc[1] = crcAsTwoBytes[1];
335 344
336 345 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR + CCSDS_TC_TM_PACKET_OFFSET,
337 346 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
338 347 }
339 348
340 349 void ParameterDump::sendLoadNormal()
341 350 {
342 351 Packet_TC_LFR_LOAD_NORMAL_PAR_t packet;
343 352 unsigned char crcAsTwoBytes[2];
344 353
345 354 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
346 355 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
347 356 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
348 357 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
349 358 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR >> 8);
350 359 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR );
351 360
352 361 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
353 362 packet.serviceType = TC_TYPE_DEFAULT;
354 363 packet.serviceSubType = TC_SUBTYPE_LOAD_NORMAL_PAR;
355 364 packet.sourceID = SID_DEFAULT;
356 365 packet.sy_lfr_n_swf_l[0] = (unsigned char) (spinbox_sy_lfr_n_swf_l->value() >> 8);
357 366 packet.sy_lfr_n_swf_l[1] = (unsigned char) (spinbox_sy_lfr_n_swf_l->value() );
358 367 packet.sy_lfr_n_swf_p[0] = (unsigned char) (spinbox_sy_lfr_n_swf_p->value() >> 8);
359 368 packet.sy_lfr_n_swf_p[1] = (unsigned char) (spinbox_sy_lfr_n_swf_p->value() );
360 369 packet.sy_lfr_n_asm_p[0] = (unsigned char) (spinbox_sy_lfr_n_asm_p->value() >> 8);
361 370 packet.sy_lfr_n_asm_p[1] = (unsigned char) (spinbox_sy_lfr_n_asm_p->value() );
362 371 packet.sy_lfr_n_bp_p0 = (unsigned char) (spinbox_sy_lfr_n_bp_p0->value() );
363 372 packet.sy_lfr_n_bp_p1 = (unsigned char) (spinbox_sy_lfr_n_bp_p1->value() );
364 373
365 374 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
366 375 PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
367 376 packet.crc[0] = crcAsTwoBytes[0];
368 377 packet.crc[1] = crcAsTwoBytes[1];
369 378
370 379 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR + CCSDS_TC_TM_PACKET_OFFSET,
371 380 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
372 381 }
373 382
374 383 void ParameterDump::sendLoadBurst()
375 384 {
376 385 Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
377 386 unsigned char crcAsTwoBytes[2];
378 387
379 388 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
380 389 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
381 390 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
382 391 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
383 392 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR >> 8);
384 393 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR );
385 394
386 395 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
387 396 packet.serviceType = TC_TYPE_DEFAULT;
388 397 packet.serviceSubType = TC_SUBTYPE_LOAD_BURST_PAR;
389 398 packet.sourceID = SID_DEFAULT;
390 399 packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_b_bp_p0->value() );
391 400 packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_b_bp_p1->value() );
392 401
393 402 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
394 403 PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
395 404 packet.crc[0] = crcAsTwoBytes[0];
396 405 packet.crc[1] = crcAsTwoBytes[1];
397 406
398 407 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR + CCSDS_TC_TM_PACKET_OFFSET,
399 408 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
400 409 }
401 410
402 411 void ParameterDump::sendLoadSBM1()
403 412 {
404 413 Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
405 414 unsigned char crcAsTwoBytes[2];
406 415
407 416 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
408 417 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
409 418 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
410 419 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
411 420 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR >> 8);
412 421 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR );
413 422
414 423 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
415 424 packet.serviceType = TC_TYPE_DEFAULT;
416 425 packet.serviceSubType = TC_SUBTYPE_LOAD_SBM1_PAR;
417 426 packet.sourceID = SID_DEFAULT;
418 427 packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_s1_bp_p0->value() );
419 428 packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_s1_bp_p1->value() );
420 429
421 430 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
422 431 PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
423 432 packet.crc[0] = crcAsTwoBytes[0];
424 433 packet.crc[1] = crcAsTwoBytes[1];
425 434
426 435 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR + CCSDS_TC_TM_PACKET_OFFSET,
427 436 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
428 437 }
429 438
430 439 void ParameterDump::sendLoadSBM2()
431 440 {
432 441 Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
433 442 unsigned char crcAsTwoBytes[2];
434 443
435 444 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
436 445 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
437 446 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
438 447 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
439 448 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR >> 8);
440 449 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR );
441 450
442 451 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
443 452 packet.serviceType = TC_TYPE_DEFAULT;
444 453 packet.serviceSubType = TC_SUBTYPE_LOAD_SBM2_PAR;
445 454 packet.sourceID = SID_DEFAULT;
446 455 packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_s2_bp_p0->value() );
447 456 packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_s2_bp_p1->value() );
448 457
449 458 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
450 459 PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
451 460 packet.crc[0] = crcAsTwoBytes[0];
452 461 packet.crc[1] = crcAsTwoBytes[1];
453 462
454 463 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR + CCSDS_TC_TM_PACKET_OFFSET,
455 464 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
456 465 }
457 466
458 467 void ParameterDump::actionsSetEnabled(bool state)
459 468 {
460 469 button_parameterDump->setEnabled(state);
461 470 button_loadCommon->setEnabled(state);
462 471 button_loadNormal->setEnabled(state);
463 472 button_loadBurst->setEnabled(state);
464 473 button_loadSBM1->setEnabled(state);
465 474 button_loadSBM2->setEnabled(state);
466 475 }
467 476
468 477 void ParameterDump::GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData)
469 478 {
470 479 packetToSend->GetCRCAsTwoBytes( data, crcAsTwoBytes, sizeOfData );
471 480 }
@@ -1,115 +1,113
1 1 #ifndef PARAMETERDUMP_H
2 2 #define PARAMETERDUMP_H
3 3
4 4 #include <QGroupBox>
5 5 #include <QGridLayout>
6 6 #include <QPushButton>
7 7 #include <QLabel>
8 8 #include <QSpinBox>
9 9 #include <QDoubleSpinBox>
10 10
11 11 #include <tmpackettoread.h>
12 12 #include <TC_types.h>
13 13
14 14 #include "parameterdump_global.h"
15 15 #include "tcpackettosend.h"
16 16
17 17 class PARAMETERDUMPSHARED_EXPORT ParameterDump : public QWidget
18 18 {
19 19 Q_OBJECT
20 20 public:
21 21 explicit ParameterDump(QWidget *parent = 0);
22 22
23 23 void buildTabParameterDump();
24 24 void buildCOMM();
25 25 void buildNORM();
26 26 void buildBURST();
27 27 void buildSBM1();
28 28 void buildSBM2();
29 29 void buildActions();
30 30 void updateParameterDump(TMPacketToRead *tmPacketToRead);
31 31 void actionsSetEnabled(bool state);
32 32
33 33 void GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData);
34 34
35 35 QGroupBox* groupbox_parameterDump;
36 36 QGroupBox* groupbox_COMM;
37 37 QGroupBox* groupbox_NORM;
38 38 QGroupBox* groupbox_BURST;
39 39 QGroupBox* groupbox_SBM1;
40 40 QGroupBox* groupbox_SBM2;
41 QGroupBox* groupbox_ACTIONS;
42 41
43 42 QGridLayout* layout_parameterDump;
44 43 QGridLayout* layout_COMM;
45 44 QGridLayout* layout_NORM;
46 45 QGridLayout* layout_BURST;
47 46 QGridLayout* layout_SBM1;
48 47 QGridLayout* layout_SBM2;
49 QGridLayout* layout_ACTIONS;
50 48
51 49 QPushButton* button_loadCommon;
52 50 QPushButton* button_loadNormal;
53 51 QPushButton* button_loadBurst;
54 52 QPushButton* button_loadSBM1;
55 53 QPushButton* button_loadSBM2;
56 54 QPushButton* button_parameterDump;
57 55 //
58 56 QLabel* sy_lfr_bw;
59 57 QLabel* sy_lfr_sp0;
60 58 QLabel* sy_lfr_sp1;
61 59 QLabel* sy_lfr_r0;
62 60 QLabel* sy_lfr_r1;
63 61 //
64 62 QLabel* sy_lfr_n_swf_l;
65 63 QLabel* sy_lfr_n_swf_p;
66 64 QLabel* sy_lfr_n_asm_p;
67 65 QLabel* sy_lfr_n_bp_p0;
68 66 QLabel* sy_lfr_n_bp_p1;
69 67 //
70 68 QLabel* sy_lfr_b_bp_p0;
71 69 QLabel* sy_lfr_b_bp_p1;
72 70 //
73 71 QLabel* sy_lfr_s1_bp_p0;
74 72 QLabel* sy_lfr_s1_bp_p1;
75 73 //
76 74 QLabel* sy_lfr_s2_bp_p0;
77 75 QLabel* sy_lfr_s2_bp_p1;
78 76
79 77 QSpinBox* spinbox_sy_lfr_bw;
80 78 QSpinBox* spinbox_sy_lfr_sp0;
81 79 QSpinBox* spinbox_sy_lfr_sp1;
82 80 QSpinBox* spinbox_sy_lfr_r0;
83 81 QSpinBox* spinbox_sy_lfr_r1;
84 82 //
85 83 QSpinBox* spinbox_sy_lfr_n_swf_l;
86 84 QSpinBox* spinbox_sy_lfr_n_swf_p;
87 85 QSpinBox* spinbox_sy_lfr_n_asm_p;
88 86 QSpinBox* spinbox_sy_lfr_n_bp_p0;
89 87 QSpinBox* spinbox_sy_lfr_n_bp_p1;
90 88 //
91 89 QSpinBox* spinbox_sy_lfr_b_bp_p0;
92 90 QSpinBox* spinbox_sy_lfr_b_bp_p1;
93 91 //
94 92 QDoubleSpinBox* spinbox_sy_lfr_s1_bp_p0;
95 93 QSpinBox* spinbox_sy_lfr_s1_bp_p1;
96 94 //
97 95 QSpinBox* spinbox_sy_lfr_s2_bp_p0;
98 96 QSpinBox* spinbox_sy_lfr_s2_bp_p1;
99 97
100 98 TCPacketToSend* packetToSend;
101 99
102 100 signals:
103 101 unsigned int WriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
104 102
105 103 public slots:
106 104 void sendParameterDump();
107 105 void sendLoadCommon();
108 106 void sendLoadNormal();
109 107 void sendLoadBurst();
110 108 void sendLoadSBM1();
111 109 void sendLoadSBM2();
112 110
113 111 };
114 112
115 113 #endif // PARAMETERDUMP_H
@@ -1,52 +1,53
1 1 #ifndef PARAMS_H
2 2 #define PARAMS_H
3 3
4 4 #define XMAX 2048
5 5 #define YMAX 35000
6 6 #define FONT_SIZE_WAVEFORM_TITLE 10
7 7 #define DEFAULT_SIZE 2048
8 8 #define BLK_SIZE 12
9 #define BLK_SIZE_CWF3_LIGHT 6
9 10
10 11 //****************
11 12 // TM packets SIDs
12 13 #define SID_NORMAL_SWF_F0 3
13 14 #define SID_NORMAL_SWF_F1 4
14 15 #define SID_NORMAL_SWF_F2 5
15 16 #define SID_NORMAL_CWF_F3 1
16 17 #define SID_NORMAL_ASM_F0 11
17 18 #define SID_NORMAL_ASM_F1 12
18 19 #define SID_NORMAL_ASM_F2 13
19 20 #define SID_NORMAL_BP1_F0 14
20 21 #define SID_NORMAL_BP1_F1 15
21 22 #define SID_NORMAL_BP1_F2 16
22 23 #define SID_NORMAL_BP2_F0 19
23 24 #define SID_NORMAL_BP2_F1 20
24 25 #define SID_NORMAL_BP2_F2 21
25 26 //
26 27 #define SID_BURST_CWF_F2 2
27 28 #define SID_BURST_BP1_F0 17
28 29 #define SID_BURST_BP2_F0 22
29 30 #define SID_BURST_BP1_F1 18
30 31 #define SID_BURST_BP2_F1 23
31 32 //
32 33 #define SID_SBM1_CWF_F1 24
33 34 #define SID_SBM1_BP1_F0 28
34 35 #define SID_SBM1_BP2_F0 31
35 36 //
36 37 #define SID_SBM2_CWF_F2 25
37 38 #define SID_SBM2_BP1_F0 29
38 39 #define SID_SBM2_BP2_F0 32
39 40 #define SID_SBM2_BP1_F1 30
40 41 #define SID_SBM2_BP2_F1 33
41 42
42 43 #define TYPE_HK 3
43 44
44 45 #define SUBTYPE_HK 25
45 46
46 47 //*****
47 48 // RMAP
48 49 #define DEFAULT_DESTINATION_KEY 2
49 50 #define DEFAULT_SOURCE 1
50 51 #define DEFAULT_TARGET 254
51 52
52 53 #endif // PARAMS_H
@@ -1,881 +1,903
1 1 #include "tmstatistics.h"
2 2 #include <QtGui>
3 3 #include <QFontInfo>
4 4 #include <stdio.h>
5 5
6 6 TMStatistics::TMStatistics(QWidget *parent) :
7 7 QWidget(parent)
8 8 {
9 9 // Create Fonts
10 10 QFont font;
11 11 font = QFont(this->fontInfo().family(), STATISTICS_FONT_SIZE, QFont::Light);
12 12
13 13 label_UNKNOWN = new QLabel("UNKNOWN");
14 14 label_UNKNOWN_nb = new QLabel("-");
15 15
16 16 mainLayout = new QGridLayout();
17 17 layout_stat = new QGridLayout(); // TM stastictics
18 18 layout_NORM = new QGridLayout(); // TM_LFR_SCIENCE_NORMAL_
19 19 layout_BURST = new QGridLayout(); // TM_LFR_SCIENCE_BURST_
20 20 layout_SBM1 = new QGridLayout(); // TM_LFR_SCIENCE_SBM1_
21 21 layout_SBM2 = new QGridLayout(); // TM_LFR_SCIENCE_SBM2_
22 22 layout_last = new QGridLayout(); // last TM description
23 23 layout_record = new QVBoxLayout();
24 24
25 25 //***************
26 26 // TM_LFR_TC_EXE_
27 27 label_SUCC = new QLabel("SUCCESS");
28 28 label_INCO = new QLabel("INCONSISTENT");
29 29 label_NOTE = new QLabel("NOT_EXECUTABLE");
30 30 label_NOTI = new QLabel("NOT_IMPLEMENTED");
31 31 label_ERRO = new QLabel("ERROR");
32 32 label_CORR = new QLabel("CORRUPTED");
33 33 label_HK = new QLabel("TM_LFR_HK");
34 34 label_DUMP = new QLabel("TM_LFR_PARAMETER_DUMP");
35 35 //
36 36 label_SUCC_nb = new QLabel("-");
37 37 label_INCO_nb = new QLabel("-");
38 38 label_NOTE_nb = new QLabel("-");
39 39 label_NOTI_nb = new QLabel("-");
40 40 label_ERRO_nb = new QLabel("-");
41 41 label_CORR_nb = new QLabel("-");
42 42 label_HK_nb = new QLabel("-");
43 43 label_DUMP_nb = new QLabel("-");
44 44
45 45 //***********************
46 46 // TM_LFR_SCIENCE_NORMAL_
47 47 label_NORM_SWF_F0 = new QLabel("SWF_F0");
48 48 label_NORM_SWF_F1 = new QLabel("SWF_F1");
49 49 label_NORM_SWF_F2 = new QLabel("SWF_F2");
50 50 label_NORM_CWF_F3 = new QLabel("CWF_F3");
51 51 label_NORM_ASM_F0 = new QLabel("ASM_F0");
52 52 label_NORM_ASM_F1 = new QLabel("ASM_F1");
53 53 label_NORM_ASM_F2 = new QLabel("ASM_F2");
54 54 label_NORM_BP1_F0 = new QLabel("BP1_F0");
55 55 label_NORM_BP1_F1 = new QLabel("BP1_F1");
56 56 label_NORM_BP1_F2 = new QLabel("BP1_F2");
57 57 label_NORM_BP2_F0 = new QLabel("BP2_F0");
58 58 label_NORM_BP2_F1 = new QLabel("BP2_F1");
59 59 label_NORM_BP2_F2 = new QLabel("BP2_F2");
60 60 //
61 61 label_NORM_SWF_F0_nb = new QLabel("-");
62 62 label_NORM_SWF_F1_nb = new QLabel("-");
63 63 label_NORM_SWF_F2_nb = new QLabel("-");
64 64 label_NORM_CWF_F3_nb = new QLabel("-");
65 65 label_NORM_ASM_F0_nb = new QLabel("-");
66 66 label_NORM_ASM_F1_nb = new QLabel("-");
67 67 label_NORM_ASM_F2_nb = new QLabel("-");
68 68 label_NORM_BP1_F0_nb = new QLabel("-");
69 69 label_NORM_BP1_F1_nb = new QLabel("-");
70 70 label_NORM_BP1_F2_nb = new QLabel("-");
71 71 label_NORM_BP2_F0_nb = new QLabel("-");
72 72 label_NORM_BP2_F1_nb = new QLabel("-");
73 73 label_NORM_BP2_F2_nb = new QLabel("-");
74 74
75 75 //**********************
76 76 // TM_LFR_SCIENCE_BURST_
77 77 label_BURST_CWF_F2 = new QLabel("CWF_F2");
78 78 label_BURST_BP1_F0 = new QLabel("BP1_F0");
79 79 label_BURST_BP2_F0 = new QLabel("BP2_F0");
80 80 label_BURST_BP1_F1 = new QLabel("BP1_F1");
81 81 label_BURST_BP2_F1 = new QLabel("BP2_F1");
82 82 //
83 83 label_BURST_CWF_F2_nb = new QLabel("-");
84 84 label_BURST_BP1_F0_nb = new QLabel("-");
85 85 label_BURST_BP2_F0_nb = new QLabel("-");
86 86 label_BURST_BP1_F1_nb = new QLabel("-");
87 87 label_BURST_BP2_F1_nb = new QLabel("-");
88 88
89 89 //*********************
90 90 // TM_LFR_SCIENCE_SBM1_
91 91 label_SBM1_CWF_F1 = new QLabel("CWF_F1");
92 92 label_SBM1_BP1_F0 = new QLabel("BP1_F0");
93 93 label_SBM1_BP2_F0 = new QLabel("BP2_F0");
94 94 //
95 95 label_SBM1_CWF_F1_nb = new QLabel("-");
96 96 label_SBM1_BP1_F0_nb = new QLabel("-");
97 97 label_SBM1_BP2_F0_nb = new QLabel("-");
98 98
99 99 //*********************
100 100 // TM_LFR_SCIENCE_SBM2_
101 101 label_SBM2_CWF_F2 = new QLabel("CWF_F2");
102 102 label_SBM2_BP1_F0 = new QLabel("BP1_F0");
103 103 label_SBM2_BP2_F0 = new QLabel("BP2_F0");
104 104 label_SBM2_BP1_F1 = new QLabel("BP1_F1");
105 105 label_SBM2_BP2_F1 = new QLabel("BP2_F1");
106 106 //
107 107 label_SBM2_CWF_F2_nb = new QLabel("-");
108 108 label_SBM2_BP1_F0_nb = new QLabel("-");
109 109 label_SBM2_BP2_F0_nb = new QLabel("-");
110 110 label_SBM2_BP1_F1_nb = new QLabel("-");
111 111 label_SBM2_BP2_F1_nb = new QLabel("-");
112 112
113 113 //********
114 114 // LAST TM
115 115 label_PID = new QLabel("PID");
116 116 label_CAT = new QLabel("CAT");
117 117 label_TYP = new QLabel("Type");
118 118 label_SUB = new QLabel("Subtype");
119 119 label_SID = new QLabel("SID");
120 120 label_SIZ = new QLabel("Length");
121 121 label_coarse_time = new QLabel("Coarse time: ");
122 122 label_fine_time = new QLabel("Fine time: ");
123 123 //
124 124 label_PID_is = new QLabel("-");
125 125 label_CAT_is = new QLabel("-");
126 126 label_TYP_is = new QLabel("-");
127 127 label_SUB_is = new QLabel("-");
128 128 label_SID_is = new QLabel("-");
129 129 label_SIZ_is = new QLabel("-");
130 130 label_coarse_time_val = new QLabel("-");
131 131 label_fine_time_val = new QLabel("-");
132 132
133 133 // QPushButton
134 134 button_reset_stat = new QPushButton("reset stat");
135 135 button_chooseDir = new QPushButton("choose dir");
136 136
137 137 //QCheckBox
138 138 checkbox_record = new QCheckBox("Record packets");
139 139 checkbox_packetLog = new QCheckBox("Log packets");
140 140 label_currentDir = new QLabel("Current Dir: -");
141 141
142 142 //**********
143 143 // QGroupBox
144 144 this->setStyleSheet("QGroupBox {border: 1px solid black; }");
145 145
146 146 groupbox_stat = new QGroupBox("TM_LFR_TC_EXE_");
147 147 groupbox_NORM = new QGroupBox("TM_LFR_SCIENCE_NORMAL_");
148 148 groupbox_BURST = new QGroupBox("TM_LFR_SCIENCE_BURST_");
149 149 groupbox_SBM1 = new QGroupBox("TM_LFR_SCIENCE_SBM1_");
150 150 groupbox_SBM2 = new QGroupBox("TM_LFR_SCIENCE_SBM2_");
151 151 groupbox_last = new QGroupBox("Last TM received");
152 152 groupbox_record = new QGroupBox("Packet recording");
153 153
154 154 readSettings();
155 155 logFile = new QFile();
156 156 packetLogFile = new QFile();
157 157 logFileEn = false;
158 158 packetLogFileEn = false;
159 159
160 160 initConstants();
161 161
162 162 buildMonitor_NORM();
163 163 buildMonitor_BURST();
164 164 buildMonitor_SBM1();
165 165 buildMonitor_SBM2();
166 166 buildMonitor();
167 167
168 168 groupbox_stat->setFont(font);
169 169 groupbox_NORM->setFont(font);
170 170 groupbox_BURST->setFont(font);
171 171 groupbox_SBM1->setFont(font);
172 172 groupbox_SBM2->setFont(font);
173 173 groupbox_last->setFont(font);
174 174 groupbox_record->setFont(font);
175 175
176 176 connect(this->button_reset_stat, SIGNAL(clicked()), this, SLOT(resetStatistics()));
177 177 connect(this->button_chooseDir, SIGNAL(clicked()), this, SLOT(chooseDir()));
178 178
179 179 connect(this->checkbox_record, SIGNAL(stateChanged(int)), this, SLOT(storePackets(int)));
180 180 connect(this->checkbox_packetLog, SIGNAL(stateChanged(int)), this, SLOT(logPackets(int)));
181 181 }
182 182
183 183 void TMStatistics::initConstants()
184 184 {
185 185 UNKNOWN_nb = 0;
186 186
187 187 // TM_LFR_TC_EXE_
188 188 SUCC_nb = 0;
189 189 INCO_nb = 0;
190 190 NOTE_nb = 0;
191 191 NOTI_nb = 0;
192 192 ERRO_nb = 0;
193 193 CORR_nb = 0;
194 194 HK_nb = 0;
195 195 DUMP_nb = 0;
196 196
197 197 // TM_LFR_SCIENCE_NORMAL_
198 198 NORM_SWF_F0_nb = 0;
199 199 NORM_SWF_F1_nb = 0;
200 200 NORM_SWF_F2_nb = 0;
201 201 NORM_CWF_F3_nb = 0;
202 202 NORM_ASM_F0_nb = 0;
203 203 NORM_ASM_F1_nb = 0;
204 204 NORM_ASM_F2_nb = 0;
205 205 NORM_BP1_F0_nb = 0;
206 206 NORM_BP1_F1_nb = 0;
207 207 NORM_BP1_F2_nb = 0;
208 208 NORM_BP2_F0_nb = 0;
209 209 NORM_BP2_F1_nb = 0;
210 210 NORM_BP2_F2_nb = 0;
211 211
212 212 BURST_CWF_F2_nb = 0;
213 213 BURST_BP1_F0_nb = 0;
214 214 BURST_BP2_F0_nb = 0;
215 215 BURST_BP1_F1_nb = 0;
216 216 BURST_BP2_F1_nb = 0;
217 217 SBM1_CWF_F1_nb = 0;
218 218 SBM1_BP1_F0_nb = 0;
219 219 SBM1_BP2_F0_nb = 0;
220 220 SBM2_CWF_F2_nb = 0;
221 221 SBM2_BP1_F0_nb = 0;
222 222 SBM2_BP2_F0_nb = 0;
223 223 SBM2_BP1_F1_nb = 0;
224 224 SBM2_BP2_F1_nb = 0;
225 225 }
226 226
227 227 void TMStatistics::buildMonitor_NORM()
228 228 {
229 229 layout_NORM->addWidget(label_NORM_SWF_F0, 0, 0, 1, 1);
230 230 layout_NORM->addWidget(label_NORM_SWF_F1, 1, 0, 1, 1);
231 231 layout_NORM->addWidget(label_NORM_SWF_F2, 2, 0, 1, 1);
232 232 layout_NORM->addWidget(label_NORM_CWF_F3, 3, 0, 1, 1);
233 233 //
234 234 layout_NORM->addWidget(label_NORM_SWF_F0_nb, 0, 1, 1, 1);
235 235 layout_NORM->addWidget(label_NORM_SWF_F1_nb, 1, 1, 1, 1);
236 236 layout_NORM->addWidget(label_NORM_SWF_F2_nb, 2, 1, 1, 1);
237 237 layout_NORM->addWidget(label_NORM_CWF_F3_nb, 3, 1, 1, 1);
238 238 //
239 239 layout_NORM->addWidget(label_NORM_ASM_F0, 4, 0, 1, 1);
240 240 layout_NORM->addWidget(label_NORM_ASM_F1, 5, 0, 1, 1);
241 241 layout_NORM->addWidget(label_NORM_ASM_F2, 6, 0, 1, 1);
242 242 //
243 243 layout_NORM->addWidget(label_NORM_ASM_F0_nb, 4, 1, 1, 1);
244 244 layout_NORM->addWidget(label_NORM_ASM_F1_nb, 5, 1, 1, 1);
245 245 layout_NORM->addWidget(label_NORM_ASM_F2_nb, 6, 1, 1, 1);
246 246 //
247 247 layout_NORM->addWidget(label_NORM_BP1_F0, 0, 2, 1, 1);
248 248 layout_NORM->addWidget(label_NORM_BP1_F1, 1, 2, 1, 1);
249 249 layout_NORM->addWidget(label_NORM_BP1_F2, 2, 2, 1, 1);
250 250 layout_NORM->addWidget(label_NORM_BP2_F0, 3, 2, 1, 1);
251 251 layout_NORM->addWidget(label_NORM_BP2_F1, 4, 2, 1, 1);
252 252 layout_NORM->addWidget(label_NORM_BP2_F2, 5, 2, 1, 1);
253 253 //
254 254 layout_NORM->addWidget(label_NORM_BP1_F0_nb, 0, 3, 1, 1);
255 255 layout_NORM->addWidget(label_NORM_BP1_F1_nb, 1, 3, 1, 1);
256 256 layout_NORM->addWidget(label_NORM_BP1_F2_nb, 2, 3, 1, 1);
257 257 layout_NORM->addWidget(label_NORM_BP2_F0_nb, 3, 3, 1, 1);
258 258 layout_NORM->addWidget(label_NORM_BP2_F1_nb, 4, 3, 1, 1);
259 259 layout_NORM->addWidget(label_NORM_BP2_F2_nb, 5, 3, 1, 1);
260 260 }
261 261
262 262 void TMStatistics::buildMonitor_BURST()
263 263 {
264 264 layout_BURST->addWidget(label_BURST_CWF_F2, 0, 0, 1, 1);
265 265 layout_BURST->addWidget(label_BURST_BP1_F0, 1, 0, 1, 1);
266 266 layout_BURST->addWidget(label_BURST_BP2_F0, 2, 0, 1, 1);
267 267 layout_BURST->addWidget(label_BURST_BP1_F1, 3, 0, 1, 1);
268 268 layout_BURST->addWidget(label_BURST_BP2_F1, 4, 0, 1, 1);
269 269 //
270 270 layout_BURST->addWidget(label_BURST_CWF_F2_nb, 0, 1, 1, 1);
271 271 layout_BURST->addWidget(label_BURST_BP1_F0_nb, 1, 1, 1, 1);
272 272 layout_BURST->addWidget(label_BURST_BP2_F0_nb, 2, 1, 1, 1);
273 273 layout_BURST->addWidget(label_BURST_BP1_F1_nb, 3, 1, 1, 1);
274 274 layout_BURST->addWidget(label_BURST_BP2_F1_nb, 4, 1, 1, 1);
275 275 //
276 276 layout_BURST->setRowStretch(5, 1);
277 277 layout_BURST->setColumnStretch(2,1);
278 278 }
279 279
280 280 void TMStatistics::buildMonitor_SBM1()
281 281 {
282 282 layout_SBM1->addWidget(label_SBM1_CWF_F1, 0, 0, 1, 1);
283 283 layout_SBM1->addWidget(label_SBM1_BP1_F0, 1, 0, 1, 1);
284 284 layout_SBM1->addWidget(label_SBM1_BP2_F0, 2, 0, 1, 1);
285 285 //
286 286 layout_SBM1->addWidget(label_SBM1_CWF_F1_nb, 0, 1, 1, 1);
287 287 layout_SBM1->addWidget(label_SBM1_BP1_F0_nb, 1, 1, 1, 1);
288 288 layout_SBM1->addWidget(label_SBM1_BP2_F0_nb, 2, 1, 1, 1);
289 289 //
290 290 layout_SBM1->setRowStretch(3, 1);
291 291 layout_SBM1->setColumnStretch(2,1);
292 292 }
293 293
294 294 void TMStatistics::buildMonitor_SBM2()
295 295 {
296 296 layout_SBM2->addWidget(label_SBM2_CWF_F2, 0, 0, 1, 1);
297 297 layout_SBM2->addWidget(label_SBM2_BP1_F0, 1, 0, 1, 1);
298 298 layout_SBM2->addWidget(label_SBM2_BP2_F0, 2, 0, 1, 1);
299 299 layout_SBM2->addWidget(label_SBM2_BP1_F1, 3, 0, 1, 1);
300 300 layout_SBM2->addWidget(label_SBM2_BP2_F1, 4, 0, 1, 1);
301 301 //
302 302 layout_SBM2->addWidget(label_SBM2_CWF_F2_nb, 0, 1, 1, 1);
303 303 layout_SBM2->addWidget(label_SBM2_BP1_F0_nb, 1, 1, 1, 1);
304 304 layout_SBM2->addWidget(label_SBM2_BP2_F0_nb, 2, 1, 1, 1);
305 305 layout_SBM2->addWidget(label_SBM2_BP1_F1_nb, 3, 1, 1, 1);
306 306 layout_SBM2->addWidget(label_SBM2_BP2_F1_nb, 4, 1, 1, 1);
307 307 //
308 308 layout_SBM2->setRowStretch(5, 1);
309 309 layout_SBM2->setColumnStretch(2,1);
310 310 }
311 311
312 312 void TMStatistics::buildMonitor()
313 313 {
314 314 //***************
315 315 // TM_LFR_TC_EXE_
316 316 layout_stat->addWidget(label_SUCC, 0, 0, 1, 1);
317 317 layout_stat->addWidget(label_INCO, 1, 0, 1, 1);
318 318 layout_stat->addWidget(label_NOTE, 2, 0, 1, 1);
319 319 layout_stat->addWidget(label_NOTI, 3, 0, 1, 1);
320 320 layout_stat->addWidget(label_ERRO, 4, 0, 1, 1);
321 321 layout_stat->addWidget(label_CORR, 5, 0, 1, 1);
322 322 layout_stat->addWidget(label_HK, 6, 0, 1, 1);
323 323 layout_stat->addWidget(label_DUMP, 7, 0, 1, 1);
324 324 //
325 325 layout_stat->addWidget(label_SUCC_nb, 0, 1, 1, 1);
326 326 layout_stat->addWidget(label_INCO_nb, 1, 1, 1, 1);
327 327 layout_stat->addWidget(label_NOTE_nb, 2, 1, 1, 1);
328 328 layout_stat->addWidget(label_NOTI_nb, 3, 1, 1, 1);
329 329 layout_stat->addWidget(label_ERRO_nb, 4, 1, 1, 1);
330 330 layout_stat->addWidget(label_CORR_nb, 5, 1, 1, 1);
331 331 layout_stat->addWidget(label_HK_nb, 6, 1, 1, 1);
332 332 layout_stat->addWidget(label_DUMP_nb, 7, 1, 1, 1);
333 333
334 334 //********
335 335 // LAST TM
336 336 layout_last->addWidget(label_PID, 0, 0, 1, 1);
337 337 layout_last->addWidget(label_CAT, 0, 1, 1, 1);
338 338 layout_last->addWidget(label_TYP, 0, 2, 1, 1);
339 339 layout_last->addWidget(label_SUB, 0, 3, 1, 1);
340 340 layout_last->addWidget(label_SID, 0, 4, 1, 1);
341 341 layout_last->addWidget(label_SIZ, 0, 5, 1, 1);
342 342 //
343 343 layout_last->addWidget(label_PID_is, 1, 0, 1, 1);
344 344 layout_last->addWidget(label_CAT_is, 1, 1, 1, 1);
345 345 layout_last->addWidget(label_TYP_is, 1, 2, 1, 1);
346 346 layout_last->addWidget(label_SUB_is, 1, 3, 1, 1);
347 347 layout_last->addWidget(label_SID_is, 1, 4, 1, 1);
348 348 layout_last->addWidget(label_SIZ_is, 1, 5, 1, 1);
349 349 //
350 350 layout_last->addWidget(label_coarse_time, 2, 0, 1, 1);
351 351 layout_last->addWidget(label_coarse_time_val, 2, 1, 1, 1);
352 352 layout_last->addWidget(label_fine_time, 2, 2, 1, 1);
353 353 layout_last->addWidget(label_fine_time_val, 2, 3, 1, 1);
354 354 //
355 355 layout_last->addWidget(label_UNKNOWN, 3, 0, 1, 1);
356 356 layout_last->addWidget(label_UNKNOWN_nb, 3, 1, 1, 1);
357 357
358 358 layout_record->addWidget(checkbox_record);
359 359 layout_record->addWidget(checkbox_packetLog);
360 360 layout_record->addWidget(button_chooseDir);
361 361 layout_record->addWidget(label_currentDir);
362 362 layout_record->insertStretch(4, 1);
363 363
364 364 //***********
365 365 // groupboxes
366 366 groupbox_stat->setLayout(layout_stat);
367 367 groupbox_NORM->setLayout(layout_NORM);
368 368 groupbox_BURST->setLayout(layout_BURST);
369 369 groupbox_SBM1->setLayout(layout_SBM1);
370 370 groupbox_SBM2->setLayout(layout_SBM2);
371 371 groupbox_last->setLayout(layout_last);
372 372 groupbox_record->setLayout(layout_record);
373 373 //
374 374 mainLayout->addWidget(groupbox_stat, 0, 0, 1, 1);
375 375 mainLayout->addWidget(groupbox_NORM, 1, 0, 1, 1);
376 376 mainLayout->addWidget(groupbox_last, 2, 0, 1, 2);
377 377 mainLayout->addWidget(groupbox_SBM1, 0, 1, 1, 1);
378 378 mainLayout->addWidget(groupbox_SBM2, 0, 2, 1, 1);
379 379 mainLayout->addWidget(groupbox_BURST, 1, 1, 1, 1);
380 380 mainLayout->addWidget(groupbox_record, 1, 2, 1, 1);
381 381 mainLayout->addWidget(button_reset_stat, 3, 0, 1, 3);
382 382 mainLayout->setColumnStretch(3, 1);
383 383 mainLayout->setRowStretch(4, 1);
384 384 //
385 385 this->setLayout(mainLayout);
386 386 }
387 387
388 388 void TMStatistics::resetStatistics()
389 389 {
390 390 initConstants();
391 391 //
392 392 label_UNKNOWN_nb->setText("-");
393 393 label_SUCC_nb->setText("-");
394 394 label_INCO_nb->setText("-");
395 395 label_NOTE_nb->setText("-");
396 396 label_NOTI_nb->setText("-");
397 397 label_ERRO_nb->setText("-");
398 398 label_CORR_nb->setText("-");
399 399 label_HK_nb->setText("-");
400 400 label_DUMP_nb->setText("-");
401 401 //
402 402 label_NORM_SWF_F0_nb->setText("-");
403 403 label_NORM_SWF_F1_nb->setText("-");
404 404 label_NORM_SWF_F2_nb->setText("-");
405 405 label_NORM_CWF_F3_nb->setText("-");
406 406 label_NORM_ASM_F0_nb->setText("-");
407 407 //
408 408 label_BURST_CWF_F2_nb->setText("-");
409 409 //
410 410 label_SBM1_CWF_F1_nb->setText("-");
411 411 //
412 412 label_SBM2_CWF_F2_nb->setText("-");
413 413 //
414 414 label_PID_is->setText("-");
415 415 label_CAT_is->setText("-");
416 416 label_TYP_is->setText("-");
417 417 label_SUB_is->setText("-");
418 418 label_SID_is->setText("-");
419 419 label_SIZ_is->setText("-");
420 420 //
421 421 label_coarse_time_val->setText("-");
422 422 label_fine_time_val->setText("-");
423 423 }
424 424
425 425 void TMStatistics::updateStatistics(unsigned char pid, unsigned char cat,
426 426 unsigned char typ, unsigned char sub,
427 427 unsigned int sid, unsigned int length,
428 428 unsigned int coarse_t, unsigned int fine_t)
429 429 {
430 430 if (cat == TM_PACKET_CAT_TC_EXE)
431 431 {
432 432 if (typ == TM_TYPE_TC_EXE)
433 433 {
434 434 if (sub == TM_SUBTYPE_EXE_OK)
435 435 {
436 436 SUCC_nb = SUCC_nb + 1;
437 437 label_SUCC_nb->setText(QString::number(SUCC_nb));
438 438 }
439 439 else if (sub == TM_SUBTYPE_EXE_NOK)
440 440 {
441 441 if (sid == SID_EXE_INC)
442 442 {
443 443 INCO_nb = INCO_nb + 1;
444 444 label_INCO_nb->setText(QString::number(INCO_nb));
445 445 }
446 446 else if (sid == SID_NOT_EXE)
447 447 {
448 448 NOTE_nb = NOTE_nb + 1;
449 449 label_NOTE_nb->setText(QString::number(NOTE_nb));
450 450 }
451 451 else if (sid == SID_NOT_IMP)
452 452 {
453 453 NOTI_nb = NOTI_nb + 1;
454 454 label_NOTI_nb->setText(QString::number(NOTI_nb));
455 455 }
456 456 else if (sid == SID_EXE_ERR)
457 457 {
458 458 ERRO_nb = ERRO_nb + 1;
459 459 label_ERRO_nb->setText(QString::number(ERRO_nb));
460 460 }
461 461 else if (sid == SID_EXE_CORR)
462 462 {
463 463 CORR_nb = CORR_nb + 1;
464 464 label_CORR_nb->setText(QString::number(CORR_nb));
465 465 }
466 466 else incrementUnknown();
467 467 }
468 468 else incrementUnknown();
469 469 }
470 470 else
471 471 incrementUnknown();
472 472 }
473 473 else if (cat == TM_PACKET_CAT_HK)
474 474 {
475 475 if (typ == TM_TYPE_HK)
476 476 {
477 477 if (sub == TM_SUBTYPE_HK)
478 478 if (sid == SID_HK)
479 479 {
480 480 HK_nb = HK_nb + 1;
481 481 label_HK_nb->setText(QString::number(HK_nb));
482 482 }
483 483 else
484 484 {
485 485 incrementUnknown();
486 486 }
487 487 else
488 488 {
489 489 incrementUnknown();
490 490 }
491 491 }
492 492 else
493 493 {
494 494 incrementUnknown();
495 495 }
496 496 }
497 497 else if (cat == TM_PACKET_CAT_PARAMETER_DUMP)
498 498 {
499 499 if (typ == TM_TYPE_PARAMETER_DUMP)
500 500 {
501 501 if (sub == TM_SUBTYPE_PARAMETER_DUMP)
502 502 if (sid == SID_PARAMETER_DUMP)
503 503 {
504 504 DUMP_nb = DUMP_nb + 1;
505 505 label_DUMP_nb->setText(QString::number(DUMP_nb));
506 506 }
507 507 else
508 508 {
509 509 incrementUnknown();
510 510 }
511 511 else
512 512 {
513 513 incrementUnknown();
514 514 }
515 515 }
516 516 else
517 517 {
518 518 incrementUnknown();
519 519 }
520 520 }
521 521 else if (cat == TM_PACKET_CAT_SCIENCE)
522 522 {
523 523 if (typ == TM_TYPE_LFR_SCIENCE)
524 524 {
525 525 if (sub == TM_SUBTYPE_SCIENCE)
526 526 {
527 527 if (sid == SID_NORM_CWF_F3)
528 528 {
529 529 NORM_CWF_F3_nb = NORM_CWF_F3_nb + 1;
530 530 label_NORM_CWF_F3_nb->setText(QString::number(NORM_CWF_F3_nb));
531 531 }
532 532 else if (sid == SID_BURST_CWF_F2)
533 533 {
534 534 BURST_CWF_F2_nb = BURST_CWF_F2_nb + 1;
535 535 label_BURST_CWF_F2_nb->setText(QString::number(BURST_CWF_F2_nb));
536 536 }
537 537 else if (sid == SID_NORM_SWF_F0)
538 538 {
539 539 NORM_SWF_F0_nb = NORM_SWF_F0_nb + 1;
540 540 label_NORM_SWF_F0_nb->setText(QString::number(NORM_SWF_F0_nb));
541 541 }
542 542 else if (sid == SID_NORM_SWF_F1)
543 543 {
544 544 NORM_SWF_F1_nb = NORM_SWF_F1_nb + 1;
545 545 label_NORM_SWF_F1_nb->setText(QString::number(NORM_SWF_F1_nb));
546 546 }
547 547 else if (sid == SID_NORM_SWF_F2)
548 548 {
549 549 NORM_SWF_F2_nb = NORM_SWF_F2_nb + 1;
550 550 label_NORM_SWF_F2_nb->setText(QString::number(NORM_SWF_F2_nb));
551 551 }
552 552 else if (sid == SID_NORM_ASM_F0)
553 553 {
554 554 NORM_ASM_F0_nb = NORM_ASM_F0_nb + 1;
555 555 label_NORM_ASM_F0_nb->setText(QString::number(NORM_ASM_F0_nb));
556 556 }
557 557 else if (sid == SID_SBM1_CWF_F1)
558 558 {
559 559 SBM1_CWF_F1_nb = SBM1_CWF_F1_nb + 1;
560 560 label_SBM1_CWF_F1_nb->setText(QString::number(SBM1_CWF_F1_nb));
561 561 }
562 562 else if (sid == SID_SBM2_CWF_F2)
563 563 {
564 564 SBM2_CWF_F2_nb = SBM2_CWF_F2_nb + 1;
565 565 label_SBM2_CWF_F2_nb->setText(QString::number(SBM2_CWF_F2_nb));
566 566 }
567 567 else
568 568 {
569 569 incrementUnknown();
570 570 }
571 571 }
572 572 }
573 573 else
574 574 {
575 575 incrementUnknown();
576 576 }
577 577 }
578 578 else
579 579 {
580 580 incrementUnknown();
581 581 }
582 582
583 583 label_PID_is->setText(QString::number(pid));
584 584 label_CAT_is->setText(QString::number(cat));
585 585 label_TYP_is->setText(QString::number(typ));
586 586 label_SUB_is->setText(QString::number(sub));
587 587 label_SID_is->setText(QString::number(sid));
588 588 label_SIZ_is->setText(QString::number(length));
589 589 label_coarse_time_val->setText(QString::number(coarse_t, 16));
590 590 label_fine_time_val->setText(QString::number(fine_t, 16));
591 591 }
592 592
593 593 void TMStatistics::incrementUnknown()
594 594 {
595 595 UNKNOWN_nb = UNKNOWN_nb + 1;
596 596 label_UNKNOWN_nb->setText(QString::number(UNKNOWN_nb));
597 597 }
598 598
599 599 unsigned char TMStatistics::getPID(TMPacketToRead *packet)
600 600 {
601 601 unsigned char pid = 0;
602 602
603 603 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
604 604
605 605 return pid;
606 606 }
607 607
608 608 unsigned char TMStatistics::getCAT(TMPacketToRead *packet)
609 609 {
610 610 unsigned char cat = 0;
611 611
612 612 cat = packet->Value[5] & 0x0f;
613 613
614 614 return cat;
615 615 }
616 616
617 unsigned char TMStatistics::getSegmentationGroupingFlag(TMPacketToRead *packet)
618 {
619 unsigned char segmentationGroupingFlag;
620
621 segmentationGroupingFlag = (unsigned char) (packet->Value[6] >> 6);
622
623 return segmentationGroupingFlag;
624 }
625
617 626 unsigned char TMStatistics::getTYPE(TMPacketToRead *packet)
618 627 {
619 628 unsigned char typ = 0;
620 629
621 630 typ = packet->Value[11]; // TYPE
622 631
623 632 return typ;
624 633 }
625 634
626 635 unsigned char TMStatistics::getSUBTYPE(TMPacketToRead *packet)
627 636 {
628 637 unsigned char sub = 0;
629 638
630 639 sub = packet->Value[12]; // SUBTYPE
631 640
632 641 return sub;
633 642 }
634 643
635 644 unsigned int TMStatistics::getLENGTH(TMPacketToRead *packet)
636 645 {
637 646 unsigned int length = 0;
638 647
639 648 length = packet->Value[8] * 256 + packet->Value[9];
640 649
641 650 return length;
642 651 }
643 652
644 653 unsigned int TMStatistics::getCoarseTime(TMPacketToRead *packet)
645 654 {
646 655 unsigned int coarse = 0;
647 656
648 657 coarse = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
649 658 + packet->Value[16] * pow(2, 8) + packet->Value[17];
650 659
651 660 return coarse;
652 661 }
653 662
654 663 unsigned int TMStatistics::getFineTime(TMPacketToRead *packet)
655 664 {
656 665 unsigned int fine = 0;
657 666
658 667 fine = packet->Value[18] * pow(2, 8) + packet->Value[19];
659 668
660 669 return fine;
661 670 }
662 671
663 672 unsigned int TMStatistics::getSID(TMPacketToRead *packet,
664 673 unsigned char pid, unsigned char cat,
665 674 unsigned char typ, unsigned char sub)
666 675 {
667 676 unsigned int sid = 0;
668 677 QByteArray packetAsAnArray;
669 678 QString packetName;
670 679 QTime currentTime;
671 680 QDate currentDate;
672 681
673 682 if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_TC_EXE)
674 683 & (typ == TM_TYPE_TC_EXE) & (sub == TM_SUBTYPE_EXE_NOK))
675 684 sid = packet->Value[20] * 256 + packet->Value[21];
676 685 else if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_HK)
677 686 & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK))
678 687 sid = SID_HK;
679 688 else if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_PARAMETER_DUMP)
680 689 & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP))
681 690 sid = SID_PARAMETER_DUMP;
682 691 else if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_SCIENCE)
683 692 & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
684 693 sid = packet->Value[20];
685 694 else if ((pid == TM_PACKET_PID_BURST_SBM1_SBM2) & (cat == TM_PACKET_CAT_SCIENCE)
686 695 & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
687 696 sid = packet->Value[20];
688 697
689 698 if (logFileEn == true)
690 699 {
691 packetAsAnArray = QByteArray::fromRawData((char *) &packet->Value[4], (packet->size-4)).toHex();
692 *(this->logFileStrm)
693 << QDate::currentDate().toString() + " "
694 << QTime::currentTime().toString() << endl
695 << packetAsAnArray
696 << endl
697 << endl;
700 // packetAsAnArray = QByteArray::fromRawData((char *) &packet->Value[4], (packet->size-4));
701 logFile->write((char *) &packet->Value[4], (packet->size-4));
702 // *(this->logFileStrm)
703 // << packetAsAnArray;
698 704 }
699 705
700 706 if (packetLogFileEn == true)
701 707 {
702 708 currentTime = QTime::currentTime();
703 709 currentDate = QDate::currentDate();
704 710 packetName = getPacketName( typ, sub, sid);
705 711
706 712 *(this->packetLogFileStrm)
707 713 << QString::number(currentDate.year()) + " "
708 714 << QString::number(currentDate.month()) + " "
709 715 << QString::number(currentDate.day()) + " "
710 716 << QTime::currentTime().toString() + ":"
711 717 << QString::number(currentTime.msec()) + " "
712 718 << packetName
713 719 << " time = 0x " + QString::number(
714 720 (packet->Value[14] << 24) + (packet->Value[15] << 16) + (packet->Value[16] << 8) + packet->Value[17],
715 721 16).right(8)
716 722 << " " + QString::number( (packet->Value[18] << 8) + packet->Value[19], 16)
717 723 << endl;
718 724 }
719 725
720 726 return sid;
721 727 }
722 728
723 729 void TMStatistics::buildFileName()
724 730 {
725 QString date;
726 QString time;
731 QTime time;
732 QDate date;
733 QString dateTime;
727 734 QString prefix;
728 735
729 date = QDate::currentDate().toString();
730 time = QTime::currentTime().toString();
736 date = QDate::currentDate();
737 time = QTime::currentTime();
731 738
732 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" ;
739 dateTime = QString::number( date.year() ) + "_"
740 + QString::number( date.month() ) + "_"
741 + QString::number( date.day() ) + "-"
742 + QString::number( time.hour() ) + "_"
743 + QString::number( time.minute() ) + "_"
744 + QString::number( time.second() );
745
746 prefix = defaultStorageDirectory + "/" + dateTime + "_" ;
733 747
734 748 if(this->logFile->isOpen()) this->logFile->close();
735 749 this->logFile->setFileName( prefix + "packet_record.data");
736 750 if(this->logFile->open(QIODevice::WriteOnly)) this->logFileStrm = new QTextStream(this->logFile);
737 751 }
738 752
739 753 void TMStatistics::buildPacketLogFileName()
740 754 {
741 QString date;
742 QString time;
755 QTime time;
756 QDate date;
757 QString dateTime;
743 758 QString prefix;
744 759
745 date = QDate::currentDate().toString();
746 time = QTime::currentTime().toString();
760 date = QDate::currentDate();
761 time = QTime::currentTime();
747 762
748 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" ;
763 dateTime = QString::number( date.year() ) + "_"
764 + QString::number( date.month() ) + "_"
765 + QString::number( date.day() ) + "-"
766 + QString::number( time.hour() ) + "_"
767 + QString::number( time.minute() ) + "_"
768 + QString::number( time.second() );
769
770 prefix = defaultStorageDirectory + "/" + dateTime + "_" ;
749 771
750 772 if(this->packetLogFile->isOpen()) this->packetLogFile->close();
751 773 this->packetLogFile->setFileName( prefix + "packet_log.data");
752 774 if(this->packetLogFile->open(QIODevice::WriteOnly)) this->packetLogFileStrm = new QTextStream(this->packetLogFile);
753 775 }
754 776
755 777 void TMStatistics::storePackets( int state )
756 778 {
757 779 if (state == Qt::Checked)
758 780 {
759 781 buildFileName();
760 782 logFileEn = true;
761 783 }
762 784 else
763 785 {
764 786 if(this->logFile->isOpen()) this->logFile->close();
765 787 logFileEn = false;
766 788 }
767 789 }
768 790
769 791 void TMStatistics::logPackets( int state )
770 792 {
771 793 if (state == Qt::Checked)
772 794 {
773 795 buildPacketLogFileName();
774 796 packetLogFileEn = true;
775 797 }
776 798 else
777 799 {
778 800 if(this->packetLogFile->isOpen()) this->packetLogFile->close();
779 801 packetLogFileEn = false;
780 802 }
781 803 }
782 804
783 805 void TMStatistics::chooseDir()
784 806 {
785 807 QString tmpDefaultStorageDirectory;
786 808 tmpDefaultStorageDirectory = QFileDialog::getExistingDirectory(this,
787 809 "choose the directory",
788 810 QDir::homePath(),
789 811 QFileDialog::ShowDirsOnly);
790 812
791 813 if( !tmpDefaultStorageDirectory.isEmpty() )
792 814 {
793 815 defaultStorageDirectory = tmpDefaultStorageDirectory;
794 816 }
795 817
796 818 label_currentDir->setText(defaultStorageDirectory);
797 819 }
798 820
799 821 void TMStatistics::closeEvent(QCloseEvent *event)
800 822 {
801 823 if(this->logFile->isOpen())
802 824 {
803 825 this->logFileStrm->flush();
804 826 this->logFile->waitForBytesWritten(3000);
805 827 this->logFile->close();
806 828 }
807 829 writeSettings();
808 830 event->accept();
809 831 }
810 832
811 833 QString TMStatistics::getPacketName(unsigned char type, unsigned char subtype, unsigned int sid)
812 834 {
813 835 QString packetName = "default";
814 836 if (type == TM_TYPE_TC_EXE)
815 837 {
816 838 if (subtype== TM_SUBTYPE_EXE_OK) packetName = "TM_LFR_TC_EXE_SUCCESS";
817 839 if (subtype == TM_SUBTYPE_EXE_NOK)
818 840 {
819 841 if (sid == SID_EXE_INC) packetName = "TM_LFR_TC_EXE_INCONSISTENT";
820 842 if (sid == SID_NOT_EXE) packetName = "TM_LFR_TC_EXE_NOT_EXECUTABLE";
821 843 if (sid == SID_NOT_IMP) packetName = "TM_LFR_TC_EXE_NOT_IMPLEMENTED";
822 844 if (sid == SID_EXE_ERR) packetName = "TM_LFR_TC_EXE_ERROR";
823 845 if (sid == SID_EXE_CORR) packetName = "TM_LFR_TC_EXE_CORRUPTED";
824 846 }
825 847 }
826 848 if (type == TM_TYPE_HK)
827 849 {
828 850 if (subtype == TM_SUBTYPE_HK)
829 851 {
830 852 if (sid == SID_HK) packetName = "TM_LFR_HK";
831 853 if (sid == SID_PARAMETER_DUMP) packetName = "TM_LFR_PARAMETER_DUMP";
832 854 }
833 855 }
834 856 if (type == TM_TYPE_LFR_SCIENCE)
835 857 {
836 858 if (subtype == TM_SUBTYPE_SCIENCE)
837 859 {
838 860 if (sid == SID_NORM_SWF_F0) packetName = "TM_LFR_SCIENCE_NORMAL_SWF_F0";
839 861 if (sid == SID_NORM_SWF_F1) packetName = "TM_LFR_SCIENCE_NORMAL_SWF_F1";
840 862 if (sid == SID_NORM_SWF_F2) packetName = "TM_LFR_SCIENCE_NORMAL_SWF_F2";
841 863 if (sid == SID_NORM_CWF_F3) packetName = "TM_LFR_SCIENCE_NORMAL_CWF_F3";
842 864 if (sid == SID_BURST_CWF_F2) packetName = "TM_LFR_SCIENCE_BURST_CWF_F2";
843 865 if (sid == SID_SBM1_CWF_F1) packetName = "TM_LFR_SCIENCE_SBM1_CWF_F1";
844 866 if (sid == SID_SBM2_CWF_F2) packetName = "TM_LFR_SCIENCE_SBM2_CWF_F2";
845 867 if (sid == SID_NORM_ASM_F0) packetName = "TM_LFR_SCIENCE_NORMAL_ASM_F0";
846 868 if (sid == SID_NORM_ASM_F1) packetName = "TM_LFR_SCIENCE_NORMAL_ASM_F1";
847 869 if (sid == SID_NORM_ASM_F2) packetName = "TM_LFR_SCIENCE_NORMAL_ASM_F2";
848 870 if (sid == SID_NORM_BP1_F0) packetName = "TM_LFR_SCIENCE_NORMAL_BP1_F0";
849 871 if (sid == SID_NORM_BP1_F1) packetName = "TM_LFR_SCIENCE_NORMAL_BP1_F1";
850 872 if (sid == SID_NORM_BP1_F2) packetName = "TM_LFR_SCIENCE_NORMAL_BP1_F2";
851 873 if (sid == SID_NORM_BP2_F0) packetName = "TM_LFR_SCIENCE_NORMAL_BP2_F0";
852 874 if (sid == SID_NORM_BP2_F1) packetName = "TM_LFR_SCIENCE_NORMAL_BP2_F1";
853 875 if (sid == SID_NORM_BP2_F2) packetName = "TM_LFR_SCIENCE_NORMAL_BP2_F2";
854 876 if (sid == SID_BURST_BP1_F0) packetName = "TM_LFR_SCIENCE_BURST_BP1_F0";
855 877 if (sid == SID_BURST_BP2_F0) packetName = "TM_LFR_SCIENCE_BURST_BP2_F0";
856 878 if (sid == SID_BURST_BP1_F1) packetName = "TM_LFR_SCIENCE_BURST_BP1_F1";
857 879 if (sid == SID_BURST_BP2_F1) packetName = "TM_LFR_SCIENCE_BURST_BP2_F1";
858 880 if (sid == SID_SBM1_BP1_F0) packetName = "TM_LFR_SCIENCE_SBM1_BP1_F0";
859 881 if (sid == SID_SBM1_BP2_F0) packetName = "TM_LFR_SCIENCE_SBM1_BP2_F0";
860 882 if (sid == SID_SBM2_BP1_F0) packetName = "TM_LFR_SCIENCE_SBM2_BP1_F0";
861 883 if (sid == SID_SBM2_BP2_F0) packetName = "TM_LFR_SCIENCE_SBM2_BP2_F0";
862 884 if (sid == SID_SBM2_BP1_F1) packetName = "TM_LFR_SCIENCE_SBM2_BP1_F1";
863 885 if (sid == SID_SBM2_BP2_F1) packetName = "TM_LFR_SCIENCE_SBM2_BP2_F1";
864 886 }
865 887 }
866 888
867 889 return packetName;
868 890 }
869 891
870 892 void TMStatistics::readSettings()
871 893 {
872 894 QSettings settings("lpp", "lfrsgse");
873 895 defaultStorageDirectory = settings.value("defaultStorageDirectory", QDir::homePath()).toString();
874 896 label_currentDir->setText(defaultStorageDirectory);
875 897 }
876 898
877 899 void TMStatistics::writeSettings()
878 900 {
879 901 QSettings settings("lpp", "lfrsgse");
880 902 settings.setValue("defaultStorageDirectory", defaultStorageDirectory);
881 903 }
@@ -1,249 +1,250
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 #include <QFile>
11 11 #include <QTextStream>
12 12 #include <tmpackettoread.h>
13 13 #include <ccsds_types.h>
14 14 #include <QMap>
15 15 #include <QCheckBox>
16 16
17 17 #define STATISTICS_FONT_SIZE 9
18 18
19 19 class TMStatistics : public QWidget
20 20 {
21 21 Q_OBJECT
22 22 public:
23 23
24 24 explicit TMStatistics(QWidget *parent = 0);
25 25 void initConstants();
26 26 void buildMonitor_BURST();
27 27 void buildMonitor_SBM1();
28 28 void buildMonitor_SBM2();
29 29 void buildMonitor_NORM();
30 30 void buildMonitor();
31 31 void incrementUnknown();
32 32 //
33 33 void preProcessPacket(TMPacketToRead *packet);
34 34 unsigned char getPID(TMPacketToRead *packet);
35 35 unsigned char getCAT(TMPacketToRead *packet);
36 unsigned char getSegmentationGroupingFlag(TMPacketToRead *Packet_TM_LFR_HK_str);
36 37 unsigned char getTYPE(TMPacketToRead *packet);
37 38 unsigned char getSUBTYPE(TMPacketToRead *packet);
38 39 unsigned int getLENGTH(TMPacketToRead *packet);
39 40 unsigned int getCoarseTime(TMPacketToRead *packet);
40 41 unsigned int getFineTime(TMPacketToRead *packet);
41 42 unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
42 43 QString getPacketName(unsigned char type, unsigned char subtype, unsigned int sid);
43 44 void closeEvent(QCloseEvent *event);
44 45
45 46 unsigned int UNKNOWN_nb;
46 47 unsigned int SUCC_nb;
47 48 unsigned int INCO_nb;
48 49 unsigned int NOTE_nb;
49 50 unsigned int NOTI_nb;
50 51 unsigned int ERRO_nb;
51 52 unsigned int CORR_nb;
52 53 unsigned int HK_nb;
53 54 unsigned int DUMP_nb;
54 55 unsigned int NORM_SWF_F0_nb;
55 56 unsigned int NORM_SWF_F1_nb;
56 57 unsigned int NORM_SWF_F2_nb;
57 58 unsigned int NORM_CWF_F3_nb;
58 59 unsigned int NORM_ASM_F0_nb;
59 60 unsigned int NORM_ASM_F1_nb;
60 61 unsigned int NORM_ASM_F2_nb;
61 62 unsigned int NORM_BP1_F0_nb;
62 63 unsigned int NORM_BP1_F1_nb;
63 64 unsigned int NORM_BP1_F2_nb;
64 65 unsigned int NORM_BP2_F0_nb;
65 66 unsigned int NORM_BP2_F1_nb;
66 67 unsigned int NORM_BP2_F2_nb;
67 68 //
68 69 unsigned int BURST_CWF_F2_nb;
69 70 unsigned int BURST_BP1_F0_nb;
70 71 unsigned int BURST_BP2_F0_nb;
71 72 unsigned int BURST_BP1_F1_nb;
72 73 unsigned int BURST_BP2_F1_nb;
73 74 unsigned int SBM1_CWF_F1_nb;
74 75 unsigned int SBM1_BP1_F0_nb;
75 76 unsigned int SBM1_BP2_F0_nb;
76 77 unsigned int SBM2_CWF_F2_nb;
77 78 unsigned int SBM2_BP1_F0_nb;
78 79 unsigned int SBM2_BP2_F0_nb;
79 80 unsigned int SBM2_BP1_F1_nb;
80 81 unsigned int SBM2_BP2_F1_nb;
81 82
82 83 //*******
83 84 // QLabel
84 85 QLabel *label_UNKNOWN;
85 86 QLabel *label_UNKNOWN_nb;
86 87 QLabel *label_currentDir;
87 88
88 89 //***************
89 90 // TM_LFR_TC_EXE_
90 91 QLabel *label_SUCC;
91 92 QLabel *label_INCO;
92 93 QLabel *label_NOTE;
93 94 QLabel *label_NOTI;
94 95 QLabel *label_ERRO;
95 96 QLabel *label_CORR;
96 97 QLabel *label_HK;
97 98 QLabel *label_DUMP;
98 99 //
99 100 QLabel *label_SUCC_nb;
100 101 QLabel *label_INCO_nb;
101 102 QLabel *label_NOTE_nb;
102 103 QLabel *label_NOTI_nb;
103 104 QLabel *label_ERRO_nb;
104 105 QLabel *label_CORR_nb;
105 106 QLabel *label_HK_nb;
106 107 QLabel *label_DUMP_nb;
107 108
108 109 //***********************
109 110 // TM_LFR_SCIENCE_NORMAL_
110 111 QLabel *label_NORM_SWF_F0;
111 112 QLabel *label_NORM_SWF_F1;
112 113 QLabel *label_NORM_SWF_F2;
113 114 QLabel *label_NORM_CWF_F3;
114 115 QLabel *label_NORM_ASM_F0;
115 116 QLabel *label_NORM_ASM_F1;
116 117 QLabel *label_NORM_ASM_F2;
117 118 QLabel *label_NORM_BP1_F0;
118 119 QLabel *label_NORM_BP1_F1;
119 120 QLabel *label_NORM_BP1_F2;
120 121 QLabel *label_NORM_BP2_F0;
121 122 QLabel *label_NORM_BP2_F1;
122 123 QLabel *label_NORM_BP2_F2;
123 124 //
124 125 QLabel *label_NORM_SWF_F0_nb;
125 126 QLabel *label_NORM_SWF_F1_nb;
126 127 QLabel *label_NORM_SWF_F2_nb;
127 128 QLabel *label_NORM_CWF_F3_nb;
128 129 QLabel *label_NORM_ASM_F0_nb;
129 130 QLabel *label_NORM_ASM_F1_nb;
130 131 QLabel *label_NORM_ASM_F2_nb;
131 132 QLabel *label_NORM_BP1_F0_nb;
132 133 QLabel *label_NORM_BP1_F1_nb;
133 134 QLabel *label_NORM_BP1_F2_nb;
134 135 QLabel *label_NORM_BP2_F0_nb;
135 136 QLabel *label_NORM_BP2_F1_nb;
136 137 QLabel *label_NORM_BP2_F2_nb;
137 138
138 139 //**********************
139 140 // TM_LFR_SCIENCE_BURST_
140 141 QLabel *label_BURST_CWF_F2;
141 142 QLabel *label_BURST_BP1_F0;
142 143 QLabel *label_BURST_BP2_F0;
143 144 QLabel *label_BURST_BP1_F1;
144 145 QLabel *label_BURST_BP2_F1;
145 146 //
146 147 QLabel *label_BURST_CWF_F2_nb;
147 148 QLabel *label_BURST_BP1_F0_nb;
148 149 QLabel *label_BURST_BP2_F0_nb;
149 150 QLabel *label_BURST_BP1_F1_nb;
150 151 QLabel *label_BURST_BP2_F1_nb;
151 152
152 153 //*********************
153 154 // TM_LFR_SCIENCE_SBM1_
154 155 QLabel *label_SBM1_CWF_F1;
155 156 QLabel *label_SBM1_BP1_F0;
156 157 QLabel *label_SBM1_BP2_F0;
157 158 //
158 159 QLabel *label_SBM1_CWF_F1_nb;
159 160 QLabel *label_SBM1_BP1_F0_nb;
160 161 QLabel *label_SBM1_BP2_F0_nb;
161 162
162 163 //*********************
163 164 // TM_LFR_SCIENCE_SBM2_
164 165 QLabel *label_SBM2_CWF_F2;
165 166 QLabel *label_SBM2_BP1_F0;
166 167 QLabel *label_SBM2_BP2_F0;
167 168 QLabel *label_SBM2_BP1_F1;
168 169 QLabel *label_SBM2_BP2_F1;
169 170 //
170 171 QLabel *label_SBM2_CWF_F2_nb;
171 172 QLabel *label_SBM2_BP1_F0_nb;
172 173 QLabel *label_SBM2_BP2_F0_nb;
173 174 QLabel *label_SBM2_BP1_F1_nb;
174 175 QLabel *label_SBM2_BP2_F1_nb;
175 176
176 177 //********
177 178 // LAST TM
178 179 QLabel *label_PID;
179 180 QLabel *label_CAT;
180 181 QLabel *label_TYP;
181 182 QLabel *label_SUB;
182 183 QLabel *label_SID;
183 184 QLabel *label_SIZ;
184 185 QLabel *label_coarse_time;
185 186 QLabel *label_fine_time;
186 187 //
187 188 QLabel *label_PID_is;
188 189 QLabel *label_CAT_is;
189 190 QLabel *label_TYP_is;
190 191 QLabel *label_SUB_is;
191 192 QLabel *label_SID_is;
192 193 QLabel *label_SIZ_is;
193 194 QLabel *label_coarse_time_val;
194 195 QLabel *label_fine_time_val;
195 196
196 197 // Layouts
197 198 QGridLayout *mainLayout;
198 199 QGridLayout *layout_stat; // TM stastictics
199 200 QGridLayout *layout_NORM; // TM_LFR_SCIENCE_NORMAL_
200 201 QGridLayout *layout_BURST; // TM_LFR_SCIENCE_BURST_
201 202 QGridLayout *layout_SBM1; // TM_LFR_SCIENCE_SBM1_
202 203 QGridLayout *layout_SBM2; // TM_LFR_SCIENCE_SBM2_
203 204 QGridLayout *layout_last; // last TM description
204 205 QVBoxLayout *layout_record;
205 206
206 207 // QPushButton
207 208 QPushButton *button_reset_stat;
208 209 QPushButton *button_chooseDir;
209 210
210 211 //QCheckBox
211 212 QCheckBox *checkbox_record;
212 213 QCheckBox *checkbox_packetLog;
213 214
214 215 QFile *logFile;
215 216 QFile *packetLogFile;
216 217 QTextStream *logFileStrm;
217 218 QTextStream *packetLogFileStrm;
218 219 bool logFileEn;
219 220 bool packetLogFileEn;
220 221 QString defaultStorageDirectory;
221 222
222 223 // QGroupBox
223 224 QGroupBox *groupbox_stat;
224 225 QGroupBox *groupbox_NORM;
225 226 QGroupBox *groupbox_BURST;
226 227 QGroupBox *groupbox_SBM1;
227 228 QGroupBox *groupbox_SBM2;
228 229 QGroupBox *groupbox_last;
229 230 QGroupBox *groupbox_record;
230 231
231 232 signals:
232 233
233 234 public slots:
234 235 void resetStatistics();
235 236 void updateStatistics(unsigned char pid, unsigned char cat,
236 237 unsigned char typ, unsigned char sub,
237 238 unsigned int sid, unsigned int length,
238 239 unsigned int coarse_t, unsigned int fine_t);
239 240 void storePackets(int state);
240 241 void logPackets(int state);
241 242 void buildFileName();
242 243 void buildPacketLogFileName();
243 244 void readSettings();
244 245 void writeSettings();
245 246 void chooseDir();
246 247
247 248 };
248 249
249 250 #endif // TMSTATISTICS_H
@@ -1,197 +1,197
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 2.8.0, 2013-08-01T09:15:42. -->
3 <!-- Written by QtCreator 2.8.0, 2013-10-08T12:38:17. -->
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 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
15 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
16 16 <value type="QString" key="language">Cpp</value>
17 17 <valuemap type="QVariantMap" key="value">
18 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
19 19 </valuemap>
20 20 </valuemap>
21 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
22 22 <value type="QString" key="language">QmlJS</value>
23 23 <valuemap type="QVariantMap" key="value">
24 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
25 25 </valuemap>
26 26 </valuemap>
27 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
28 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
29 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
30 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
32 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
33 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
34 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
35 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
36 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
37 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
38 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
39 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
40 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
41 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
42 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
43 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
44 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
45 45 </valuemap>
46 46 </data>
47 47 <data>
48 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
49 49 <valuemap type="QVariantMap"/>
50 50 </data>
51 51 <data>
52 52 <variable>ProjectExplorer.Project.Target.0</variable>
53 53 <valuemap type="QVariantMap">
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
62 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
65 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
66 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
67 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
69 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
70 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
71 71 </valuemap>
72 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
74 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
75 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
76 76 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 78 <value type="QString">-w</value>
79 79 <value type="QString">-r</value>
80 80 </valuelist>
81 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
82 82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
83 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
84 84 </valuemap>
85 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
88 88 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
89 89 </valuemap>
90 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
91 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 97 <value type="QString">-w</value>
98 98 <value type="QString">-r</value>
99 99 </valuelist>
100 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
101 101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
102 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
103 103 </valuemap>
104 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
105 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
106 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
107 107 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
108 108 </valuemap>
109 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
110 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
111 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
115 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
116 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay</value>
117 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
118 118 </valuemap>
119 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
121 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
122 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
124 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
125 125 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
126 126 </valuemap>
127 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
128 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
131 131 </valuemap>
132 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
135 135 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
136 136 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
137 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
138 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
139 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
140 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
141 141 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
142 142 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
143 143 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
144 144 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
145 145 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
146 146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 148 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
149 149 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
150 150 <value type="int">0</value>
151 151 <value type="int">1</value>
152 152 <value type="int">2</value>
153 153 <value type="int">3</value>
154 154 <value type="int">4</value>
155 155 <value type="int">5</value>
156 156 <value type="int">6</value>
157 157 <value type="int">7</value>
158 158 <value type="int">8</value>
159 159 <value type="int">9</value>
160 160 <value type="int">10</value>
161 161 <value type="int">11</value>
162 162 <value type="int">12</value>
163 163 <value type="int">13</value>
164 164 <value type="int">14</value>
165 165 </valuelist>
166 166 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
167 167 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
168 168 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
169 169 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
170 170 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
171 171 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
172 172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
173 173 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
174 174 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
175 175 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
176 176 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
177 177 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
178 178 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
179 179 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
180 180 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
181 181 </valuemap>
182 182 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
183 183 </valuemap>
184 184 </data>
185 185 <data>
186 186 <variable>ProjectExplorer.Project.TargetCount</variable>
187 187 <value type="int">1</value>
188 188 </data>
189 189 <data>
190 190 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
191 191 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
192 192 </data>
193 193 <data>
194 194 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
195 195 <value type="int">14</value>
196 196 </data>
197 197 </qtcreator>
General Comments 0
You need to be logged in to leave comments. Login now