##// END OF EJS Templates
Merge
admin@pc-p-leroy3.LAB-LPP.LOCAL -
r36:74a76c9f112c merge default
parent child
Show More
@@ -1,342 +1,342
1 <?xml version="1.0" encoding="UTF-8"?>
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE QtCreatorProject>
2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-04-11T17:17:11. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-07-03T17:10:59. -->
4 <qtcreator>
4 <qtcreator>
5 <data>
5 <data>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 <value type="int">0</value>
7 <value type="int">0</value>
8 </data>
8 </data>
9 <data>
9 <data>
10 <variable>ProjectExplorer.Project.EditorSettings</variable>
10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 <valuemap type="QVariantMap">
11 <valuemap type="QVariantMap">
12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 <value type="QString" key="language">Cpp</value>
15 <value type="QString" key="language">Cpp</value>
16 <valuemap type="QVariantMap" key="value">
16 <valuemap type="QVariantMap" key="value">
17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 </valuemap>
18 </valuemap>
19 </valuemap>
19 </valuemap>
20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 <value type="QString" key="language">QmlJS</value>
21 <value type="QString" key="language">QmlJS</value>
22 <valuemap type="QVariantMap" key="value">
22 <valuemap type="QVariantMap" key="value">
23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 </valuemap>
24 </valuemap>
25 </valuemap>
25 </valuemap>
26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 <value type="int" key="EditorConfiguration.TabSize">8</value>
36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 </valuemap>
43 </valuemap>
44 </data>
44 </data>
45 <data>
45 <data>
46 <variable>ProjectExplorer.Project.PluginSettings</variable>
46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 <valuemap type="QVariantMap"/>
47 <valuemap type="QVariantMap"/>
48 </data>
48 </data>
49 <data>
49 <data>
50 <variable>ProjectExplorer.Project.Target.0</variable>
50 <variable>ProjectExplorer.Project.Target.0</variable>
51 <valuemap type="QVariantMap">
51 <valuemap type="QVariantMap">
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 </valuemap>
69 </valuemap>
70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 </valuemap>
77 </valuemap>
78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 </valuemap>
82 </valuemap>
83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 </valuemap>
91 </valuemap>
92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 </valuemap>
96 </valuemap>
97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 </valuemap>
107 </valuemap>
108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 </valuemap>
119 </valuemap>
120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 </valuemap>
127 </valuemap>
128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 </valuemap>
132 </valuemap>
133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 </valuemap>
141 </valuemap>
142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 </valuemap>
146 </valuemap>
147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 </valuemap>
157 </valuemap>
158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 </valuemap>
165 </valuemap>
166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 </valuemap>
170 </valuemap>
171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 <value type="int">0</value>
202 <value type="int">0</value>
203 <value type="int">1</value>
203 <value type="int">1</value>
204 <value type="int">2</value>
204 <value type="int">2</value>
205 <value type="int">3</value>
205 <value type="int">3</value>
206 <value type="int">4</value>
206 <value type="int">4</value>
207 <value type="int">5</value>
207 <value type="int">5</value>
208 <value type="int">6</value>
208 <value type="int">6</value>
209 <value type="int">7</value>
209 <value type="int">7</value>
210 <value type="int">8</value>
210 <value type="int">8</value>
211 <value type="int">9</value>
211 <value type="int">9</value>
212 <value type="int">10</value>
212 <value type="int">10</value>
213 <value type="int">11</value>
213 <value type="int">11</value>
214 <value type="int">12</value>
214 <value type="int">12</value>
215 <value type="int">13</value>
215 <value type="int">13</value>
216 <value type="int">14</value>
216 <value type="int">14</value>
217 </valuelist>
217 </valuelist>
218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 <value type="int">0</value>
219 <value type="int">0</value>
220 <value type="int">1</value>
220 <value type="int">1</value>
221 <value type="int">2</value>
221 <value type="int">2</value>
222 <value type="int">3</value>
222 <value type="int">3</value>
223 <value type="int">4</value>
223 <value type="int">4</value>
224 <value type="int">5</value>
224 <value type="int">5</value>
225 <value type="int">6</value>
225 <value type="int">6</value>
226 <value type="int">7</value>
226 <value type="int">7</value>
227 <value type="int">8</value>
227 <value type="int">8</value>
228 <value type="int">9</value>
228 <value type="int">9</value>
229 <value type="int">10</value>
229 <value type="int">10</value>
230 <value type="int">11</value>
230 <value type="int">11</value>
231 <value type="int">12</value>
231 <value type="int">12</value>
232 <value type="int">13</value>
232 <value type="int">13</value>
233 <value type="int">14</value>
233 <value type="int">14</value>
234 </valuelist>
234 </valuelist>
235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
248 </valuemap>
248 </valuemap>
249 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
249 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
250 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
250 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
251 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
251 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
252 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
252 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
253 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
253 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
254 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
254 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
255 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
255 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
256 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
256 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
257 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
257 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
258 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
258 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
259 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
259 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
260 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
260 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
261 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
261 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
262 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
262 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
263 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
263 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
264 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
264 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
265 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
265 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
266 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
266 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
267 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
267 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
268 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
268 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
269 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
269 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
270 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
270 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
271 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
271 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
272 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
272 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
273 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
273 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
274 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
274 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
275 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
275 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
276 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
276 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
277 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
277 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
278 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
278 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
279 <value type="int">0</value>
279 <value type="int">0</value>
280 <value type="int">1</value>
280 <value type="int">1</value>
281 <value type="int">2</value>
281 <value type="int">2</value>
282 <value type="int">3</value>
282 <value type="int">3</value>
283 <value type="int">4</value>
283 <value type="int">4</value>
284 <value type="int">5</value>
284 <value type="int">5</value>
285 <value type="int">6</value>
285 <value type="int">6</value>
286 <value type="int">7</value>
286 <value type="int">7</value>
287 <value type="int">8</value>
287 <value type="int">8</value>
288 <value type="int">9</value>
288 <value type="int">9</value>
289 <value type="int">10</value>
289 <value type="int">10</value>
290 <value type="int">11</value>
290 <value type="int">11</value>
291 <value type="int">12</value>
291 <value type="int">12</value>
292 <value type="int">13</value>
292 <value type="int">13</value>
293 <value type="int">14</value>
293 <value type="int">14</value>
294 </valuelist>
294 </valuelist>
295 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
295 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
296 <value type="int">0</value>
296 <value type="int">0</value>
297 <value type="int">1</value>
297 <value type="int">1</value>
298 <value type="int">2</value>
298 <value type="int">2</value>
299 <value type="int">3</value>
299 <value type="int">3</value>
300 <value type="int">4</value>
300 <value type="int">4</value>
301 <value type="int">5</value>
301 <value type="int">5</value>
302 <value type="int">6</value>
302 <value type="int">6</value>
303 <value type="int">7</value>
303 <value type="int">7</value>
304 <value type="int">8</value>
304 <value type="int">8</value>
305 <value type="int">9</value>
305 <value type="int">9</value>
306 <value type="int">10</value>
306 <value type="int">10</value>
307 <value type="int">11</value>
307 <value type="int">11</value>
308 <value type="int">12</value>
308 <value type="int">12</value>
309 <value type="int">13</value>
309 <value type="int">13</value>
310 <value type="int">14</value>
310 <value type="int">14</value>
311 </valuelist>
311 </valuelist>
312 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">spwtimegenerator</value>
312 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">spwtimegenerator</value>
313 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
313 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
314 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
314 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
315 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
315 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
316 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
316 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
317 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">spwtimegenerator/spwtimegenerator/spwtimegenerator.pro</value>
317 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">spwtimegenerator/spwtimegenerator/spwtimegenerator.pro</value>
318 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
318 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
319 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
319 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
320 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
320 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
321 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
321 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
322 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
322 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
323 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
323 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
324 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
324 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
325 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
325 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
326 </valuemap>
326 </valuemap>
327 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
327 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
328 </valuemap>
328 </valuemap>
329 </data>
329 </data>
330 <data>
330 <data>
331 <variable>ProjectExplorer.Project.TargetCount</variable>
331 <variable>ProjectExplorer.Project.TargetCount</variable>
332 <value type="int">1</value>
332 <value type="int">1</value>
333 </data>
333 </data>
334 <data>
334 <data>
335 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
335 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
336 <value type="QString">{cdbf9cdc-1e84-406e-889b-c4feef49e75c}</value>
336 <value type="QString">{cdbf9cdc-1e84-406e-889b-c4feef49e75c}</value>
337 </data>
337 </data>
338 <data>
338 <data>
339 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
339 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
340 <value type="int">10</value>
340 <value type="int">10</value>
341 </data>
341 </data>
342 </qtcreator>
342 </qtcreator>
@@ -1,406 +1,406
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the LPPMON Software
2 -- This file is a part of the LPPMON Software
3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Paul LEROY
19 /*-- Author : Paul LEROY
20 -- Mail : paul.leroy@lpp.polytechnique.fr
20 -- Mail : paul.leroy@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
21 ----------------------------------------------------------------------------*/
22 #include "rmapplugin.h"
22 #include "rmapplugin.h"
23 #include <QHostAddress>
23 #include <QHostAddress>
24 #include <QIODevice>
24 #include <QIODevice>
25 #include <QApplication>
25 #include <QApplication>
26 #include <rmappluginpythonwrapper.h>
26 #include <rmappluginpythonwrapper.h>
27 #include <PythonQt.h>
27 #include <PythonQt.h>
28 #include <QTimer>
28 #include <QTimer>
29
29
30 rmapplugin::rmapplugin(QWidget *parent)
30 rmapplugin::rmapplugin(QWidget *parent)
31 :lppmonplugin(parent,false)
31 :lppmonplugin(parent,false)
32 {
32 {
33 this->UI = new rmapPluginUI();
33 this->UI = new rmapPluginUI();
34 this->setWindowTitle(tr("RMAP and SPW Communication"));
34 this->setWindowTitle(tr("RMAP and SPW Communication"));
35 this->setWidget((QWidget*)this->UI);
35 this->setWidget((QWidget*)this->UI);
36
36
37 timeCode = 0;
37 timeCode = 0;
38 time_COARSE = 0;
38 time_COARSE = 0;
39 time_FINE = 0;
39 time_FINE = 0;
40 currentBridge = selectedBridgeIsUnknown;
40 currentBridge = selectedBridgeIsUnknown;
41
41
42 //**************
42 //**************
43 //Python wrapper
43 //Python wrapper
44 this->pyObject = new rmappluginPythonWrapper();
44 this->pyObject = new rmappluginPythonWrapper();
45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
47 //**
47 //**
48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
50 //**
50 //**
51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
52 this, SLOT( setValueTargetAddress(unsigned char)) );
52 this, SLOT( setValueTargetAddress(unsigned char)) );
53 //**
53 //**
54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
55 this, SLOT( setValueSourceAddress(unsigned char)) );
55 this, SLOT( setValueSourceAddress(unsigned char)) );
56 //**
56 //**
57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
58 this, SLOT(displayOnConsole(QString)) );
58 this, SLOT(displayOnConsole(QString)) );
59 //**
59 //**
60 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
60 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
61 this, SLOT(fetchPacket()), Qt::DirectConnection );
61 this, SLOT(fetchPacket()), Qt::DirectConnection );
62 //***
62 //***
63 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
63 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
64 this, SLOT(nbPacketHasChanged(int)));
64 this, SLOT(nbPacketHasChanged(int)));
65 //**************
65 //**************
66
66
67 //**************
67 //**************
68 // get a smart pointer to the __main__ module of the Python interpreter
68 // get a smart pointer to the __main__ module of the Python interpreter
69 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
69 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
70 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
70 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
71 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
71 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
72 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
72 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
73 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
73 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
74 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
74 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
75 context.addObject("GRESB_Bridge", UI->gresbBridge);
75 context.addObject("GRESB_Bridge", UI->gresbBridge);
76 //**************
76 //**************
77
77
78 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
78 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
79 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
79 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
80 connect(this, SIGNAL(
80 connect(this, SIGNAL(
81 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
81 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
82 ),
82 ),
83 this->UI->tmStatistics, SLOT(
83 this->UI->tmStatistics, SLOT(
84 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
84 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
85 ));
85 ));
86
86
87 //******
87 //******
88 // GRESB
88 // GRESB
89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
93 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
93 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
94 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
94 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
95 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
95 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
96 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
96 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
97 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
97 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
98 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
98 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
99 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
99 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
100
100
101 //************
101 //************
102 // Star Dundee
102 // Star Dundee
103 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
103 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
104 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
104 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
105 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
105 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
106 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
106 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
109 this->UI->starDundee, SLOT(targetHasChanged(int)));
109 this->UI->starDundee, SLOT(targetHasChanged(int)));
110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
112 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
112 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
113 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
113 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
114
114
115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
116
116
117 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
117 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
118 }
118 }
119
119
120 rmapplugin::~rmapplugin()
120 rmapplugin::~rmapplugin()
121 {
121 {
122 switch(currentBridge)
122 switch(currentBridge)
123 {
123 {
124 case selectedBridgeIsGRESB :
124 case selectedBridgeIsGRESB :
125 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
125 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
126 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
126 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
127 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
127 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
128 break;
128 break;
129 case selectedBridgeIsStarDundee :
129 case selectedBridgeIsStarDundee :
130 break;
130 break;
131 default:
131 default:
132 break;
132 break;
133 }
133 }
134 }
134 }
135
135
136 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
136 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
137 {
137 {
138 unsigned int result;
138 unsigned int result;
139 switch(currentBridge)
139 switch(currentBridge)
140 {
140 {
141 case selectedBridgeIsGRESB :
141 case selectedBridgeIsGRESB :
142 result = UI->gresbBridge->Write(Value, count, address);
142 result = UI->gresbBridge->Write(Value, count, address);
143 break;
143 break;
144 case selectedBridgeIsStarDundee :
144 case selectedBridgeIsStarDundee :
145 result = UI->starDundee->Write(Value, count, address);
145 result = UI->starDundee->Write(Value, count, address);
146 break;
146 break;
147 default:
147 default:
148 result = 1;
148 result = 1;
149 break;
149 break;
150 }
150 }
151 return result;
151 return result;
152 }
152 }
153
153
154 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
154 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
155 {
155 {
156 unsigned int result;
156 unsigned int result;
157 switch(currentBridge)
157 switch(currentBridge)
158 {
158 {
159 case selectedBridgeIsGRESB :
159 case selectedBridgeIsGRESB :
160 result = UI->gresbBridge->Read(Value, count, address);
160 result = UI->gresbBridge->Read(Value, count, address);
161 break;
161 break;
162 case selectedBridgeIsStarDundee :
162 case selectedBridgeIsStarDundee :
163 result = UI->starDundee->Read(Value, count, address);
163 result = UI->starDundee->Read(Value, count, address);
164 break;
164 break;
165 default:
165 default:
166 result = 1;
166 result = 1;
167 break;
167 break;
168 }
168 }
169 return result;
169 return result;
170 }
170 }
171
171
172 ////////
172 ////////
173 // SLOTS
173 // SLOTS
174
174
175 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
175 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
176 {
176 {
177 unsigned int result;
177 unsigned int result;
178 switch(currentBridge)
178 switch(currentBridge)
179 {
179 {
180 case selectedBridgeIsGRESB :
180 case selectedBridgeIsGRESB :
181 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
181 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
182 break;
182 break;
183 case selectedBridgeIsStarDundee :
183 case selectedBridgeIsStarDundee :
184 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
184 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
185 break;
185 break;
186 default:
186 default:
187 result = 1;
187 result = 1;
188 break;
188 break;
189 }
189 }
190 return result;
190 return result;
191 }
191 }
192
192
193 void rmapplugin::openBridge()
193 void rmapplugin::openBridge()
194 {
194 {
195 switch(currentBridge)
195 switch(currentBridge)
196 {
196 {
197 case selectedBridgeIsGRESB :
197 case selectedBridgeIsGRESB :
198 this->UI->gresbBridge->Open();
198 this->UI->gresbBridge->Open();
199 break;
199 break;
200 case selectedBridgeIsStarDundee :
200 case selectedBridgeIsStarDundee :
201 this->UI->starDundee->Open();
201 this->UI->starDundee->Open();
202 break;
202 break;
203 default:
203 default:
204 break;
204 break;
205 }
205 }
206 }
206 }
207
207
208 void rmapplugin::closeBridge()
208 void rmapplugin::closeBridge()
209 {
209 {
210 switch(currentBridge)
210 switch(currentBridge)
211 {
211 {
212 case selectedBridgeIsGRESB :
212 case selectedBridgeIsGRESB :
213 this->UI->gresbBridge->Close();
213 this->UI->gresbBridge->Close();
214 break;
214 break;
215 case selectedBridgeIsStarDundee :
215 case selectedBridgeIsStarDundee :
216 this->UI->starDundee->Close();
216 this->UI->starDundee->Close();
217 break;
217 break;
218 default:
218 default:
219 break;
219 break;
220 }
220 }
221 }
221 }
222
222
223 void rmapplugin::RMAP_write_reply_setText(QString text)
223 void rmapplugin::RMAP_write_reply_setText(QString text)
224 {
224 {
225 this->UI->RMAP_write_reply->setText(text);
225 this->UI->RMAP_write_reply->setText(text);
226 }
226 }
227
227
228 void rmapplugin::appendToLog(QString text)
228 void rmapplugin::appendToLog(QString text)
229 {
229 {
230 APPENDTOLOG(text);
230 APPENDTOLOG(text);
231 }
231 }
232
232
233 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
233 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
234 {
234 {
235 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
235 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
236 }
236 }
237
237
238 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
238 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
239 {
239 {
240 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
240 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
241 }
241 }
242
242
243 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
243 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
244 {
244 {
245 preProcessPacket(packet);
245 preProcessPacket(packet);
246
246
247 // Send the packet to the TM echo bridge for processing
247 // Send the packet to the TM echo bridge for processing
248 this->UI->tmEchoBridge->sendTMPacket_v2(packet);
248 this->UI->tmEchoBridge->sendTMPacket(packet);
249 //this->UI->tmEchoBridge->sendTMPacket_alternative(packet);
249 //this->UI->tmEchoBridge->sendTMPacket_alternative(packet);
250
250
251 this->generalCCSDSPacketStore.append(packet);
251 this->generalCCSDSPacketStore.append(packet);
252 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
252 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
253 processPacketStore();
253 processPacketStore();
254 }
254 }
255
255
256 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
256 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
257 {
257 {
258 unsigned char pid = 0;
258 unsigned char pid = 0;
259 unsigned char cat = 0;
259 unsigned char cat = 0;
260 unsigned char typ = 0;
260 unsigned char typ = 0;
261 unsigned char sub = 0;
261 unsigned char sub = 0;
262 unsigned int sid = 0;
262 unsigned int sid = 0;
263 unsigned int length = 0;
263 unsigned int length = 0;
264 unsigned int coarse_t = 0;
264 unsigned int coarse_t = 0;
265 unsigned int fine_t = 0;
265 unsigned int fine_t = 0;
266
266
267 //*********************************
267 //*********************************
268 // get the parameters of the packet
268 // get the parameters of the packet
269 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
269 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
270 cat = packet->Value[5] & 0x0f;
270 cat = packet->Value[5] & 0x0f;
271 typ = packet->Value[11]; // TYPE
271 typ = packet->Value[11]; // TYPE
272 sub = packet->Value[12]; // SUBTYPE
272 sub = packet->Value[12]; // SUBTYPE
273 sid = 0;
273 sid = 0;
274 length = packet->Value[8] * 256 + packet->Value[9];
274 length = packet->Value[8] * 256 + packet->Value[9];
275 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
275 coarse_t = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
276 + packet->Value[16] * pow(2, 8) + packet->Value[17];
276 + packet->Value[16] * pow(2, 8) + packet->Value[17];
277 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
277 fine_t = packet->Value[18] * pow(2, 8) + packet->Value[19];
278
278
279 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
279 if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8))
280 sid = packet->Value[20] * 256 + packet->Value[21];
280 sid = packet->Value[20] * 256 + packet->Value[21];
281 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
281 else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25))
282 sid = 1;
282 sid = 1;
283 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
283 else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3))
284 sid = packet->Value[20];
284 sid = packet->Value[20];
285 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
285 else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3))
286 sid = packet->Value[20];
286 sid = packet->Value[20];
287
287
288 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
288 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
289
289
290
290
291 //****************************************
291 //****************************************
292 // if the packet is a waveform, display it
292 // if the packet is a waveform, display it
293 /*if ( (typ == 21) & (sub == 3) )
293 /*if ( (typ == 21) & (sub == 3) )
294 {
294 {
295 sid = packet->Value[20]; // SID
295 sid = packet->Value[20]; // SID
296 switch (sid){
296 switch (sid){
297 case SID_NORMAL_SWF_F0:
297 case SID_NORMAL_SWF_F0:
298 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
298 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
299 break;
299 break;
300 case SID_NORMAL_SWF_F1:
300 case SID_NORMAL_SWF_F1:
301 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
301 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
302 break;
302 break;
303 case SID_NORMAL_SWF_F2:
303 case SID_NORMAL_SWF_F2:
304 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
304 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
305 break;
305 break;
306 case SID_NORMAL_CWF_F3:
306 case SID_NORMAL_CWF_F3:
307 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
307 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
308 break;
308 break;
309 }
309 }
310 }*/
310 }*/
311 }
311 }
312
312
313 void rmapplugin::nbPacketHasChanged(int nb)
313 void rmapplugin::nbPacketHasChanged(int nb)
314 {
314 {
315 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
315 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
316 }
316 }
317
317
318 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
318 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
319 {
319 {
320 unsigned int i = 0;
320 unsigned int i = 0;
321 unsigned int j = 0;
321 unsigned int j = 0;
322 unsigned char *data;
322 unsigned char *data;
323 unsigned char pkt_nr = 0;
323 unsigned char pkt_nr = 0;
324 unsigned int blk_nr = 0;
324 unsigned int blk_nr = 0;
325
325
326 pkt_nr = packet->Value[23]; // PKT_NR
326 pkt_nr = packet->Value[23]; // PKT_NR
327 blk_nr = packet->Value[24] * 256 + packet->Value[25];
327 blk_nr = packet->Value[24] * 256 + packet->Value[25];
328 data = &packet->Value[26]; // start of the first data block;
328 data = &packet->Value[26]; // start of the first data block;
329 j = (pkt_nr-1) * 340;
329 j = (pkt_nr-1) * 340;
330 for ( i=0; i<blk_nr; i++ ){
330 for ( i=0; i<blk_nr; i++ ){
331 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
331 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
332 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
332 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
333 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
333 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
334 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
334 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
335 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
335 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
336 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
336 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
337 }
337 }
338 if (pkt_nr == 7)
338 if (pkt_nr == 7)
339 {
339 {
340 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
340 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
341 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
341 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
342 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
342 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
343 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
343 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
344 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
344 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
345 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
345 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
346 }
346 }
347 }
347 }
348
348
349 /////////////////////
349 /////////////////////
350 // INTERNAL FUNCTIONS
350 // INTERNAL FUNCTIONS
351
351
352 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
352 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
353 {
353 {
354 QString message;
354 QString message;
355 unsigned int fine_time_value = 0;
355 unsigned int fine_time_value = 0;
356 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
356 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
357 + ((unsigned int) ccsdsPacket[6]<<16)
357 + ((unsigned int) ccsdsPacket[6]<<16)
358 + ((unsigned int) ccsdsPacket[5]<<8)
358 + ((unsigned int) ccsdsPacket[5]<<8)
359 + ((unsigned int) ccsdsPacket[4]);
359 + ((unsigned int) ccsdsPacket[4]);
360 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
360 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
361 message.append("size "
361 message.append("size "
362 + QString::number(size)
362 + QString::number(size)
363 +" *** header "
363 +" *** header "
364 + QString::number(ccsdsPacket[0], 16)
364 + QString::number(ccsdsPacket[0], 16)
365 + " "
365 + " "
366 + QString::number(ccsdsPacket[1], 16)
366 + QString::number(ccsdsPacket[1], 16)
367 + " "
367 + " "
368 + QString::number(ccsdsPacket[2], 16)
368 + QString::number(ccsdsPacket[2], 16)
369 + " "
369 + " "
370 + QString::number(ccsdsPacket[3], 16)
370 + QString::number(ccsdsPacket[3], 16)
371 + " *** coarse time "
371 + " *** coarse time "
372 + QString::number(fine_time_value));
372 + QString::number(fine_time_value));
373 //+ QString::number(ccsdsPacket[4], 16)
373 //+ QString::number(ccsdsPacket[4], 16)
374 //+" "
374 //+" "
375 //+ QString::number(ccsdsPacket[5], 16)
375 //+ QString::number(ccsdsPacket[5], 16)
376 //+" "
376 //+" "
377 //+ QString::number(ccsdsPacket[6], 16)
377 //+ QString::number(ccsdsPacket[6], 16)
378 //+" "
378 //+" "
379 //+ QString::number(ccsdsPacket[7], 16));
379 //+ QString::number(ccsdsPacket[7], 16));
380 displayOnConsole(message);
380 displayOnConsole(message);
381 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
381 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
382 emit ccsdsPacketIsProcessed();
382 emit ccsdsPacketIsProcessed();
383 }
383 }
384
384
385 void rmapplugin::processPacketStore()
385 void rmapplugin::processPacketStore()
386 {
386 {
387 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
387 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
388 }
388 }
389
389
390 int rmapplugin::fetchPacket()
390 int rmapplugin::fetchPacket()
391 {
391 {
392 int ret = 0;
392 int ret = 0;
393
393
394 switch(currentBridge)
394 switch(currentBridge)
395 {
395 {
396 case selectedBridgeIsGRESB :
396 case selectedBridgeIsGRESB :
397 break;
397 break;
398 case selectedBridgeIsStarDundee :
398 case selectedBridgeIsStarDundee :
399 ret = this->UI->starDundee->receiveSPWPacketLoop();
399 ret = this->UI->starDundee->receiveSPWPacketLoop();
400 break;
400 break;
401 default:
401 default:
402 break;
402 break;
403 }
403 }
404
404
405 return ret;
405 return ret;
406 }
406 }
@@ -1,253 +1,207
1 #include "tmechobridge.h"
1 #include "tmechobridge.h"
2
2
3 TMEchoBridge::TMEchoBridge(QWidget *parent) :
3 TMEchoBridge::TMEchoBridge(QWidget *parent) :
4 QWidget(parent)
4 QWidget(parent)
5 {
5 {
6 totalOfBytes = 0;
6 totalOfBytes = 0;
7 totalOfPackets = 0;
7 totalOfPackets = 0;
8 totalOfPacketsDropped = 0;
8 totalOfPacketsDropped = 0;
9
9
10 tmEchoBridgeServer = new QTcpServer();
10 tmEchoBridgeServer = new QTcpServer();
11 tmEchoBridgeSocket = new QTcpSocket();
11 tmEchoBridgeSocket = new QTcpSocket();
12 xmlWriter = new QXmlStreamWriter();
12 xmlWriter = new QXmlStreamWriter();
13
13
14 console = new QTextEdit();
14 console = new QTextEdit();
15
15
16 label_TMServerPort = new QLabel(tr("TM Server Port:"));
16 label_TMServerPort = new QLabel(tr("TM Server Port:"));
17 label_totalOfBytes = new QLabel(tr("Number of TM bytes sent: -"));
17 label_totalOfBytes = new QLabel(tr("Number of TM bytes sent: -"));
18 label_totalOfPackets = new QLabel(tr("Number of TM packets sent: -"));
18 label_totalOfPackets = new QLabel(tr("Number of TM packets sent: -"));
19 label_totalOfPacketsDropped = new QLabel(tr("Number of TM packets dropped: -"));
19 label_totalOfPacketsDropped = new QLabel(tr("Number of TM packets dropped: -"));
20
20
21 spinbox_TMServerPort = new QSpinBox();
21 spinbox_TMServerPort = new QSpinBox();
22 spinbox_TMServerPort->setRange(59002, 65535);
22 spinbox_TMServerPort->setRange(59002, 65535);
23
23
24 button_openServerTCTM = new QPushButton(tr("Open Port"));
24 button_openServerTCTM = new QPushButton(tr("Open Port"));
25 button_testServerTCTM = new QPushButton(tr("Test Port"));
25 button_testServerTCTM = new QPushButton(tr("Test Port"));
26 button_sendTestPacket = new QPushButton(tr("Send a test packet"));
26 button_sendTestPacket = new QPushButton(tr("Send a test packet"));
27 button_clearConsole = new QPushButton(tr("Clear console"));
27 button_clearConsole = new QPushButton(tr("Clear console"));
28 button_resetTMStatistics = new QPushButton(tr("Reset TM Statistics"));
28 button_resetTMStatistics = new QPushButton(tr("Reset TM Statistics"));
29
29
30 groupbox_ports = new QGroupBox(tr("Port of the TM Echo Bridge"));
30 groupbox_ports = new QGroupBox(tr("Port of the TM Echo Bridge"));
31
31
32 layout_ports = new QGridLayout();
32 layout_ports = new QGridLayout();
33 mainLayout = new QGridLayout();
33 mainLayout = new QGridLayout();
34
34
35 initSocketStatesList();
35 initSocketStatesList();
36
36
37 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
37 layout_ports->addWidget(label_TMServerPort, 0, 0, 1, 1);
38 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
38 layout_ports->addWidget(spinbox_TMServerPort, 0, 1, 1, 1);
39 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
39 layout_ports->addWidget(button_openServerTCTM, 2, 0, 1, 2);
40 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
40 layout_ports->addWidget(button_testServerTCTM, 3, 0, 1, 2);
41 layout_ports->addWidget(button_sendTestPacket, 4, 0, 1, 2);
41 layout_ports->addWidget(button_sendTestPacket, 4, 0, 1, 2);
42 layout_ports->addWidget(label_totalOfPackets, 5, 0, 1, 2);
42 layout_ports->addWidget(label_totalOfPackets, 5, 0, 1, 2);
43 layout_ports->addWidget(label_totalOfBytes, 6, 0, 1, 2);
43 layout_ports->addWidget(label_totalOfBytes, 6, 0, 1, 2);
44 layout_ports->addWidget(label_totalOfPacketsDropped, 7, 0, 1, 2);
44 layout_ports->addWidget(label_totalOfPacketsDropped, 7, 0, 1, 2);
45 layout_ports->addWidget(button_resetTMStatistics, 8, 0, 1, 2);
45 layout_ports->addWidget(button_resetTMStatistics, 8, 0, 1, 2);
46 layout_ports->setRowStretch(9, 1);
46 layout_ports->setRowStretch(9, 1);
47 layout_ports->setColumnStretch(2, 1);
47 layout_ports->setColumnStretch(2, 1);
48
48
49 groupbox_ports->setLayout(layout_ports);
49 groupbox_ports->setLayout(layout_ports);
50
50
51 mainLayout->addWidget(groupbox_ports, 0, 0, 1, 1);
51 mainLayout->addWidget(groupbox_ports, 0, 0, 1, 1);
52 mainLayout->addWidget(console, 0, 1, 1, 1);
52 mainLayout->addWidget(console, 0, 1, 1, 1);
53 mainLayout->addWidget(button_clearConsole, 1, 1, 1, 1);
53 mainLayout->addWidget(button_clearConsole, 1, 1, 1, 1);
54
54
55 this->setLayout(mainLayout);
55 this->setLayout(mainLayout);
56
56
57 connect(this->tmEchoBridgeServer, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMEchoBridgeServer()));
57 connect(this->tmEchoBridgeServer, SIGNAL(newConnection()), this, SLOT(newConnectionOnTMEchoBridgeServer()));
58 connect(this->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTMEchoBridgePort()));
58 connect(this->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTMEchoBridgePort()));
59 connect(this->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTMEchoBridgePort()));
59 connect(this->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTMEchoBridgePort()));
60 connect(this->button_sendTestPacket, SIGNAL(clicked()), this, SLOT(sendXML_GSE_HK()));
60 connect(this->button_sendTestPacket, SIGNAL(clicked()), this, SLOT(sendXML_GSE_HK()));
61 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
61 connect(this->button_clearConsole, SIGNAL(clicked()), this, SLOT(clearConsole()));
62 connect(this->button_resetTMStatistics, SIGNAL(clicked()), this, SLOT(resetTMStatistics()));
62 connect(this->button_resetTMStatistics, SIGNAL(clicked()), this, SLOT(resetTMStatistics()));
63 }
63 }
64
64
65 void TMEchoBridge::listenOnTMEchoBridgePort()
65 void TMEchoBridge::listenOnTMEchoBridgePort()
66 {
66 {
67 QString str;
67 QString str;
68
68
69 tmEchoBridgeServer->listen(QHostAddress::Any, this->getTMPort());
69 tmEchoBridgeServer->listen(QHostAddress::Any, this->getTMPort());
70 str = tmEchoBridgeServer->errorString();
70 str = tmEchoBridgeServer->errorString();
71 if (!str.isEmpty())
71 if (!str.isEmpty())
72 {
72 {
73 this->displayOnConsole(str);
73 this->displayOnConsole(str);
74 }
74 }
75 this->displayOnConsole("Listening TM on port "
75 this->displayOnConsole("Listening TM on port "
76 + QString::number(this->getTMPort())
76 + QString::number(this->getTMPort())
77 );
77 );
78 }
78 }
79
79
80 void TMEchoBridge::testTMEchoBridgePort()
80 void TMEchoBridge::testTMEchoBridgePort()
81 {
81 {
82 if (tmEchoBridgeSocket != NULL)
82 if (tmEchoBridgeSocket != NULL)
83 {
83 {
84 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
84 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
85 }
85 }
86 else
86 else
87 {
87 {
88 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
88 this->displayOnConsole("TC socket *** not tested, (socketTC) is NULL" );
89 }
89 }
90 }
90 }
91
91
92 void TMEchoBridge::newConnectionOnTMEchoBridgeServer()
92 void TMEchoBridge::newConnectionOnTMEchoBridgeServer()
93 {
93 {
94 this->displayOnConsole("got new connection on TM port");
94 this->displayOnConsole("got new connection on TM port");
95 tmEchoBridgeSocket = tmEchoBridgeServer->nextPendingConnection();
95 tmEchoBridgeSocket = tmEchoBridgeServer->nextPendingConnection();
96 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
96 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
97 xmlWriter->setDevice(this->tmEchoBridgeSocket);
97 xmlWriter->setDevice(this->tmEchoBridgeSocket);
98 }
98 }
99
99
100 int TMEchoBridge::getTMPort()
100 int TMEchoBridge::getTMPort()
101 {
101 {
102 return spinbox_TMServerPort->value();
102 return spinbox_TMServerPort->value();
103 }
103 }
104
104
105 void TMEchoBridge::displayOnConsole(QString message)
105 void TMEchoBridge::displayOnConsole(QString message)
106 {
106 {
107 console->append(message);
107 console->append(message);
108 }
108 }
109
109
110 void TMEchoBridge::initSocketStatesList()
110 void TMEchoBridge::initSocketStatesList()
111 {
111 {
112 socketStates.append("The socket is not connected");
112 socketStates.append("The socket is not connected");
113 socketStates.append("The socket is performing a host name lookup");
113 socketStates.append("The socket is performing a host name lookup");
114 socketStates.append("The socket has started establishing a connection");
114 socketStates.append("The socket has started establishing a connection");
115 socketStates.append("A connection is established");
115 socketStates.append("A connection is established");
116 socketStates.append("The socket is bound to an address and port (for servers)");
116 socketStates.append("The socket is bound to an address and port (for servers)");
117 socketStates.append("The socket is about to close (data may still be waiting to be written)");
117 socketStates.append("The socket is about to close (data may still be waiting to be written)");
118 socketStates.append("For internal use only");
118 socketStates.append("For internal use only");
119 }
119 }
120
120
121 void TMEchoBridge::sendXML_GSE_HK()
121 void TMEchoBridge::sendXML_GSE_HK()
122 {
122 {
123 char data[10];
123 char data[10];
124 for (int i = 0; i <10; i++)
124 for (int i = 0; i <10; i++)
125 {
125 {
126 data[i] = i;
126 data[i] = i;
127 }
127 }
128 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
128 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
129 {
129 {
130 xmlWriter->writeStartDocument();
130 xmlWriter->writeStartDocument();
131
131
132 xmlWriter->writeStartElement("Event");
132 xmlWriter->writeStartElement("Event");
133
133
134 // EventDate
134 // EventDate
135 xmlWriter->writeStartElement("EventDate");
135 xmlWriter->writeStartElement("EventDate");
136 xmlWriter->writeEndElement();
136 xmlWriter->writeEndElement();
137
137
138 // Event Time
138 // Event Time
139 xmlWriter->writeStartElement("EventTime");
139 xmlWriter->writeStartElement("EventTime");
140 xmlWriter->writeEndElement();
140 xmlWriter->writeEndElement();
141
141
142 // EventBinary
142 // EventBinary
143 xmlWriter->writeStartElement("EventBinary");
143 xmlWriter->writeStartElement("EventBinary");
144 xmlWriter->writeCharacters("FFFFCC0099");
144 xmlWriter->writeCharacters("FFFFCC0099");
145 xmlWriter->writeCharacters(QString::fromLocal8Bit(data, 10));
145 xmlWriter->writeCharacters(QString::fromLocal8Bit(data, 10));
146 xmlWriter->writeEndElement();
146 xmlWriter->writeEndElement();
147
147
148 xmlWriter->writeEndElement();
148 xmlWriter->writeEndElement();
149
149
150 xmlWriter->writeEndDocument();
150 xmlWriter->writeEndDocument();
151 }
151 }
152 else
152 else
153 {
153 {
154 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
154 this->displayOnConsole("TM socket *** " + socketStates.at(tmEchoBridgeSocket->state()) );
155 }
155 }
156 }
156 }
157
157
158 void TMEchoBridge::sendTMPacket(TMPacketToRead *tmPacketToRead)
158 void TMEchoBridge::sendTMPacket(TMPacketToRead *tmPacketToRead)
159 {
159 {
160 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
161 {
162 // START DOCUMENT
163 //xmlWriter->writeStartDocument();
164
165 // <Event>
166 xmlWriter->writeStartElement("Event");
167
168 // <EventDate>
169 xmlWriter->writeStartElement("EventDate");
170 xmlWriter->writeEndElement();
171
172 // <Event Time>
173 xmlWriter->writeStartElement("EventTime");
174 xmlWriter->writeEndElement();
175
176 // <EventBinary>
177 xmlWriter->writeStartElement("EventBinary");
178 xmlWriter->writeCharacters(
179 QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size).toHex()
180 );
181 //tmEchoBridgeSocket->write(QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size));
182 xmlWriter->writeEndElement();
183
184 // </Event>
185 xmlWriter->writeEndElement();
186
187 // END DOCUMENT
188 xmlWriter->writeEndDocument();
189
190 tmEchoBridgeSocket->flush();
191
192 totalOfBytes = totalOfBytes + tmPacketToRead->size;
193 totalOfPackets = totalOfPackets + 1;
194 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
195 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
196 }
197 else
198 {
199 totalOfPacketsDropped = totalOfPacketsDropped + 1;
200 label_totalOfPacketsDropped->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
201 }
202 }
203
204 void TMEchoBridge::sendTMPacket_v2(TMPacketToRead *tmPacketToRead)
205 {
206 QByteArray ccsdsArray;
160 QByteArray ccsdsArray;
207 QTime echoBridgeTimeout;
161 QTime echoBridgeTimeout;
208
162
209 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
163 if (tmEchoBridgeSocket->state() == QAbstractSocket::ConnectedState)
210 {
164 {
211 ccsdsArray.append("<Event>");
165 ccsdsArray.append("<Event>");
212
166
213 ccsdsArray.append("<EventDate>");
167 ccsdsArray.append("<EventDate>");
214 ccsdsArray.append("</EventDate>");
168 ccsdsArray.append("</EventDate>");
215
169
216 ccsdsArray.append("<EventTime>");
170 ccsdsArray.append("<EventTime>");
217 ccsdsArray.append("</EventTime>");
171 ccsdsArray.append("</EventTime>");
218
172
219 ccsdsArray.append("<EventBinary>");
173 ccsdsArray.append("<EventBinary>");
220 ccsdsArray.append(QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size).toHex());
174 ccsdsArray.append(QByteArray::fromRawData( (char*) tmPacketToRead->Value, tmPacketToRead->size).toHex());
221 ccsdsArray.append("</EventBinary>");
175 ccsdsArray.append("</EventBinary>");
222
176
223 ccsdsArray.append("</Event>");
177 ccsdsArray.append("</Event>");
224
178
225 tmEchoBridgeSocket->write(ccsdsArray);
179 tmEchoBridgeSocket->write(ccsdsArray);
226 tmEchoBridgeSocket->flush();
180 tmEchoBridgeSocket->flush();
227
181
228 totalOfBytes = totalOfBytes + tmPacketToRead->size;
182 totalOfBytes = totalOfBytes + tmPacketToRead->size;
229 totalOfPackets = totalOfPackets + 1;
183 totalOfPackets = totalOfPackets + 1;
230 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
184 label_totalOfBytes->setText("Number of TM bytes sent: " + QString::number(totalOfBytes));
231 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
185 label_totalOfPackets->setText("Number of TM packets sent: " + QString::number(totalOfPackets));
232 }
186 }
233 else
187 else
234 {
188 {
235 totalOfPacketsDropped = totalOfPacketsDropped + 1;
189 totalOfPacketsDropped = totalOfPacketsDropped + 1;
236 label_totalOfPacketsDropped->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
190 label_totalOfPacketsDropped->setText("Number of TM packets dropped: " + QString::number(totalOfPacketsDropped));
237 }
191 }
238 }
192 }
239
193
240 void TMEchoBridge::clearConsole()
194 void TMEchoBridge::clearConsole()
241 {
195 {
242 this->console->clear();
196 this->console->clear();
243 }
197 }
244
198
245 void TMEchoBridge::resetTMStatistics()
199 void TMEchoBridge::resetTMStatistics()
246 {
200 {
247 label_totalOfBytes->setText("Number of TM bytes sent: -");
201 label_totalOfBytes->setText("Number of TM bytes sent: -");
248 label_totalOfPackets->setText("Number of TM packets sent: -");
202 label_totalOfPackets->setText("Number of TM packets sent: -");
249 label_totalOfPacketsDropped->setText("Number of TM packets dropped: -");
203 label_totalOfPacketsDropped->setText("Number of TM packets dropped: -");
250 totalOfBytes = 0;
204 totalOfBytes = 0;
251 totalOfPackets = 0;
205 totalOfPackets = 0;
252 totalOfPacketsDropped = 0;
206 totalOfPacketsDropped = 0;
253 }
207 }
@@ -1,73 +1,72
1 #ifndef TMECHOBRIDGE_H
1 #ifndef TMECHOBRIDGE_H
2 #define TMECHOBRIDGE_H
2 #define TMECHOBRIDGE_H
3
3
4 #include <QWidget>
4 #include <QWidget>
5 #include <QTcpServer>
5 #include <QTcpServer>
6 #include <QTcpSocket>
6 #include <QTcpSocket>
7 #include <QLabel>
7 #include <QLabel>
8 #include <QSpinBox>
8 #include <QSpinBox>
9 #include <QPushButton>
9 #include <QPushButton>
10 #include <QGroupBox>
10 #include <QGroupBox>
11 #include <QGridLayout>
11 #include <QGridLayout>
12 #include <QTextEdit>
12 #include <QTextEdit>
13 #include <QXmlStreamWriter>
13 #include <QXmlStreamWriter>
14 #include <QTime>
14 #include <QTime>
15 #include "tmpackettoread.h"
15 #include "tmpackettoread.h"
16
16
17 class TMEchoBridge : public QWidget
17 class TMEchoBridge : public QWidget
18 {
18 {
19 Q_OBJECT
19 Q_OBJECT
20 public:
20 public:
21 explicit TMEchoBridge(QWidget *parent = 0);
21 explicit TMEchoBridge(QWidget *parent = 0);
22
22
23 signals:
23 signals:
24
24
25 public slots:
25 public slots:
26 void listenOnTMEchoBridgePort();
26 void listenOnTMEchoBridgePort();
27 void testTMEchoBridgePort();
27 void testTMEchoBridgePort();
28 void newConnectionOnTMEchoBridgeServer();
28 void newConnectionOnTMEchoBridgeServer();
29 int getTMPort();
29 int getTMPort();
30 void displayOnConsole(QString message);
30 void displayOnConsole(QString message);
31 void initSocketStatesList();
31 void initSocketStatesList();
32 void newConnectionOnTCServer();
32 void newConnectionOnTCServer();
33 void sendXML_GSE_HK();
33 void sendXML_GSE_HK();
34 void sendTMPacket(TMPacketToRead *tmPacketToRead);
34 void sendTMPacket(TMPacketToRead *tmPacketToRead);
35 void sendTMPacket_v2(TMPacketToRead *tmPacketToRead);
36 void clearConsole();
35 void clearConsole();
37 void resetTMStatistics();
36 void resetTMStatistics();
38
37
39 private:
38 private:
40 QList<QString> socketStates;
39 QList<QString> socketStates;
41
40
42 unsigned int totalOfBytes;
41 unsigned int totalOfBytes;
43 unsigned int totalOfPackets;
42 unsigned int totalOfPackets;
44 unsigned int totalOfPacketsDropped;
43 unsigned int totalOfPacketsDropped;
45
44
46 QTcpServer *tmEchoBridgeServer;
45 QTcpServer *tmEchoBridgeServer;
47 QTcpSocket *tmEchoBridgeSocket;
46 QTcpSocket *tmEchoBridgeSocket;
48
47
49 QXmlStreamWriter *xmlWriter;
48 QXmlStreamWriter *xmlWriter;
50
49
51 QTextEdit *console;
50 QTextEdit *console;
52
51
53 QLabel *label_TMServerPort;
52 QLabel *label_TMServerPort;
54 QLabel *label_totalOfBytes;
53 QLabel *label_totalOfBytes;
55 QLabel *label_totalOfPackets;
54 QLabel *label_totalOfPackets;
56 QLabel *label_totalOfPacketsDropped;
55 QLabel *label_totalOfPacketsDropped;
57
56
58 QSpinBox *spinbox_TMServerPort;
57 QSpinBox *spinbox_TMServerPort;
59
58
60 QPushButton *button_openServerTCTM;
59 QPushButton *button_openServerTCTM;
61 QPushButton *button_testServerTCTM;
60 QPushButton *button_testServerTCTM;
62 QPushButton *button_sendTestPacket;
61 QPushButton *button_sendTestPacket;
63 QPushButton *button_clearConsole;
62 QPushButton *button_clearConsole;
64 QPushButton *button_resetTMStatistics;
63 QPushButton *button_resetTMStatistics;
65
64
66 QGroupBox *groupbox_ports;
65 QGroupBox *groupbox_ports;
67
66
68 QGridLayout *layout_ports;
67 QGridLayout *layout_ports;
69 QGridLayout *mainLayout;
68 QGridLayout *mainLayout;
70
69
71 };
70 };
72
71
73 #endif // TMECHOBRIDGE_H
72 #endif // TMECHOBRIDGE_H
General Comments 0
You need to be logged in to leave comments. Login now