##// END OF EJS Templates
waveform display added for the normal mode...
leroy -
r19:7f565009af54 default
parent child
Show More
@@ -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: Mon Apr 22 17:27:12 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Thu Apr 25 14:28:34 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 74 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
75 75 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
76 76 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
77 77 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
78 78 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
79 79 /usr/lib64/qt4/mkspecs/features/release.prf \
80 80 /usr/lib64/qt4/mkspecs/features/default_post.prf \
81 81 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
82 82 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
83 83 /usr/lib64/qt4/mkspecs/features/qt.prf \
84 84 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
85 85 /usr/lib64/qt4/mkspecs/features/moc.prf \
86 86 /usr/lib64/qt4/mkspecs/features/resources.prf \
87 87 /usr/lib64/qt4/mkspecs/features/uic.prf \
88 88 /usr/lib64/qt4/mkspecs/features/yacc.prf \
89 89 /usr/lib64/qt4/mkspecs/features/lex.prf \
90 90 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
91 91 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
92 92 /usr/lib64/qt4/mkspecs/common/unix.conf:
93 93 /usr/lib64/qt4/mkspecs/common/linux.conf:
94 94 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
95 95 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
96 96 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
97 97 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
98 98 /usr/lib64/qt4/mkspecs/qconfig.pri:
99 99 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.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-04-23T11:06:46. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-04-26T15:28:06. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 14 <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,486 +1,554
1 1 #############################################################################
2 2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Mon Apr 22 17:27:12 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Apr 26 08:31:53 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 spectralmatricesdmasimulator.cpp \
53 52 rmappluginpythonwrapper.cpp \
54 53 stardundee.cpp \
55 54 gresb.cpp \
56 55 tcpackettosend.cpp \
57 56 tmpackettoread.cpp \
58 57 wfdisplay.cpp \
58 tmstatistics.cpp \
59 wfplot.cpp \
60 wfpage.cpp \
61 wfpacket.cpp \
59 62 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
60 63 moc/moc_rmapplugin.cpp \
61 64 moc/moc_qipdialogbox.cpp \
62 65 moc/moc_gresbstatusenquiry.cpp \
63 moc/moc_spectralmatricesdmasimulator.cpp \
64 66 moc/moc_rmappluginpythonwrapper.cpp \
65 67 moc/moc_stardundee.cpp \
66 68 moc/moc_gresb.cpp \
67 69 moc/moc_tcpackettosend.cpp \
68 70 moc/moc_tmpackettoread.cpp \
69 71 moc/moc_wfdisplay.cpp \
72 moc/moc_tmstatistics.cpp \
73 moc/moc_wfplot.cpp \
74 moc/moc_wfpage.cpp \
75 moc/moc_wfpacket.cpp \
70 76 moc/moc_genericPySysdriver.cpp \
71 77 moc/moc_lppmonplugin.cpp
72 78 OBJECTS = obj/rmapplugin.o \
73 79 obj/rmappluginui.o \
74 80 obj/rmapoperations.o \
75 81 obj/ccsds.o \
76 82 obj/qipdialogbox.o \
77 83 obj/gresbstatusenquiry.o \
78 obj/spectralmatricesdmasimulator.o \
79 84 obj/rmappluginpythonwrapper.o \
80 85 obj/stardundee.o \
81 86 obj/gresb.o \
82 87 obj/tcpackettosend.o \
83 88 obj/tmpackettoread.o \
84 89 obj/wfdisplay.o \
90 obj/tmstatistics.o \
91 obj/wfplot.o \
92 obj/wfpage.o \
93 obj/wfpacket.o \
85 94 obj/lppmonplugininterface.o \
86 95 obj/moc_rmappluginui.o \
87 96 obj/moc_rmapplugin.o \
88 97 obj/moc_qipdialogbox.o \
89 98 obj/moc_gresbstatusenquiry.o \
90 obj/moc_spectralmatricesdmasimulator.o \
91 99 obj/moc_rmappluginpythonwrapper.o \
92 100 obj/moc_stardundee.o \
93 101 obj/moc_gresb.o \
94 102 obj/moc_tcpackettosend.o \
95 103 obj/moc_tmpackettoread.o \
96 104 obj/moc_wfdisplay.o \
105 obj/moc_tmstatistics.o \
106 obj/moc_wfplot.o \
107 obj/moc_wfpage.o \
108 obj/moc_wfpacket.o \
97 109 obj/moc_genericPySysdriver.o \
98 110 obj/moc_lppmonplugin.o
99 111 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
100 112 /usr/lib64/qt4/mkspecs/common/linux.conf \
101 113 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
102 114 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
103 115 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
104 116 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
105 117 /usr/lib64/qt4/mkspecs/qconfig.pri \
106 118 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
107 119 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
108 120 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
109 121 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
110 122 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
111 123 /usr/lib64/qt4/mkspecs/features/release.prf \
112 124 /usr/lib64/qt4/mkspecs/features/default_post.prf \
113 125 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
114 126 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
115 127 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
116 128 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
117 129 /usr/lib64/qt4/mkspecs/features/qt.prf \
118 130 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
119 131 /usr/lib64/qt4/mkspecs/features/moc.prf \
120 132 /usr/lib64/qt4/mkspecs/features/resources.prf \
121 133 /usr/lib64/qt4/mkspecs/features/uic.prf \
122 134 /usr/lib64/qt4/mkspecs/features/yacc.prf \
123 135 /usr/lib64/qt4/mkspecs/features/lex.prf \
124 136 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
125 137 rmapplugin.pro
126 138 QMAKE_TARGET = rmapplugin
127 139 DESTDIR = bin/
128 140 TARGET = librmapplugin.so.1.0.0
129 141 TARGETA = bin/librmapplugin.a
130 142 TARGETD = librmapplugin.so.1.0.0
131 143 TARGET0 = librmapplugin.so
132 144 TARGET1 = librmapplugin.so.1
133 145 TARGET2 = librmapplugin.so.1.0
134 146
135 147 first: all
136 148 ####### Implicit rules
137 149
138 150 .SUFFIXES: .o .c .cpp .cc .cxx .C
139 151
140 152 .cpp.o:
141 153 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
142 154
143 155 .cc.o:
144 156 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
145 157
146 158 .cxx.o:
147 159 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
148 160
149 161 .C.o:
150 162 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
151 163
152 164 .c.o:
153 165 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
154 166
155 167 ####### Build rules
156 168
157 169 all: Makefile bin/$(TARGET)
158 170
159 171 bin/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
160 172 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
161 173 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
162 174 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
163 175 -ln -s $(TARGET) $(TARGET0)
164 176 -ln -s $(TARGET) $(TARGET1)
165 177 -ln -s $(TARGET) $(TARGET2)
166 178 -$(DEL_FILE) bin/$(TARGET)
167 179 -$(DEL_FILE) bin/$(TARGET0)
168 180 -$(DEL_FILE) bin/$(TARGET1)
169 181 -$(DEL_FILE) bin/$(TARGET2)
170 182 -$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) bin/
171 183
172 184
173 185
174 186 staticlib: $(TARGETA)
175 187
176 188 $(TARGETA): $(OBJECTS) $(OBJCOMP)
177 189 -$(DEL_FILE) $(TARGETA)
178 190 $(AR) $(TARGETA) $(OBJECTS)
179 191
180 192 Makefile: rmapplugin.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
181 193 /usr/lib64/qt4/mkspecs/common/linux.conf \
182 194 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
183 195 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
184 196 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
185 197 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
186 198 /usr/lib64/qt4/mkspecs/qconfig.pri \
187 199 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
188 200 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
189 201 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
190 202 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
191 203 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
192 204 /usr/lib64/qt4/mkspecs/features/release.prf \
193 205 /usr/lib64/qt4/mkspecs/features/default_post.prf \
194 206 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
195 207 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
196 208 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
197 209 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
198 210 /usr/lib64/qt4/mkspecs/features/qt.prf \
199 211 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
200 212 /usr/lib64/qt4/mkspecs/features/moc.prf \
201 213 /usr/lib64/qt4/mkspecs/features/resources.prf \
202 214 /usr/lib64/qt4/mkspecs/features/uic.prf \
203 215 /usr/lib64/qt4/mkspecs/features/yacc.prf \
204 216 /usr/lib64/qt4/mkspecs/features/lex.prf \
205 217 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
206 218 /usr/lib64/libQtXml.prl \
207 219 /usr/lib64/libQtCore.prl \
208 220 /usr/lib64/libQtGui.prl \
209 221 /usr/lib64/libQtNetwork.prl
210 222 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
211 223 /usr/lib64/qt4/mkspecs/common/unix.conf:
212 224 /usr/lib64/qt4/mkspecs/common/linux.conf:
213 225 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
214 226 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
215 227 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
216 228 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
217 229 /usr/lib64/qt4/mkspecs/qconfig.pri:
218 230 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
219 231 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
220 232 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
221 233 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
222 234 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
223 235 /usr/lib64/qt4/mkspecs/features/release.prf:
224 236 /usr/lib64/qt4/mkspecs/features/default_post.prf:
225 237 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf:
226 238 /usr/lib64/qt4/mkspecs/features/pythonqt.prf:
227 239 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
228 240 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
229 241 /usr/lib64/qt4/mkspecs/features/qt.prf:
230 242 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
231 243 /usr/lib64/qt4/mkspecs/features/moc.prf:
232 244 /usr/lib64/qt4/mkspecs/features/resources.prf:
233 245 /usr/lib64/qt4/mkspecs/features/uic.prf:
234 246 /usr/lib64/qt4/mkspecs/features/yacc.prf:
235 247 /usr/lib64/qt4/mkspecs/features/lex.prf:
236 248 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
237 249 /usr/lib64/libQtXml.prl:
238 250 /usr/lib64/libQtCore.prl:
239 251 /usr/lib64/libQtGui.prl:
240 252 /usr/lib64/libQtNetwork.prl:
241 253 qmake: FORCE
242 254 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
243 255
244 256 dist:
245 257 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
246 $(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 spectralmatricesdmasimulator.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 /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 spectralmatricesdmasimulator.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp tmpackettoread.cpp wfdisplay.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
258 $(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 /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 /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
247 259
248 260
249 261 clean:compiler_clean
250 262 -$(DEL_FILE) $(OBJECTS)
251 263 -$(DEL_FILE) *~ core *.core
252 264
253 265
254 266 ####### Sub-libraries
255 267
256 268 distclean: clean
257 269 -$(DEL_FILE) bin/$(TARGET)
258 270 -$(DEL_FILE) bin/$(TARGET0) bin/$(TARGET1) bin/$(TARGET2) $(TARGETA)
259 271 -$(DEL_FILE) Makefile
260 272
261 273
262 274 check: first
263 275
264 276 mocclean: compiler_moc_header_clean compiler_moc_source_clean
265 277
266 278 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
267 279
268 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.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_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
280 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_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
269 281 compiler_moc_header_clean:
270 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.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_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
282 -$(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_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
271 283 moc/moc_rmappluginui.cpp: rmapoperations.h \
272 spectralmatricesdmasimulator.h \
273 284 stardundee.h \
274 285 ccsds.h \
275 286 tmpackettoread.h \
276 287 gresb.h \
277 288 wfdisplay.h \
289 wfplot.h \
290 params.h \
291 wfpage.h \
292 tmstatistics.h \
278 293 rmappluginui.h
279 294 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
280 295
281 296 moc/moc_rmapplugin.cpp: rmappluginui.h \
282 297 rmapoperations.h \
283 spectralmatricesdmasimulator.h \
284 298 stardundee.h \
285 299 ccsds.h \
286 300 tmpackettoread.h \
287 301 gresb.h \
288 302 wfdisplay.h \
303 wfplot.h \
304 params.h \
305 wfpage.h \
306 tmstatistics.h \
307 wfpacket.h \
289 308 rmapplugin.h
290 309 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmapplugin.h -o moc/moc_rmapplugin.cpp
291 310
292 311 moc/moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
293 312 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc/moc_qipdialogbox.cpp
294 313
295 314 moc/moc_gresbstatusenquiry.cpp: ../common_PLE/gresbstatusenquiry.h
296 315 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/gresbstatusenquiry.h -o moc/moc_gresbstatusenquiry.cpp
297 316
298 moc/moc_spectralmatricesdmasimulator.cpp: spectralmatricesdmasimulator.h
299 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) spectralmatricesdmasimulator.h -o moc/moc_spectralmatricesdmasimulator.cpp
300
301 317 moc/moc_rmappluginpythonwrapper.cpp: rmapoperations.h \
302 318 ccsds.h \
303 319 tcpackettosend.h \
304 320 tmpackettoread.h \
305 321 rmappluginpythonwrapper.h
306 322 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
307 323
308 324 moc/moc_stardundee.cpp: rmapoperations.h \
309 325 ccsds.h \
310 326 tmpackettoread.h \
311 327 stardundee.h
312 328 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
313 329
314 330 moc/moc_gresb.cpp: rmapoperations.h \
315 331 ccsds.h \
316 332 tmpackettoread.h \
317 333 gresb.h
318 334 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
319 335
320 336 moc/moc_tcpackettosend.cpp: tcpackettosend.h
321 337 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tcpackettosend.h -o moc/moc_tcpackettosend.cpp
322 338
323 339 moc/moc_tmpackettoread.cpp: tmpackettoread.h
324 340 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmpackettoread.h -o moc/moc_tmpackettoread.cpp
325 341
326 moc/moc_wfdisplay.cpp: wfdisplay.h
342 moc/moc_wfdisplay.cpp: wfplot.h \
343 params.h \
344 wfpage.h \
345 wfdisplay.h
327 346 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfdisplay.h -o moc/moc_wfdisplay.cpp
328 347
348 moc/moc_tmstatistics.cpp: tmstatistics.h
349 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmstatistics.h -o moc/moc_tmstatistics.cpp
350
351 moc/moc_wfplot.cpp: params.h \
352 wfplot.h
353 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfplot.h -o moc/moc_wfplot.cpp
354
355 moc/moc_wfpage.cpp: wfplot.h \
356 params.h \
357 wfpage.h
358 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpage.h -o moc/moc_wfpage.cpp
359
360 moc/moc_wfpacket.cpp: params.h \
361 wfpacket.h
362 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpacket.h -o moc/moc_wfpacket.cpp
363
329 364 moc/moc_genericPySysdriver.cpp: /usr/include/lppmon/genericPySysdriver.h
330 365 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
331 366
332 367 moc/moc_lppmonplugin.cpp: /usr/include/lppmon/lppmonplugin.h
333 368 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/lppmonplugin.h -o moc/moc_lppmonplugin.cpp
334 369
335 370 compiler_rcc_make_all:
336 371 compiler_rcc_clean:
337 372 compiler_image_collection_make_all: qmake_image_collection.cpp
338 373 compiler_image_collection_clean:
339 374 -$(DEL_FILE) qmake_image_collection.cpp
340 375 compiler_moc_source_make_all:
341 376 compiler_moc_source_clean:
342 377 compiler_uic_make_all:
343 378 compiler_uic_clean:
344 379 compiler_yacc_decl_make_all:
345 380 compiler_yacc_decl_clean:
346 381 compiler_yacc_impl_make_all:
347 382 compiler_yacc_impl_clean:
348 383 compiler_lex_make_all:
349 384 compiler_lex_clean:
350 385 compiler_clean: compiler_moc_header_clean
351 386
352 387 ####### Compile
353 388
354 389 obj/rmapplugin.o: rmapplugin.cpp rmapplugin.h \
355 390 rmappluginui.h \
356 391 rmapoperations.h \
357 spectralmatricesdmasimulator.h \
358 392 stardundee.h \
359 393 ccsds.h \
360 394 tmpackettoread.h \
361 395 gresb.h \
362 396 wfdisplay.h \
397 wfplot.h \
398 params.h \
399 wfpage.h \
400 tmstatistics.h \
401 wfpacket.h \
363 402 rmappluginpythonwrapper.h \
364 403 tcpackettosend.h
365 404 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapplugin.o rmapplugin.cpp
366 405
367 406 obj/rmappluginui.o: rmappluginui.cpp rmapplugin.h \
368 407 rmappluginui.h \
369 408 rmapoperations.h \
370 spectralmatricesdmasimulator.h \
371 409 stardundee.h \
372 410 ccsds.h \
373 411 tmpackettoread.h \
374 412 gresb.h \
375 wfdisplay.h
413 wfdisplay.h \
414 wfplot.h \
415 params.h \
416 wfpage.h \
417 tmstatistics.h \
418 wfpacket.h
376 419 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
377 420
378 421 obj/rmapoperations.o: rmapoperations.cpp rmapoperations.h
379 422 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapoperations.o rmapoperations.cpp
380 423
381 424 obj/ccsds.o: ccsds.cpp ccsds.h
382 425 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
383 426
384 427 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
385 428 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qipdialogbox.o ../common_PLE/qipdialogbox.cpp
386 429
387 430 obj/gresbstatusenquiry.o: ../common_PLE/gresbstatusenquiry.cpp ../common_PLE/gresbstatusenquiry.h
388 431 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresbstatusenquiry.o ../common_PLE/gresbstatusenquiry.cpp
389 432
390 obj/spectralmatricesdmasimulator.o: spectralmatricesdmasimulator.cpp spectralmatricesdmasimulator.h
391 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/spectralmatricesdmasimulator.o spectralmatricesdmasimulator.cpp
392
393 433 obj/rmappluginpythonwrapper.o: rmappluginpythonwrapper.cpp rmappluginpythonwrapper.h \
394 434 rmapoperations.h \
395 435 ccsds.h \
396 436 tcpackettosend.h \
397 437 tmpackettoread.h
398 438 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginpythonwrapper.o rmappluginpythonwrapper.cpp
399 439
400 440 obj/stardundee.o: stardundee.cpp stardundee.h \
401 441 rmapoperations.h \
402 442 ccsds.h \
403 443 tmpackettoread.h
404 444 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/stardundee.o stardundee.cpp
405 445
406 446 obj/gresb.o: gresb.cpp gresb.h \
407 447 rmapoperations.h \
408 448 ccsds.h \
409 449 tmpackettoread.h
410 450 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
411 451
412 452 obj/tcpackettosend.o: tcpackettosend.cpp tcpackettosend.h
413 453 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
414 454
415 455 obj/tmpackettoread.o: tmpackettoread.cpp tmpackettoread.h
416 456 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmpackettoread.o tmpackettoread.cpp
417 457
418 obj/wfdisplay.o: wfdisplay.cpp wfdisplay.h
458 obj/wfdisplay.o: wfdisplay.cpp wfdisplay.h \
459 wfplot.h \
460 params.h \
461 wfpage.h
419 462 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfdisplay.o wfdisplay.cpp
420 463
464 obj/tmstatistics.o: tmstatistics.cpp tmstatistics.h
465 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmstatistics.o tmstatistics.cpp
466
467 obj/wfplot.o: wfplot.cpp wfplot.h \
468 params.h
469 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfplot.o wfplot.cpp
470
471 obj/wfpage.o: wfpage.cpp wfpage.h \
472 wfplot.h \
473 params.h
474 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpage.o wfpage.cpp
475
476 obj/wfpacket.o: wfpacket.cpp wfpacket.h \
477 params.h
478 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpacket.o wfpacket.cpp
479
421 480 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
422 481 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
423 482 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
424 483
425 484 obj/moc_rmappluginui.o: moc/moc_rmappluginui.cpp
426 485 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginui.o moc/moc_rmappluginui.cpp
427 486
428 487 obj/moc_rmapplugin.o: moc/moc_rmapplugin.cpp
429 488 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmapplugin.o moc/moc_rmapplugin.cpp
430 489
431 490 obj/moc_qipdialogbox.o: moc/moc_qipdialogbox.cpp
432 491 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_qipdialogbox.o moc/moc_qipdialogbox.cpp
433 492
434 493 obj/moc_gresbstatusenquiry.o: moc/moc_gresbstatusenquiry.cpp
435 494 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresbstatusenquiry.o moc/moc_gresbstatusenquiry.cpp
436 495
437 obj/moc_spectralmatricesdmasimulator.o: moc/moc_spectralmatricesdmasimulator.cpp
438 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_spectralmatricesdmasimulator.o moc/moc_spectralmatricesdmasimulator.cpp
439
440 496 obj/moc_rmappluginpythonwrapper.o: moc/moc_rmappluginpythonwrapper.cpp
441 497 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginpythonwrapper.o moc/moc_rmappluginpythonwrapper.cpp
442 498
443 499 obj/moc_stardundee.o: moc/moc_stardundee.cpp
444 500 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_stardundee.o moc/moc_stardundee.cpp
445 501
446 502 obj/moc_gresb.o: moc/moc_gresb.cpp
447 503 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
448 504
449 505 obj/moc_tcpackettosend.o: moc/moc_tcpackettosend.cpp
450 506 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tcpackettosend.o moc/moc_tcpackettosend.cpp
451 507
452 508 obj/moc_tmpackettoread.o: moc/moc_tmpackettoread.cpp
453 509 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmpackettoread.o moc/moc_tmpackettoread.cpp
454 510
455 511 obj/moc_wfdisplay.o: moc/moc_wfdisplay.cpp
456 512 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfdisplay.o moc/moc_wfdisplay.cpp
457 513
514 obj/moc_tmstatistics.o: moc/moc_tmstatistics.cpp
515 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmstatistics.o moc/moc_tmstatistics.cpp
516
517 obj/moc_wfplot.o: moc/moc_wfplot.cpp
518 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfplot.o moc/moc_wfplot.cpp
519
520 obj/moc_wfpage.o: moc/moc_wfpage.cpp
521 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfpage.o moc/moc_wfpage.cpp
522
523 obj/moc_wfpacket.o: moc/moc_wfpacket.cpp
524 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfpacket.o moc/moc_wfpacket.cpp
525
458 526 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
459 527 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
460 528
461 529 obj/moc_lppmonplugin.o: moc/moc_lppmonplugin.cpp
462 530 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lppmonplugin.o moc/moc_lppmonplugin.cpp
463 531
464 532 ####### Install
465 533
466 534 install_target: first FORCE
467 535 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
468 536 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
469 537 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
470 538 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
471 539 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
472 540
473 541 uninstall_target: FORCE
474 542 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
475 543 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
476 544 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
477 545 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
478 546 -$(DEL_DIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
479 547
480 548
481 549 install: install_target FORCE
482 550
483 551 uninstall: uninstall_target FORCE
484 552
485 553 FORCE:
486 554
@@ -1,108 +1,108
1 1 #ifndef GRESB_H
2 2 #define GRESB_H
3 3
4 4 #include <QWidget>
5 5 #include <QLabel>
6 6 #include <QPushButton>
7 7 #include <QSpinBox>
8 8 #include <QGridLayout>
9 9 #include <QTcpSocket>
10 10 #include <QDialog>
11 11 #include <QSemaphore>
12 12
13 13 #include "gresbstatusenquiry.h"
14 14 #include "rmapoperations.h"
15 15 #include "qipdialogbox.h"
16 16 #include "ccsds.h"
17 17 #include "tmpackettoread.h"
18 18
19 19 class gresb : public QWidget
20 20 {
21 21 Q_OBJECT
22 22 public:
23 23 explicit gresb(QWidget *parent = 0);
24 24 ~gresb();
25 25 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
26 26 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
27 27 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
28 28
29 29 unsigned int storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
30
31 gresbStatusEnquiry* spwLinkStatusEnquiry;
30 32
31 33 signals:
32 34 void sendMessage(QString message);
33 35 void sendPacket(TMPacketToRead*);
34 36 void isOpen(bool);
35 37 void RMAP_write_reply_setText(QString);
36 38 void appendToLog(QString);
37 39
38 40 public slots:
39 41 void Open();
40 42 void Close();
41 43 int receiveSPWPacketLoop(unsigned char requestID=0);
42 44 int receiveSPWPacket(unsigned char requestID=0);
43 45 void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;}
44 46 void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;}
45 47 void sourceHasChanged(int source) {rmapSourceLogicalAddress = (unsigned char) source;}
46 48 void ccsdsPacketIsProcessed() {ccsdsPacketSEMAPHORE->tryAcquire();}
47 49 void reTestSPWLink();
48 50 //
49 51 void RMAPSendConnectionState(QAbstractSocket::SocketState socketState);
50 52 void RMAPReceiveConnectionState(QAbstractSocket::SocketState socketState);
51 53 void GRESBConnectionState(QAbstractSocket::SocketState socketState);
52 54 //
53 55 void setIP(unsigned char address1, unsigned char address2, unsigned char address3, unsigned char address4)
54 56 {this->gresbBridgeIPDialogBox->setIP(address1, address2, address3, address4);}
55 57
56 58 private slots:
57 59 int GRESBStatusQuery();
58 60
59 61 private:
60 62 unsigned int WriteBLOCK(char *data,unsigned int nbBytes,unsigned int address=0);
61 63 unsigned int ReadBLOCK(unsigned int nbBytes,unsigned int address=0);
62 64 void acquireRMAPSemaphore() {rmapPacketSEMAPHORE->tryAcquire();}
63 65 void acquireCCSDSSemaphore() {ccsdsPacketSEMAPHORE->tryAcquire();}
64 66 int GRESBStatusQueryRequest(GresbStatusQueryOption option, char link);
65 67
66 68 unsigned char rmapTargetLogicalAddress ;
67 69 unsigned char rmapSourceLogicalAddress ;
68 70
69 71 RMAP_command_codes commandCode;
70 72
71 73 QPushButton *gresbStatusQueryRetryButton;
72 74 QPushButton *gresbStatusQueryAbortButton;
73 75
74 76 QLabel *gresbBridgeIPLabel;
75 77 QLabel *gresbVirtualLinkLabel;
76 78 QLabel *spwLinkLabel;
77 79 QLabel *rmapSendStateLabel;
78 80 QLabel *rmapReceiveStateLabel;
79 81 QLabel *gresbStatusQueryLabel;
80 82 QLabel *gresbStatusQueryDialogLabel;
81 83
82 84 QDialog *gresbStatusQueryDialog;
83 85
84 86 QIPDialogBox* gresbBridgeIPDialogBox;
85 87
86 88 QSpinBox *gresbVirtualLinkSpinBox;
87 89 QSpinBox *spwLinkSpinBox;
88 90
89 91 QGridLayout *connectionLayout;
90 92 QGridLayout *gresbStatusQueryDialogLayout;
91 93
92 94 QTcpSocket *RMAPSend_SOCKET;
93 95 QTcpSocket *RMAPReceive_SOCKET;
94 96 QTcpSocket *GRESBStatusQuery_SOCKET;
95 97
96 gresbStatusEnquiry* spwLinkStatusEnquiry;
97
98 98 // Packet receiver
99 99 QSemaphore *rmapPacketSEMAPHORE;
100 100 QSemaphore *ccsdsPacketSEMAPHORE;
101 101 char* rmapPacket; // The buffer to receive RMAP READ packets
102 102 unsigned char *ccsdsPacket;
103 103 char *spwPacket;
104 104 unsigned int rmapPacketSize;
105 105 unsigned int ccsdsPacketSize;
106 106 };
107 107
108 108 #endif // GRESB_H
@@ -1,460 +1,400
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 //***
63 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
64 this, SLOT(nbPacketHasChanged(int)));
62 65 //**************
63 66
64 67 //**************
65 68 // get a smart pointer to the __main__ module of the Python interpreter
66 69 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
67 70 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
68 71 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
69 72 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
70 73 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
71 74 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
72 75 context.addObject("GRESB_Bridge", UI->gresbBridge);
73 76 //**************
74 77
75 78 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
76 79 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
77
78 // CCSDS
79 connect(this->UI->sendCCSDSCommandButton, SIGNAL(clicked()), this, SLOT(sendCCSDS()));
80 connect(this->UI->send_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(send_TC_LFR_UPDATE_TIME()));
81 connect(this->UI->reset_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(reset_TC_LFR_UPDATE_TIME()));
82
83 // spectralMAtricesDMASimulator
84 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginRead(uint*,uint,uint)), this, SLOT(Read(uint*,uint,uint)));
85 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginWrite(uint*,uint,uint)), this, SLOT(Write(uint*,uint,uint)));
86 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
80 connect(this, SIGNAL(
81 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
82 ),
83 this->UI->tmStatistics, SLOT(
84 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
85 ));
87 86
88 87 //******
89 88 // GRESB
90 89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
91 90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
92 91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
93 92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
94 93 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
95 94 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
96 95 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
97 96 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
98 97 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
99 98 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
100 99 this, SLOT(receivePacketFromBridge(TMPacketToRead*)));
101 100
102 101 //************
103 102 // Star Dundee
104 103 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
105 104 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
106 105 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
107 106 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
108 107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
109 108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
110 109 this->UI->starDundee, SLOT(targetHasChanged(int)));
111 110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
112 111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
113 112 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
114 113 this, SLOT(receivePacketFromBridge(TMPacketToRead*)));
115 114
116 115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
117 116
118 117 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
119 118 }
120 119
121 120 rmapplugin::~rmapplugin()
122 121 {
123 122 switch(currentBridge)
124 123 {
125 124 case selectedBridgeIsGRESB :
126 125 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
127 126 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
128 127 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
129 128 break;
130 129 case selectedBridgeIsStarDundee :
131 130 break;
132 131 default:
133 132 break;
134 133 }
135 134 }
136 135
137 136 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
138 137 {
139 138 unsigned int result;
140 139 switch(currentBridge)
141 140 {
142 141 case selectedBridgeIsGRESB :
143 142 result = UI->gresbBridge->Write(Value, count, address);
144 143 break;
145 144 case selectedBridgeIsStarDundee :
146 145 result = UI->starDundee->Write(Value, count, address);
147 146 break;
148 147 default:
149 148 result = 1;
150 149 break;
151 150 }
152 151 return result;
153 152 }
154 153
155 154 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
156 155 {
157 156 unsigned int result;
158 157 switch(currentBridge)
159 158 {
160 159 case selectedBridgeIsGRESB :
161 160 result = UI->gresbBridge->Read(Value, count, address);
162 161 break;
163 162 case selectedBridgeIsStarDundee :
164 163 result = UI->starDundee->Read(Value, count, address);
165 164 break;
166 165 default:
167 166 result = 1;
168 167 break;
169 168 }
170 169 return result;
171 170 }
172 171
173 172 ////////
174 173 // SLOTS
175 174
176 175 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
177 176 {
178 177 unsigned int result;
179 178 switch(currentBridge)
180 179 {
181 180 case selectedBridgeIsGRESB :
182 181 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
183 182 break;
184 183 case selectedBridgeIsStarDundee :
185 184 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
186 185 break;
187 186 default:
188 187 result = 1;
189 188 break;
190 189 }
191 190 return result;
192 191 }
193 192
194 void rmapplugin::sendCCSDS() // SLOT
195 {
196 unsigned int nbBYTES_application_data = 8;
197 unsigned int count;
198 char *tab;
199 unsigned char packetErrorControl1 = 0xaa;
200 unsigned char packetErrorControl0 = 0xbb;
201
202 ccsds_command = new ccsds(1, 0, 0, nbBYTES_application_data+12, 0, 0, 0, 0, 0); // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
203 /* unsigned char data_field_header,
204 unsigned char processID,
205 unsigned int sequence_count,
206 unsigned int packet_length,
207 unsigned char acceptance,
208 unsigned int completion,
209 unsigned char service_type,
210 unsigned char service_subtype,
211 unsigned char sourceID*/
212
213 count = nbBYTES_application_data+12; // 12 is the size in bytes of the header
214 tab = (char*) malloc(count);
215 tab[0] = ccsds_command->ccsds_header->packetId1;
216 tab[1] = ccsds_command->ccsds_header->packetId0;
217 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
218 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
219 tab[4] = ccsds_command->ccsds_header->packetLength1;
220 tab[5] = ccsds_command->ccsds_header->packetLength0;
221 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
222 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
223 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
224 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
225 tab[10]=0x00;
226 tab[11]=0x00;
227 tab[12]=0x00;
228 tab[13]=0x00;
229 tab[14]=0x00;
230 tab[15]=0x00;
231 tab[nbBYTES_application_data+10] = packetErrorControl1;
232 tab[nbBYTES_application_data+11] = packetErrorControl0;
233
234 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
235
236 free(tab);
237 }
238
239 193 void rmapplugin::openBridge()
240 194 {
241 195 switch(currentBridge)
242 196 {
243 197 case selectedBridgeIsGRESB :
244 198 this->UI->gresbBridge->Open();
245 199 break;
246 200 case selectedBridgeIsStarDundee :
247 201 this->UI->starDundee->Open();
248 202 break;
249 203 default:
250 204 break;
251 205 }
252 206 }
253 207
254 208 void rmapplugin::closeBridge()
255 209 {
256 210 switch(currentBridge)
257 211 {
258 212 case selectedBridgeIsGRESB :
259 213 this->UI->gresbBridge->Close();
260 214 break;
261 215 case selectedBridgeIsStarDundee :
262 216 this->UI->starDundee->Close();
263 217 break;
264 218 default:
265 219 break;
266 220 }
267 221 }
268 222
269 void rmapplugin::send_TC_LFR_UPDATE_TIME()
270 {
271 unsigned int nbBYTES_application_data = 6; // Time at CUC format is on 48 bits / 6 bytes
272 unsigned int count;
273 char *tab;
274 unsigned char packetErrorControl1 = 0xaa;
275 unsigned char packetErrorControl0 = 0xbb;
276
277 ccsds_command = new ccsds(1, 11, 0, nbBYTES_application_data, 1, 1, 9, 129, 0);
278 /* unsigned char data_field_header,
279 unsigned char processID,
280 unsigned int sequence_count,
281 unsigned int packet_length,
282 unsigned char acceptance,
283 unsigned int completion,
284 unsigned char service_type,
285 unsigned char service_subtype,
286 unsigned char sourceID*/
287
288 count = nbBYTES_application_data+12; // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
289 tab = (char*) malloc(count);
290 tab[0] = ccsds_command->ccsds_header->packetId1;
291 tab[1] = ccsds_command->ccsds_header->packetId0;
292 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
293 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
294 tab[4] = ccsds_command->ccsds_header->packetLength1;
295 tab[5] = ccsds_command->ccsds_header->packetLength0;
296 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
297 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
298 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
299 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
300 tab[10] = (unsigned char) (time_COARSE>>24);
301 tab[11] = (unsigned char) (time_COARSE>>18);
302 tab[12] = (unsigned char) (time_COARSE>>8);
303 tab[13] = (unsigned char) (time_COARSE);
304 tab[14] = (unsigned char) (time_FINE>>8);
305 tab[15] = (unsigned char) (time_FINE);
306 tab[nbBYTES_application_data+10] = packetErrorControl1;
307 tab[nbBYTES_application_data+11] = packetErrorControl0;
308
309 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
310
311 time_COARSE = time_COARSE+1;
312
313 free(tab);
314 }
315
316 void rmapplugin::reset_TC_LFR_UPDATE_TIME()
317 {
318 time_COARSE = 0;
319 time_FINE = 0;
320 }
321
322 223 void rmapplugin::RMAP_write_reply_setText(QString text)
323 224 {
324 225 this->UI->RMAP_write_reply->setText(text);
325 226 }
326 227
327 228 void rmapplugin::appendToLog(QString text)
328 229 {
329 230 APPENDTOLOG(text);
330 231 }
331 232
332 233 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
333 234 {
334 235 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
335 236 }
336 237
337 238 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
338 239 {
339 240 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
340 241 }
341 242
342 243 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
343 244 {
344 245 preProcessPacket(packet);
345 246 this->generalCCSDSPacketStore.append(packet);
346 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.count()));
247 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
347 248 processPacketStore();
348 249 }
349 250
350 251 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
351 252 {
253 unsigned char pid = 0;
254 unsigned char cat = 0;
352 255 unsigned char typ = 0;
353 256 unsigned char sub = 0;
354 unsigned char sid = 0;
355 unsigned char pkt_nr = 0;
356 unsigned int blk_nr = 0;
357 unsigned int i = 0;
358 unsigned int j = 0;
359 unsigned char *data;
257 unsigned int sid = 0;
258 unsigned int length = 0;
259 unsigned int coarse_t = 0;
260 unsigned int fine_t = 0;
360 261
361 typ = packet->Value[11]; // TYPE
362 sub = packet->Value[12]; // SUBTYPE
262 //*********************************
263 // get the parameters of the packet
264 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
265 cat = packet->Value[5] & 0x0f;
266 typ = packet->Value[11]; // TYPE
267 sub = packet->Value[12]; // SUBTYPE
268 sid = 0;
269 length = packet->Value[8] * 256 + packet->Value[9];
270 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
271 + packet->Value[16] * pow(2, 8) + packet->Value[17];
272 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
273
274 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
275 sid = packet->Value[20] * 256 + packet->Value[21];
276 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
277 sid = packet->Value[20];
278 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
279 sid = 1;
280
281 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
282
283
284 //****************************************
285 // if the packet is a waveform, display it
363 286 if ( (typ == 21) & (sub == 3) )
364 287 {
365 288 sid = packet->Value[20]; // SID
366 pkt_nr = packet->Value[23]; // PKT_NR
367 blk_nr = packet->Value[24] * 256 + packet->Value[25];
368 289 switch (sid){
369 290 case SID_NORMAL_SWF_F0:
370 emit displayOnConsole("wf packet received, sid: " + QString::number(sid)
371 + ", pkt_nr: " + QString::number(pkt_nr)
372 + ", blk_nr: " + QString::number(blk_nr)
373 );
374 data = &packet->Value[26]; // start of the first data block;
375 j = (pkt_nr-1) * 340;
376 for ( i=0; i<blk_nr; i++ ){
377 normal_swf_f0_v[j + i] = (short) ( (data[i * BLK_SIZE ] << 8) + (data[i*BLK_SIZE + 1]) );
378 normal_swf_f0_e1[j + i] = (short) ( (data[i * BLK_SIZE + 2] << 8) + (data[i*BLK_SIZE + 3]) );
379 normal_swf_f0_e2[j + i] = (short) ( (data[i * BLK_SIZE + 4] << 8) + (data[i*BLK_SIZE + 5]) );
380 normal_swf_f0_b1[j + i] = (short) ( (data[i * BLK_SIZE + 6] << 8) + (data[i*BLK_SIZE + 7]) );
381 normal_swf_f0_b2[j + i] = (short) ( (data[i * BLK_SIZE + 8] << 8) + (data[i*BLK_SIZE + 9]) );
382 normal_swf_f0_b3[j + i] = (short) ( (data[i * BLK_SIZE + 10] << 8) + (data[i*BLK_SIZE + 11]) );
383 }
384 if (pkt_nr == 7)
385 {
386 emit displayOnConsole("all packets received, display waveform");
387 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_v, 0);
388 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_e1, 1);
389 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_e2, 2);
390 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_b1, 3);
391 }
291 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
392 292 break;
393 293 case SID_NORMAL_SWF_F1:
294 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
394 295 break;
395 296 case SID_NORMAL_SWF_F2:
297 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
396 298 break;
397 299 case SID_NORMAL_CWF_F3:
300 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
398 301 break;
399 302 }
400 303 }
401 304 }
402 305
306 void rmapplugin::nbPacketHasChanged(int nb)
307 {
308 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
309 }
310
311 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
312 {
313 unsigned int i = 0;
314 unsigned int j = 0;
315 unsigned char *data;
316 unsigned char pkt_nr = 0;
317 unsigned int blk_nr = 0;
318
319 pkt_nr = packet->Value[23]; // PKT_NR
320 blk_nr = packet->Value[24] * 256 + packet->Value[25];
321 data = &packet->Value[26]; // start of the first data block;
322 j = (pkt_nr-1) * 340;
323 for ( i=0; i<blk_nr; i++ ){
324 wfPacket->wf_v[j + i] = (short) ( (data[i * BLK_SIZE ] << 8) + (data[i*BLK_SIZE + 1]) );
325 wfPacket->wf_e1[j + i] = (short) ( (data[i * BLK_SIZE + 2] << 8) + (data[i*BLK_SIZE + 3]) );
326 wfPacket->wf_e2[j + i] = (short) ( (data[i * BLK_SIZE + 4] << 8) + (data[i*BLK_SIZE + 5]) );
327 wfPacket->wf_b1[j + i] = (short) ( (data[i * BLK_SIZE + 6] << 8) + (data[i*BLK_SIZE + 7]) );
328 wfPacket->wf_b2[j + i] = (short) ( (data[i * BLK_SIZE + 8] << 8) + (data[i*BLK_SIZE + 9]) );
329 wfPacket->wf_b3[j + i] = (short) ( (data[i * BLK_SIZE + 10] << 8) + (data[i*BLK_SIZE + 11]) );
330 }
331 if (pkt_nr == 7)
332 {
333 emit displayOnConsole("all packets received, display waveform f" + QString::number(num_page));
334 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
335 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
336 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
337 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
338 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
339 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
340 }
341 }
342
403 343 /////////////////////
404 344 // INTERNAL FUNCTIONS
405 345
406 346 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
407 347 {
408 348 QString message;
409 349 unsigned int fine_time_value = 0;
410 350 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
411 351 + ((unsigned int) ccsdsPacket[6]<<16)
412 352 + ((unsigned int) ccsdsPacket[5]<<8)
413 353 + ((unsigned int) ccsdsPacket[4]);
414 354 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
415 355 message.append("size "
416 356 + QString::number(size)
417 357 +" *** header "
418 358 + QString::number(ccsdsPacket[0], 16)
419 359 + " "
420 360 + QString::number(ccsdsPacket[1], 16)
421 361 + " "
422 362 + QString::number(ccsdsPacket[2], 16)
423 363 + " "
424 364 + QString::number(ccsdsPacket[3], 16)
425 365 + " *** coarse time "
426 366 + QString::number(fine_time_value));
427 367 //+ QString::number(ccsdsPacket[4], 16)
428 368 //+" "
429 369 //+ QString::number(ccsdsPacket[5], 16)
430 370 //+" "
431 371 //+ QString::number(ccsdsPacket[6], 16)
432 372 //+" "
433 373 //+ QString::number(ccsdsPacket[7], 16));
434 374 displayOnConsole(message);
435 375 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
436 376 emit ccsdsPacketIsProcessed();
437 377 }
438 378
439 379 void rmapplugin::processPacketStore()
440 380 {
441 381 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
442 382 }
443 383
444 384 int rmapplugin::fetchPacket()
445 385 {
446 386 int ret = 0;
447 387
448 388 switch(currentBridge)
449 389 {
450 390 case selectedBridgeIsGRESB :
451 391 break;
452 392 case selectedBridgeIsStarDundee :
453 393 ret = this->UI->starDundee->receiveSPWPacketLoop();
454 394 break;
455 395 default:
456 396 break;
457 397 }
458 398
459 399 return ret;
460 400 }
@@ -1,104 +1,103
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 2011, Laboratory of Plasmas Physic - 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 : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #ifndef DRIVER1_H
23 23 #define DRIVER1_H
24 24 #include <rmappluginui.h>
25 25 #include <rmapoperations.h>
26 26 #include <QMenuBar>
27 27 #include <QMenu>
28 28 #include <QAction>
29 29 #include <QMainWindow>
30 30 #include <QTcpSocket>
31 31 #include <QTime>
32 32 #include <ccsds.h>
33 33 #include <QSemaphore>
34 #include <wfpacket.h>
34 35
35 36 #include <lppmonplugin.h>
36 37
37 38 #include "tmpackettoread.h"
38 39
39 40 #define APPENDTOLOG(message) this->UI->appendToLogFile(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": " + message)
40 41
41 42 #define READ_WRITE_MAX_COUNTS 4096 // in words
42 43 #define RMAP_MAX_DATA_LENGTH 4*READ_WRITE_MAX_COUNTS // in bytes, shall be lower than the limit size of SPW packet of the GRESB bridge
43 44 #define RMAP_READ_REPLY_HEADER_LENGTH 12 // in bytes => ECSS
44 45 #define RMAP_READ_COMMAND_HEADER_LENGTH 16 // in bytes => ECSS
45 46 #define RMAP_DATA_CRC_LENGTH 1 // in bytes => ECSS
46 47 #define CCSDS_MAX_PACKET_LENGTH 4412 // in bytes, specified in the LFR Software Requirements Specification
47 48
48 49 class rmapplugin : public lppmonplugin
49 50 {
50 51 Q_OBJECT
51 52 public:
52 53 explicit rmapplugin(QWidget *parent = 0);
53 54 ~rmapplugin();
54 55 QList<TMPacketToRead*> generalCCSDSPacketStore;
55 56 void preProcessPacket(TMPacketToRead *packet);
56 short normal_swf_f0_v[2048];
57 short normal_swf_f0_e1[2048];
58 short normal_swf_f0_e2[2048];
59 short normal_swf_f0_b1[2048];
60 short normal_swf_f0_b2[2048];
61 short normal_swf_f0_b3[2048];
57 WFPacket wfPacketNormal[4];
58 void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
62 59
63 60 public slots:
64 61 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
65 62 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
66 63 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
67 64 void setValueTargetAddress(unsigned char newAddress);
68 65 void setValueSourceAddress(unsigned char newAddress);
69 66 void openBridge();
70 67 void closeBridge();
71 68 void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
72 69 void processPacketStore();
73 70 void updatePacketStore(selectedBridge bridge);
71 void nbPacketHasChanged(int nb);
74 72 int fetchPacket();
75 73 void receivePacketFromBridge(TMPacketToRead* packet);
76 74 //
77 void sendCCSDS();
78 void send_TC_LFR_UPDATE_TIME();
79 void reset_TC_LFR_UPDATE_TIME();
80 75 void displayOnConsole(QString message) {this->UI->console->append(message);}
81 76 //
82 77 void RMAP_write_reply_setText(QString text);
83 78 void appendToLog(QString text);
84 79 //
85 80 void activatePlugin(bool flag) {emit activateSig(flag);}
86 81 void bridgeHasChanged(selectedBridge bridge) {currentBridge = bridge;}
87 82
88 83 signals:
89 84 void ccsdsPacketIsProcessed();
85 void updateStatistics(unsigned char pid, unsigned char cat,
86 unsigned char typ, unsigned char sub,
87 unsigned int sid, unsigned int length,
88 unsigned int coarse_t, unsigned int fine_t);
90 89
91 90 private:
92 91 selectedBridge currentBridge;
93 92 rmapPluginUI* UI;
94 93 QTcpSocket* GRESBStatusQuery_SOCKET;
95 94 QTcpSocket* RMAPSend_SOCKET;
96 95 QTcpSocket* RMAPReceive_SOCKET;
97 96 ccsds* ccsds_command;
98 97 unsigned int rmapPacketSize;
99 98 unsigned int time_COARSE;
100 99 unsigned int time_FINE;
101 100 char timeCode;
102 101 };
103 102
104 103 #endif // DRIVER1_H
@@ -1,74 +1,81
1 1 #
2 2 # Project created by QtCreator 2011-09-20T08:15:30
3 3 #
4 4 #-------------------------------------------------
5 5
6 6 #include(/etc/lppmon/lppmonplugin.prf)
7 7 CONFIG += lppmonplugin
8 8 TARGET = rmapplugin
9 9
10 10 DEFINES += PLUGIN=rmapplugin
11 11 DEFINES += PLUGINHEADER="\"\\\"rmapplugin.h"\\\"\"
12 12 DEFINES += driver_Name="\"\\\"RMAPPlugin"\\\"\"
13 13 DEFINES += driver_Author="\"\\\"Paul Leroy paul.leroy@lpp.polytechnique.fr"\\\"\"
14 14 DEFINES += driver_Version="\"\\\"1.1.2"\\\"\"
15 15 DEFINES += driver_Description="\"\\\"AHB bus controler, works with Gaisler's AHB plugn' play bus."\\\"\"
16 16 DEFINES += driver_can_be_root=1
17 17 DEFINES += driver_can_be_child=0
18 18 DEFINES += driver_VID=0
19 19 DEFINES += driver_PID=0
20 20
21 21 QT += network
22 22
23 23 LIBS += ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so \
24 24 ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so
25 25
26 26
27 27 INCLUDEPATH += \
28 28 $${PWD} \
29 29 ../common_PLE \
30 30 ../spw_usb_driver_v2.63/inc
31 31
32 32
33 33 HEADERS += \
34 34 rmappluginui.h \
35 35 rmapplugin.h \
36 36 rmapoperations.h \
37 37 ccsds.h \
38 38 ../common_PLE/qipdialogbox.h \
39 39 ../common_PLE/gresbstatusenquiry.h \
40 spectralmatricesdmasimulator.h \
41 40 rmappluginpythonwrapper.h \
42 41 stardundee.h \
43 42 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
44 43 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
45 44 gresb.h \
46 45 tcpackettosend.h \
47 46 tmpackettoread.h \
48 wfdisplay.h
47 wfdisplay.h \
48 tmstatistics.h \
49 wfplot.h \
50 wfpage.h \
51 wfpacket.h \
52 params.h
49 53
50 54
51 55 SOURCES += \
52 56 rmapplugin.cpp \
53 57 rmappluginui.cpp \
54 58 rmapoperations.cpp \
55 59 ccsds.cpp \
56 60 ../common_PLE/qipdialogbox.cpp \
57 61 ../common_PLE/gresbstatusenquiry.cpp \
58 spectralmatricesdmasimulator.cpp \
59 62 rmappluginpythonwrapper.cpp \
60 63 stardundee.cpp \
61 64 gresb.cpp \
62 65 tcpackettosend.cpp \
63 66 tmpackettoread.cpp \
64 wfdisplay.cpp
67 wfdisplay.cpp \
68 tmstatistics.cpp \
69 wfplot.cpp \
70 wfpage.cpp \
71 wfpacket.cpp
65 72
66 73
67 74
68 75
69 76
70 77
71 78
72 79
73 80
74 81
@@ -1,146 +1,146
1 1 #include "rmappluginpythonwrapper.h"
2 2 #include <math.h>
3 3 #include <QApplication>
4 4
5 5 rmappluginPythonWrapper::rmappluginPythonWrapper(QObject *parent) :
6 6 genericPySysdriver(parent)
7 7 {
8 8 timer = new QTimer;
9 9 timer->setSingleShot(true);
10 10 connect(timer, SIGNAL(timeout()), this, SLOT(sendTC()));
11 11 connect(this, SIGNAL(activateTCLoopSig()), this, SLOT(sendTCLoop()));
12 12 }
13 13
14 14 QList<QVariant> rmappluginPythonWrapper::ReadSPW(unsigned int size) // size is not used
15 15 {
16 16 QList<QVariant> result;
17 17 TMPacketToRead *ccsdsPacket;
18 18
19 19 if (!ccsdsPacketStore->isEmpty())
20 20 {
21 21 ccsdsPacket = ccsdsPacketStore->takeFirst();
22 22 for(unsigned int i = 0;i<ccsdsPacket->size;i++)
23 23 {
24 24 result.append((QVariant)ccsdsPacket->Value[i]);
25 25 }
26 26 delete(ccsdsPacket);
27 27 }
28
28 emit nbPacketHasChanged(ccsdsPacketStore->size());
29 29 return result;
30 30 }
31 31
32 32 void rmappluginPythonWrapper::WriteSPW(QList<int> dataList)
33 33 {
34 34 char targetLogicalAddress;
35 35 char userApplication;
36 36 unsigned int count;
37 37 char *Value;
38 38
39 39 unsigned char data[dataList.count()];
40 40
41 41 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
42 42 {
43 43 data[i] = (unsigned char)dataList.at(i);
44 44 }
45 45 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
46 46 targetLogicalAddress = data[0];
47 47 userApplication = data[3];
48 48
49 49 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
50 50 Value = (char*) &data[4];
51 51
52 52 emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);
53 53 }
54 54
55 55 void rmappluginPythonWrapper::WriteSPWDelay(QList<int> dataList, unsigned int delay)
56 56 {
57 57 char targetLogicalAddress;
58 58 char userApplication;
59 59 unsigned int count;
60 60 char *Value;
61 61 TCPacketToSend *packet;
62 62
63 63 unsigned char data[dataList.count()];
64 64
65 65 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
66 66 {
67 67 data[i] = (unsigned char)dataList.at(i);
68 68 }
69 69 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
70 70 targetLogicalAddress = data[0];
71 71 userApplication = data[3];
72 72
73 73 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
74 74 Value = (char*) &data[4];
75 75
76 76 packet = new TCPacketToSend(Value, count, targetLogicalAddress, userApplication, delay);
77 77 TCPacketStore.append(packet);
78 78
79 79 emit(activateTCLoopSig());
80 80
81 81 }
82 82
83 83 void rmappluginPythonWrapper::processPacketStoreLater(unsigned int delay)
84 84 {
85 85 emit sendMessage(
86 86 "*** process packet store in " + QString::number(delay) + " ms"
87 87 );
88 88 QTimer::singleShot(delay, this, SLOT(sendProcessPacketStoreNowSig()));
89 89 }
90 90
91 91 void rmappluginPythonWrapper::sendTCLoop()
92 92 {
93 93 unsigned int delay;
94 94
95 95 if (!timer->isActive())
96 96 {
97 97 if (!TCPacketStore.isEmpty())
98 98 {
99 99 delay = TCPacketStore.at(0)->delay;
100 100 timer->setInterval(delay);
101 101 timer->start();
102 102 }
103 103 }
104 104 }
105 105
106 106 void rmappluginPythonWrapper::sendTC()
107 107 {
108 108 TCPacketToSend *packet;
109 109 unsigned int delay;
110 110
111 111 packet = TCPacketStore.takeFirst();
112 112 // the signal is connected with the option Qt::DirectConnection, thus it is processed immediately
113 113 emit(WriteSPWSig(packet->Value, packet->count,packet->targetLogicalAddress, packet->userApplication));
114 114 delete(packet);
115 115 if (!TCPacketStore.isEmpty())
116 116 {
117 117 delay = TCPacketStore.at(0)->delay;
118 118 timer->setInterval(delay);
119 119 timer->start();
120 120 }
121 121 }
122 122
123 123 void rmappluginPythonWrapper::processPacketStore()
124 124 {
125 125 emit ccsdsPacketIsAvailable(ccsdsPacketStore->at(0)->size);
126 126 }
127 127
128 128 void rmappluginPythonWrapper::setTargetAddressValue(unsigned int address)
129 129 {
130 130 unsigned char newAddress;
131 131 newAddress = (unsigned char) address;
132 132 emit updateTargetAddress(newAddress);
133 133 }
134 134
135 135 void rmappluginPythonWrapper::setSourceAddressValue(unsigned int address)
136 136 {
137 137 unsigned char newAddress;
138 138 newAddress = (unsigned char) address;
139 139 emit updateSourceAddress(newAddress);
140 140 }
141 141
142 142 void rmappluginPythonWrapper::ProcessPendingEvents()
143 143 {
144 144 QCoreApplication::processEvents();
145 145 }
146 146
@@ -1,57 +1,58
1 1 #ifndef RMAPPLUGINPYTHONWRAPPER_H
2 2 #define RMAPPLUGINPYTHONWRAPPER_H
3 3
4 4 #include <QObject>
5 5 #include <genericPySysdriver.h>
6 6 #include <QList>
7 7 #include <QVariant>
8 8 #include "rmapoperations.h"
9 9 #include "ccsds.h"
10 10 #include <tcpackettosend.h>
11 11 #include <tmpackettoread.h>
12 12 #include <QTimer>
13 13
14 14 class rmappluginPythonWrapper : public genericPySysdriver
15 15 {
16 16 Q_OBJECT
17 17 public:
18 18 explicit rmappluginPythonWrapper(QObject *parent = 0);
19 19
20 20 QList<TMPacketToRead*> *ccsdsPacketStore;
21 21 void processPacketStore();
22 22 unsigned int storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
23 23
24 24 QList<TCPacketToSend*> TCPacketStore;
25 25 QTimer *timer;
26 26
27 27 signals:
28 28 void ccsdsPacketIsAvailable(unsigned int size);
29 29 void wakeUpCallingThread();
30 30 unsigned int WriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
31 31 void updateTargetAddress(unsigned char newAddress);
32 32 void updateSourceAddress(unsigned char newAddress);
33 33 void activateTCLoopSig();
34 34 void processPacketStoreNowSig();
35 35 void sendMessage(QString message);
36 36 int fetchPacketSig();
37 void nbPacketHasChanged(int nb);
37 38
38 39 public slots:
39 40 QList<QVariant> ReadSPW(unsigned int size=0);
40 41 int fetchPacket() {return emit fetchPacketSig();}
41 42 void WriteSPW(QList<int> dataList);
42 43 void WriteSPWDelay(QList<int> dataList, unsigned int delay=0);
43 44 void processPacketStoreLater(unsigned int delay);
44 45 void sendProcessPacketStoreNowSig(){emit processPacketStoreNowSig();}
45 46 void sendTCLoop();
46 47 void sendTC();
47 48 void reEmitWriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
48 49 {emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);}
49 50
50 51 void setTargetAddressValue(unsigned int address);
51 52 void setSourceAddressValue(unsigned int address);
52 53 void ProcessPendingEvents();
53 54 void BlockAllSignals();
54 55
55 56 };
56 57
57 58 #endif // RMAPPLUGINPYTHONWRAPPER_H
@@ -1,309 +1,290
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 2011, Laboratory of Plasmas Physic - 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 : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #include "rmapplugin.h"
23 23
24 24 rmapPluginUI::rmapPluginUI(QWidget *parent) :
25 25 QWidget(parent)
26 26 {
27 spectralMatricesDMASimulator = new SpectralMatricesDMASimulator;
28 27 spwTabWidget = new QTabWidget;
28 //
29 29 QWidget* spwTabWidgetPage0 = new QWidget;
30 QWidget* spwTabWidgetPage1 = new QWidget;
31 30 QWidget* spwTabWidgetPage2 = new QWidget;
32 31 QWidget* spwTabWidgetPage3 = new QWidget;
33 32 QWidget* spwTabWidgetPage4 = new QWidget;
34 33 QWidget* spwTabWidgetPage5 = new QWidget;
34 //
35 35 bridgeWidget = new QWidget;
36 36 mainLayout = new QVBoxLayout;
37 37 ccsdsLayout = new QVBoxLayout;
38 38 consoleLayout = new QVBoxLayout;
39 39 selectionLayout = new QVBoxLayout;
40 40 connectionLayout = new QGridLayout;
41 41 bridgeSelection_LAYOUT = new QGridLayout;
42 42 generalParameters_LAYOUT = new QGridLayout;
43 43
44 44 gresb_GROUPBOX = new QGroupBox(tr("GRESB bridge parameters"));
45 45 stardundee_GROUPBOX = new QGroupBox(tr("Star Dundee brick parameters"));
46 46 selection_GROUPBOX = new QGroupBox(tr("Bridge selection"));
47 47 generalParameters_GROUPBOX = new QGroupBox(tr("General parameters"));
48 48
49 49 //*** QLABEL ***//
50 50 gresbBridgeIPLabel = new QLabel(tr("Bridge IP: "));
51 51 gresbVirtualLinkLabel = new QLabel(tr("Virtual Link: "));
52 52 spwLinkLabel = new QLabel(tr("SPW Link: "));
53 53 rmapSourceLogicalAddressLabel = new QLabel(tr("RMAP Source Logical Address: "));
54 54 rmapTargetLogicalAddressLabel = new QLabel(tr("RMAP Target Logical Address: "));
55 55 logFileName = new QLabel;
56 56 gresbStatusQueryLabel = new QLabel(tr("Status query socket (port 3010): waiting for connection"));
57 57 gresbStatusQueryDialogLabel = new QLabel(tr("sockets opened but SpaceWire link not running"));
58 sendCCSDSCommandLabel = new QLabel(tr("Address of the target"));
59 58 nbPacketInStore = new QLabel(tr("nb packets in store: -"));
60 59
61 60 //*** QPUSHBUTTON ***//
62 61 rmapOpenCommunicationButton = new QPushButton(tr("Open selected bridge"));
63 62 rmapCloseCommunicationButton = new QPushButton(tr("Close selected bridge"));
64 63 rmapOpenCommunicationButton->setEnabled(false);
65 64 rmapCloseCommunicationButton->setEnabled(false);
66 65 logFileChooseButton = new QPushButton(tr("Choose file"));
67 66 gresbStatusQueryRetryButton = new QPushButton(tr("Retry"));
68 67 gresbStatusQueryAbortButton = new QPushButton(tr("Abort"));
69 sendCCSDSCommandButton = new QPushButton(tr("Send CCSDS Command"));
70 send_TC_LFR_UPDATE_TIME_Button = new QPushButton(tr("Send TC_LFR_UPDATE_TIME Packet"));
71 reset_TC_LFR_UPDATE_TIME_Button = new QPushButton(tr("reset the TC_LFR_UPDATE_TIME Packet coarse and fine times"));
72 68 clearConsoleButton = new QPushButton(tr("Clear"));
73 69
74 70 selectGRESB_BUTTON = new QRadioButton(tr("GRESB"));
75 71 selectStarDundee_BUTTON = new QRadioButton(tr("Star Dundee"));
76 72
77 73 //*** SPINBOX ***//
78 74 gresbVirtualLinkSpinBox = new QSpinBox;
79 75 rmapSourceLogicalAddressSpinBox = new QSpinBox;
80 76 rmapTargetLogicalAddressSpinBox = new QSpinBox;
81 77 spwLinkSpinBox = new QSpinBox;;
82 78 CCSDSTargetLogicalAddressSpinBox = new QSpinBox;
83 79 gresbVirtualLinkSpinBox->setRange(0, 4);
84 80 gresbVirtualLinkSpinBox->setValue(1);
85 81 rmapSourceLogicalAddressSpinBox->setRange(0, 255);
86 rmapSourceLogicalAddressSpinBox->setValue(0);
82 rmapSourceLogicalAddressSpinBox->setValue(RMAP_DEFAULT_SOURCE_ADDRESS);
87 83 rmapTargetLogicalAddressSpinBox->setRange(0, 255);
88 84 spwLinkSpinBox->setRange(0, 2);
89 85 spwLinkSpinBox->setValue(0);
90 CCSDSTargetLogicalAddressSpinBox->setRange(0,255);
91 CCSDSTargetLogicalAddressSpinBox->setValue(0);
92 86
93 87 //*** MISC **//
94 88 starDundee = new StarDundee;
95 89 gresbBridge = new gresb;
96 90 console = new QTextEdit;
97 //gresbBridgeIPDialogBox = new QIPDialogBox;
98 91 gresbStatusQueryDialog = new QDialog;
99 92 logEnableCheckBox = new QCheckBox(tr("Enable Logs"));
100 93 RMAP_write_verify = new QCheckBox(tr("data checked before write\nlimited to 4 bytes\nNOT IMPLEMENTED"));
101 94 RMAP_write_reply = new QCheckBox(tr("reply to the write command required\nlast reply status: unavailable"));
102 spwLinkStatusEnquiry = new gresbStatusEnquiry;
103 95 logFile = new QFile();
104 96 wfDisplay = new WFDisplay();
97 tmStatistics = new TMStatistics();
105 98
106 99 logFileEn = false;
107 100
108 101 connectionLayout->setRowStretch(7, 1);
109 102 connectionLayout->setColumnStretch(2, 1);
110 103
111 104 bridgeSelection_LAYOUT->addWidget(selectGRESB_BUTTON, 0, 0, 1, 1);
112 105 bridgeSelection_LAYOUT->addWidget(selectStarDundee_BUTTON, 0, 1, 1, 1);
113 bridgeSelection_LAYOUT->setRowStretch(1, 1);
114 bridgeSelection_LAYOUT->setColumnStretch(2, 1);
115 106
116 107 generalParameters_LAYOUT->addWidget(logEnableCheckBox, 0, 0, 1, 1);
117 108 generalParameters_LAYOUT->addWidget(logFileChooseButton, 0, 1, 1, 1);
118 109 generalParameters_LAYOUT->addWidget(rmapSourceLogicalAddressLabel, 1, 0, 0);
119 110 generalParameters_LAYOUT->addWidget(rmapSourceLogicalAddressSpinBox, 1, 1, 0);
120 111 generalParameters_LAYOUT->addWidget(rmapTargetLogicalAddressLabel, 2, 0, 0);
121 112 generalParameters_LAYOUT->addWidget(rmapTargetLogicalAddressSpinBox, 2, 1, 0);
122 113 generalParameters_LAYOUT->addWidget(rmapOpenCommunicationButton, 3, 0, 1, 1);
123 114 generalParameters_LAYOUT->addWidget(rmapCloseCommunicationButton, 3, 1, 1, 1);
124 115 generalParameters_LAYOUT->addWidget(RMAP_write_verify, 4, 0, 1, 2);
125 116 generalParameters_LAYOUT->addWidget(RMAP_write_reply, 5, 0, 1, 2);
126 117
127 118 generalParameters_LAYOUT->setRowStretch(6, 1);
128 119 generalParameters_LAYOUT->setColumnStretch(2, 1);
129 120
130 121 gresb_GROUPBOX->setLayout(gresbBridge->layout());
131 122 gresb_GROUPBOX->setVisible(false);
132 123 stardundee_GROUPBOX->setLayout(starDundee->layout());
133 124 stardundee_GROUPBOX->setVisible(false);
134 125 selection_GROUPBOX->setLayout(bridgeSelection_LAYOUT);
135 126 generalParameters_GROUPBOX->setLayout(generalParameters_LAYOUT);
136 127 selectionLayout->addWidget(selection_GROUPBOX);
137 128 selectionLayout->addWidget(generalParameters_GROUPBOX);
138 129 selectionLayout->addWidget(gresb_GROUPBOX);
139 130 selectionLayout->addWidget(stardundee_GROUPBOX);
140 131
141 //******
142 // CCSDS
143 ccsdsLayout->addWidget(sendCCSDSCommandButton);
144 ccsdsLayout->addWidget(send_TC_LFR_UPDATE_TIME_Button);
145 ccsdsLayout->addWidget(reset_TC_LFR_UPDATE_TIME_Button);
146 ccsdsLayout->addWidget(sendCCSDSCommandLabel);
147 ccsdsLayout->addWidget(CCSDSTargetLogicalAddressSpinBox);
148
149 132 //********
150 133 // CONSOLE
151 134 consoleLayout->addWidget(console);
152 135 consoleLayout->addWidget(clearConsoleButton);
153 136 consoleLayout->addWidget(nbPacketInStore);
154 137
155 138 connect(this->logFileChooseButton, SIGNAL(clicked()), this, SLOT(chooseLogFile()));
156 139 connect(this, SIGNAL(setLogFileName(QString)), this->logFileName, SLOT(setText(QString)));
157 140 connect(this->logEnableCheckBox, SIGNAL(stateChanged(int)), this, SLOT(logFileEnDisable(int)));
158 141
159 142 spwTabWidget->addTab(spwTabWidgetPage0, tr("connection"));
160 spwTabWidget->addTab(spwTabWidgetPage1, tr("ccsds"));
161 143 spwTabWidget->addTab(spwTabWidgetPage2, tr("status"));
162 144 spwTabWidget->addTab(spwTabWidgetPage3, tr("console"));
163 spwTabWidget->addTab(spwTabWidgetPage4, tr("DMA"));
145 spwTabWidget->addTab(spwTabWidgetPage4, tr("TM statistics"));
164 146 spwTabWidget->addTab(spwTabWidgetPage5, tr("waveforms"));
165 147
166 148 spwTabWidgetPage0->setLayout(selectionLayout);
167 spwTabWidgetPage1->setLayout(ccsdsLayout);
168 spwTabWidgetPage2->setLayout(this->spwLinkStatusEnquiry->mainLayout);
149 spwTabWidgetPage2->setLayout(this->gresbBridge->spwLinkStatusEnquiry->mainLayout);
169 150 spwTabWidgetPage3->setLayout(consoleLayout);
170 spwTabWidgetPage4->setLayout(spectralMatricesDMASimulator->mainLayout);
151 spwTabWidgetPage4->setLayout(tmStatistics->layout());
171 152 spwTabWidgetPage5->setLayout(wfDisplay->layout());
172 153
173 154 mainLayout->addWidget(spwTabWidget);
174 155 setLayout(mainLayout);
175 156
176 157 connect(this->clearConsoleButton, SIGNAL(clicked()), this->console, SLOT(clear()));
177 158
178 159 // briges
179 160 connect(this->selectGRESB_BUTTON, SIGNAL(clicked()), this, SLOT(selectionBetweenGresbAndStarDundee()));
180 161 connect(this->selectStarDundee_BUTTON, SIGNAL(clicked()), this, SLOT(selectionBetweenGresbAndStarDundee()));
181 162 connect(this->starDundee, SIGNAL(isOpen(bool)), this, SLOT(isOpen(bool)));
182 163 connect(this->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(isOpen(bool)));
183 164
184 165 connect(this->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->gresbBridge, SLOT(sourceHasChanged(int)));
185 166 connect(this->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->gresbBridge, SLOT(targetHasChanged(int)));
186 167 connect(this->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->starDundee, SLOT(sourceHasChanged(int)));
187 168 connect(this->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->starDundee, SLOT(targetHasChanged(int)));
188 169
189 170 // command code
190 171 connect(this->RMAP_write_reply, SIGNAL(clicked()), this, SLOT(getCommandCode()));
191 172 connect(this->RMAP_write_verify, SIGNAL(clicked()), this, SLOT(getCommandCode()));
192 173 connect(this, SIGNAL(commandCodeHasChanged(RMAP_command_codes)),
193 174 this->starDundee, SLOT(commandCodeHasChanged(RMAP_command_codes)));
194 175 connect(this, SIGNAL(commandCodeHasChanged(RMAP_command_codes)),
195 176 this->gresbBridge, SLOT(commandCodeHasChanged(RMAP_command_codes)));
196 177
197 178 getCommandCode(); // init the command code value
198 179 rmapSourceLogicalAddressSpinBox->setValue(DEFAULT_SOURCE);
199 180 rmapTargetLogicalAddressSpinBox->setValue(DEFAULT_TARGET);
200 181 }
201 182
202 183 rmapPluginUI::~rmapPluginUI()
203 184 {
204 185 //delete ui;
205 186 }
206 187
207 188 void rmapPluginUI::chooseLogFile()
208 189 {
209 190 if(this->logFile->isOpen())
210 191 this->logFile->close();
211 192 this->logFile->setFileName(QFileDialog::getSaveFileName(this,tr("Open Log file"),
212 193 QDir::homePath()
213 194 + "/"
214 195 + QDate::currentDate().toString()
215 196 + "_"
216 197 + QTime::currentTime().toString()
217 198 + "_rmapPluginUI.log",
218 199 tr("Log Files (*.txt *.log)")));
219 200 if(this->logFile->open(QIODevice::WriteOnly))
220 201 {
221 202 this->logFileStrm = new QTextStream(this->logFile);
222 203 emit this->setLogFileName(this->logFile->fileName());
223 204 }
224 205 }
225 206
226 207 void rmapPluginUI::logFileEnDisable(int state)
227 208 {
228 209 if(state==Qt::Checked)
229 210 {
230 211 this->logFileEn = true;
231 212 }
232 213 else if(state==Qt::Unchecked)
233 214 {
234 215 this->logFileEn = false;
235 216 }
236 217 }
237 218
238 219 bool rmapPluginUI::islogfileenable()
239 220 {
240 221 return this->logFileEn;
241 222 }
242 223
243 224 void rmapPluginUI::appendToLogFile(const QString & text)
244 225 {
245 226 if(this->logFileEn && this->logFile->isOpen())
246 227 {
247 228 *(this->logFileStrm) << text << endl;
248 229 }
249 230 }
250 231
251 232 void rmapPluginUI::closeEvent(QCloseEvent *event)
252 233 {
253 234 if(this->logFile->isOpen())
254 235 {
255 236 this->logFileStrm->flush();
256 237 this->logFile->waitForBytesWritten(3000);
257 238 this->logFile->close();
258 239 }
259 240 event->accept();
260 241 }
261 242
262 243 RMAP_command_codes rmapPluginUI::getCommandCode()
263 244 {
264 245 RMAP_command_codes commandCode = invalid0;
265 246 if (RMAP_write_verify->isChecked() and RMAP_write_reply->isChecked()) commandCode = writeSingle_ver_rep;
266 247 if (RMAP_write_verify->isChecked() and !RMAP_write_reply->isChecked()) commandCode = writeSingle_ver_noRep;
267 248 if (!RMAP_write_verify->isChecked() and RMAP_write_reply->isChecked()) commandCode = writeSingle_noVer_Rep;
268 249 if (!RMAP_write_verify->isChecked() and !RMAP_write_reply->isChecked()) commandCode = writeSingle_noVer_noRep;
269 250 emit commandCodeHasChanged(commandCode);
270 251 return commandCode;
271 252 }
272 253
273 254 // SLOT
274 255
275 256 void rmapPluginUI::selectionBetweenGresbAndStarDundee() //SLOT
276 257 {
277 258 if (selectGRESB_BUTTON->isChecked())
278 259 {
279 260 gresb_GROUPBOX->setVisible(true);
280 261 stardundee_GROUPBOX->setVisible(false);
281 262 rmapOpenCommunicationButton->setEnabled(true);
282 263 emit bridgeHasChanged(selectedBridgeIsGRESB);
283 264 }
284 265 if (selectStarDundee_BUTTON->isChecked())
285 266 {
286 267 stardundee_GROUPBOX->setVisible(true);
287 268 gresb_GROUPBOX->setVisible(false);
288 269 rmapOpenCommunicationButton->setEnabled(true);
289 270 emit bridgeHasChanged(selectedBridgeIsStarDundee);
290 271 }
291 272 }
292 273
293 274 void rmapPluginUI::isOpen(bool flag)
294 275 {
295 276 if (flag == true)
296 277 {
297 278 selection_GROUPBOX->setEnabled(false);
298 279 this->rmapOpenCommunicationButton->setEnabled(false);
299 280 this->rmapCloseCommunicationButton->setEnabled(true);
300 281 }
301 282 if (flag == false)
302 283 {
303 284 selection_GROUPBOX->setEnabled(true);
304 285 this->rmapOpenCommunicationButton->setEnabled(true);
305 286 this->rmapCloseCommunicationButton->setEnabled(false);
306 287 }
307 288 }
308 289
309 290
@@ -1,164 +1,160
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 20011, 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 #ifndef RMAPPLUGINUI_H
23 23 #define RMAPPLUGINUI_H
24 24
25 25 #include <QWidget>
26 26 #include <QPushButton>
27 27 #include <QLabel>
28 28 #include <QSlider>
29 29 #include <QSpinBox>
30 30 #include <QGridLayout>
31 31 #include <QCheckBox>
32 32 #include <QFile>
33 33 #include <QTextStream>
34 34 #include <QFileDialog>
35 35 #include <QDir>
36 36 #include <QDialog>
37 37 #include <QCloseEvent>
38 38 #include <QTabWidget>
39 39 #include "qipdialogbox.h"
40 40 #include <rmapoperations.h>
41 41 #include <gresbstatusenquiry.h>
42 42 #include <QTextEdit>
43 #include "spectralmatricesdmasimulator.h"
44 43 #include <stardundee.h>
45 44 #include <gresb.h>
46 45 #include <QRadioButton>
47 46 #include <QGroupBox>
48 47 #include "wfdisplay.h"
48 #include "tmstatistics.h"
49 49
50 50 enum selectedBridge{
51 51 selectedBridgeIsUnknown,
52 52 selectedBridgeIsGRESB,
53 53 selectedBridgeIsStarDundee
54 54 };
55 55
56 56 class rmapPluginUI : public QWidget
57 57 {
58 58 Q_OBJECT
59 59
60 60 public:
61 61 explicit rmapPluginUI(QWidget *parent = 0);
62 62 ~rmapPluginUI();
63 63
64 64 QPushButton* rmapOpenCommunicationButton;
65 65 QPushButton* rmapCloseCommunicationButton;
66 66 QPushButton* logFileChooseButton;
67 67 QPushButton* gresbStatusQueryRetryButton;
68 68 QPushButton* gresbStatusQueryAbortButton;
69 69 QPushButton* sendCCSDSCommandButton;
70 70 QPushButton* send_TC_LFR_UPDATE_TIME_Button;
71 71 QPushButton* reset_TC_LFR_UPDATE_TIME_Button;
72 72 QPushButton* clearConsoleButton;
73 73
74 74 QRadioButton* selectGRESB_BUTTON;
75 75 QRadioButton* selectStarDundee_BUTTON;
76 76
77 77 QGroupBox *selection_GROUPBOX;
78 78
79 79 QSpinBox* gresbVirtualLinkSpinBox;
80 80 QSpinBox* spwLinkSpinBox;
81 81 QSpinBox* rmapSourceLogicalAddressSpinBox;
82 82 QSpinBox* rmapTargetLogicalAddressSpinBox;
83 83 QSpinBox* CCSDSTargetLogicalAddressSpinBox;
84 84
85 //QIPDialogBox* gresbBridgeIPDialogBox;
86
87 85 QCheckBox *logEnableCheckBox;
88 86 QCheckBox *RMAP_write_verify;
89 87 QCheckBox *RMAP_write_reply;
90 88
91 89 QLabel* rmapSendStateLabel;
92 90 QLabel* rmapReceiveStateLabel;
93 91 QLabel* gresbStatusQueryLabel;
94 92 QLabel* gresbStatusQueryDialogLabel;
95 93 QLabel* sendCCSDSCommandLabel;
96 94 QLabel* nbPacketInStore;
97 95
98 96 QDialog* gresbStatusQueryDialog;
99 97
100 gresbStatusEnquiry* spwLinkStatusEnquiry;
101
102 SpectralMatricesDMASimulator *spectralMatricesDMASimulator;
103
104 98 QTextEdit* console;
105 99
106 100 WFDisplay* wfDisplay;
107 101
102 TMStatistics* tmStatistics;
103
108 104 // SPACEWIRE BRIDGES
109 105 StarDundee *starDundee;
110 106 gresb *gresbBridge;
111 107
112 108 bool islogfileenable();
113 109 void appendToLogFile(const QString & text);
114 110 void closeEvent(QCloseEvent *event);
115 111
116 112 public slots:
117 113 void chooseLogFile();
118 114 void logFileEnDisable(int state);
119 115 RMAP_command_codes getCommandCode();
120 116
121 117 private slots:
122 118 void selectionBetweenGresbAndStarDundee();
123 119 void isOpen(bool flag);
124 120
125 121 signals:
126 122 void connectPortsig(QString PortName,int baudrate);
127 123 void setLogFileName(QString FileName);
128 124 void commandCodeHasChanged(RMAP_command_codes commandCode);
129 125 void bridgeHasChanged(selectedBridge bridge);
130 126 void targetHasChanged(unsigned char target);
131 127 void sourceHasChanged(unsigned char source);
132 128
133 129 private:
134 130 QLabel *gresbBridgeIPLabel;
135 131 QLabel *gresbVirtualLinkLabel;
136 132 QLabel *spwLinkLabel;
137 133 QLabel *rmapSourceLogicalAddressLabel;
138 134 QLabel *rmapTargetLogicalAddressLabel;
139 135 QLabel *logFileName;
140 136
141 137 QGridLayout *bridgeSelection_LAYOUT;
142 138 QGridLayout *connectionLayout;
143 139 QGridLayout *gresbStatusQueryDialogLayout;
144 140 QGridLayout *generalParameters_LAYOUT;
145 141 QVBoxLayout *selectionLayout;
146 142 QVBoxLayout *mainLayout;
147 143 QVBoxLayout *ccsdsLayout;
148 144 QVBoxLayout *consoleLayout;
149 145
150 146 QTabWidget *spwTabWidget;
151 147
152 148 QWidget* bridgeWidget;
153 149
154 150 QGroupBox *gresb_GROUPBOX;
155 151 QGroupBox *stardundee_GROUPBOX;
156 152 QGroupBox *generalParameters_GROUPBOX;
157 153
158 154 QFile *logFile;
159 155 QTextStream *logFileStrm;
160 156 bool logFileEn;
161 157
162 158 };
163 159
164 160 #endif // RMAPPLUGINUI_H
General Comments 0
You need to be logged in to leave comments. Login now