##// END OF EJS Templates
First version of gse_lesia functional, includung waveform display...
leroy -
r24:52cca9b26092 default
parent child
Show More
@@ -0,0 +1,63
1 #include "lfrxmlparser.h"
2
3 LFRXmlParser::LFRXmlParser(QObject *parent) :
4 QObject(parent)
5 {
6 }
7
8 void LFRXmlParser::processIncomingStr(QString incomingStr)
9 {
10 int indexOfStartStr;
11 int indexOfStopStr;
12 int result;
13 QString eventBinaryStr;
14 QString startStr = "<EventBinary>";
15 QString stopStr = "</EventBinary>";
16
17 xmlBuffer.append(incomingStr);
18
19 result = findPattern( startStr, stopStr, &indexOfStartStr, &indexOfStopStr);
20 while( result !=-1 )
21 {
22 eventBinaryStr = xmlBuffer.mid(
23 indexOfStartStr + startStr.size(),
24 indexOfStopStr - (indexOfStartStr + startStr.size() ) );
25 processIncomingData( eventBinaryStr );
26 xmlBuffer.remove(0, indexOfStopStr + stopStr.size());
27 result = findPattern( startStr, stopStr, &indexOfStartStr, &indexOfStopStr);
28 }
29 }
30
31 int LFRXmlParser::findPattern(QString startStr, QString stopStr, int *indexOfStartStr, int *indexOfStopStr)
32 {
33 *indexOfStartStr = xmlBuffer.indexOf(startStr);
34 *indexOfStopStr = xmlBuffer.indexOf(stopStr);
35
36 if ( (*indexOfStartStr==-1) | (*indexOfStopStr==-1) | (*indexOfStartStr > *indexOfStopStr) )
37 {
38 return -1;
39 }
40 else
41 {
42 return 0;
43 }
44 }
45
46 void LFRXmlParser::processIncomingData(const QString &ch)
47 {
48 QByteArray newdat;
49 char *values;
50 unsigned char *ccsdsData;
51 unsigned int ccsdsSize = 0;
52
53 TMPacketToRead *incomingPacket;
54
55 newdat = QByteArray::fromHex(ch.toAscii());
56
57 values = (char*) newdat.data();
58 ccsdsSize = newdat.size();
59 ccsdsData = (unsigned char *) values;
60
61 incomingPacket = new TMPacketToRead(ccsdsData, ccsdsSize);
62 emit sendPacket( incomingPacket );
63 }
@@ -0,0 +1,27
1 #ifndef LFRXMLPARSER_H
2 #define LFRXMLPARSER_H
3
4 #include <QObject>
5 #include <tmpackettoread.h>
6
7 class LFRXmlParser : public QObject
8 {
9 Q_OBJECT
10 public:
11 explicit LFRXmlParser(QObject *parent = 0);
12 void processIncomingStr(QString incomingStr);
13 int findPattern(QString startStr, QString stopStr, int *indexOfStartStr, int *indexOfStopStr);
14 void processIncomingData(const QString &ch);
15
16 signals:
17 void sendMessage(QString);
18 void sendPacket(TMPacketToRead *incomingPacket);
19
20 public slots:
21
22 private:
23 QString xmlBuffer;
24
25 };
26
27 #endif // LFRXMLPARSER_H
@@ -1,142 +1,142
1 1 #############################################################################
2 2 # Makefile for building: PAULs_LPPMON_PLUGINS
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed May 22 07:43:41 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Tue Jun 11 08:44:35 2013
4 4 # Project: PAULs_LPPMON_PLUGINS.pro
5 5 # Template: subdirs
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
7 7 #############################################################################
8 8
9 9 first: make_default
10 10 MAKEFILE = Makefile
11 11 QMAKE = /usr/bin/qmake-qt4
12 12 DEL_FILE = rm -f
13 13 CHK_DIR_EXISTS= test -d
14 14 MKDIR = mkdir -p
15 15 COPY = cp -f
16 16 COPY_FILE = $(COPY)
17 17 COPY_DIR = $(COPY) -r
18 18 INSTALL_FILE = install -m 644 -p
19 19 INSTALL_PROGRAM = install -m 755 -p
20 20 INSTALL_DIR = $(COPY_DIR)
21 21 DEL_FILE = rm -f
22 22 SYMLINK = ln -f -s
23 23 DEL_DIR = rmdir
24 24 MOVE = mv -f
25 25 CHK_DIR_EXISTS= test -d
26 26 MKDIR = mkdir -p
27 27 SUBTARGETS = \
28 28 sub-rmapplugin
29 29
30 30 rmapplugin/$(MAKEFILE):
31 31 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
32 32 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
33 33 sub-rmapplugin-qmake_all: FORCE
34 34 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
35 35 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
36 36 sub-rmapplugin: rmapplugin/$(MAKEFILE) FORCE
37 37 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
38 38 sub-rmapplugin-make_default-ordered: rmapplugin/$(MAKEFILE) FORCE
39 39 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
40 40 sub-rmapplugin-make_default: rmapplugin/$(MAKEFILE) FORCE
41 41 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
42 42 sub-rmapplugin-make_first-ordered: rmapplugin/$(MAKEFILE) FORCE
43 43 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
44 44 sub-rmapplugin-make_first: rmapplugin/$(MAKEFILE) FORCE
45 45 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
46 46 sub-rmapplugin-all-ordered: rmapplugin/$(MAKEFILE) FORCE
47 47 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
48 48 sub-rmapplugin-all: rmapplugin/$(MAKEFILE) FORCE
49 49 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
50 50 sub-rmapplugin-clean-ordered: rmapplugin/$(MAKEFILE) FORCE
51 51 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
52 52 sub-rmapplugin-clean: rmapplugin/$(MAKEFILE) FORCE
53 53 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
54 54 sub-rmapplugin-distclean-ordered: rmapplugin/$(MAKEFILE) FORCE
55 55 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
56 56 sub-rmapplugin-distclean: rmapplugin/$(MAKEFILE) FORCE
57 57 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
58 58 sub-rmapplugin-install_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
59 59 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
60 60 sub-rmapplugin-install_subtargets: rmapplugin/$(MAKEFILE) FORCE
61 61 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
62 62 sub-rmapplugin-uninstall_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
63 63 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
64 64 sub-rmapplugin-uninstall_subtargets: rmapplugin/$(MAKEFILE) FORCE
65 65 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
66 66
67 67 Makefile: PAULs_LPPMON_PLUGINS.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
68 68 /usr/lib64/qt4/mkspecs/common/linux.conf \
69 69 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
70 70 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
71 71 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
72 72 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
73 73 /usr/lib64/qt4/mkspecs/qconfig.pri \
74 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
74 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
75 75 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
76 76 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
77 77 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
78 78 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
79 79 /usr/lib64/qt4/mkspecs/features/release.prf \
80 80 /usr/lib64/qt4/mkspecs/features/default_post.prf \
81 81 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
82 82 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
83 83 /usr/lib64/qt4/mkspecs/features/qt.prf \
84 84 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
85 85 /usr/lib64/qt4/mkspecs/features/moc.prf \
86 86 /usr/lib64/qt4/mkspecs/features/resources.prf \
87 87 /usr/lib64/qt4/mkspecs/features/uic.prf \
88 88 /usr/lib64/qt4/mkspecs/features/yacc.prf \
89 89 /usr/lib64/qt4/mkspecs/features/lex.prf \
90 90 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
91 91 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
92 92 /usr/lib64/qt4/mkspecs/common/unix.conf:
93 93 /usr/lib64/qt4/mkspecs/common/linux.conf:
94 94 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
95 95 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
96 96 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
97 97 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
98 98 /usr/lib64/qt4/mkspecs/qconfig.pri:
99 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
99 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
100 100 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
101 101 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
102 102 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
103 103 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
104 104 /usr/lib64/qt4/mkspecs/features/release.prf:
105 105 /usr/lib64/qt4/mkspecs/features/default_post.prf:
106 106 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
107 107 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
108 108 /usr/lib64/qt4/mkspecs/features/qt.prf:
109 109 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
110 110 /usr/lib64/qt4/mkspecs/features/moc.prf:
111 111 /usr/lib64/qt4/mkspecs/features/resources.prf:
112 112 /usr/lib64/qt4/mkspecs/features/uic.prf:
113 113 /usr/lib64/qt4/mkspecs/features/yacc.prf:
114 114 /usr/lib64/qt4/mkspecs/features/lex.prf:
115 115 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
116 116 qmake: qmake_all FORCE
117 117 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
118 118
119 119 qmake_all: sub-rmapplugin-qmake_all FORCE
120 120
121 121 make_default: sub-rmapplugin-make_default-ordered FORCE
122 122 make_first: sub-rmapplugin-make_first-ordered FORCE
123 123 all: sub-rmapplugin-all-ordered FORCE
124 124 clean: sub-rmapplugin-clean-ordered FORCE
125 125 distclean: sub-rmapplugin-distclean-ordered FORCE
126 126 -$(DEL_FILE) Makefile
127 127 install_subtargets: sub-rmapplugin-install_subtargets-ordered FORCE
128 128 uninstall_subtargets: sub-rmapplugin-uninstall_subtargets-ordered FORCE
129 129
130 130 sub-rmapplugin-check_ordered: rmapplugin/$(MAKEFILE)
131 131 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) check
132 132 check: sub-rmapplugin-check_ordered
133 133
134 134 mocclean: compiler_moc_header_clean compiler_moc_source_clean
135 135
136 136 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
137 137 install: install_subtargets FORCE
138 138
139 139 uninstall: uninstall_subtargets FORCE
140 140
141 141 FORCE:
142 142
@@ -1,342 +1,342
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-06-04T16:00:09. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-06-14T11:39:28. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 15 <value type="QString" key="language">Cpp</value>
16 16 <valuemap type="QVariantMap" key="value">
17 17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 18 </valuemap>
19 19 </valuemap>
20 20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 21 <value type="QString" key="language">QmlJS</value>
22 22 <valuemap type="QVariantMap" key="value">
23 23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 24 </valuemap>
25 25 </valuemap>
26 26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 43 </valuemap>
44 44 </data>
45 45 <data>
46 46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 47 <valuemap type="QVariantMap"/>
48 48 </data>
49 49 <data>
50 50 <variable>ProjectExplorer.Project.Target.0</variable>
51 51 <valuemap type="QVariantMap">
52 52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 69 </valuemap>
70 70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 77 </valuemap>
78 78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 82 </valuemap>
83 83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 91 </valuemap>
92 92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 96 </valuemap>
97 97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
105 105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 107 </valuemap>
108 108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 119 </valuemap>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 127 </valuemap>
128 128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 132 </valuemap>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 141 </valuemap>
142 142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 146 </valuemap>
147 147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
155 155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 157 </valuemap>
158 158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 165 </valuemap>
166 166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 170 </valuemap>
171 171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 202 <value type="int">0</value>
203 203 <value type="int">1</value>
204 204 <value type="int">2</value>
205 205 <value type="int">3</value>
206 206 <value type="int">4</value>
207 207 <value type="int">5</value>
208 208 <value type="int">6</value>
209 209 <value type="int">7</value>
210 210 <value type="int">8</value>
211 211 <value type="int">9</value>
212 212 <value type="int">10</value>
213 213 <value type="int">11</value>
214 214 <value type="int">12</value>
215 215 <value type="int">13</value>
216 216 <value type="int">14</value>
217 217 </valuelist>
218 218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 219 <value type="int">0</value>
220 220 <value type="int">1</value>
221 221 <value type="int">2</value>
222 222 <value type="int">3</value>
223 223 <value type="int">4</value>
224 224 <value type="int">5</value>
225 225 <value type="int">6</value>
226 226 <value type="int">7</value>
227 227 <value type="int">8</value>
228 228 <value type="int">9</value>
229 229 <value type="int">10</value>
230 230 <value type="int">11</value>
231 231 <value type="int">12</value>
232 232 <value type="int">13</value>
233 233 <value type="int">14</value>
234 234 </valuelist>
235 235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
236 236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
237 237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
238 238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
239 239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
240 240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
241 241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
242 242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
243 243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
244 244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
245 245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
246 246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
247 247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
248 248 </valuemap>
249 249 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
250 250 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
251 251 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
252 252 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
253 253 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
254 254 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
255 255 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
256 256 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
257 257 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
258 258 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
259 259 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
260 260 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
261 261 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
262 262 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
263 263 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
264 264 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
265 265 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
266 266 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
267 267 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
268 268 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
269 269 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
270 270 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
271 271 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
272 272 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
273 273 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
274 274 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
275 275 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
276 276 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
277 277 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
278 278 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
279 279 <value type="int">0</value>
280 280 <value type="int">1</value>
281 281 <value type="int">2</value>
282 282 <value type="int">3</value>
283 283 <value type="int">4</value>
284 284 <value type="int">5</value>
285 285 <value type="int">6</value>
286 286 <value type="int">7</value>
287 287 <value type="int">8</value>
288 288 <value type="int">9</value>
289 289 <value type="int">10</value>
290 290 <value type="int">11</value>
291 291 <value type="int">12</value>
292 292 <value type="int">13</value>
293 293 <value type="int">14</value>
294 294 </valuelist>
295 295 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
296 296 <value type="int">0</value>
297 297 <value type="int">1</value>
298 298 <value type="int">2</value>
299 299 <value type="int">3</value>
300 300 <value type="int">4</value>
301 301 <value type="int">5</value>
302 302 <value type="int">6</value>
303 303 <value type="int">7</value>
304 304 <value type="int">8</value>
305 305 <value type="int">9</value>
306 306 <value type="int">10</value>
307 307 <value type="int">11</value>
308 308 <value type="int">12</value>
309 309 <value type="int">13</value>
310 310 <value type="int">14</value>
311 311 </valuelist>
312 312 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">spwtimegenerator</value>
313 313 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
314 314 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
315 315 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
316 316 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
317 317 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">spwtimegenerator/spwtimegenerator/spwtimegenerator.pro</value>
318 318 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
319 319 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
320 320 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
321 321 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
322 322 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
323 323 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
324 324 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
325 325 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
326 326 </valuemap>
327 327 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
328 328 </valuemap>
329 329 </data>
330 330 <data>
331 331 <variable>ProjectExplorer.Project.TargetCount</variable>
332 332 <value type="int">1</value>
333 333 </data>
334 334 <data>
335 335 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
336 336 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
337 337 </data>
338 338 <data>
339 339 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
340 340 <value type="int">10</value>
341 341 </data>
342 342 </qtcreator>
@@ -1,6 +1,205
1 1 #include "hkdisplay.h"
2 2
3 3 HKDisplay::HKDisplay(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 mainLayout = new QGridLayout();
7
8 groupbox_lfrStatusWord = new QGroupBox("LFR Status Word");
9 box_lfrStatusWord = new QVBoxLayout();
10 hk_lfr_mode = new QLabel("hk_lfr_mode: -");
11 hk_lfr_dpu_spw_enabled = new QLabel("hk_lfr_dpu_spw_enabled: -");
12 hk_lfr_dpu_link_state = new QLabel("hk_lfr_dpu_link_state: -");
13 sy_lfr_watchdog_enabled = new QLabel("sy_lfr_watchdog_enabled: -");
14 hk_lfr_calib_enabled = new QLabel("hk_lfr_calib_enabled: -");
15 hk_lfr_reset_cause = new QLabel("hk_lfr_reset_cause: -");
16 box_lfrStatusWord->addWidget(hk_lfr_mode);
17 box_lfrStatusWord->addWidget(hk_lfr_dpu_spw_enabled);
18 box_lfrStatusWord->addWidget(hk_lfr_dpu_link_state);
19 box_lfrStatusWord->addWidget(sy_lfr_watchdog_enabled);
20 box_lfrStatusWord->addWidget(hk_lfr_calib_enabled);
21 box_lfrStatusWord->addWidget(hk_lfr_reset_cause);
22 box_lfrStatusWord->insertStretch(6);
23 groupbox_lfrStatusWord->setLayout(box_lfrStatusWord);
24
25 groupbox_lfrSWVersion = new QGroupBox("LFR Software Version");
26 box_lfrSWVersion = new QVBoxLayout();
27 sy_lfr_sw_version_n1 = new QLabel("sy_lfr_sw_version_n1: -");
28 sy_lfr_sw_version_n2 = new QLabel("sy_lfr_sw_version_n2: -");
29 sy_lfr_sw_version_n3 = new QLabel("sy_lfr_sw_version_n3: -");
30 sy_lfr_sw_version_n4 = new QLabel("sy_lfr_sw_version_n4: -");
31 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n1);
32 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n2);
33 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n3);
34 box_lfrSWVersion->addWidget(sy_lfr_sw_version_n4);
35 box_lfrSWVersion->insertStretch(4);
36 groupbox_lfrSWVersion->setLayout(box_lfrSWVersion);
37
38 groupbox_tcStatistics = new QGroupBox("TC Statistics");
39 box_tcStatistics = new QVBoxLayout();
40 hk_lfr_update_info_tc_cnt = new QLabel("hk_lfr_update_info_tc_cnt: -");
41 hk_lfr_update_time_tc_cnt = new QLabel("hk_lfr_update_time_tc_cnt: -");
42 hk_dpu_exe_tc_lfr_cnt = new QLabel("hk_dpu_exe_tc_lfr_cnt: -");
43 hk_dpu_rej_tc_lfr_cnt = new QLabel("hk_dpu_rej_tc_lfr_cnt: -");
44 hk_lfr_last_exe_tc_id = new QLabel("hk_lfr_last_exe_tc_id: -");
45 hk_lfr_last_exe_tc_type = new QLabel("hk_lfr_last_exe_tc_type: -");
46 hk_lfr_last_exe_tc_subtype = new QLabel("hk_lfr_last_exe_tc_subtype: -");
47 hk_lfr_last_exe_tc_time = new QLabel("hk_lfr_last_exe_tc_time: -");
48 hk_lfr_last_rej_tc_id = new QLabel("hk_lfr_last_rej_tc_id: -");
49 hk_lfr_last_rej_tc_type = new QLabel("hk_lfr_last_rej_tc_type: -");
50 hk_lfr_last_rej_tc_subtype = new QLabel("hk_lfr_last_rej_tc_subtype: -");
51 hk_lfr_last_rej_tc_time = new QLabel("hk_lfr_last_rej_tc_time: -");
52 box_tcStatistics->addWidget(hk_lfr_update_info_tc_cnt);
53 box_tcStatistics->addWidget(hk_lfr_update_time_tc_cnt);
54 box_tcStatistics->addWidget(hk_dpu_exe_tc_lfr_cnt);
55 box_tcStatistics->addWidget(hk_dpu_rej_tc_lfr_cnt);
56 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_id);
57 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_type);
58 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_subtype);
59 box_tcStatistics->addWidget(hk_lfr_last_exe_tc_time);
60 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_id);
61 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_type);
62 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_subtype);
63 box_tcStatistics->addWidget(hk_lfr_last_rej_tc_time);
64 box_tcStatistics->insertStretch(12, 1);
65 groupbox_tcStatistics->setLayout(box_tcStatistics);
66
67 groupbox_anomalyStatistics = new QGroupBox("Anomaly Statistics");
68 box_anomalyStatistics = new QVBoxLayout();
69 hk_lfr_le_cnt = new QLabel("hk_lfr_le_cnt: -");
70 hk_lfr_me_cnt = new QLabel("hk_lfr_me_cnt: -");
71 hk_lfr_he_cnt = new QLabel("hk_lfr_he_cnt: -");
72 hk_lfr_last_er_rid = new QLabel("hk_lfr_last_er_rid: -");
73 hk_lfr_last_er_code = new QLabel("hk_lfr_last_er_code: -");
74 hk_lfr_last_er_time = new QLabel("hk_lfr_last_er_time: -");
75 box_anomalyStatistics->addWidget(hk_lfr_le_cnt);
76 box_anomalyStatistics->addWidget(hk_lfr_me_cnt);
77 box_anomalyStatistics->addWidget(hk_lfr_he_cnt);
78 box_anomalyStatistics->addWidget(hk_lfr_last_er_rid);
79 box_anomalyStatistics->addWidget(hk_lfr_last_er_code);
80 box_anomalyStatistics->addWidget(hk_lfr_last_er_time);
81 box_anomalyStatistics->insertStretch(6, 1);
82 groupbox_anomalyStatistics->setLayout(box_anomalyStatistics);
83
84 mainLayout->addWidget(groupbox_lfrStatusWord, 0,0,1,1);
85 mainLayout->addWidget(groupbox_lfrSWVersion, 0,1,1,1);
86 mainLayout->addWidget(groupbox_tcStatistics, 1,0,1,1);
87 mainLayout->addWidget(groupbox_anomalyStatistics, 1,1,1,1);
88
89 this->setLayout(mainLayout);
6 90 }
91
92 void HKDisplay::displayPacket(TMPacketToRead *tmPacketToRead)
93 {
94 Packet_TM_LFR_HK_t *housekeepingPacket;
95 if (tmPacketToRead->size != HK_PACKET_SIZE) {
96 emit displayMessage("in displayPacket *** HK packet size is "
97 + QString::number(tmPacketToRead->size)
98 + " instead of "
99 + QString::number(HK_PACKET_SIZE));
100 }
101 else {
102 housekeepingPacket = (Packet_TM_LFR_HK_t *) tmPacketToRead->Value;
103
104 updateLFRMode(housekeepingPacket);
105
106 updateSWVersion(housekeepingPacket);
107
108 updateTCStatistics(housekeepingPacket);
109 }
110 }
111
112 void HKDisplay::updateLFRMode(Packet_TM_LFR_HK_t *housekeepingPacket)
113 {
114 hk_lfr_mode->setText("hk_lfr_mode: "
115 +QString::number( ( (housekeepingPacket->lfr_status_word[0] & 0x70) >> 4 ) )
116 );
117
118 }
119
120 void HKDisplay::updateSWVersion(Packet_TM_LFR_HK_t *housekeepingPacket)
121 {
122 sy_lfr_sw_version_n1->setText("sy_lfr_sw_version_n1: "
123 +QString::number( housekeepingPacket->lfr_sw_version[0] )
124 );
125 sy_lfr_sw_version_n2->setText("sy_lfr_sw_version_n2: "
126 +QString::number( housekeepingPacket->lfr_sw_version[1] )
127 );
128 sy_lfr_sw_version_n3->setText("sy_lfr_sw_version_n3: "
129 +QString::number( housekeepingPacket->lfr_sw_version[2] )
130 );
131 sy_lfr_sw_version_n4->setText("sy_lfr_sw_version_n4: "
132 +QString::number( housekeepingPacket->lfr_sw_version[3] )
133 );
134 }
135
136 void HKDisplay::updateTCStatistics(Packet_TM_LFR_HK_t *housekeepingPacket)
137 {
138 // TC Statistics
139 hk_lfr_update_info_tc_cnt->setText("hk_lfr_update_info_tc_cnt: "
140 + QString::number(
141 housekeepingPacket->hk_lfr_update_info_tc_cnt[0] * 256
142 + housekeepingPacket->hk_lfr_update_info_tc_cnt[1])
143 );
144 hk_lfr_update_time_tc_cnt->setText("hk_lfr_update_time_tc_cnt: "
145 + QString::number(
146 housekeepingPacket->hk_lfr_update_time_tc_cnt[0] * 256
147 + housekeepingPacket->hk_lfr_update_time_tc_cnt[1])
148 );
149 hk_dpu_exe_tc_lfr_cnt->setText("hk_dpu_exe_tc_lfr_cnt: "
150 + QString::number(
151 housekeepingPacket->hk_dpu_exe_tc_lfr_cnt[0] * 256
152 + housekeepingPacket->hk_dpu_exe_tc_lfr_cnt[1])
153 );
154 hk_dpu_rej_tc_lfr_cnt->setText("hk_dpu_rej_tc_lfr_cnt: "
155 + QString::number(
156 housekeepingPacket->hk_dpu_rej_tc_lfr_cnt[0] * 256
157 + housekeepingPacket->hk_dpu_rej_tc_lfr_cnt[1])
158 );
159 hk_lfr_last_exe_tc_id->setText("hk_lfr_last_exe_tc_id: "
160 + QString::number(
161 housekeepingPacket->hk_lfr_last_exe_tc_id[0] * 256
162 + housekeepingPacket->hk_lfr_last_exe_tc_id[1], 16)
163 );
164 hk_lfr_last_exe_tc_type->setText("hk_lfr_last_exe_tc_type: "
165 + QString::number(
166 housekeepingPacket->hk_lfr_last_exe_tc_type[0] * 256
167 + housekeepingPacket->hk_lfr_last_exe_tc_type[1])
168 );
169 hk_lfr_last_exe_tc_subtype->setText("hk_lfr_last_exe_tc_subtype: "
170 + QString::number(
171 housekeepingPacket->hk_lfr_last_exe_tc_subtype[0] * 256
172 + housekeepingPacket->hk_lfr_last_exe_tc_subtype[1])
173 );
174 hk_lfr_last_exe_tc_time->setText("hk_lfr_last_exe_tc_time: "
175 + QString::number(
176 (housekeepingPacket->hk_lfr_last_exe_tc_time[0] << 24)
177 + (housekeepingPacket->hk_lfr_last_exe_tc_time[1] << 16)
178 + (housekeepingPacket->hk_lfr_last_exe_tc_time[2] << 8)
179 + (housekeepingPacket->hk_lfr_last_exe_tc_time[3]), 16
180 )
181 );
182 hk_lfr_last_rej_tc_id->setText("hk_lfr_last_rej_tc_id: "
183 + QString::number(
184 housekeepingPacket->hk_lfr_last_rej_tc_id[0] * 256
185 + housekeepingPacket->hk_lfr_last_rej_tc_id[1], 16)
186 );
187 hk_lfr_last_rej_tc_type->setText("hk_lfr_last_rej_tc_type: "
188 + QString::number(
189 housekeepingPacket->hk_lfr_last_rej_tc_type[0] * 256
190 + housekeepingPacket->hk_lfr_last_rej_tc_type[1])
191 );
192 hk_lfr_last_rej_tc_subtype->setText("hk_lfr_last_rej_tc_subtype: "
193 + QString::number(
194 housekeepingPacket->hk_lfr_last_rej_tc_subtype[0] * 256
195 + housekeepingPacket->hk_lfr_last_rej_tc_subtype[1])
196 );
197 hk_lfr_last_rej_tc_time->setText("hk_lfr_last_rej_tc_time: "
198 + QString::number(
199 (housekeepingPacket->hk_lfr_last_rej_tc_time[0] << 24)
200 + (housekeepingPacket->hk_lfr_last_rej_tc_time[1] << 16)
201 + (housekeepingPacket->hk_lfr_last_rej_tc_time[2] << 8)
202 + (housekeepingPacket->hk_lfr_last_rej_tc_time[3]), 16
203 )
204 );
205 }
@@ -1,116 +1,157
1 1 #ifndef HKDISPLAY_H
2 2 #define HKDISPLAY_H
3 3
4 4 #include <QWidget>
5 5 #include <QLabel>
6 #include <QGroupBox>
7 #include <QVBoxLayout>
8 #include <QGridLayout>
9 #include "tmpackettoread.h"
10 #include "ccsds_types.h"
11
12 #define HK_PACKET_SIZE 126 + 4
6 13
7 14 class HKDisplay : public QWidget
8 15 {
9 16 Q_OBJECT
10 17 public:
11 18 explicit HKDisplay(QWidget *parent = 0);
19 void displayPacket(TMPacketToRead *tmPacketToRead);
20 void updateLFRMode(Packet_TM_LFR_HK_t *housekeepingPacket);
21 void updateSWVersion(Packet_TM_LFR_HK_t *housekeepingPacket);
22 void updateTCStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
12 23
13 24 signals:
25 void displayMessage(QString message);
14 26
15 27 public slots:
16 28
17 29 private:
30 QGroupBox *groupbox_lfrStatusWord;
31 QGroupBox *groupbox_lfrSWVersion;
32 QGroupBox *groupbox_tcStatistics;
33 QGroupBox *groupbox_anomalyStatistics;
34 //***********************************
35 //***********************************
36 QGroupBox *groupbox_vhdlBlockStatus;
37 QGroupBox *groupbox_spacewireIFStatisctics;
38 QGroupBox *groupbox_ahbErrorStatistics;
39 QGroupBox *groupbox_temperatures;
40 QGroupBox *groupbox_errorCountersSpaceWire;
41 QGroupBox *groupbox_errorCountersTime;
42
43 QGridLayout *mainLayout;
44 QVBoxLayout *box_lfrStatusWord;
45 QVBoxLayout *box_lfrSWVersion;
46 QVBoxLayout *box_tcStatistics;
47 QVBoxLayout *box_anomalyStatistics;
48 //***********************************
49 //***********************************
50 QVBoxLayout *box_vhdlBlockStatus;
51 QVBoxLayout *box_spacewireIFStatisctics;
52 QVBoxLayout *box_ahbErrorStatistics;
53 QVBoxLayout *box_temperatures;
54 QVBoxLayout *box_errorCountersSpaceWire;
55 QVBoxLayout *box_errorCountersTime;
56
18 57 QLabel *hk_lfr_mode;
19 58 QLabel *hk_lfr_dpu_spw_enabled;
20 QLabel *hk_lfr_dpu__link_state;
59 QLabel *hk_lfr_dpu_link_state;
21 60 QLabel *sy_lfr_watchdog_enabled;
22 61 QLabel *hk_lfr_calib_enabled;
23 62 QLabel *hk_lfr_reset_cause;
24 63 // sy_lfr_sw_version_
25 64 QLabel *sy_lfr_sw_version_n1;
26 65 QLabel *sy_lfr_sw_version_n2;
27 66 QLabel *sy_lfr_sw_version_n3;
28 67 QLabel *sy_lfr_sw_version_n4;
29 68 QLabel *hk_lfr_update_info_tc_cnt;
30 69 QLabel *hk_lfr_update_time_tc_cnt;
31 70 QLabel *hk_dpu_exe_tc_lfr_cnt;
32 71 QLabel *hk_dpu_rej_tc_lfr_cnt;
33 72 // hk_lfr_last_exe_tc_
34 73 QLabel *hk_lfr_last_exe_tc_id;
35 74 QLabel *hk_lfr_last_exe_tc_type;
36 75 QLabel *hk_lfr_last_exe_tc_subtype;
37 76 QLabel *hk_lfr_last_exe_tc_time;
38 77 // hk_lfr_last_rej_tc_
39 78 QLabel *hk_lfr_last_rej_tc_id;
40 79 QLabel *hk_lfr_last_rej_tc_type;
41 80 QLabel *hk_lfr_last_rej_tc_subtype;
42 81 QLabel *hk_lfr_last_rej_tc_time;
43 82
44 83 QLabel *hk_lfr_le_cnt;
45 84 QLabel *hk_lfr_me_cnt;
46 85 QLabel *hk_lfr_he_cnt;
47 86 // hk_lfr_last_er
48 87 QLabel *hk_lfr_last_er_rid;
49 88 QLabel *hk_lfr_last_er_code;
50 89 QLabel *hk_lfr_last_er_time;
90 //***********************************
91 //***********************************
51 92 //hk_lfr_vhdl_
52 93 QLabel *hk_lfr_vhdl_aa;
53 94 QLabel *hk_lfr_vhdl_sm;
54 95 QLabel *hk_lfr_vhdl_fft;
55 96 QLabel *hk_lfr_vhdl_sr;
56 97 QLabel *hk_lfr_vhdl_cic;
57 98 QLabel *hk_lfr_vhdl_hk;
58 99 QLabel *hk_lfr_vhdl_iir;
59 100 QLabel *hk_lfr_vhdl_cal;
60 101 // hk_lfr_dpu_spw_
61 102 QLabel *hk_lfr_dpu_spw_pkt_rcv_cnt;
62 103 QLabel *hk_lfr_dpu_spw_pkt_sent_cnt;
63 104 QLabel *hk_lfr_dpu_spw_tick_out_cnt;
64 105 QLabel *hk_lfr_dpu_spw_last_timc;
65 106 // hk_lfr_last_fail_addr
66 107 QLabel *hk_lfr_last_fail_addr;
67 108 // hk_lfr_temp_
68 109 QLabel *hk_lfr_temp_scm;
69 110 QLabel *hk_lfr_temp_pcb;
70 111 QLabel *hk_lfr_temp_fpga;
71 112 // hk_lfr_dpu_spw_
72 113 QLabel *hk_lfr_dpu_spw_parity;
73 114 QLabel *hk_lfr_dpu_spw_disconnect;
74 115 QLabel *hk_lfr_dpu_spw_escape;
75 116 QLabel *hk_lfr_dpu_spw_credit;
76 117 QLabel *hk_lfr_dpu_spw_write_sync;
77 118 QLabel *hk_lfr_dpu_spw_rx_ahb;
78 119 QLabel *hk_lfr_dpu_spw_tx_ahb;
79 120 QLabel *hk_lfr_dpu_spw_header_crc;
80 121 QLabel *hk_lfr_dpu_spw_data_crc;
81 122 QLabel *hk_lfr_dpu_spw_early_eop;
82 123 QLabel *hk_lfr_dpu_spw_invalid_addr;
83 124 QLabel *hk_lfr_dpu_spw_eep;
84 125 QLabel *hk_lfr_dpu_spw_rx_too_big;
85 126 // hk_lfr_timecode_
86 127 QLabel *hk_lfr_timecode_erroneous;
87 128 QLabel *hk_lfr_timecode_missing;
88 129 QLabel *hk_lfr_timecode_invalid;
89 130 // hk_lfr_time_
90 131 QLabel *hk_lfr_time_timecode_it;
91 132 QLabel *hk_lfr_time_not_synchro;
92 133 QLabel *hk_lfr_time_timecode_ctr;
93 134 // hk_lfr_buffer_dpu_
94 135 QLabel *hk_lfr_buffer_dpu_tc_fifo;
95 136 QLabel *hk_lfr_buffer_dpu_tm_fifo;
96 137 // hk_lfr_ahb_
97 138 QLabel *hk_lfr_ahb_correctable;
98 139 QLabel *hk_lfr_ahb_uncorrectable;
99 140 QLabel *hk_lfr_ahb_fails_trans;
100 141 // hk_lfr_adc_
101 142 QLabel *hk_lfr_adc_failure;
102 143 QLabel *hk_lfr_adc_timeout;
103 144 QLabel *hk_lfr_toomany_err;
104 145 // hk_lfr_cpu_
105 146 QLabel *hk_lfr_cpu_write_err;
106 147 QLabel *hk_lfr_cpu_ins_access_err;
107 148 QLabel *hk_lfr_cpu_illegal_ins;
108 149 QLabel *hk_lfr_cpu_privilegied_ins;
109 150 QLabel *hk_lfr_cpu_register_hw;
110 151 QLabel *hk_lfr_cpu_not_aligned;
111 152 QLabel *hk_lfr_cpu_data_exception;
112 153 QLabel *hk_lfr_cpu_div_exception;
113 154 QLabel *hk_lfr_cpu_arith_overflow;
114 155 };
115 156
116 157 #endif // HKDISPLAY_H
@@ -1,331 +1,360
1 1 #############################################################################
2 2 # Makefile for building: gselesia
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Tue Jun 4 14:34:14 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Mon Jun 17 13:07:45 2013
4 4 # Project: gselesia.pro
5 5 # Template: app
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 12 CXX = g++
13 13 DEFINES = -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
14 14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
15 15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
16 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/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I.
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../rmapplugin -I../../DEV_PLE/header -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I.
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro
19 19 LIBS = $(SUBLIBS) -L/usr/lib64 -llppmoncommon -lwfdisplay -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = ./
43 43
44 44 ####### Files
45 45
46 46 SOURCES = main.cpp \
47 47 mainwindow.cpp \
48 48 mainwindowui.cpp \
49 49 ../common_PLE/qipdialogbox.cpp \
50 50 lfrxmlhandler.cpp \
51 51 lfrxmlwriter.cpp \
52 52 ../rmapplugin/tmstatistics.cpp \
53 53 ../rmapplugin/tmpackettoread.cpp \
54 ../rmapplugin/wfpacket.cpp moc_mainwindow.cpp \
54 ../rmapplugin/wfpacket.cpp \
55 ../common_PLE/hkdisplay.cpp \
56 lfrxmlparser.cpp moc_mainwindow.cpp \
55 57 moc_mainwindowui.cpp \
56 58 moc_qipdialogbox.cpp \
57 59 moc_lfrxmlhandler.cpp \
58 60 moc_lfrxmlwriter.cpp \
59 61 moc_tmstatistics.cpp \
60 62 moc_tmpackettoread.cpp \
61 moc_wfpacket.cpp
63 moc_wfpacket.cpp \
64 moc_hkdisplay.cpp \
65 moc_lfrxmlparser.cpp
62 66 OBJECTS = main.o \
63 67 mainwindow.o \
64 68 mainwindowui.o \
65 69 qipdialogbox.o \
66 70 lfrxmlhandler.o \
67 71 lfrxmlwriter.o \
68 72 tmstatistics.o \
69 73 tmpackettoread.o \
70 74 wfpacket.o \
75 hkdisplay.o \
76 lfrxmlparser.o \
71 77 moc_mainwindow.o \
72 78 moc_mainwindowui.o \
73 79 moc_qipdialogbox.o \
74 80 moc_lfrxmlhandler.o \
75 81 moc_lfrxmlwriter.o \
76 82 moc_tmstatistics.o \
77 83 moc_tmpackettoread.o \
78 moc_wfpacket.o
84 moc_wfpacket.o \
85 moc_hkdisplay.o \
86 moc_lfrxmlparser.o
79 87 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
80 88 /usr/lib64/qt4/mkspecs/common/linux.conf \
81 89 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
82 90 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
83 91 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
84 92 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
85 93 /usr/lib64/qt4/mkspecs/qconfig.pri \
86 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
94 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
87 95 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
88 96 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
89 97 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
90 98 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
91 99 /usr/lib64/qt4/mkspecs/features/release.prf \
92 100 /usr/lib64/qt4/mkspecs/features/default_post.prf \
93 101 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
94 102 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
95 103 /usr/lib64/qt4/mkspecs/features/qt.prf \
96 104 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
97 105 /usr/lib64/qt4/mkspecs/features/moc.prf \
98 106 /usr/lib64/qt4/mkspecs/features/resources.prf \
99 107 /usr/lib64/qt4/mkspecs/features/uic.prf \
100 108 /usr/lib64/qt4/mkspecs/features/yacc.prf \
101 109 /usr/lib64/qt4/mkspecs/features/lex.prf \
102 110 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
103 111 gselesia.pro
104 112 QMAKE_TARGET = gselesia
105 113 DESTDIR =
106 114 TARGET = gselesia
107 115
108 116 first: all
109 117 ####### Implicit rules
110 118
111 119 .SUFFIXES: .o .c .cpp .cc .cxx .C
112 120
113 121 .cpp.o:
114 122 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
115 123
116 124 .cc.o:
117 125 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
118 126
119 127 .cxx.o:
120 128 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
121 129
122 130 .C.o:
123 131 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
124 132
125 133 .c.o:
126 134 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
127 135
128 136 ####### Build rules
129 137
130 138 all: Makefile $(TARGET)
131 139
132 140 $(TARGET): $(OBJECTS)
133 141 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
134 142
135 143 Makefile: gselesia.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
136 144 /usr/lib64/qt4/mkspecs/common/linux.conf \
137 145 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
138 146 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
139 147 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
140 148 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
141 149 /usr/lib64/qt4/mkspecs/qconfig.pri \
142 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
150 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
143 151 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
144 152 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
145 153 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
146 154 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
147 155 /usr/lib64/qt4/mkspecs/features/release.prf \
148 156 /usr/lib64/qt4/mkspecs/features/default_post.prf \
149 157 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
150 158 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
151 159 /usr/lib64/qt4/mkspecs/features/qt.prf \
152 160 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
153 161 /usr/lib64/qt4/mkspecs/features/moc.prf \
154 162 /usr/lib64/qt4/mkspecs/features/resources.prf \
155 163 /usr/lib64/qt4/mkspecs/features/uic.prf \
156 164 /usr/lib64/qt4/mkspecs/features/yacc.prf \
157 165 /usr/lib64/qt4/mkspecs/features/lex.prf \
158 166 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
159 167 /usr/lib64/libQtXml.prl \
160 168 /usr/lib64/libQtCore.prl \
161 169 /usr/lib64/libQtGui.prl \
162 170 /usr/lib64/libQtNetwork.prl
163 171 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
164 172 /usr/lib64/qt4/mkspecs/common/unix.conf:
165 173 /usr/lib64/qt4/mkspecs/common/linux.conf:
166 174 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
167 175 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
168 176 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
169 177 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
170 178 /usr/lib64/qt4/mkspecs/qconfig.pri:
171 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
179 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
172 180 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
173 181 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
174 182 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
175 183 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
176 184 /usr/lib64/qt4/mkspecs/features/release.prf:
177 185 /usr/lib64/qt4/mkspecs/features/default_post.prf:
178 186 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
179 187 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
180 188 /usr/lib64/qt4/mkspecs/features/qt.prf:
181 189 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
182 190 /usr/lib64/qt4/mkspecs/features/moc.prf:
183 191 /usr/lib64/qt4/mkspecs/features/resources.prf:
184 192 /usr/lib64/qt4/mkspecs/features/uic.prf:
185 193 /usr/lib64/qt4/mkspecs/features/yacc.prf:
186 194 /usr/lib64/qt4/mkspecs/features/lex.prf:
187 195 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
188 196 /usr/lib64/libQtXml.prl:
189 197 /usr/lib64/libQtCore.prl:
190 198 /usr/lib64/libQtGui.prl:
191 199 /usr/lib64/libQtNetwork.prl:
192 200 qmake: FORCE
193 201 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro
194 202
195 203 dist:
196 204 @$(CHK_DIR_EXISTS) .tmp/gselesia1.0.0 || $(MKDIR) .tmp/gselesia1.0.0
197 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/gselesia1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h ../common_PLE/qipdialogbox.h lfrxmlhandler.h lfrxmlwriter.h ../rmapplugin/tmstatistics.h ../rmapplugin/tmpackettoread.h ../rmapplugin/wfpacket.h .tmp/gselesia1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp ../common_PLE/qipdialogbox.cpp lfrxmlhandler.cpp lfrxmlwriter.cpp ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmpackettoread.cpp ../rmapplugin/wfpacket.cpp .tmp/gselesia1.0.0/ && (cd `dirname .tmp/gselesia1.0.0` && $(TAR) gselesia1.0.0.tar gselesia1.0.0 && $(COMPRESS) gselesia1.0.0.tar) && $(MOVE) `dirname .tmp/gselesia1.0.0`/gselesia1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/gselesia1.0.0
205 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/gselesia1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h ../common_PLE/qipdialogbox.h lfrxmlhandler.h lfrxmlwriter.h ../rmapplugin/tmstatistics.h ../rmapplugin/tmpackettoread.h ../rmapplugin/wfpacket.h ../common_PLE/hkdisplay.h ../rmapplugin/params.h ../../DEV_PLE/header/ccsds_types.h lfrxmlparser.h .tmp/gselesia1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp ../common_PLE/qipdialogbox.cpp lfrxmlhandler.cpp lfrxmlwriter.cpp ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmpackettoread.cpp ../rmapplugin/wfpacket.cpp ../common_PLE/hkdisplay.cpp lfrxmlparser.cpp .tmp/gselesia1.0.0/ && (cd `dirname .tmp/gselesia1.0.0` && $(TAR) gselesia1.0.0.tar gselesia1.0.0 && $(COMPRESS) gselesia1.0.0.tar) && $(MOVE) `dirname .tmp/gselesia1.0.0`/gselesia1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/gselesia1.0.0
198 206
199 207
200 208 clean:compiler_clean
201 209 -$(DEL_FILE) $(OBJECTS)
202 210 -$(DEL_FILE) *~ core *.core
203 211
204 212
205 213 ####### Sub-libraries
206 214
207 215 distclean: clean
208 216 -$(DEL_FILE) $(TARGET)
209 217 -$(DEL_FILE) Makefile
210 218
211 219
212 220 check: first
213 221
214 222 mocclean: compiler_moc_header_clean compiler_moc_source_clean
215 223
216 224 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
217 225
218 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp
226 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp
219 227 compiler_moc_header_clean:
220 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp
228 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_qipdialogbox.cpp moc_lfrxmlhandler.cpp moc_lfrxmlwriter.cpp moc_tmstatistics.cpp moc_tmpackettoread.cpp moc_wfpacket.cpp moc_hkdisplay.cpp moc_lfrxmlparser.cpp
221 229 moc_mainwindow.cpp: lfrxmlhandler.h \
222 230 lfrxmlwriter.h \
223 231 mainwindowui.h \
232 lfrxmlparser.h \
224 233 mainwindow.h
225 234 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
226 235
227 236 moc_mainwindowui.cpp: mainwindowui.h
228 237 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindowui.h -o moc_mainwindowui.cpp
229 238
230 239 moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
231 240 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc_qipdialogbox.cpp
232 241
233 242 moc_lfrxmlhandler.cpp: lfrxmlhandler.h
234 243 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlhandler.h -o moc_lfrxmlhandler.cpp
235 244
236 245 moc_lfrxmlwriter.cpp: lfrxmlwriter.h
237 246 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlwriter.h -o moc_lfrxmlwriter.cpp
238 247
239 248 moc_tmstatistics.cpp: ../rmapplugin/tmstatistics.h
240 249 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmstatistics.h -o moc_tmstatistics.cpp
241 250
242 251 moc_tmpackettoread.cpp: ../rmapplugin/tmpackettoread.h
243 252 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/tmpackettoread.h -o moc_tmpackettoread.cpp
244 253
245 254 moc_wfpacket.cpp: ../rmapplugin/wfpacket.h
246 255 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../rmapplugin/wfpacket.h -o moc_wfpacket.cpp
247 256
257 moc_hkdisplay.cpp: ../common_PLE/hkdisplay.h
258 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/hkdisplay.h -o moc_hkdisplay.cpp
259
260 moc_lfrxmlparser.cpp: lfrxmlparser.h
261 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfrxmlparser.h -o moc_lfrxmlparser.cpp
262
248 263 compiler_rcc_make_all:
249 264 compiler_rcc_clean:
250 265 compiler_image_collection_make_all: qmake_image_collection.cpp
251 266 compiler_image_collection_clean:
252 267 -$(DEL_FILE) qmake_image_collection.cpp
253 268 compiler_moc_source_make_all:
254 269 compiler_moc_source_clean:
255 270 compiler_uic_make_all:
256 271 compiler_uic_clean:
257 272 compiler_yacc_decl_make_all:
258 273 compiler_yacc_decl_clean:
259 274 compiler_yacc_impl_make_all:
260 275 compiler_yacc_impl_clean:
261 276 compiler_lex_make_all:
262 277 compiler_lex_clean:
263 278 compiler_clean: compiler_moc_header_clean
264 279
265 280 ####### Compile
266 281
267 282 main.o: main.cpp mainwindow.h \
268 283 lfrxmlhandler.h \
269 284 lfrxmlwriter.h \
270 mainwindowui.h
285 mainwindowui.h \
286 lfrxmlparser.h
271 287 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
272 288
273 289 mainwindow.o: mainwindow.cpp mainwindow.h \
274 290 lfrxmlhandler.h \
275 291 lfrxmlwriter.h \
276 mainwindowui.h
292 mainwindowui.h \
293 lfrxmlparser.h
277 294 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
278 295
279 296 mainwindowui.o: mainwindowui.cpp mainwindowui.h
280 297 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindowui.o mainwindowui.cpp
281 298
282 299 qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
283 300 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qipdialogbox.o ../common_PLE/qipdialogbox.cpp
284 301
285 302 lfrxmlhandler.o: lfrxmlhandler.cpp lfrxmlhandler.h
286 303 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlhandler.o lfrxmlhandler.cpp
287 304
288 305 lfrxmlwriter.o: lfrxmlwriter.cpp lfrxmlwriter.h
289 306 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlwriter.o lfrxmlwriter.cpp
290 307
291 308 tmstatistics.o: ../rmapplugin/tmstatistics.cpp ../rmapplugin/tmstatistics.h
292 309 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmstatistics.o ../rmapplugin/tmstatistics.cpp
293 310
294 311 tmpackettoread.o: ../rmapplugin/tmpackettoread.cpp ../rmapplugin/tmpackettoread.h
295 312 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tmpackettoread.o ../rmapplugin/tmpackettoread.cpp
296 313
297 314 wfpacket.o: ../rmapplugin/wfpacket.cpp ../rmapplugin/wfpacket.h
298 315 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpacket.o ../rmapplugin/wfpacket.cpp
299 316
317 hkdisplay.o: ../common_PLE/hkdisplay.cpp ../common_PLE/hkdisplay.h
318 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o hkdisplay.o ../common_PLE/hkdisplay.cpp
319
320 lfrxmlparser.o: lfrxmlparser.cpp lfrxmlparser.h
321 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o lfrxmlparser.o lfrxmlparser.cpp
322
300 323 moc_mainwindow.o: moc_mainwindow.cpp
301 324 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
302 325
303 326 moc_mainwindowui.o: moc_mainwindowui.cpp
304 327 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindowui.o moc_mainwindowui.cpp
305 328
306 329 moc_qipdialogbox.o: moc_qipdialogbox.cpp
307 330 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qipdialogbox.o moc_qipdialogbox.cpp
308 331
309 332 moc_lfrxmlhandler.o: moc_lfrxmlhandler.cpp
310 333 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlhandler.o moc_lfrxmlhandler.cpp
311 334
312 335 moc_lfrxmlwriter.o: moc_lfrxmlwriter.cpp
313 336 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlwriter.o moc_lfrxmlwriter.cpp
314 337
315 338 moc_tmstatistics.o: moc_tmstatistics.cpp
316 339 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmstatistics.o moc_tmstatistics.cpp
317 340
318 341 moc_tmpackettoread.o: moc_tmpackettoread.cpp
319 342 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tmpackettoread.o moc_tmpackettoread.cpp
320 343
321 344 moc_wfpacket.o: moc_wfpacket.cpp
322 345 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_wfpacket.o moc_wfpacket.cpp
323 346
347 moc_hkdisplay.o: moc_hkdisplay.cpp
348 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_hkdisplay.o moc_hkdisplay.cpp
349
350 moc_lfrxmlparser.o: moc_lfrxmlparser.cpp
351 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_lfrxmlparser.o moc_lfrxmlparser.cpp
352
324 353 ####### Install
325 354
326 355 install: FORCE
327 356
328 357 uninstall: FORCE
329 358
330 359 FORCE:
331 360
1 NO CONTENT: modified file, binary diff hidden
@@ -1,43 +1,50
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 = gselesia
12 12 TEMPLATE = app
13 13
14 14 INCLUDEPATH += \
15 15 $${PWD} \
16 16 ../common_PLE \
17 17 ../rmapplugin \
18 ../../DEV_PLE/header \
18 19 $$[QT_INSTALL_HEADERS]/lppmon/common \
19 20 $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay
20 21
21 22 LIBS += -llppmoncommon -lwfdisplay
22 23
23 24 SOURCES += main.cpp\
24 25 mainwindow.cpp \
25 26 mainwindowui.cpp \
26 27 ../common_PLE/qipdialogbox.cpp \
27 28 lfrxmlhandler.cpp \
28 29 lfrxmlwriter.cpp \
29 30 ../rmapplugin/tmstatistics.cpp \
30 31 ../rmapplugin/tmpackettoread.cpp \
31 ../rmapplugin/wfpacket.cpp
32 ../rmapplugin/wfpacket.cpp \
33 ../common_PLE/hkdisplay.cpp \
34 lfrxmlparser.cpp
32 35
33 36 HEADERS += mainwindow.h \
34 37 mainwindowui.h \
35 38 ../common_PLE/qipdialogbox.h \
36 39 lfrxmlhandler.h \
37 40 lfrxmlwriter.h \
38 41 ../rmapplugin/tmstatistics.h \
39 42 ../rmapplugin/tmpackettoread.h \
40 ../rmapplugin/wfpacket.h
43 ../rmapplugin/wfpacket.h \
44 ../common_PLE/hkdisplay.h \
45 ../rmapplugin/params.h \
46 ../../DEV_PLE/header/ccsds_types.h \
47 lfrxmlparser.h
41 48
42 49
43 50
@@ -1,265 +1,265
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-06-04T16:00:06. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-06-17T15:56:30. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 15 <value type="QString" key="language">Cpp</value>
16 16 <valuemap type="QVariantMap" key="value">
17 17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 18 </valuemap>
19 19 </valuemap>
20 20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 21 <value type="QString" key="language">QmlJS</value>
22 22 <valuemap type="QVariantMap" key="value">
23 23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 24 </valuemap>
25 25 </valuemap>
26 26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 43 </valuemap>
44 44 </data>
45 45 <data>
46 46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 47 <valuemap type="QVariantMap"/>
48 48 </data>
49 49 <data>
50 50 <variable>ProjectExplorer.Project.Target.0</variable>
51 51 <valuemap type="QVariantMap">
52 52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 69 </valuemap>
70 70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 77 </valuemap>
78 78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 82 </valuemap>
83 83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 91 </valuemap>
92 92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 96 </valuemap>
97 97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/GSE_LESIA/gselesia</value>
105 105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 107 </valuemap>
108 108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 119 </valuemap>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 127 </valuemap>
128 128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 132 </valuemap>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 141 </valuemap>
142 142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 146 </valuemap>
147 147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/GSE_LESIA/gselesia</value>
155 155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 157 </valuemap>
158 158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 165 </valuemap>
166 166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 170 </valuemap>
171 171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 202 <value type="int">0</value>
203 203 <value type="int">1</value>
204 204 <value type="int">2</value>
205 205 <value type="int">3</value>
206 206 <value type="int">4</value>
207 207 <value type="int">5</value>
208 208 <value type="int">6</value>
209 209 <value type="int">7</value>
210 210 <value type="int">8</value>
211 211 <value type="int">9</value>
212 212 <value type="int">10</value>
213 213 <value type="int">11</value>
214 214 <value type="int">12</value>
215 215 <value type="int">13</value>
216 216 <value type="int">14</value>
217 217 </valuelist>
218 218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 219 <value type="int">0</value>
220 220 <value type="int">1</value>
221 221 <value type="int">2</value>
222 222 <value type="int">3</value>
223 223 <value type="int">4</value>
224 224 <value type="int">5</value>
225 225 <value type="int">6</value>
226 226 <value type="int">7</value>
227 227 <value type="int">8</value>
228 228 <value type="int">9</value>
229 229 <value type="int">10</value>
230 230 <value type="int">11</value>
231 231 <value type="int">12</value>
232 232 <value type="int">13</value>
233 233 <value type="int">14</value>
234 234 </valuelist>
235 235 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">gselesia</value>
236 236 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
237 237 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
238 238 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
239 239 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
240 240 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">gselesia.pro</value>
241 241 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
242 242 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
243 243 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
244 244 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
245 245 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
246 246 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
247 247 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
248 248 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
249 249 </valuemap>
250 250 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
251 251 </valuemap>
252 252 </data>
253 253 <data>
254 254 <variable>ProjectExplorer.Project.TargetCount</variable>
255 255 <value type="int">1</value>
256 256 </data>
257 257 <data>
258 258 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
259 259 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
260 260 </data>
261 261 <data>
262 262 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
263 263 <value type="int">10</value>
264 264 </data>
265 265 </qtcreator>
@@ -1,50 +1,49
1 1 #include "lfrxmlwriter.h"
2 2 #include <QFile>
3 3 #include <QMessageBox>
4 4
5 5 LFRXmlWriter::LFRXmlWriter(QWidget *parent) :
6 6 QObject(parent)
7 7 {
8 8 socketTM = NULL;
9 9 xmlWriter = new QXmlStreamWriter();
10 10 }
11 11
12 12 LFRXmlWriter::~LFRXmlWriter()
13 13 {
14 14
15 15 }
16 16
17 17 void LFRXmlWriter::setSocketTM(QTcpSocket *socket)
18 18 {
19 19 this->socketTM = socket;
20 20 xmlWriter->setDevice(this->socketTM);
21 21 }
22 22
23 23 void LFRXmlWriter::sendXML_TC_Acknowledgment()
24 24 {
25 25 xmlWriter->writeStartElement("TCAck");
26 26 xmlWriter->writeAttribute("ID", "0");
27 27 xmlWriter->writeEndElement();
28 28 }
29 29
30 30 void LFRXmlWriter::sendXML_TC_rejection()
31 31 {
32 32 xmlWriter->writeStartElement("TCNAck");
33 33 xmlWriter->writeAttribute("ID", "0");
34 34 xmlWriter->writeStartElement("Reason");
35 35 xmlWriter->writeEndElement();
36 36 xmlWriter->writeEndElement();
37 37 }
38 38
39
40 39 void LFRXmlWriter::sendXML_GSE_HK()
41 40 {
42 41 xmlWriter->writeStartElement("TM");
43 42 xmlWriter->writeStartElement("Name");
44 43 xmlWriter->writeEndElement();
45 44 xmlWriter->writeStartElement("Content");
46 45 xmlWriter->writeCharacters("FFFFCC0099");
47 46 xmlWriter->writeEndElement();
48 47 xmlWriter->writeEndElement();
49 48 xmlWriter->writeEndElement();
50 49 }
@@ -1,351 +1,366
1 1 #include "mainwindow.h"
2 2 #include <iostream>
3 3 #include <QNetworkInterface>
4 4
5 5 MainWindow::MainWindow(QWidget *parent)
6 6 : QWidget(parent)
7 7 {
8 parsingContinue = false;
8 9 totalOfBytes = 0;
10 totalOfPackets = 0;
9 11
10 12 analyserSGSEServerTC = new QTcpServer();
11 13 analyserSGSEServerTM = new QTcpServer();
12 14
13 15 socketTC = NULL;
14 16 socketTM = NULL;
15 17 socketEchoServer = new QTcpSocket();
16 18
17 sourceTC = new QXmlInputSource();
18 sourceTMechoBridge = new QXmlInputSource();
19 //****
20 // XML
21 // xml handlers
19 22 xmlHandler = new LFRXmlHandler();
20
23 // xml sources
24 sourceTC = new QXmlInputSource();
25 // xml writer
21 26 lfrXmlWriter = new LFRXmlWriter();
27 // setup xml parser for the echo bridge
28 lfrXmlParser = new LFRXmlParser();
22 29
23 30 UI = new MainWindowUI();
24 31
25 32 initSocketStatesList();
26 33
27 34 this->setLayout(UI->layout());
28 35
29 36 connect(this->UI->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTCTMPorts()));
30 37 connect(this->UI->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTCTMPorts()));
31 38 connect(this->UI->button_openSocketEchoServer, SIGNAL(clicked()), this, SLOT(openEchoServer()));
32 39 //
33 40 connect(this->analyserSGSEServerTC, SIGNAL(newConnection()), this, SLOT(newConnectionOnTCServer()));
34 41 connect(this->analyserSGSEServerTM, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMServer()));
35 42 //
36 43 connect(this, SIGNAL(socketTMHasChanged(QTcpSocket*)), this->lfrXmlWriter, SLOT(setSocketTM(QTcpSocket*)));
37 44 connect(this->UI->button_TCAcknowledgement, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_Acknowledgment()));
38 45 connect(this->UI->button_TCRejection, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_TC_rejection()));
39 46 connect(this->UI->button_GSEHK, SIGNAL(clicked()), this->lfrXmlWriter, SLOT(sendXML_GSE_HK()));
47
48 // socket echo server
40 49 connect(this->socketEchoServer, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
41 50 this, SLOT(socket_TMEcho_ServerHasChanged()));
42 51 connect(this->socketEchoServer, SIGNAL(readyRead()),
43 52 this, SLOT(readDataOnSocketEchoServer()));
53
54 // display on console
55 connect(this->xmlHandler, SIGNAL(displayMessage(QString)),
56 this, SLOT(displayOnConsole(QString)));
57 connect(this->UI->hkDisplay, SIGNAL(displayMessage(QString)),
58 this, SLOT(displayOnConsole(QString)));
59 connect(this->lfrXmlParser, SIGNAL(sendMessage(QString)),
60 this, SLOT(displayOnConsole(QString)));
44 61 //
45 connect(this->xmlHandler, SIGNAL(displayMessage(QString)), this, SLOT(displayOnConsole(QString)));
62 connect(this->lfrXmlParser, SIGNAL(sendPacket(TMPacketToRead*)),
63 this, SLOT(processIncomingPacket(TMPacketToRead*)));
64 //
65 connect(this->UI->button_resetStatistics, SIGNAL(clicked()),
66 this, SLOT(resetStatistics()));
46 67
47 68 displayNetworkInterfaces();
48 69
49 70 this->xmlHandler->packetStoreHasChanged(&generalCCSDSPacketStore);
50 }
71 };
51 72
52 73 MainWindow::~MainWindow()
53 74 {
54 75
55 76 }
56 77
57 78 void MainWindow::displayNetworkInterfaces()
58 79 {
59 80 QList<QHostAddress> list = QNetworkInterface::allAddresses();
60 81 this->displayOnConsole("Network interfaces:");
61 82 for(int nIter=0; nIter<list.count(); nIter++)
62 83 {
63 84 this->UI->displayOnConsole(list[nIter].toString());
64 85 }
65 86 }
66 87
67 88 void MainWindow::listenOnTCTMPorts()
68 89 {
69 90 QString str;
70 91
71 92 //***
72 93 // TC
73 94 analyserSGSEServerTC->listen(QHostAddress::Any, this->UI->getTCPort());
74 95 str = analyserSGSEServerTC->errorString();
75 96 if (!str.isEmpty())
76 97 {
77 98 this->displayOnConsole(str);
78 99 }
79 100 this->displayOnConsole("Listening TC on port "
80 101 + QString::number(this->UI->getTCPort())
81 102 );
82 103
83 104 //***
84 105 // TM
85 106 analyserSGSEServerTM->listen(QHostAddress::Any, this->UI->getTMPort());
86 107 str = analyserSGSEServerTM->errorString();
87 108 if (!str.isEmpty())
88 109 {
89 110 this->displayOnConsole(str);
90 111 }
91 112 this->displayOnConsole("Listening TM on port "
92 113 + QString::number(this->UI->getTMPort())
93 114 );
94 115 }
95 116
96 117 void MainWindow::testTCTMPorts()
97 118 {
98 119 if (socketTC != NULL)
99 120 {
100 121 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
101 122 }
102 123 else
103 124 {
104 125 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
105 126 }
106 127 if (socketTM != NULL)
107 128 {
108 129 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
109 130 }
110 131 else
111 132 {
112 133 this->displayOnConsole("TM socket *** not tested, (socketTM) is NULL" );
113 134 }
114 135 }
115 136
116 137 void MainWindow::newConnectionOnTCServer()
117 138 {
118 139 this->displayOnConsole("got new connection on TC port");
119 140 socketTC = analyserSGSEServerTC->nextPendingConnection();
120 141 this->displayOnConsole("TC socket *** " + socketStates.at(socketTC->state()) );
121 142 connect(this->socketTC, SIGNAL(readyRead()), this, SLOT(readDataOnTCPort()));
122 143 }
123 144
124 145 void MainWindow::newConnectionOnTMServer()
125 146 {
126 147 this->displayOnConsole("got new connection on TM port");
127 148 socketTM = analyserSGSEServerTM->nextPendingConnection();
128 149 this->displayOnConsole("TM socket *** " + socketStates.at(socketTM->state()) );
129 150 connect(this->socketTM, SIGNAL(readyRead()), this, SLOT(readDataOnTMPort()));
130 151
131 152 emit socketTMHasChanged(this->socketTM);
132 153 }
133 154
134 155 void MainWindow::readDataOnTCPort()
135 156 {
136 157 bool ok;
137 158 int nbBytesAvailable = 0;
138 159
139 160 nbBytesAvailable = socketTC->bytesAvailable();
140 161 buffer = (char *) malloc(nbBytesAvailable);
141 162 socketTC->read(buffer, nbBytesAvailable);
142 163
143 164 this->displayOnConsole("readDataOnTCPort *** "
144 165 + QString::number(nbBytesAvailable)
145 166 + " read");
146 167
147 168 QByteArray xmlData( buffer, nbBytesAvailable);
148 169
149 170 free(buffer);
150 171
151 172 sourceTC->setData( xmlData );
152 173
153 174 xmlReader.setContentHandler(xmlHandler);
154 175 xmlReader.setErrorHandler(xmlHandler);
155 176
156 177 ok = xmlReader.parse(sourceTC);
157 178 if (!ok) {
158 179 std::cout << "Parsing failed." << std::endl;
159 180 }
160 181 else {
161 182 QStringList names = xmlHandler->names();
162 183 QList<int> indentations = xmlHandler->indentations();
163 184
164 185 int items = names.count();
165 186
166 187 for (int i = 0; i < items; ++i) {
167 188 displayOnConsole(
168 189 names[i]
169 190 + " --- identations: "
170 191 + QString::number(indentations[i]));
171 192 }
172 193 }
173 194 }
174 195
175 196 void MainWindow::readDataOnTMPort()
176 197 {
177 198 this->displayOnConsole("TM data received, begin parsing");
178 199 }
179 200
180 201 void MainWindow::readDataOnSocketEchoServer()
181 202 {
182 int nbBytesAvailable = 0;
183
184 nbBytesAvailable = socketEchoServer->bytesAvailable();
185 buffer = (char *) malloc(nbBytesAvailable);
186 socketEchoServer->read(buffer, nbBytesAvailable);
203 QString dataString;
187 204
188 totalOfBytes = totalOfBytes + nbBytesAvailable;
189 this->UI->totalOfBytesHasChanged(totalOfBytes);
190
191 processIncomingData(buffer, nbBytesAvailable);
192
193 free(buffer);
205 dataArray.append(socketEchoServer->readAll());
206 dataString = QString::fromAscii(dataArray);
207 this->lfrXmlParser->processIncomingStr(dataString);
208 dataArray.clear();
194 209 }
195 210
196 void MainWindow::processIncomingData(char *data, unsigned int size)
211 void MainWindow::processIncomingData(const QString &ch)
197 212 {
198 213 QByteArray newdat;
199 int index;
200 214 char *values;
201 215 unsigned char *ccsdsData;
202 216 unsigned int ccsdsSize = 0;
203 unsigned char sizeByte1 = 0;
204 unsigned char sizeByte0 = 0;
205 217
206 218 TMPacketToRead *incomingPacket;
207 219
208 newdat = QByteArray::fromRawData( data, size);
209 index = newdat.indexOf("<EventBinary>") + 13;
220 newdat = QByteArray::fromHex(ch.toAscii());
210 221
211 values = (char*) (newdat.data() + index);
212 sizeByte0 = fromAsciiToChar(values[ 8*2 ])*16 + fromAsciiToChar(values[ 8*2+1 ]);
213 sizeByte1 = fromAsciiToChar(values[ 9*2 ])*16 + fromAsciiToChar(values[ 9*2+1 ]);
214 ccsdsSize = sizeByte0*256 + sizeByte1;
215 ccsdsData = (unsigned char*) malloc(ccsdsSize + 1 + 10);
216 for (unsigned int i=0; i<ccsdsSize; i++)
217 {
218 ccsdsData[i] = fromAsciiToChar(values[ i*2 ])*16 + fromAsciiToChar(values[ i*2+1 ]);
219 }
222 values = (char*) newdat.data();
223 ccsdsSize = newdat.size();
224 ccsdsData = (unsigned char *) values;
225
220 226 incomingPacket = new TMPacketToRead(ccsdsData, ccsdsSize);
221 generalCCSDSPacketStore.append(incomingPacket);
222 preProcessPacket(incomingPacket);
223 free(ccsdsData);
227 processIncomingPacket( incomingPacket );
224 228 }
225 229
226 230 void MainWindow::displayOnConsole(QString message)
227 231 {
228 232 this->UI->displayOnConsole( message );
229 233 }
230 234
231 235 void MainWindow::initSocketStatesList()
232 236 {
233 237 socketStates.append("The socket is not connected");
234 238 socketStates.append("The socket is performing a host name lookup");
235 239 socketStates.append("The socket has started establishing a connection");
236 240 socketStates.append("A connection is established");
237 241 socketStates.append("The socket is bound to an address and port (for servers)");
238 242 socketStates.append("The socket is about to close (data may still be waiting to be written)");
239 243 socketStates.append("For internal use only");
240 244 }
241 245
242 246 void MainWindow::openEchoServer()
243 247 {
244 248 socketEchoServer->connectToHost(this->UI->serverTMEchoDialogBox->getIP(),
245 249 this->UI->spinbox_serverTMEchoPort->value());
246 250 //socketEchoServer->open();
247 251 }
248 252
249 253 void MainWindow::socket_TMEcho_ServerHasChanged()
250 254 {
251 255 this->displayOnConsole("TM Echo Socket socket *** " + socketStates.at(socketEchoServer->state()) );
252 256 }
253 257
254 258 void MainWindow::preProcessPacket(TMPacketToRead *packet)
255 259 {
256 260 unsigned char pid = 0;
257 261 unsigned char cat = 0;
258 262 unsigned char typ = 0;
259 263 unsigned char sub = 0;
260 264 unsigned int sid = 0;
261 265 unsigned int length = 0;
262 266 unsigned int coarse_t = 0;
263 267 unsigned int fine_t = 0;
264 268
265 269 //*********************************
266 270 // get the parameters of the packet
267 271 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
268 272 cat = packet->Value[5] & 0x0f;
269 273 typ = packet->Value[11]; // TYPE
270 274 sub = packet->Value[12]; // SUBTYPE
271 275 sid = 0;
272 276 length = packet->Value[8] * 256 + packet->Value[9];
273 277 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
274 278 + packet->Value[16] * pow(2, 8) + packet->Value[17];
275 279 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
276 280
277 281 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
278 282 sid = packet->Value[20] * 256 + packet->Value[21];
279 283 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
280 284 sid = packet->Value[20];
281 285 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
282 286 sid = 1;
283 287
284 288 this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
285 289
290 //***************************************************
291 // if the packet is an HK packet, display its content
292 if ( (typ == TYPE_HK) & (sub == SUBTYPE_HK) )
293 {
294 this->UI->hkDisplay->displayPacket(packet);
295 }
296
286 297 //****************************************
287 298 // if the packet is a waveform, display it
288 299 if ( (typ == 21) & (sub == 3) )
289 300 {
290 301 sid = packet->Value[20]; // SID
291 302 switch (sid){
292 303 case SID_NORMAL_SWF_F0:
293 304 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
294 305 break;
295 306 case SID_NORMAL_SWF_F1:
296 307 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
297 308 break;
298 309 case SID_NORMAL_SWF_F2:
299 310 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
300 311 break;
301 312 case SID_NORMAL_CWF_F3:
302 313 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
303 314 break;
304 315 }
305 316 }
306 317 }
307 318
308 319 void MainWindow::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
309 320 {
310 321 unsigned int i = 0;
311 322 unsigned int j = 0;
312 323 unsigned char *data;
313 324 unsigned char pkt_nr = 0;
314 325 unsigned int blk_nr = 0;
315 326
316 327 pkt_nr = packet->Value[23]; // PKT_NR
317 328 blk_nr = packet->Value[24] * 256 + packet->Value[25];
318 329 data = &packet->Value[26]; // start of the first data block;
319 330 j = (pkt_nr-1) * 340;
320 331 for ( i=0; i<blk_nr; i++ ){
321 332 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
322 333 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
323 334 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
324 335 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
325 336 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
326 337 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
327 338 }
328 339 if (pkt_nr == 7)
329 340 {
330 341 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
331 342 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
332 343 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
333 344 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
334 345 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
335 346 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
336 347 }
337 348 }
338 349
339 char MainWindow::fromAsciiToChar(char value)
350 void MainWindow::processIncomingPacket(TMPacketToRead *packet)
340 351 {
341 char ret = -1;
342 if (value > 'a')
343 {
344 ret = value - 'a' + 10;
345 }
346 else
347 {
348 ret = value - '0';
349 }
350 return ret;
352 totalOfBytes = totalOfBytes + packet->size;
353 totalOfPackets = totalOfPackets + 1;
354 this->UI->totalOfBytesHasChanged(totalOfBytes);
355 this->UI->totalOfPacketsHasChanged(totalOfPackets);
356 preProcessPacket(packet);
357 packet->deleteLater();
351 358 }
359
360 void MainWindow::resetStatistics()
361 {
362 totalOfBytes = 0;
363 totalOfPackets = 0;
364 this->UI->totalOfBytesHasChanged(totalOfBytes);
365 this->UI->totalOfPacketsHasChanged(totalOfPackets);
366 }
@@ -1,71 +1,78
1 1 #ifndef MAINWINDOW_H
2 2 #define MAINWINDOW_H
3 3
4 4 #include <QtGui/QMainWindow>
5 5 #include <QTcpServer>
6 6 #include <QTcpSocket>
7 7 #include <QXmlSimpleReader>
8 8 #include <lfrxmlhandler.h>
9 9 #include <lfrxmlwriter.h>
10 10 #include <mainwindowui.h>
11 11 #include "tmpackettoread.h"
12 12 #include "wfpacket.h"
13 #include "lfrxmlparser.h"
13 14
14 15 class MainWindow : public QWidget
15 16 {
16 17 Q_OBJECT
17 18
18 19 public:
19 20 MainWindow(QWidget *parent = 0);
20 21 ~MainWindow();
21 22
22 23 void displayNetworkInterfaces();
23 void processIncomingData(char *data, unsigned int size);
24 void processIncomingData(const QString &ch);
24 25 void initSocketStatesList();
25 26 void preProcessPacket(TMPacketToRead *packet);
26 27 void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
27 char fromAsciiToChar(char value);
28 28
29 29 private:
30 QByteArray dataArray;
31
30 32 QList<TMPacketToRead*> generalCCSDSPacketStore;
31 33
32 34 QTcpServer *analyserSGSEServerTC;
33 35 QTcpServer *analyserSGSEServerTM;
34 36 QTcpSocket *socketTC;
35 37 QTcpSocket *socketTM;
36 38 QTcpSocket *socketEchoServer;
37 39
38 40 unsigned int totalOfBytes;
41 unsigned int totalOfPackets;
39 42
40 43 QXmlSimpleReader xmlReader;
41 44 QXmlInputSource *sourceTC;
42 QXmlInputSource *sourceTMechoBridge;
43 45 LFRXmlHandler *xmlHandler;
46 LFRXmlParser *lfrXmlParser;
44 47
45 48 QList<QString> socketStates;
46 49
47 50 char *buffer;
48 51
49 52 MainWindowUI *UI;
50 53
51 54 LFRXmlWriter *lfrXmlWriter;
52 55
53 56 WFPacket wfPacketNormal[4];
54 57
58 bool parsingContinue;
59
55 60 signals:
56 61 void socketTMHasChanged(QTcpSocket *socket);
57 62
58 63 public slots:
59 64 void displayOnConsole(QString message);
60 65 void listenOnTCTMPorts();
61 66 void testTCTMPorts();
62 67 void newConnectionOnTCServer();
63 68 void newConnectionOnTMServer();
64 69 void readDataOnTCPort();
65 70 void readDataOnTMPort();
66 71 void readDataOnSocketEchoServer();
67 72 void openEchoServer();
68 73 void socket_TMEcho_ServerHasChanged();
74 void processIncomingPacket(TMPacketToRead *packet);
75 void resetStatistics();
69 76 };
70 77
71 78 #endif // MAINWINDOW_H
@@ -1,133 +1,148
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 label_totalOfPackets = new QLabel(tr("Received Packets: -"));
13 14
14 15 console = new QTextEdit();
15 16
16 17 spwTabWidget = new QTabWidget;
17 18 spwTabWidgetPage0 = new QWidget;
18 19 spwTabWidgetPage1 = new QWidget;
19 20 spwTabWidgetPage2 = new QWidget;
20 21 spwTabWidgetPage3 = new QWidget;
21 22 spwTabWidgetPage4 = new QWidget;
22 23 spwTabWidgetPage5 = new QWidget;
23 24
24 25 tmStatistics = new TMStatistics;
25 26
26 27 wfDisplay = new WFDisplay;
28 hkDisplay = new HKDisplay;
27 29
28 30 spinbox_TMServerPort = new QSpinBox();
29 31 spinbox_TCServerPort = new QSpinBox();
30 32 spinbox_serverTMEchoPort = new QSpinBox();
31 33 spinbox_TMServerPort->setRange(59000, 65535);
32 34 spinbox_TCServerPort->setRange(59001, 65535);
33 35 spinbox_serverTMEchoPort->setRange(59002, 65535);
34 36
35 37 button_openServerTCTM = new QPushButton(tr("Open TC / TM Ports"));
36 38 button_testServerTCTM = new QPushButton(tr("Test TC / TM Ports"));
37 39 button_openSocketEchoServer = new QPushButton(tr("Open Echo Server"));
38 40 button_TCAcknowledgement = new QPushButton(tr("send TC Acknowledgement"));
39 41 button_TCRejection = new QPushButton(tr("send TC rejection"));
40 42 button_GSEHK = new QPushButton(tr("send GSE HK"));
41 43 button_clearConsole = new QPushButton(tr("Clear console"));
44 button_resetStatistics = new QPushButton(tr("Reset statistics"));
42 45
43 46 serverTMEchoDialogBox = new QIPDialogBox();
44 47 serverTMEchoDialogBox->setIP(127, 0, 0, 1);
45 48
46 49 groupbox_TMEcho = new QGroupBox(tr("TM Echo Server"));
47 50 groupbox_ports = new QGroupBox(tr("Ports for the TM and TC Servers"));
48 51 groupbox_TMToForeignGSETester = new QGroupBox(tr("Send TM to the foreign GSE tester"));
49 52
50 53 layout_TMEcho = new QVBoxLayout();
51 54 layout_overallLayout = new QVBoxLayout();
52 55 layout_ports = new QGridLayout();
53 56 layout_TMToForeignGSETester = new QVBoxLayout();
54 57 mainLayout = new QGridLayout();
55 58
56 59 layout_TMEcho->addWidget(label_serverTMEcho);
57 60 layout_TMEcho->addWidget(serverTMEchoDialogBox);
58 61 layout_TMEcho->addWidget(label_serverTMEchoPort);
59 62 layout_TMEcho->addWidget(spinbox_serverTMEchoPort);
60 63 layout_TMEcho->addWidget(button_openSocketEchoServer);
64 layout_TMEcho->addWidget(label_totalOfPackets);
61 65 layout_TMEcho->addWidget(label_totalOfBytes);
66 layout_TMEcho->addWidget(button_resetStatistics);
62 67 groupbox_TMEcho->setLayout(layout_TMEcho);
63 68
64 69 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
65 70 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
66 71 layout_ports->addWidget(label_TCServerPort, 1, 0, 1, 1);
67 72 layout_ports->addWidget(spinbox_TCServerPort, 1, 1, 1, 1);
68 73 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
69 74 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
70 75 groupbox_ports->setLayout(layout_ports);
71 76
72 77 layout_TMToForeignGSETester->addWidget(button_TCAcknowledgement);
73 78 layout_TMToForeignGSETester->addWidget(button_TCRejection);
74 79 layout_TMToForeignGSETester->addWidget(button_GSEHK);
75 80 groupbox_TMToForeignGSETester->setLayout(layout_TMToForeignGSETester);
76 81
77 82 mainLayout->addWidget(groupbox_TMEcho, 0, 0, 1, 1);
78 83 mainLayout->addWidget(groupbox_ports, 1, 0, 1, 1);
79 84 mainLayout->addWidget(groupbox_TMToForeignGSETester, 2, 0, 1, 1);
80 85 mainLayout->addWidget(console, 0, 1, 2, 2);
81 86 mainLayout->addWidget(button_clearConsole, 3, 1, 1, 2);
82 87
83 88 spwTabWidget->addTab(spwTabWidgetPage0, tr("Connection"));
84 89 spwTabWidget->addTab(spwTabWidgetPage1, tr("TM Statistics"));
90 spwTabWidget->addTab(spwTabWidgetPage3, tr("HK"));
85 91 spwTabWidget->addTab(spwTabWidgetPage2, tr("Waveforms"));
86 92
87 93 spwTabWidgetPage0->setLayout(mainLayout);
88 94 spwTabWidgetPage1->setLayout(tmStatistics->layout());
89 95 spwTabWidgetPage2->setLayout(wfDisplay->layout());
96 spwTabWidgetPage3->setLayout(hkDisplay->layout());
90 97
91 98 layout_overallLayout->addWidget(spwTabWidget);
92 99
93 100 this->setLayout(layout_overallLayout);
94 101
95 102 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
96 103 }
97 104
98 105 QString MainWindowUI::getTMEchoServerAddress()
99 106 {
100 107 return(serverTMEchoDialogBox->getIP());
101 108 }
102 109
103 110 void MainWindowUI::setTCTMServerAddressIP(QString address)
104 111 {
105 112 label_currentTCTMServerIP->setText(address);
106 113 }
107 114
108 115 int MainWindowUI::getTMPort()
109 116 {
110 117 return spinbox_TMServerPort->value();
111 118 }
112 119
113 120 int MainWindowUI::getTCPort()
114 121 {
115 122 return spinbox_TCServerPort->value();
116 123 }
117 124
118 125 void MainWindowUI::displayOnConsole(QString message)
119 126 {
120 127 console->append(message);
121 128 }
122 129
123 130 void MainWindowUI::clearConsole()
124 131 {
125 132 console->clear();
126 133 }
127 134
128 135 void MainWindowUI::totalOfBytesHasChanged(unsigned int nbBytes)
129 136 {
130 137 label_totalOfBytes->setText(
131 138 "Received Bytes: "
132 139 + QString::number(nbBytes));
133 140 }
141
142 void MainWindowUI::totalOfPacketsHasChanged(unsigned int nbPackets)
143 {
144 label_totalOfPackets->setText(
145 "Received Packets: "
146 + QString::number(nbPackets));
147 }
148
@@ -1,86 +1,91
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 #include "tmstatistics.h"
15 15 #include "wfdisplay.h"
16 #include "hkdisplay.h"
16 17
17 18 class MainWindowUI : public QWidget
18 19 {
19 20 Q_OBJECT
20 21 public:
21 22 explicit MainWindowUI(QWidget *parent = 0);
22 23
23 24 void setTCTMServerAddressIP(QString address);
24 25 QString getTMEchoServerAddress();
25 26 int getTMPort();
26 27 int getTCPort();
27 28 void displayOnConsole(QString message);
28 29
29 30 QTabWidget *spwTabWidget;
30 31 QWidget* spwTabWidgetPage0;
31 32 QWidget* spwTabWidgetPage1;
32 33 QWidget* spwTabWidgetPage2;
33 34 QWidget* spwTabWidgetPage3;
34 35 QWidget* spwTabWidgetPage4;
35 36 QWidget* spwTabWidgetPage5;
36 37
37 38 TMStatistics* tmStatistics;
38 39
39 40 WFDisplay* wfDisplay;
41 HKDisplay* hkDisplay;
40 42
41 43 QPushButton *button_openServerTCTM;
42 44 QPushButton *button_testServerTCTM;
43 45 QPushButton *button_openSocketEchoServer;
44 46 QPushButton *button_TCAcknowledgement;
45 47 QPushButton *button_TCRejection;
46 48 QPushButton *button_GSEHK;
47 49 QPushButton *button_clearConsole;
50 QPushButton *button_resetStatistics;
48 51
49 52 QIPDialogBox *serverTMEchoDialogBox;
50 53
51 54 QSpinBox *spinbox_serverTMEchoPort;
52 55
53 56 signals:
54 57
55 58 public slots:
56 59 void clearConsole();
57 60 void totalOfBytesHasChanged(unsigned int nbBytes);
61 void totalOfPacketsHasChanged(unsigned int nbPackets);
58 62
59 63 private:
60 64 QLabel *label_serverTMEcho;
61 65 QLabel *label_serverTMEchoPort;
62 66 QLabel *label_TMServerPort;
63 67 QLabel *label_TCServerPort;
64 68 QLabel *label_currentTCTMServer;
65 69 QLabel *label_currentTCTMServerIP;
66 70 QLabel *label_totalOfBytes;
71 QLabel *label_totalOfPackets;
67 72
68 73 QTextEdit *console;
69 74
70 75 QSpinBox *spinbox_TMServerPort;
71 76 QSpinBox *spinbox_TCServerPort;
72 77
73 78 QGroupBox *groupbox_TMEcho;
74 79 QGroupBox *groupbox_ports;
75 80 QGroupBox *groupbox_TMToForeignGSETester;
76 81
77 82 QVBoxLayout *layout_TMEcho;
78 83 QVBoxLayout *layout_TMToForeignGSETester;
79 84 QVBoxLayout *layout_overallLayout;
80 85
81 86 QGridLayout *mainLayout;
82 87 QGridLayout *layout_ports;
83 88
84 89 };
85 90
86 91 #endif // MAINWINDOWUI_H
@@ -1,574 +1,580
1 1 #############################################################################
2 2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Thu May 30 11:18:09 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Tue Jun 11 08:44:36 2013
4 4 # Project: rmapplugin.pro
5 5 # Template: lib
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 12 CXX = g++
13 13 DEFINES = -DPLUGIN=rmapplugin -DPLUGINHEADER="\"rmapplugin.h\"" -Ddriver_Name="\"RMAPPlugin\"" -Ddriver_Author="\"Paul Leroy paul.leroy@lpp.polytechnique.fr\"" -Ddriver_Version="\"1.1.2\"" -Ddriver_Description="\"AHB bus controler, works with Gaisler's AHB plugn' play bus.\"" -Ddriver_can_be_root=1 -Ddriver_can_be_child=0 -Ddriver_VID=0 -Ddriver_PID=0 -DLPPMON_VERSION="\"0.0.1\"" -DUNIXTRANSLATIONPATH -DLPPMON_PLUGINS_INSTALL_PATH="QDir::homePath()+\"/.lppmon/plugins\"" -DLPPMON_CONFIG_PATH="QDir::homePath()+\"/.lppmon/config\"" -DLPPMON_TRANSLATION_PATH="\"/etc/lppmon/translations\"" -DLPPMONPLUGIN_LIBRARY -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
14 14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -W -D_REENTRANT -fPIC $(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../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
19 19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = obj/
43 43
44 44 ####### Files
45 45
46 46 SOURCES = rmapplugin.cpp \
47 47 rmappluginui.cpp \
48 48 rmapoperations.cpp \
49 49 ccsds.cpp \
50 50 ../common_PLE/qipdialogbox.cpp \
51 51 ../common_PLE/gresbstatusenquiry.cpp \
52 52 rmappluginpythonwrapper.cpp \
53 53 stardundee.cpp \
54 54 gresb.cpp \
55 55 tcpackettosend.cpp \
56 56 tmpackettoread.cpp \
57 57 wfdisplay.cpp \
58 58 tmstatistics.cpp \
59 59 wfplot.cpp \
60 60 wfpage.cpp \
61 61 wfpacket.cpp \
62 62 tmechobridge.cpp \
63 63 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
64 64 moc/moc_rmapplugin.cpp \
65 65 moc/moc_qipdialogbox.cpp \
66 66 moc/moc_gresbstatusenquiry.cpp \
67 67 moc/moc_rmappluginpythonwrapper.cpp \
68 68 moc/moc_stardundee.cpp \
69 69 moc/moc_gresb.cpp \
70 70 moc/moc_tcpackettosend.cpp \
71 71 moc/moc_tmpackettoread.cpp \
72 72 moc/moc_wfdisplay.cpp \
73 73 moc/moc_tmstatistics.cpp \
74 74 moc/moc_wfplot.cpp \
75 75 moc/moc_wfpage.cpp \
76 76 moc/moc_wfpacket.cpp \
77 77 moc/moc_tmechobridge.cpp \
78 78 moc/moc_genericPySysdriver.cpp \
79 79 moc/moc_lppmonplugin.cpp
80 80 OBJECTS = obj/rmapplugin.o \
81 81 obj/rmappluginui.o \
82 82 obj/rmapoperations.o \
83 83 obj/ccsds.o \
84 84 obj/qipdialogbox.o \
85 85 obj/gresbstatusenquiry.o \
86 86 obj/rmappluginpythonwrapper.o \
87 87 obj/stardundee.o \
88 88 obj/gresb.o \
89 89 obj/tcpackettosend.o \
90 90 obj/tmpackettoread.o \
91 91 obj/wfdisplay.o \
92 92 obj/tmstatistics.o \
93 93 obj/wfplot.o \
94 94 obj/wfpage.o \
95 95 obj/wfpacket.o \
96 96 obj/tmechobridge.o \
97 97 obj/lppmonplugininterface.o \
98 98 obj/moc_rmappluginui.o \
99 99 obj/moc_rmapplugin.o \
100 100 obj/moc_qipdialogbox.o \
101 101 obj/moc_gresbstatusenquiry.o \
102 102 obj/moc_rmappluginpythonwrapper.o \
103 103 obj/moc_stardundee.o \
104 104 obj/moc_gresb.o \
105 105 obj/moc_tcpackettosend.o \
106 106 obj/moc_tmpackettoread.o \
107 107 obj/moc_wfdisplay.o \
108 108 obj/moc_tmstatistics.o \
109 109 obj/moc_wfplot.o \
110 110 obj/moc_wfpage.o \
111 111 obj/moc_wfpacket.o \
112 112 obj/moc_tmechobridge.o \
113 113 obj/moc_genericPySysdriver.o \
114 114 obj/moc_lppmonplugin.o
115 115 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
116 116 /usr/lib64/qt4/mkspecs/common/linux.conf \
117 117 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
118 118 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
119 119 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
120 120 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
121 121 /usr/lib64/qt4/mkspecs/qconfig.pri \
122 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
122 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
123 123 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
124 124 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
125 125 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
126 126 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
127 127 /usr/lib64/qt4/mkspecs/features/release.prf \
128 128 /usr/lib64/qt4/mkspecs/features/default_post.prf \
129 129 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
130 130 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
131 131 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
132 132 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
133 133 /usr/lib64/qt4/mkspecs/features/qt.prf \
134 134 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
135 135 /usr/lib64/qt4/mkspecs/features/moc.prf \
136 136 /usr/lib64/qt4/mkspecs/features/resources.prf \
137 137 /usr/lib64/qt4/mkspecs/features/uic.prf \
138 138 /usr/lib64/qt4/mkspecs/features/yacc.prf \
139 139 /usr/lib64/qt4/mkspecs/features/lex.prf \
140 140 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
141 141 rmapplugin.pro
142 142 QMAKE_TARGET = rmapplugin
143 143 DESTDIR = bin/
144 144 TARGET = librmapplugin.so.1.0.0
145 145 TARGETA = bin/librmapplugin.a
146 146 TARGETD = librmapplugin.so.1.0.0
147 147 TARGET0 = librmapplugin.so
148 148 TARGET1 = librmapplugin.so.1
149 149 TARGET2 = librmapplugin.so.1.0
150 150
151 151 first: all
152 152 ####### Implicit rules
153 153
154 154 .SUFFIXES: .o .c .cpp .cc .cxx .C
155 155
156 156 .cpp.o:
157 157 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
158 158
159 159 .cc.o:
160 160 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
161 161
162 162 .cxx.o:
163 163 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
164 164
165 165 .C.o:
166 166 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
167 167
168 168 .c.o:
169 169 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
170 170
171 171 ####### Build rules
172 172
173 173 all: Makefile bin/$(TARGET)
174 174
175 175 bin/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
176 176 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
177 177 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
178 178 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
179 179 -ln -s $(TARGET) $(TARGET0)
180 180 -ln -s $(TARGET) $(TARGET1)
181 181 -ln -s $(TARGET) $(TARGET2)
182 182 -$(DEL_FILE) bin/$(TARGET)
183 183 -$(DEL_FILE) bin/$(TARGET0)
184 184 -$(DEL_FILE) bin/$(TARGET1)
185 185 -$(DEL_FILE) bin/$(TARGET2)
186 186 -$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) bin/
187 187
188 188
189 189
190 190 staticlib: $(TARGETA)
191 191
192 192 $(TARGETA): $(OBJECTS) $(OBJCOMP)
193 193 -$(DEL_FILE) $(TARGETA)
194 194 $(AR) $(TARGETA) $(OBJECTS)
195 195
196 196 Makefile: rmapplugin.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
197 197 /usr/lib64/qt4/mkspecs/common/linux.conf \
198 198 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
199 199 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
200 200 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
201 201 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
202 202 /usr/lib64/qt4/mkspecs/qconfig.pri \
203 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
203 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
204 204 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
205 205 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
206 206 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
207 207 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
208 208 /usr/lib64/qt4/mkspecs/features/release.prf \
209 209 /usr/lib64/qt4/mkspecs/features/default_post.prf \
210 210 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
211 211 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
212 212 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
213 213 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
214 214 /usr/lib64/qt4/mkspecs/features/qt.prf \
215 215 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
216 216 /usr/lib64/qt4/mkspecs/features/moc.prf \
217 217 /usr/lib64/qt4/mkspecs/features/resources.prf \
218 218 /usr/lib64/qt4/mkspecs/features/uic.prf \
219 219 /usr/lib64/qt4/mkspecs/features/yacc.prf \
220 220 /usr/lib64/qt4/mkspecs/features/lex.prf \
221 221 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
222 222 /usr/lib64/libQtXml.prl \
223 223 /usr/lib64/libQtCore.prl \
224 224 /usr/lib64/libQtGui.prl \
225 225 /usr/lib64/libQtNetwork.prl
226 226 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
227 227 /usr/lib64/qt4/mkspecs/common/unix.conf:
228 228 /usr/lib64/qt4/mkspecs/common/linux.conf:
229 229 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
230 230 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
231 231 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
232 232 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
233 233 /usr/lib64/qt4/mkspecs/qconfig.pri:
234 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
234 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
235 235 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
236 236 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
237 237 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
238 238 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
239 239 /usr/lib64/qt4/mkspecs/features/release.prf:
240 240 /usr/lib64/qt4/mkspecs/features/default_post.prf:
241 241 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf:
242 242 /usr/lib64/qt4/mkspecs/features/pythonqt.prf:
243 243 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
244 244 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
245 245 /usr/lib64/qt4/mkspecs/features/qt.prf:
246 246 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
247 247 /usr/lib64/qt4/mkspecs/features/moc.prf:
248 248 /usr/lib64/qt4/mkspecs/features/resources.prf:
249 249 /usr/lib64/qt4/mkspecs/features/uic.prf:
250 250 /usr/lib64/qt4/mkspecs/features/yacc.prf:
251 251 /usr/lib64/qt4/mkspecs/features/lex.prf:
252 252 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
253 253 /usr/lib64/libQtXml.prl:
254 254 /usr/lib64/libQtCore.prl:
255 255 /usr/lib64/libQtGui.prl:
256 256 /usr/lib64/libQtNetwork.prl:
257 257 qmake: FORCE
258 258 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
259 259
260 260 dist:
261 261 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
262 262 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h tcpackettosend.h tmpackettoread.h wfdisplay.h tmstatistics.h wfplot.h wfpage.h wfpacket.h params.h tmechobridge.h /usr/include/lppmon/genericPySysdriver.h /usr/include/lppmon/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp tmpackettoread.cpp wfdisplay.cpp tmstatistics.cpp wfplot.cpp wfpage.cpp wfpacket.cpp tmechobridge.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
263 263
264 264
265 265 clean:compiler_clean
266 266 -$(DEL_FILE) $(OBJECTS)
267 267 -$(DEL_FILE) *~ core *.core
268 268
269 269
270 270 ####### Sub-libraries
271 271
272 272 distclean: clean
273 273 -$(DEL_FILE) bin/$(TARGET)
274 274 -$(DEL_FILE) bin/$(TARGET0) bin/$(TARGET1) bin/$(TARGET2) $(TARGETA)
275 275 -$(DEL_FILE) Makefile
276 276
277 277
278 278 check: first
279 279
280 280 mocclean: compiler_moc_header_clean compiler_moc_source_clean
281 281
282 282 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
283 283
284 284 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_tmpackettoread.cpp moc/moc_wfdisplay.cpp moc/moc_tmstatistics.cpp moc/moc_wfplot.cpp moc/moc_wfpage.cpp moc/moc_wfpacket.cpp moc/moc_tmechobridge.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
285 285 compiler_moc_header_clean:
286 286 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_tmpackettoread.cpp moc/moc_wfdisplay.cpp moc/moc_tmstatistics.cpp moc/moc_wfplot.cpp moc/moc_wfpage.cpp moc/moc_wfpacket.cpp moc/moc_tmechobridge.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
287 287 moc/moc_rmappluginui.cpp: rmapoperations.h \
288 288 params.h \
289 289 stardundee.h \
290 290 ccsds.h \
291 291 tmpackettoread.h \
292 292 gresb.h \
293 293 wfdisplay.h \
294 294 wfplot.h \
295 295 wfpage.h \
296 296 tmstatistics.h \
297 tmechobridge.h \
297 298 rmappluginui.h
298 299 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
299 300
300 301 moc/moc_rmapplugin.cpp: rmappluginui.h \
301 302 rmapoperations.h \
302 303 params.h \
303 304 stardundee.h \
304 305 ccsds.h \
305 306 tmpackettoread.h \
306 307 gresb.h \
307 308 wfdisplay.h \
308 309 wfplot.h \
309 310 wfpage.h \
310 311 tmstatistics.h \
312 tmechobridge.h \
311 313 wfpacket.h \
312 314 rmapplugin.h
313 315 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmapplugin.h -o moc/moc_rmapplugin.cpp
314 316
315 317 moc/moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
316 318 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc/moc_qipdialogbox.cpp
317 319
318 320 moc/moc_gresbstatusenquiry.cpp: ../common_PLE/gresbstatusenquiry.h
319 321 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/gresbstatusenquiry.h -o moc/moc_gresbstatusenquiry.cpp
320 322
321 323 moc/moc_rmappluginpythonwrapper.cpp: rmapoperations.h \
322 324 params.h \
323 325 ccsds.h \
324 326 tcpackettosend.h \
325 327 tmpackettoread.h \
326 328 rmappluginpythonwrapper.h
327 329 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
328 330
329 331 moc/moc_stardundee.cpp: rmapoperations.h \
330 332 params.h \
331 333 ccsds.h \
332 334 tmpackettoread.h \
333 335 stardundee.h
334 336 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
335 337
336 338 moc/moc_gresb.cpp: rmapoperations.h \
337 339 params.h \
338 340 ccsds.h \
339 341 tmpackettoread.h \
340 342 gresb.h
341 343 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
342 344
343 345 moc/moc_tcpackettosend.cpp: tcpackettosend.h
344 346 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tcpackettosend.h -o moc/moc_tcpackettosend.cpp
345 347
346 348 moc/moc_tmpackettoread.cpp: tmpackettoread.h
347 349 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmpackettoread.h -o moc/moc_tmpackettoread.cpp
348 350
349 351 moc/moc_wfdisplay.cpp: wfplot.h \
350 352 params.h \
351 353 wfpage.h \
352 354 wfdisplay.h
353 355 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfdisplay.h -o moc/moc_wfdisplay.cpp
354 356
355 357 moc/moc_tmstatistics.cpp: tmstatistics.h
356 358 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmstatistics.h -o moc/moc_tmstatistics.cpp
357 359
358 360 moc/moc_wfplot.cpp: params.h \
359 361 wfplot.h
360 362 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfplot.h -o moc/moc_wfplot.cpp
361 363
362 364 moc/moc_wfpage.cpp: wfplot.h \
363 365 params.h \
364 366 wfpage.h
365 367 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpage.h -o moc/moc_wfpage.cpp
366 368
367 369 moc/moc_wfpacket.cpp: params.h \
368 370 wfpacket.h
369 371 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpacket.h -o moc/moc_wfpacket.cpp
370 372
371 moc/moc_tmechobridge.cpp: tmechobridge.h
373 moc/moc_tmechobridge.cpp: tmpackettoread.h \
374 tmechobridge.h
372 375 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmechobridge.h -o moc/moc_tmechobridge.cpp
373 376
374 377 moc/moc_genericPySysdriver.cpp: /usr/include/lppmon/genericPySysdriver.h
375 378 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
376 379
377 380 moc/moc_lppmonplugin.cpp: /usr/include/lppmon/lppmonplugin.h
378 381 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/lppmonplugin.h -o moc/moc_lppmonplugin.cpp
379 382
380 383 compiler_rcc_make_all:
381 384 compiler_rcc_clean:
382 385 compiler_image_collection_make_all: qmake_image_collection.cpp
383 386 compiler_image_collection_clean:
384 387 -$(DEL_FILE) qmake_image_collection.cpp
385 388 compiler_moc_source_make_all:
386 389 compiler_moc_source_clean:
387 390 compiler_uic_make_all:
388 391 compiler_uic_clean:
389 392 compiler_yacc_decl_make_all:
390 393 compiler_yacc_decl_clean:
391 394 compiler_yacc_impl_make_all:
392 395 compiler_yacc_impl_clean:
393 396 compiler_lex_make_all:
394 397 compiler_lex_clean:
395 398 compiler_clean: compiler_moc_header_clean
396 399
397 400 ####### Compile
398 401
399 402 obj/rmapplugin.o: rmapplugin.cpp rmapplugin.h \
400 403 rmappluginui.h \
401 404 rmapoperations.h \
402 405 params.h \
403 406 stardundee.h \
404 407 ccsds.h \
405 408 tmpackettoread.h \
406 409 gresb.h \
407 410 wfdisplay.h \
408 411 wfplot.h \
409 412 wfpage.h \
410 413 tmstatistics.h \
414 tmechobridge.h \
411 415 wfpacket.h \
412 416 rmappluginpythonwrapper.h \
413 417 tcpackettosend.h
414 418 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapplugin.o rmapplugin.cpp
415 419
416 420 obj/rmappluginui.o: rmappluginui.cpp rmapplugin.h \
417 421 rmappluginui.h \
418 422 rmapoperations.h \
419 423 params.h \
420 424 stardundee.h \
421 425 ccsds.h \
422 426 tmpackettoread.h \
423 427 gresb.h \
424 428 wfdisplay.h \
425 429 wfplot.h \
426 430 wfpage.h \
427 431 tmstatistics.h \
432 tmechobridge.h \
428 433 wfpacket.h
429 434 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
430 435
431 436 obj/rmapoperations.o: rmapoperations.cpp rmapoperations.h \
432 437 params.h
433 438 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapoperations.o rmapoperations.cpp
434 439
435 440 obj/ccsds.o: ccsds.cpp ccsds.h
436 441 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
437 442
438 443 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
439 444 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qipdialogbox.o ../common_PLE/qipdialogbox.cpp
440 445
441 446 obj/gresbstatusenquiry.o: ../common_PLE/gresbstatusenquiry.cpp ../common_PLE/gresbstatusenquiry.h
442 447 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresbstatusenquiry.o ../common_PLE/gresbstatusenquiry.cpp
443 448
444 449 obj/rmappluginpythonwrapper.o: rmappluginpythonwrapper.cpp rmappluginpythonwrapper.h \
445 450 rmapoperations.h \
446 451 params.h \
447 452 ccsds.h \
448 453 tcpackettosend.h \
449 454 tmpackettoread.h
450 455 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginpythonwrapper.o rmappluginpythonwrapper.cpp
451 456
452 457 obj/stardundee.o: stardundee.cpp stardundee.h \
453 458 rmapoperations.h \
454 459 params.h \
455 460 ccsds.h \
456 461 tmpackettoread.h
457 462 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/stardundee.o stardundee.cpp
458 463
459 464 obj/gresb.o: gresb.cpp gresb.h \
460 465 rmapoperations.h \
461 466 params.h \
462 467 ccsds.h \
463 468 tmpackettoread.h
464 469 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
465 470
466 471 obj/tcpackettosend.o: tcpackettosend.cpp tcpackettosend.h
467 472 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
468 473
469 474 obj/tmpackettoread.o: tmpackettoread.cpp tmpackettoread.h
470 475 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmpackettoread.o tmpackettoread.cpp
471 476
472 477 obj/wfdisplay.o: wfdisplay.cpp wfdisplay.h \
473 478 wfplot.h \
474 479 params.h \
475 480 wfpage.h
476 481 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfdisplay.o wfdisplay.cpp
477 482
478 483 obj/tmstatistics.o: tmstatistics.cpp tmstatistics.h
479 484 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmstatistics.o tmstatistics.cpp
480 485
481 486 obj/wfplot.o: wfplot.cpp wfplot.h \
482 487 params.h
483 488 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfplot.o wfplot.cpp
484 489
485 490 obj/wfpage.o: wfpage.cpp wfpage.h \
486 491 wfplot.h \
487 492 params.h
488 493 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpage.o wfpage.cpp
489 494
490 495 obj/wfpacket.o: wfpacket.cpp wfpacket.h \
491 496 params.h
492 497 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpacket.o wfpacket.cpp
493 498
494 obj/tmechobridge.o: tmechobridge.cpp tmechobridge.h
499 obj/tmechobridge.o: tmechobridge.cpp tmechobridge.h \
500 tmpackettoread.h
495 501 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmechobridge.o tmechobridge.cpp
496 502
497 503 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
498 504 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
499 505 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
500 506
501 507 obj/moc_rmappluginui.o: moc/moc_rmappluginui.cpp
502 508 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginui.o moc/moc_rmappluginui.cpp
503 509
504 510 obj/moc_rmapplugin.o: moc/moc_rmapplugin.cpp
505 511 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmapplugin.o moc/moc_rmapplugin.cpp
506 512
507 513 obj/moc_qipdialogbox.o: moc/moc_qipdialogbox.cpp
508 514 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_qipdialogbox.o moc/moc_qipdialogbox.cpp
509 515
510 516 obj/moc_gresbstatusenquiry.o: moc/moc_gresbstatusenquiry.cpp
511 517 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresbstatusenquiry.o moc/moc_gresbstatusenquiry.cpp
512 518
513 519 obj/moc_rmappluginpythonwrapper.o: moc/moc_rmappluginpythonwrapper.cpp
514 520 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginpythonwrapper.o moc/moc_rmappluginpythonwrapper.cpp
515 521
516 522 obj/moc_stardundee.o: moc/moc_stardundee.cpp
517 523 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_stardundee.o moc/moc_stardundee.cpp
518 524
519 525 obj/moc_gresb.o: moc/moc_gresb.cpp
520 526 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
521 527
522 528 obj/moc_tcpackettosend.o: moc/moc_tcpackettosend.cpp
523 529 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tcpackettosend.o moc/moc_tcpackettosend.cpp
524 530
525 531 obj/moc_tmpackettoread.o: moc/moc_tmpackettoread.cpp
526 532 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmpackettoread.o moc/moc_tmpackettoread.cpp
527 533
528 534 obj/moc_wfdisplay.o: moc/moc_wfdisplay.cpp
529 535 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfdisplay.o moc/moc_wfdisplay.cpp
530 536
531 537 obj/moc_tmstatistics.o: moc/moc_tmstatistics.cpp
532 538 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmstatistics.o moc/moc_tmstatistics.cpp
533 539
534 540 obj/moc_wfplot.o: moc/moc_wfplot.cpp
535 541 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfplot.o moc/moc_wfplot.cpp
536 542
537 543 obj/moc_wfpage.o: moc/moc_wfpage.cpp
538 544 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfpage.o moc/moc_wfpage.cpp
539 545
540 546 obj/moc_wfpacket.o: moc/moc_wfpacket.cpp
541 547 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfpacket.o moc/moc_wfpacket.cpp
542 548
543 549 obj/moc_tmechobridge.o: moc/moc_tmechobridge.cpp
544 550 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmechobridge.o moc/moc_tmechobridge.cpp
545 551
546 552 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
547 553 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
548 554
549 555 obj/moc_lppmonplugin.o: moc/moc_lppmonplugin.cpp
550 556 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lppmonplugin.o moc/moc_lppmonplugin.cpp
551 557
552 558 ####### Install
553 559
554 560 install_target: first FORCE
555 561 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
556 562 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
557 563 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
558 564 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
559 565 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
560 566
561 567 uninstall_target: FORCE
562 568 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
563 569 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
564 570 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
565 571 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
566 572 -$(DEL_DIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
567 573
568 574
569 575 install: install_target FORCE
570 576
571 577 uninstall: uninstall_target FORCE
572 578
573 579 FORCE:
574 580
@@ -1,48 +1,52
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 9
10 10 //****************
11 11 // TM packets SIDs
12 12 #define SID_NORMAL_SWF_F0 3
13 13 #define SID_NORMAL_SWF_F1 4
14 14 #define SID_NORMAL_SWF_F2 5
15 15 #define SID_NORMAL_CWF_F3 1
16 16 #define SID_NORMAL_ASM_F0 11
17 17 #define SID_NORMAL_ASM_F1 12
18 18 #define SID_NORMAL_ASM_F2 13
19 19 #define SID_NORMAL_BP1_F0 14
20 20 #define SID_NORMAL_BP1_F1 15
21 21 #define SID_NORMAL_BP1_F2 16
22 22 #define SID_NORMAL_BP2_F0 19
23 23 #define SID_NORMAL_BP2_F1 20
24 24 #define SID_NORMAL_BP2_F2 21
25 25 //
26 26 #define SID_BURST_CWF_F2 2
27 27 #define SID_BURST_BP1_F0 17
28 28 #define SID_BURST_BP2_F0 22
29 29 #define SID_BURST_BP1_F1 18
30 30 #define SID_BURST_BP2_F1 23
31 31 //
32 32 #define SID_SBM1_CWF_F1 24
33 33 #define SID_SBM1_BP1_F0 28
34 34 #define SID_SBM1_BP2_F0 31
35 35 //
36 36 #define SID_SBM2_CWF_F2 25
37 37 #define SID_SBM2_BP1_F0 29
38 38 #define SID_SBM2_BP2_F0 32
39 39 #define SID_SBM2_BP1_F1 30
40 40 #define SID_SBM2_BP2_F1 33
41 41
42 #define TYPE_HK 3
43
44 #define SUBTYPE_HK 25
45
42 46 //*****
43 47 // RMAP
44 48 #define DEFAULT_DESTINATION_KEY 2
45 49 #define DEFAULT_SOURCE 1
46 50 #define DEFAULT_TARGET 254
47 51
48 52 #endif // PARAMS_H
@@ -1,403 +1,404
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Paul LEROY
20 20 -- Mail : paul.leroy@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #include "rmapplugin.h"
23 23 #include <QHostAddress>
24 24 #include <QIODevice>
25 25 #include <QApplication>
26 26 #include <rmappluginpythonwrapper.h>
27 27 #include <PythonQt.h>
28 28 #include <QTimer>
29 29
30 30 rmapplugin::rmapplugin(QWidget *parent)
31 31 :lppmonplugin(parent,false)
32 32 {
33 33 this->UI = new rmapPluginUI();
34 34 this->setWindowTitle(tr("RMAP and SPW Communication"));
35 35 this->setWidget((QWidget*)this->UI);
36 36
37 37 timeCode = 0;
38 38 time_COARSE = 0;
39 39 time_FINE = 0;
40 40 currentBridge = selectedBridgeIsUnknown;
41 41
42 42 //**************
43 43 //Python wrapper
44 44 this->pyObject = new rmappluginPythonWrapper();
45 45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
46 46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
47 47 //**
48 48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
49 49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
50 50 //**
51 51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
52 52 this, SLOT( setValueTargetAddress(unsigned char)) );
53 53 //**
54 54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
55 55 this, SLOT( setValueSourceAddress(unsigned char)) );
56 56 //**
57 57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
58 58 this, SLOT(displayOnConsole(QString)) );
59 59 //**
60 60 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
61 61 this, SLOT(fetchPacket()), Qt::DirectConnection );
62 62 //***
63 63 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
64 64 this, SLOT(nbPacketHasChanged(int)));
65 65 //**************
66 66
67 67 //**************
68 68 // get a smart pointer to the __main__ module of the Python interpreter
69 69 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
70 70 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
71 71 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
72 72 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
73 73 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
74 74 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
75 75 context.addObject("GRESB_Bridge", UI->gresbBridge);
76 76 //**************
77 77
78 78 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
79 79 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
80 80 connect(this, SIGNAL(
81 81 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
82 82 ),
83 83 this->UI->tmStatistics, SLOT(
84 84 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
85 85 ));
86 86
87 87 //******
88 88 // GRESB
89 89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
90 90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
91 91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
92 92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
93 93 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
94 94 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
95 95 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
96 96 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
97 97 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
98 98 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
99 99 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
100 100
101 101 //************
102 102 // Star Dundee
103 103 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
104 104 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
105 105 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
106 106 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
107 107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
108 108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
109 109 this->UI->starDundee, SLOT(targetHasChanged(int)));
110 110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
112 112 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
113 113 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
114 114
115 115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
116 116
117 117 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
118 118 }
119 119
120 120 rmapplugin::~rmapplugin()
121 121 {
122 122 switch(currentBridge)
123 123 {
124 124 case selectedBridgeIsGRESB :
125 125 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
126 126 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
127 127 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
128 128 break;
129 129 case selectedBridgeIsStarDundee :
130 130 break;
131 131 default:
132 132 break;
133 133 }
134 134 }
135 135
136 136 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
137 137 {
138 138 unsigned int result;
139 139 switch(currentBridge)
140 140 {
141 141 case selectedBridgeIsGRESB :
142 142 result = UI->gresbBridge->Write(Value, count, address);
143 143 break;
144 144 case selectedBridgeIsStarDundee :
145 145 result = UI->starDundee->Write(Value, count, address);
146 146 break;
147 147 default:
148 148 result = 1;
149 149 break;
150 150 }
151 151 return result;
152 152 }
153 153
154 154 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
155 155 {
156 156 unsigned int result;
157 157 switch(currentBridge)
158 158 {
159 159 case selectedBridgeIsGRESB :
160 160 result = UI->gresbBridge->Read(Value, count, address);
161 161 break;
162 162 case selectedBridgeIsStarDundee :
163 163 result = UI->starDundee->Read(Value, count, address);
164 164 break;
165 165 default:
166 166 result = 1;
167 167 break;
168 168 }
169 169 return result;
170 170 }
171 171
172 172 ////////
173 173 // SLOTS
174 174
175 175 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
176 176 {
177 177 unsigned int result;
178 178 switch(currentBridge)
179 179 {
180 180 case selectedBridgeIsGRESB :
181 181 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
182 182 break;
183 183 case selectedBridgeIsStarDundee :
184 184 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
185 185 break;
186 186 default:
187 187 result = 1;
188 188 break;
189 189 }
190 190 return result;
191 191 }
192 192
193 193 void rmapplugin::openBridge()
194 194 {
195 195 switch(currentBridge)
196 196 {
197 197 case selectedBridgeIsGRESB :
198 198 this->UI->gresbBridge->Open();
199 199 break;
200 200 case selectedBridgeIsStarDundee :
201 201 this->UI->starDundee->Open();
202 202 break;
203 203 default:
204 204 break;
205 205 }
206 206 }
207 207
208 208 void rmapplugin::closeBridge()
209 209 {
210 210 switch(currentBridge)
211 211 {
212 212 case selectedBridgeIsGRESB :
213 213 this->UI->gresbBridge->Close();
214 214 break;
215 215 case selectedBridgeIsStarDundee :
216 216 this->UI->starDundee->Close();
217 217 break;
218 218 default:
219 219 break;
220 220 }
221 221 }
222 222
223 223 void rmapplugin::RMAP_write_reply_setText(QString text)
224 224 {
225 225 this->UI->RMAP_write_reply->setText(text);
226 226 }
227 227
228 228 void rmapplugin::appendToLog(QString text)
229 229 {
230 230 APPENDTOLOG(text);
231 231 }
232 232
233 233 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
234 234 {
235 235 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
236 236 }
237 237
238 238 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
239 239 {
240 240 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
241 241 }
242 242
243 243 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
244 244 {
245 245 preProcessPacket(packet);
246 246
247 247 // Send the packet to the TM echo bridge for processing
248 this->UI->tmEchoBridge->sendTMPacket(packet);
248 this->UI->tmEchoBridge->sendTMPacket_v2(packet);
249 //this->UI->tmEchoBridge->sendTMPacket_alternative(packet);
249 250
250 251 this->generalCCSDSPacketStore.append(packet);
251 252 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
252 253 processPacketStore();
253 254 }
254 255
255 256 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
256 257 {
257 258 unsigned char pid = 0;
258 259 unsigned char cat = 0;
259 260 unsigned char typ = 0;
260 261 unsigned char sub = 0;
261 262 unsigned int sid = 0;
262 263 unsigned int length = 0;
263 264 unsigned int coarse_t = 0;
264 265 unsigned int fine_t = 0;
265 266
266 267 //*********************************
267 268 // get the parameters of the packet
268 269 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
269 270 cat = packet->Value[5] & 0x0f;
270 271 typ = packet->Value[11]; // TYPE
271 272 sub = packet->Value[12]; // SUBTYPE
272 273 sid = 0;
273 274 length = packet->Value[8] * 256 + packet->Value[9];
274 275 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
275 276 + packet->Value[16] * pow(2, 8) + packet->Value[17];
276 277 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
277 278
278 279 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
279 280 sid = packet->Value[20] * 256 + packet->Value[21];
280 281 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
281 282 sid = packet->Value[20];
282 283 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
283 284 sid = 1;
284 285
285 286 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
286 287
287 288
288 289 //****************************************
289 290 // if the packet is a waveform, display it
290 291 if ( (typ == 21) & (sub == 3) )
291 292 {
292 293 sid = packet->Value[20]; // SID
293 294 switch (sid){
294 295 case SID_NORMAL_SWF_F0:
295 296 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
296 297 break;
297 298 case SID_NORMAL_SWF_F1:
298 299 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
299 300 break;
300 301 case SID_NORMAL_SWF_F2:
301 302 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
302 303 break;
303 304 case SID_NORMAL_CWF_F3:
304 305 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
305 306 break;
306 307 }
307 308 }
308 309 }
309 310
310 311 void rmapplugin::nbPacketHasChanged(int nb)
311 312 {
312 313 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
313 314 }
314 315
315 316 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
316 317 {
317 318 unsigned int i = 0;
318 319 unsigned int j = 0;
319 320 unsigned char *data;
320 321 unsigned char pkt_nr = 0;
321 322 unsigned int blk_nr = 0;
322 323
323 324 pkt_nr = packet->Value[23]; // PKT_NR
324 325 blk_nr = packet->Value[24] * 256 + packet->Value[25];
325 326 data = &packet->Value[26]; // start of the first data block;
326 327 j = (pkt_nr-1) * 340;
327 328 for ( i=0; i<blk_nr; i++ ){
328 329 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
329 330 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
330 331 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
331 332 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
332 333 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
333 334 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
334 335 }
335 336 if (pkt_nr == 7)
336 337 {
337 338 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
338 339 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
339 340 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
340 341 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
341 342 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
342 343 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
343 344 }
344 345 }
345 346
346 347 /////////////////////
347 348 // INTERNAL FUNCTIONS
348 349
349 350 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
350 351 {
351 352 QString message;
352 353 unsigned int fine_time_value = 0;
353 354 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
354 355 + ((unsigned int) ccsdsPacket[6]<<16)
355 356 + ((unsigned int) ccsdsPacket[5]<<8)
356 357 + ((unsigned int) ccsdsPacket[4]);
357 358 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
358 359 message.append("size "
359 360 + QString::number(size)
360 361 +" *** header "
361 362 + QString::number(ccsdsPacket[0], 16)
362 363 + " "
363 364 + QString::number(ccsdsPacket[1], 16)
364 365 + " "
365 366 + QString::number(ccsdsPacket[2], 16)
366 367 + " "
367 368 + QString::number(ccsdsPacket[3], 16)
368 369 + " *** coarse time "
369 370 + QString::number(fine_time_value));
370 371 //+ QString::number(ccsdsPacket[4], 16)
371 372 //+" "
372 373 //+ QString::number(ccsdsPacket[5], 16)
373 374 //+" "
374 375 //+ QString::number(ccsdsPacket[6], 16)
375 376 //+" "
376 377 //+ QString::number(ccsdsPacket[7], 16));
377 378 displayOnConsole(message);
378 379 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
379 380 emit ccsdsPacketIsProcessed();
380 381 }
381 382
382 383 void rmapplugin::processPacketStore()
383 384 {
384 385 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
385 386 }
386 387
387 388 int rmapplugin::fetchPacket()
388 389 {
389 390 int ret = 0;
390 391
391 392 switch(currentBridge)
392 393 {
393 394 case selectedBridgeIsGRESB :
394 395 break;
395 396 case selectedBridgeIsStarDundee :
396 397 ret = this->UI->starDundee->receiveSPWPacketLoop();
397 398 break;
398 399 default:
399 400 break;
400 401 }
401 402
402 403 return ret;
403 404 }
@@ -1,183 +1,253
1 1 #include "tmechobridge.h"
2 2
3 3 TMEchoBridge::TMEchoBridge(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 totalOfBytes = 0;
7 totalOfPackets = 0;
8 totalOfPacketsDropped = 0;
7 9
8 10 tmEchoBridgeServer = new QTcpServer();
9 11 tmEchoBridgeSocket = new QTcpSocket();
10 12 xmlWriter = new QXmlStreamWriter();
11 13
12 14 console = new QTextEdit();
13 15
14 16 label_TMServerPort = new QLabel(tr("TM Server Port:"));
15 17 label_totalOfBytes = new QLabel(tr("Number of TM bytes sent: -"));
18 label_totalOfPackets = new QLabel(tr("Number of TM packets sent: -"));
19 label_totalOfPacketsDropped = new QLabel(tr("Number of TM packets dropped: -"));
16 20
17 21 spinbox_TMServerPort = new QSpinBox();
18 22 spinbox_TMServerPort->setRange(59002, 65535);
19 23
20 24 button_openServerTCTM = new QPushButton(tr("Open Port"));
21 25 button_testServerTCTM = new QPushButton(tr("Test Port"));
22 26 button_sendTestPacket = new QPushButton(tr("Send a test packet"));
23 27 button_clearConsole = new QPushButton(tr("Clear console"));
28 button_resetTMStatistics = new QPushButton(tr("Reset TM Statistics"));
24 29
25 30 groupbox_ports = new QGroupBox(tr("Port of the TM Echo Bridge"));
26 31
27 32 layout_ports = new QGridLayout();
28 33 mainLayout = new QGridLayout();
29 34
30 35 initSocketStatesList();
31 36
32 37 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
33 38 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
34 39 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
35 40 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
36 41 layout_ports->addWidget(button_sendTestPacket, 4, 0, 1, 2);
37 layout_ports->addWidget(label_totalOfBytes, 5, 0, 1, 2);
38 layout_ports->setRowStretch(6, 1);
42 layout_ports->addWidget(label_totalOfPackets, 5, 0, 1, 2);
43 layout_ports->addWidget(label_totalOfBytes, 6, 0, 1, 2);
44 layout_ports->addWidget(label_totalOfPacketsDropped, 7, 0, 1, 2);
45 layout_ports->addWidget(button_resetTMStatistics, 8, 0, 1, 2);
46 layout_ports->setRowStretch(9, 1);
39 47 layout_ports->setColumnStretch(2, 1);
40 48
41 49 groupbox_ports->setLayout(layout_ports);
42 50
43 51 mainLayout->addWidget(groupbox_ports, 0, 0, 1, 1);
44 52 mainLayout->addWidget(console, 0, 1, 1, 1);
45 53 mainLayout->addWidget(button_clearConsole, 1, 1, 1, 1);
46 54
47 55 this->setLayout(mainLayout);
48 56
49 57 connect(this->tmEchoBridgeServer, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMEchoBridgeServer()));
50 58 connect(this->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTMEchoBridgePort()));
51 59 connect(this->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTMEchoBridgePort()));
52 60 connect(this->button_sendTestPacket, SIGNAL(clicked()), this, SLOT(sendXML_GSE_HK()));
53 61 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
62 connect(this->button_resetTMStatistics, SIGNAL(clicked()), this, SLOT(resetTMStatistics()));
54 63 }
55 64
56 65 void TMEchoBridge::listenOnTMEchoBridgePort()
57 66 {
58 67 QString str;
59 68
60 69 tmEchoBridgeServer->listen(QHostAddress::Any, this->getTMPort());
61 70 str = tmEchoBridgeServer->errorString();
62 71 if (!str.isEmpty())
63 72 {
64 73 this->displayOnConsole(str);
65 74 }
66 75 this->displayOnConsole("Listening TM on port "
67 76 + QString::number(this->getTMPort())
68 77 );
69 78 }
70 79
71 80 void TMEchoBridge::testTMEchoBridgePort()
72 81 {
73 82 if (tmEchoBridgeSocket != NULL)
74 83 {
75 84 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
76 85 }
77 86 else
78 87 {
79 88 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
80 89 }
81 90 }
82 91
83 92 void TMEchoBridge::newConnectionOnTMEchoBridgeServer()
84 93 {
85 94 this->displayOnConsole("got new connection on TM port");
86 95 tmEchoBridgeSocket = tmEchoBridgeServer->nextPendingConnection();
87 96 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
88 97 xmlWriter->setDevice(this->tmEchoBridgeSocket);
89 98 }
90 99
91 100 int TMEchoBridge::getTMPort()
92 101 {
93 102 return spinbox_TMServerPort->value();
94 103 }
95 104
96 105 void TMEchoBridge::displayOnConsole(QString message)
97 106 {
98 107 console->append(message);
99 108 }
100 109
101 110 void TMEchoBridge::initSocketStatesList()
102 111 {
103 112 socketStates.append("The socket is not connected");
104 113 socketStates.append("The socket is performing a host name lookup");
105 114 socketStates.append("The socket has started establishing a connection");
106 115 socketStates.append("A connection is established");
107 116 socketStates.append("The socket is bound to an address and port (for servers)");
108 117 socketStates.append("The socket is about to close (data may still be waiting to be written)");
109 118 socketStates.append("For internal use only");
110 119 }
111 120
112 121 void TMEchoBridge::sendXML_GSE_HK()
113 122 {
114 123 char data[10];
115 124 for (int i = 0; i <10; i++)
116 125 {
117 126 data[i] = i;
118 127 }
119 128 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
120 129 {
130 xmlWriter->writeStartDocument();
131
121 132 xmlWriter->writeStartElement("Event");
122 133
123 134 // EventDate
124 135 xmlWriter->writeStartElement("EventDate");
125 136 xmlWriter->writeEndElement();
126 137
127 138 // Event Time
128 139 xmlWriter->writeStartElement("EventTime");
129 140 xmlWriter->writeEndElement();
130 141
131 142 // EventBinary
132 143 xmlWriter->writeStartElement("EventBinary");
133 144 xmlWriter->writeCharacters("FFFFCC0099");
134 145 xmlWriter->writeCharacters(QString::fromLocal8Bit(data, 10));
135 146 xmlWriter->writeEndElement();
136 147
137 148 xmlWriter->writeEndElement();
149
150 xmlWriter->writeEndDocument();
138 151 }
139 152 else
140 153 {
141 154 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
142 155 }
143 156 }
144 157
145 158 void TMEchoBridge::sendTMPacket(TMPacketToRead *tmPacketToRead)
146 159 {
147 160 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
148 161 {
162 // START DOCUMENT
163 //xmlWriter->writeStartDocument();
164
149 165 // <Event>
150 166 xmlWriter->writeStartElement("Event");
151 167
152 // EventDate
168 // <EventDate>
153 169 xmlWriter->writeStartElement("EventDate");
154 170 xmlWriter->writeEndElement();
155 171
156 // Event Time
172 // <Event Time>
157 173 xmlWriter->writeStartElement("EventTime");
158 174 xmlWriter->writeEndElement();
159 175
160 // EventBinary
176 // <EventBinary>
161 177 xmlWriter->writeStartElement("EventBinary");
162 178 xmlWriter->writeCharacters(
163 179 QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size).toHex()
164 180 );
165 181 //tmEchoBridgeSocket->write(QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size));
166 182 xmlWriter->writeEndElement();
167 183
168 // </event>
184 // </Event>
169 185 xmlWriter->writeEndElement();
170 186
187 // END DOCUMENT
188 xmlWriter->writeEndDocument();
189
190 tmEchoBridgeSocket->flush();
191
171 192 totalOfBytes = totalOfBytes + tmPacketToRead->size;
193 totalOfPackets = totalOfPackets + 1;
172 194 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
195 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
173 196 }
174 197 else
175 198 {
176 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
199 totalOfPacketsDropped = totalOfPacketsDropped + 1;
200 label_totalOfPackets->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
201 }
202 }
203
204 void TMEchoBridge::sendTMPacket_v2(TMPacketToRead *tmPacketToRead)
205 {
206 QByteArray ccsdsArray;
207 QTime echoBridgeTimeout;
208
209 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
210 {
211 ccsdsArray.append("<Event>");
212
213 ccsdsArray.append("<EventDate>");
214 ccsdsArray.append("</EventDate>");
215
216 ccsdsArray.append("<EventTime>");
217 ccsdsArray.append("</EventTime>");
218
219 ccsdsArray.append("<EventBinary>");
220 ccsdsArray.append(QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size).toHex());
221 ccsdsArray.append("</EventBinary>");
222
223 ccsdsArray.append("</Event>");
224
225 tmEchoBridgeSocket->write(ccsdsArray);
226 tmEchoBridgeSocket->flush();
227
228 totalOfBytes = totalOfBytes + tmPacketToRead->size;
229 totalOfPackets = totalOfPackets + 1;
230 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
231 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
232 }
233 else
234 {
235 totalOfPacketsDropped = totalOfPacketsDropped + 1;
236 label_totalOfPackets->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
177 237 }
178 238 }
179 239
180 240 void TMEchoBridge::clearConsole()
181 241 {
182 242 this->console->clear();
183 243 }
244
245 void TMEchoBridge::resetTMStatistics()
246 {
247 label_totalOfBytes->setText("Number of TM bytes sent: -");
248 label_totalOfPackets->setText("Number of TM packets sent: -");
249 label_totalOfPacketsDropped->setText("Number of TM packets dropped: -");
250 totalOfBytes = 0;
251 totalOfPackets = 0;
252 totalOfPacketsDropped = 0;
253 }
@@ -1,65 +1,73
1 1 #ifndef TMECHOBRIDGE_H
2 2 #define TMECHOBRIDGE_H
3 3
4 4 #include <QWidget>
5 5 #include <QTcpServer>
6 6 #include <QTcpSocket>
7 7 #include <QLabel>
8 8 #include <QSpinBox>
9 9 #include <QPushButton>
10 10 #include <QGroupBox>
11 11 #include <QGridLayout>
12 12 #include <QTextEdit>
13 13 #include <QXmlStreamWriter>
14 #include <QTime>
14 15 #include "tmpackettoread.h"
15 16
16 17 class TMEchoBridge : public QWidget
17 18 {
18 19 Q_OBJECT
19 20 public:
20 21 explicit TMEchoBridge(QWidget *parent = 0);
21 22
22 23 signals:
23 24
24 25 public slots:
25 26 void listenOnTMEchoBridgePort();
26 27 void testTMEchoBridgePort();
27 28 void newConnectionOnTMEchoBridgeServer();
28 29 int getTMPort();
29 30 void displayOnConsole(QString message);
30 31 void initSocketStatesList();
31 32 void newConnectionOnTCServer();
32 33 void sendXML_GSE_HK();
33 34 void sendTMPacket(TMPacketToRead *tmPacketToRead);
35 void sendTMPacket_v2(TMPacketToRead *tmPacketToRead);
34 36 void clearConsole();
37 void resetTMStatistics();
35 38
36 39 private:
37 40 QList<QString> socketStates;
38 41
39 42 unsigned int totalOfBytes;
43 unsigned int totalOfPackets;
44 unsigned int totalOfPacketsDropped;
40 45
41 46 QTcpServer *tmEchoBridgeServer;
42 47 QTcpSocket *tmEchoBridgeSocket;
43 48
44 49 QXmlStreamWriter *xmlWriter;
45 50
46 51 QTextEdit *console;
47 52
48 53 QLabel *label_TMServerPort;
49 54 QLabel *label_totalOfBytes;
55 QLabel *label_totalOfPackets;
56 QLabel *label_totalOfPacketsDropped;
50 57
51 58 QSpinBox *spinbox_TMServerPort;
52 59
53 60 QPushButton *button_openServerTCTM;
54 61 QPushButton *button_testServerTCTM;
55 62 QPushButton *button_sendTestPacket;
56 63 QPushButton *button_clearConsole;
64 QPushButton *button_resetTMStatistics;
57 65
58 66 QGroupBox *groupbox_ports;
59 67
60 68 QGridLayout *layout_ports;
61 69 QGridLayout *mainLayout;
62 70
63 71 };
64 72
65 73 #endif // TMECHOBRIDGE_H
General Comments 0
You need to be logged in to leave comments. Login now