##// END OF EJS Templates
infinite loop suppressed...
leroy -
r18:b2eb1d610650 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-23T10:22:08. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-04-23T11:06:46. -->
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">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
336 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</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,459 +1,460
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
63
64 //**************
64 //**************
65 // get a smart pointer to the __main__ module of the Python interpreter
65 // get a smart pointer to the __main__ module of the Python interpreter
66 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
66 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
67 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
67 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
68 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
68 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
69 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
69 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
70 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
70 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
71 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
71 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
72 context.addObject("GRESB_Bridge", UI->gresbBridge);
72 context.addObject("GRESB_Bridge", UI->gresbBridge);
73 //**************
73 //**************
74
74
75 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
75 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
76 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
76 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
77
77
78 // CCSDS
78 // CCSDS
79 connect(this->UI->sendCCSDSCommandButton, SIGNAL(clicked()), this, SLOT(sendCCSDS()));
79 connect(this->UI->sendCCSDSCommandButton, SIGNAL(clicked()), this, SLOT(sendCCSDS()));
80 connect(this->UI->send_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(send_TC_LFR_UPDATE_TIME()));
80 connect(this->UI->send_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(send_TC_LFR_UPDATE_TIME()));
81 connect(this->UI->reset_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(reset_TC_LFR_UPDATE_TIME()));
81 connect(this->UI->reset_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(reset_TC_LFR_UPDATE_TIME()));
82
82
83 // spectralMAtricesDMASimulator
83 // spectralMAtricesDMASimulator
84 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginRead(uint*,uint,uint)), this, SLOT(Read(uint*,uint,uint)));
84 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginRead(uint*,uint,uint)), this, SLOT(Read(uint*,uint,uint)));
85 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginWrite(uint*,uint,uint)), this, SLOT(Write(uint*,uint,uint)));
85 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginWrite(uint*,uint,uint)), this, SLOT(Write(uint*,uint,uint)));
86 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
86 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
87
87
88 //******
88 //******
89 // GRESB
89 // GRESB
90 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
90 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
91 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
91 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
92 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
92 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
93 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
93 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
94 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
94 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
95 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
95 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
96 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
96 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
97 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
97 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
98 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
98 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
99 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
99 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
100 this, SLOT(receivePacketFromBridge(TMPacketToRead*)));
100 this, SLOT(receivePacketFromBridge(TMPacketToRead*)));
101
101
102 //************
102 //************
103 // Star Dundee
103 // Star Dundee
104 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
104 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
105 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
105 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
106 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
106 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
107 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
107 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
108 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
108 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
109 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
109 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
110 this->UI->starDundee, SLOT(targetHasChanged(int)));
110 this->UI->starDundee, SLOT(targetHasChanged(int)));
111 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
112 this->UI->starDundee, SLOT(sourceHasChanged(int)));
112 this->UI->starDundee, SLOT(sourceHasChanged(int)));
113 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
113 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
114 this, SLOT(receivePacketFromBridge(TMPacketToRead*)));
114 this, SLOT(receivePacketFromBridge(TMPacketToRead*)));
115
115
116 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
116 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
117
117
118 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
118 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
119 }
119 }
120
120
121 rmapplugin::~rmapplugin()
121 rmapplugin::~rmapplugin()
122 {
122 {
123 switch(currentBridge)
123 switch(currentBridge)
124 {
124 {
125 case selectedBridgeIsGRESB :
125 case selectedBridgeIsGRESB :
126 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
126 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
127 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
127 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
128 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
128 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
129 break;
129 break;
130 case selectedBridgeIsStarDundee :
130 case selectedBridgeIsStarDundee :
131 break;
131 break;
132 default:
132 default:
133 break;
133 break;
134 }
134 }
135 }
135 }
136
136
137 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
137 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
138 {
138 {
139 unsigned int result;
139 unsigned int result;
140 switch(currentBridge)
140 switch(currentBridge)
141 {
141 {
142 case selectedBridgeIsGRESB :
142 case selectedBridgeIsGRESB :
143 result = UI->gresbBridge->Write(Value, count, address);
143 result = UI->gresbBridge->Write(Value, count, address);
144 break;
144 break;
145 case selectedBridgeIsStarDundee :
145 case selectedBridgeIsStarDundee :
146 result = UI->starDundee->Write(Value, count, address);
146 result = UI->starDundee->Write(Value, count, address);
147 break;
147 break;
148 default:
148 default:
149 result = 1;
149 result = 1;
150 break;
150 break;
151 }
151 }
152 return result;
152 return result;
153 }
153 }
154
154
155 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
155 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
156 {
156 {
157 unsigned int result;
157 unsigned int result;
158 switch(currentBridge)
158 switch(currentBridge)
159 {
159 {
160 case selectedBridgeIsGRESB :
160 case selectedBridgeIsGRESB :
161 result = UI->gresbBridge->Read(Value, count, address);
161 result = UI->gresbBridge->Read(Value, count, address);
162 break;
162 break;
163 case selectedBridgeIsStarDundee :
163 case selectedBridgeIsStarDundee :
164 result = UI->starDundee->Read(Value, count, address);
164 result = UI->starDundee->Read(Value, count, address);
165 break;
165 break;
166 default:
166 default:
167 result = 1;
167 result = 1;
168 break;
168 break;
169 }
169 }
170 return result;
170 return result;
171 }
171 }
172
172
173 ////////
173 ////////
174 // SLOTS
174 // SLOTS
175
175
176 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
176 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
177 {
177 {
178 unsigned int result;
178 unsigned int result;
179 switch(currentBridge)
179 switch(currentBridge)
180 {
180 {
181 case selectedBridgeIsGRESB :
181 case selectedBridgeIsGRESB :
182 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
182 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
183 break;
183 break;
184 case selectedBridgeIsStarDundee :
184 case selectedBridgeIsStarDundee :
185 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
185 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
186 break;
186 break;
187 default:
187 default:
188 result = 1;
188 result = 1;
189 break;
189 break;
190 }
190 }
191 return result;
191 return result;
192 }
192 }
193
193
194 void rmapplugin::sendCCSDS() // SLOT
194 void rmapplugin::sendCCSDS() // SLOT
195 {
195 {
196 unsigned int nbBYTES_application_data = 8;
196 unsigned int nbBYTES_application_data = 8;
197 unsigned int count;
197 unsigned int count;
198 char *tab;
198 char *tab;
199 unsigned char packetErrorControl1 = 0xaa;
199 unsigned char packetErrorControl1 = 0xaa;
200 unsigned char packetErrorControl0 = 0xbb;
200 unsigned char packetErrorControl0 = 0xbb;
201
201
202 ccsds_command = new ccsds(1, 0, 0, nbBYTES_application_data+12, 0, 0, 0, 0, 0); // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
202 ccsds_command = new ccsds(1, 0, 0, nbBYTES_application_data+12, 0, 0, 0, 0, 0); // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
203 /* unsigned char data_field_header,
203 /* unsigned char data_field_header,
204 unsigned char processID,
204 unsigned char processID,
205 unsigned int sequence_count,
205 unsigned int sequence_count,
206 unsigned int packet_length,
206 unsigned int packet_length,
207 unsigned char acceptance,
207 unsigned char acceptance,
208 unsigned int completion,
208 unsigned int completion,
209 unsigned char service_type,
209 unsigned char service_type,
210 unsigned char service_subtype,
210 unsigned char service_subtype,
211 unsigned char sourceID*/
211 unsigned char sourceID*/
212
212
213 count = nbBYTES_application_data+12; // 12 is the size in bytes of the header
213 count = nbBYTES_application_data+12; // 12 is the size in bytes of the header
214 tab = (char*) malloc(count);
214 tab = (char*) malloc(count);
215 tab[0] = ccsds_command->ccsds_header->packetId1;
215 tab[0] = ccsds_command->ccsds_header->packetId1;
216 tab[1] = ccsds_command->ccsds_header->packetId0;
216 tab[1] = ccsds_command->ccsds_header->packetId0;
217 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
217 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
218 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
218 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
219 tab[4] = ccsds_command->ccsds_header->packetLength1;
219 tab[4] = ccsds_command->ccsds_header->packetLength1;
220 tab[5] = ccsds_command->ccsds_header->packetLength0;
220 tab[5] = ccsds_command->ccsds_header->packetLength0;
221 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
221 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
222 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
222 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
223 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
223 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
224 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
224 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
225 tab[10]=0x00;
225 tab[10]=0x00;
226 tab[11]=0x00;
226 tab[11]=0x00;
227 tab[12]=0x00;
227 tab[12]=0x00;
228 tab[13]=0x00;
228 tab[13]=0x00;
229 tab[14]=0x00;
229 tab[14]=0x00;
230 tab[15]=0x00;
230 tab[15]=0x00;
231 tab[nbBYTES_application_data+10] = packetErrorControl1;
231 tab[nbBYTES_application_data+10] = packetErrorControl1;
232 tab[nbBYTES_application_data+11] = packetErrorControl0;
232 tab[nbBYTES_application_data+11] = packetErrorControl0;
233
233
234 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
234 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
235
235
236 free(tab);
236 free(tab);
237 }
237 }
238
238
239 void rmapplugin::openBridge()
239 void rmapplugin::openBridge()
240 {
240 {
241 switch(currentBridge)
241 switch(currentBridge)
242 {
242 {
243 case selectedBridgeIsGRESB :
243 case selectedBridgeIsGRESB :
244 this->UI->gresbBridge->Open();
244 this->UI->gresbBridge->Open();
245 break;
245 break;
246 case selectedBridgeIsStarDundee :
246 case selectedBridgeIsStarDundee :
247 this->UI->starDundee->Open();
247 this->UI->starDundee->Open();
248 break;
248 break;
249 default:
249 default:
250 break;
250 break;
251 }
251 }
252 }
252 }
253
253
254 void rmapplugin::closeBridge()
254 void rmapplugin::closeBridge()
255 {
255 {
256 switch(currentBridge)
256 switch(currentBridge)
257 {
257 {
258 case selectedBridgeIsGRESB :
258 case selectedBridgeIsGRESB :
259 this->UI->gresbBridge->Close();
259 this->UI->gresbBridge->Close();
260 break;
260 break;
261 case selectedBridgeIsStarDundee :
261 case selectedBridgeIsStarDundee :
262 this->UI->starDundee->Close();
262 this->UI->starDundee->Close();
263 break;
263 break;
264 default:
264 default:
265 break;
265 break;
266 }
266 }
267 }
267 }
268
268
269 void rmapplugin::send_TC_LFR_UPDATE_TIME()
269 void rmapplugin::send_TC_LFR_UPDATE_TIME()
270 {
270 {
271 unsigned int nbBYTES_application_data = 6; // Time at CUC format is on 48 bits / 6 bytes
271 unsigned int nbBYTES_application_data = 6; // Time at CUC format is on 48 bits / 6 bytes
272 unsigned int count;
272 unsigned int count;
273 char *tab;
273 char *tab;
274 unsigned char packetErrorControl1 = 0xaa;
274 unsigned char packetErrorControl1 = 0xaa;
275 unsigned char packetErrorControl0 = 0xbb;
275 unsigned char packetErrorControl0 = 0xbb;
276
276
277 ccsds_command = new ccsds(1, 11, 0, nbBYTES_application_data, 1, 1, 9, 129, 0);
277 ccsds_command = new ccsds(1, 11, 0, nbBYTES_application_data, 1, 1, 9, 129, 0);
278 /* unsigned char data_field_header,
278 /* unsigned char data_field_header,
279 unsigned char processID,
279 unsigned char processID,
280 unsigned int sequence_count,
280 unsigned int sequence_count,
281 unsigned int packet_length,
281 unsigned int packet_length,
282 unsigned char acceptance,
282 unsigned char acceptance,
283 unsigned int completion,
283 unsigned int completion,
284 unsigned char service_type,
284 unsigned char service_type,
285 unsigned char service_subtype,
285 unsigned char service_subtype,
286 unsigned char sourceID*/
286 unsigned char sourceID*/
287
287
288 count = nbBYTES_application_data+12; // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
288 count = nbBYTES_application_data+12; // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
289 tab = (char*) malloc(count);
289 tab = (char*) malloc(count);
290 tab[0] = ccsds_command->ccsds_header->packetId1;
290 tab[0] = ccsds_command->ccsds_header->packetId1;
291 tab[1] = ccsds_command->ccsds_header->packetId0;
291 tab[1] = ccsds_command->ccsds_header->packetId0;
292 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
292 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
293 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
293 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
294 tab[4] = ccsds_command->ccsds_header->packetLength1;
294 tab[4] = ccsds_command->ccsds_header->packetLength1;
295 tab[5] = ccsds_command->ccsds_header->packetLength0;
295 tab[5] = ccsds_command->ccsds_header->packetLength0;
296 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
296 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
297 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
297 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
298 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
298 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
299 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
299 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
300 tab[10] = (unsigned char) (time_COARSE>>24);
300 tab[10] = (unsigned char) (time_COARSE>>24);
301 tab[11] = (unsigned char) (time_COARSE>>18);
301 tab[11] = (unsigned char) (time_COARSE>>18);
302 tab[12] = (unsigned char) (time_COARSE>>8);
302 tab[12] = (unsigned char) (time_COARSE>>8);
303 tab[13] = (unsigned char) (time_COARSE);
303 tab[13] = (unsigned char) (time_COARSE);
304 tab[14] = (unsigned char) (time_FINE>>8);
304 tab[14] = (unsigned char) (time_FINE>>8);
305 tab[15] = (unsigned char) (time_FINE);
305 tab[15] = (unsigned char) (time_FINE);
306 tab[nbBYTES_application_data+10] = packetErrorControl1;
306 tab[nbBYTES_application_data+10] = packetErrorControl1;
307 tab[nbBYTES_application_data+11] = packetErrorControl0;
307 tab[nbBYTES_application_data+11] = packetErrorControl0;
308
308
309 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
309 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
310
310
311 time_COARSE = time_COARSE+1;
311 time_COARSE = time_COARSE+1;
312
312
313 free(tab);
313 free(tab);
314 }
314 }
315
315
316 void rmapplugin::reset_TC_LFR_UPDATE_TIME()
316 void rmapplugin::reset_TC_LFR_UPDATE_TIME()
317 {
317 {
318 time_COARSE = 0;
318 time_COARSE = 0;
319 time_FINE = 0;
319 time_FINE = 0;
320 }
320 }
321
321
322 void rmapplugin::RMAP_write_reply_setText(QString text)
322 void rmapplugin::RMAP_write_reply_setText(QString text)
323 {
323 {
324 this->UI->RMAP_write_reply->setText(text);
324 this->UI->RMAP_write_reply->setText(text);
325 }
325 }
326
326
327 void rmapplugin::appendToLog(QString text)
327 void rmapplugin::appendToLog(QString text)
328 {
328 {
329 APPENDTOLOG(text);
329 APPENDTOLOG(text);
330 }
330 }
331
331
332 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
332 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
333 {
333 {
334 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
334 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
335 }
335 }
336
336
337 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
337 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
338 {
338 {
339 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
339 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
340 }
340 }
341
341
342 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
342 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
343 {
343 {
344 preProcessPacket(packet);
344 preProcessPacket(packet);
345 this->generalCCSDSPacketStore.append(packet);
345 this->generalCCSDSPacketStore.append(packet);
346 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.count()));
346 processPacketStore();
347 processPacketStore();
347 }
348 }
348
349
349 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
350 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
350 {
351 {
351 unsigned char typ = 0;
352 unsigned char typ = 0;
352 unsigned char sub = 0;
353 unsigned char sub = 0;
353 unsigned char sid = 0;
354 unsigned char sid = 0;
354 unsigned char pkt_nr = 0;
355 unsigned char pkt_nr = 0;
355 unsigned int blk_nr = 0;
356 unsigned int blk_nr = 0;
356 unsigned int i = 0;
357 unsigned int i = 0;
357 unsigned int j = 0;
358 unsigned int j = 0;
358 unsigned char *data;
359 unsigned char *data;
359
360
360 typ = packet->Value[11]; // TYPE
361 typ = packet->Value[11]; // TYPE
361 sub = packet->Value[12]; // SUBTYPE
362 sub = packet->Value[12]; // SUBTYPE
362 if ( (typ == 21) & (sub == 3) )
363 if ( (typ == 21) & (sub == 3) )
363 {
364 {
364 sid = packet->Value[20]; // SID
365 sid = packet->Value[20]; // SID
365 pkt_nr = packet->Value[23]; // PKT_NR
366 pkt_nr = packet->Value[23]; // PKT_NR
366 blk_nr = packet->Value[24] * 256 + packet->Value[25];
367 blk_nr = packet->Value[24] * 256 + packet->Value[25];
367 switch (sid){
368 switch (sid){
368 case SID_NORMAL_SWF_F0:
369 case SID_NORMAL_SWF_F0:
369 emit displayOnConsole("wf packet received, sid: " + QString::number(sid)
370 emit displayOnConsole("wf packet received, sid: " + QString::number(sid)
370 + ", pkt_nr: " + QString::number(pkt_nr)
371 + ", pkt_nr: " + QString::number(pkt_nr)
371 + ", blk_nr: " + QString::number(blk_nr)
372 + ", blk_nr: " + QString::number(blk_nr)
372 );
373 );
373 data = &packet->Value[26]; // start of the first data block;
374 data = &packet->Value[26]; // start of the first data block;
374 j = (pkt_nr-1) * 340;
375 j = (pkt_nr-1) * 340;
375 for ( i=0; i<blk_nr; i++ ){
376 for ( i=0; i<blk_nr; i++ ){
376 normal_swf_f0_v[j + i] = (short) ( (data[i * BLK_SIZE ] << 8) + (data[i*BLK_SIZE + 1]) );
377 normal_swf_f0_v[j + i] = (short) ( (data[i * BLK_SIZE ] << 8) + (data[i*BLK_SIZE + 1]) );
377 normal_swf_f0_e1[j + i] = (short) ( (data[i * BLK_SIZE + 2] << 8) + (data[i*BLK_SIZE + 3]) );
378 normal_swf_f0_e1[j + i] = (short) ( (data[i * BLK_SIZE + 2] << 8) + (data[i*BLK_SIZE + 3]) );
378 normal_swf_f0_e2[j + i] = (short) ( (data[i * BLK_SIZE + 4] << 8) + (data[i*BLK_SIZE + 5]) );
379 normal_swf_f0_e2[j + i] = (short) ( (data[i * BLK_SIZE + 4] << 8) + (data[i*BLK_SIZE + 5]) );
379 normal_swf_f0_b1[j + i] = (short) ( (data[i * BLK_SIZE + 6] << 8) + (data[i*BLK_SIZE + 7]) );
380 normal_swf_f0_b1[j + i] = (short) ( (data[i * BLK_SIZE + 6] << 8) + (data[i*BLK_SIZE + 7]) );
380 normal_swf_f0_b2[j + i] = (short) ( (data[i * BLK_SIZE + 8] << 8) + (data[i*BLK_SIZE + 9]) );
381 normal_swf_f0_b2[j + i] = (short) ( (data[i * BLK_SIZE + 8] << 8) + (data[i*BLK_SIZE + 9]) );
381 normal_swf_f0_b3[j + i] = (short) ( (data[i * BLK_SIZE + 10] << 8) + (data[i*BLK_SIZE + 11]) );
382 normal_swf_f0_b3[j + i] = (short) ( (data[i * BLK_SIZE + 10] << 8) + (data[i*BLK_SIZE + 11]) );
382 }
383 }
383 if (pkt_nr == 7)
384 if (pkt_nr == 7)
384 {
385 {
385 emit displayOnConsole("all packets received, display waveform");
386 emit displayOnConsole("all packets received, display waveform");
386 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_v, 0);
387 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_v, 0);
387 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_e1, 1);
388 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_e1, 1);
388 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_e2, 2);
389 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_e2, 2);
389 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_b1, 3);
390 this->UI->wfDisplay->displayOnPlot(normal_swf_f0_b1, 3);
390 }
391 }
391 break;
392 break;
392 case SID_NORMAL_SWF_F1:
393 case SID_NORMAL_SWF_F1:
393 break;
394 break;
394 case SID_NORMAL_SWF_F2:
395 case SID_NORMAL_SWF_F2:
395 break;
396 break;
396 case SID_NORMAL_CWF_F3:
397 case SID_NORMAL_CWF_F3:
397 break;
398 break;
398 }
399 }
399 }
400 }
400 }
401 }
401
402
402 /////////////////////
403 /////////////////////
403 // INTERNAL FUNCTIONS
404 // INTERNAL FUNCTIONS
404
405
405 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
406 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
406 {
407 {
407 QString message;
408 QString message;
408 unsigned int fine_time_value = 0;
409 unsigned int fine_time_value = 0;
409 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
410 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
410 + ((unsigned int) ccsdsPacket[6]<<16)
411 + ((unsigned int) ccsdsPacket[6]<<16)
411 + ((unsigned int) ccsdsPacket[5]<<8)
412 + ((unsigned int) ccsdsPacket[5]<<8)
412 + ((unsigned int) ccsdsPacket[4]);
413 + ((unsigned int) ccsdsPacket[4]);
413 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
414 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
414 message.append("size "
415 message.append("size "
415 + QString::number(size)
416 + QString::number(size)
416 +" *** header "
417 +" *** header "
417 + QString::number(ccsdsPacket[0], 16)
418 + QString::number(ccsdsPacket[0], 16)
418 + " "
419 + " "
419 + QString::number(ccsdsPacket[1], 16)
420 + QString::number(ccsdsPacket[1], 16)
420 + " "
421 + " "
421 + QString::number(ccsdsPacket[2], 16)
422 + QString::number(ccsdsPacket[2], 16)
422 + " "
423 + " "
423 + QString::number(ccsdsPacket[3], 16)
424 + QString::number(ccsdsPacket[3], 16)
424 + " *** coarse time "
425 + " *** coarse time "
425 + QString::number(fine_time_value));
426 + QString::number(fine_time_value));
426 //+ QString::number(ccsdsPacket[4], 16)
427 //+ QString::number(ccsdsPacket[4], 16)
427 //+" "
428 //+" "
428 //+ QString::number(ccsdsPacket[5], 16)
429 //+ QString::number(ccsdsPacket[5], 16)
429 //+" "
430 //+" "
430 //+ QString::number(ccsdsPacket[6], 16)
431 //+ QString::number(ccsdsPacket[6], 16)
431 //+" "
432 //+" "
432 //+ QString::number(ccsdsPacket[7], 16));
433 //+ QString::number(ccsdsPacket[7], 16));
433 displayOnConsole(message);
434 displayOnConsole(message);
434 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
435 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
435 emit ccsdsPacketIsProcessed();
436 emit ccsdsPacketIsProcessed();
436 }
437 }
437
438
438 void rmapplugin::processPacketStore()
439 void rmapplugin::processPacketStore()
439 {
440 {
440 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
441 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
441 }
442 }
442
443
443 int rmapplugin::fetchPacket()
444 int rmapplugin::fetchPacket()
444 {
445 {
445 int ret = 0;
446 int ret = 0;
446
447
447 switch(currentBridge)
448 switch(currentBridge)
448 {
449 {
449 case selectedBridgeIsGRESB :
450 case selectedBridgeIsGRESB :
450 break;
451 break;
451 case selectedBridgeIsStarDundee :
452 case selectedBridgeIsStarDundee :
452 ret = this->UI->starDundee->receiveSPWPacketLoop();
453 ret = this->UI->starDundee->receiveSPWPacketLoop();
453 break;
454 break;
454 default:
455 default:
455 break;
456 break;
456 }
457 }
457
458
458 return ret;
459 return ret;
459 }
460 }
@@ -1,165 +1,146
1 #include "rmappluginpythonwrapper.h"
1 #include "rmappluginpythonwrapper.h"
2 #include <math.h>
2 #include <math.h>
3 #include <QApplication>
3 #include <QApplication>
4
4
5 rmappluginPythonWrapper::rmappluginPythonWrapper(QObject *parent) :
5 rmappluginPythonWrapper::rmappluginPythonWrapper(QObject *parent) :
6 genericPySysdriver(parent)
6 genericPySysdriver(parent)
7 {
7 {
8 timer = new QTimer;
8 timer = new QTimer;
9 timer->setSingleShot(true);
9 timer->setSingleShot(true);
10 connect(timer, SIGNAL(timeout()), this, SLOT(sendTC()));
10 connect(timer, SIGNAL(timeout()), this, SLOT(sendTC()));
11 connect(this, SIGNAL(activateTCLoopSig()), this, SLOT(sendTCLoop()));
11 connect(this, SIGNAL(activateTCLoopSig()), this, SLOT(sendTCLoop()));
12 }
12 }
13
13
14 QList<QVariant> rmappluginPythonWrapper::ReadSPW(unsigned int size) // size is not used
14 QList<QVariant> rmappluginPythonWrapper::ReadSPW(unsigned int size) // size is not used
15 {
15 {
16 QList<QVariant> result;
16 QList<QVariant> result;
17 TMPacketToRead *ccsdsPacket;
17 TMPacketToRead *ccsdsPacket;
18
18
19 if (!ccsdsPacketStore->isEmpty())
19 if (!ccsdsPacketStore->isEmpty())
20 {
20 {
21 ccsdsPacket = ccsdsPacketStore->takeFirst();
21 ccsdsPacket = ccsdsPacketStore->takeFirst();
22 for(unsigned int i = 0;i<ccsdsPacket->size;i++)
22 for(unsigned int i = 0;i<ccsdsPacket->size;i++)
23 {
23 {
24 result.append((QVariant)ccsdsPacket->Value[i]);
24 result.append((QVariant)ccsdsPacket->Value[i]);
25 }
25 }
26 delete(ccsdsPacket);
26 delete(ccsdsPacket);
27 }
27 }
28
28
29 return result;
29 return result;
30 }
30 }
31
31
32 void rmappluginPythonWrapper::WriteSPW(QList<int> dataList)
32 void rmappluginPythonWrapper::WriteSPW(QList<int> dataList)
33 {
33 {
34 char targetLogicalAddress;
34 char targetLogicalAddress;
35 char userApplication;
35 char userApplication;
36 unsigned int count;
36 unsigned int count;
37 char *Value;
37 char *Value;
38
38
39 unsigned char data[dataList.count()];
39 unsigned char data[dataList.count()];
40
40
41 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
41 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
42 {
42 {
43 data[i] = (unsigned char)dataList.at(i);
43 data[i] = (unsigned char)dataList.at(i);
44 }
44 }
45 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
45 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
46 targetLogicalAddress = data[0];
46 targetLogicalAddress = data[0];
47 userApplication = data[3];
47 userApplication = data[3];
48
48
49 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
49 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
50 Value = (char*) &data[4];
50 Value = (char*) &data[4];
51
51
52 emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);
52 emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);
53 }
53 }
54
54
55 void rmappluginPythonWrapper::WriteSPWDelay(QList<int> dataList, unsigned int delay)
55 void rmappluginPythonWrapper::WriteSPWDelay(QList<int> dataList, unsigned int delay)
56 {
56 {
57 char targetLogicalAddress;
57 char targetLogicalAddress;
58 char userApplication;
58 char userApplication;
59 unsigned int count;
59 unsigned int count;
60 char *Value;
60 char *Value;
61 TCPacketToSend *packet;
61 TCPacketToSend *packet;
62
62
63 unsigned char data[dataList.count()];
63 unsigned char data[dataList.count()];
64
64
65 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
65 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
66 {
66 {
67 data[i] = (unsigned char)dataList.at(i);
67 data[i] = (unsigned char)dataList.at(i);
68 }
68 }
69 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
69 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
70 targetLogicalAddress = data[0];
70 targetLogicalAddress = data[0];
71 userApplication = data[3];
71 userApplication = data[3];
72
72
73 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
73 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
74 Value = (char*) &data[4];
74 Value = (char*) &data[4];
75
75
76 packet = new TCPacketToSend(Value, count, targetLogicalAddress, userApplication, delay);
76 packet = new TCPacketToSend(Value, count, targetLogicalAddress, userApplication, delay);
77 TCPacketStore.append(packet);
77 TCPacketStore.append(packet);
78
78
79 emit(activateTCLoopSig());
79 emit(activateTCLoopSig());
80
80
81 }
81 }
82
82
83 void rmappluginPythonWrapper::processPacketStoreLater(unsigned int delay)
83 void rmappluginPythonWrapper::processPacketStoreLater(unsigned int delay)
84 {
84 {
85 emit sendMessage(
85 emit sendMessage(
86 "*** process packet store in " + QString::number(delay) + " ms"
86 "*** process packet store in " + QString::number(delay) + " ms"
87 );
87 );
88 QTimer::singleShot(delay, this, SLOT(sendProcessPacketStoreNowSig()));
88 QTimer::singleShot(delay, this, SLOT(sendProcessPacketStoreNowSig()));
89 }
89 }
90
90
91 void rmappluginPythonWrapper::sendTCLoop()
91 void rmappluginPythonWrapper::sendTCLoop()
92 {
92 {
93 unsigned int delay;
93 unsigned int delay;
94
94
95 if (!timer->isActive())
95 if (!timer->isActive())
96 {
96 {
97 if (!TCPacketStore.isEmpty())
97 if (!TCPacketStore.isEmpty())
98 {
98 {
99 delay = TCPacketStore.at(0)->delay;
99 delay = TCPacketStore.at(0)->delay;
100 timer->setInterval(delay);
100 timer->setInterval(delay);
101 timer->start();
101 timer->start();
102 }
102 }
103 }
103 }
104 }
104 }
105
105
106 void rmappluginPythonWrapper::sendTC()
106 void rmappluginPythonWrapper::sendTC()
107 {
107 {
108 TCPacketToSend *packet;
108 TCPacketToSend *packet;
109 unsigned int delay;
109 unsigned int delay;
110
110
111 packet = TCPacketStore.takeFirst();
111 packet = TCPacketStore.takeFirst();
112 // the signal is connected with the option Qt::DirectConnection, thus it is processed immediately
112 // the signal is connected with the option Qt::DirectConnection, thus it is processed immediately
113 emit(WriteSPWSig(packet->Value, packet->count,packet->targetLogicalAddress, packet->userApplication));
113 emit(WriteSPWSig(packet->Value, packet->count,packet->targetLogicalAddress, packet->userApplication));
114 delete(packet);
114 delete(packet);
115 if (!TCPacketStore.isEmpty())
115 if (!TCPacketStore.isEmpty())
116 {
116 {
117 delay = TCPacketStore.at(0)->delay;
117 delay = TCPacketStore.at(0)->delay;
118 timer->setInterval(delay);
118 timer->setInterval(delay);
119 timer->start();
119 timer->start();
120 }
120 }
121 }
121 }
122
122
123 /*unsigned int rmappluginPythonWrapper::storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size)
124 {
125 unsigned int i;
126 TMPacketToRead ccsdsPacketToStore;
127
128 ccsdsPacketToStore.size = size;
129 for(i=0; i<size; i++)
130 {
131 //ccsdsPacket0[i] = ccsdsPacket[i];
132 ccsdsPacketToStore.data[i] = ccsdsPacket[i];
133 }
134 ccsdsPacketStore->append(ccsdsPacketToStore);
135 emit ccsdsPacketIsAvailable(size);
136 return 1;
137 }*/
138
139 void rmappluginPythonWrapper::processPacketStore()
123 void rmappluginPythonWrapper::processPacketStore()
140 {
124 {
141 while (!ccsdsPacketStore->isEmpty())
125 emit ccsdsPacketIsAvailable(ccsdsPacketStore->at(0)->size);
142 {
143 emit ccsdsPacketIsAvailable(ccsdsPacketStore->at(0)->size);
144 }
145 }
126 }
146
127
147 void rmappluginPythonWrapper::setTargetAddressValue(unsigned int address)
128 void rmappluginPythonWrapper::setTargetAddressValue(unsigned int address)
148 {
129 {
149 unsigned char newAddress;
130 unsigned char newAddress;
150 newAddress = (unsigned char) address;
131 newAddress = (unsigned char) address;
151 emit updateTargetAddress(newAddress);
132 emit updateTargetAddress(newAddress);
152 }
133 }
153
134
154 void rmappluginPythonWrapper::setSourceAddressValue(unsigned int address)
135 void rmappluginPythonWrapper::setSourceAddressValue(unsigned int address)
155 {
136 {
156 unsigned char newAddress;
137 unsigned char newAddress;
157 newAddress = (unsigned char) address;
138 newAddress = (unsigned char) address;
158 emit updateSourceAddress(newAddress);
139 emit updateSourceAddress(newAddress);
159 }
140 }
160
141
161 void rmappluginPythonWrapper::ProcessPendingEvents()
142 void rmappluginPythonWrapper::ProcessPendingEvents()
162 {
143 {
163 QCoreApplication::processEvents();
144 QCoreApplication::processEvents();
164 }
145 }
165
146
General Comments 0
You need to be logged in to leave comments. Login now