@@ -1,6 +1,6 | |||
|
1 | 1 | ############################################################################# |
|
2 | 2 | # Makefile for building: bin/fsw-vhdl-dev |
|
3 |
# Generated by qmake (2.01a) (Qt 4.8.5) on: |
|
|
3 | # Generated by qmake (2.01a) (Qt 4.8.5) on: Thu Feb 6 09:29:25 2014 | |
|
4 | 4 | # Project: fsw-qt.pro |
|
5 | 5 | # Template: app |
|
6 | 6 | # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro |
@@ -1,10 +1,10 | |||
|
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
|
2 | 2 | <!DOCTYPE QtCreatorProject> |
|
3 |
<!-- Written by QtCreator 3.0.0, 2014-0 |
|
|
3 | <!-- Written by QtCreator 3.0.0, 2014-02-06T15:45:54. --> | |
|
4 | 4 | <qtcreator> |
|
5 | 5 | <data> |
|
6 | 6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
|
7 |
<value type="int"> |
|
|
7 | <value type="int">1</value> | |
|
8 | 8 | </data> |
|
9 | 9 | <data> |
|
10 | 10 | <variable>ProjectExplorer.Project.EditorSettings</variable> |
@@ -25,7 +25,7 | |||
|
25 | 25 | </valuemap> |
|
26 | 26 | </valuemap> |
|
27 | 27 | <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> |
|
28 |
<value type="QByteArray" key="EditorConfiguration.Codec"> |
|
|
28 | <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> | |
|
29 | 29 | <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> |
|
30 | 30 | <value type="int" key="EditorConfiguration.IndentSize">4</value> |
|
31 | 31 | <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> |
@@ -51,14 +51,14 | |||
|
51 | 51 | <data> |
|
52 | 52 | <variable>ProjectExplorer.Project.Target.0</variable> |
|
53 | 53 | <valuemap type="QVariantMap"> |
|
54 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop |
|
|
55 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop |
|
|
56 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ |
|
|
54 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> | |
|
55 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> | |
|
56 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{e04e3924-0bd8-4708-be18-f1474e45608e}</value> | |
|
57 | 57 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> |
|
58 | 58 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> |
|
59 |
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration"> |
|
|
59 | <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> | |
|
60 | 60 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> |
|
61 |
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"> |
|
|
61 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
|
62 | 62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
63 | 63 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
64 | 64 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
@@ -66,7 +66,7 | |||
|
66 | 66 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
67 | 67 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> |
|
68 | 68 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> |
|
69 |
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto"> |
|
|
69 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> | |
|
70 | 70 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> |
|
71 | 71 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> |
|
72 | 72 | </valuemap> |
@@ -80,7 +80,7 | |||
|
80 | 80 | <value type="QString">-r</value> |
|
81 | 81 | </valuelist> |
|
82 | 82 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> |
|
83 |
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"> |
|
|
83 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
|
84 | 84 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
85 | 85 | </valuemap> |
|
86 | 86 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
@@ -99,7 +99,7 | |||
|
99 | 99 | <value type="QString">-r</value> |
|
100 | 100 | </valuelist> |
|
101 | 101 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> |
|
102 |
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"> |
|
|
102 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
|
103 | 103 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
104 | 104 | </valuemap> |
|
105 | 105 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> |
@@ -110,14 +110,93 | |||
|
110 | 110 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
|
111 | 111 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
|
112 | 112 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
|
113 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"> |
|
|
113 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> | |
|
114 | 114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
115 | 115 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
116 | 116 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> |
|
117 |
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild"> |
|
|
117 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
|
118 | </valuemap> | |
|
119 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value> | |
|
120 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> | |
|
121 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
|
122 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> | |
|
123 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> | |
|
124 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
|
125 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> | |
|
126 | </valuemap> | |
|
127 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> | |
|
128 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> | |
|
129 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
|
130 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> | |
|
118 | 131 | </valuemap> |
|
119 |
<value |
|
|
120 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</value> | |
|
132 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> | |
|
133 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> | |
|
134 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> | |
|
135 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
|
136 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
|
137 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> | |
|
138 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> | |
|
139 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> | |
|
140 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> | |
|
141 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
|
142 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
|
143 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
|
144 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |
|
145 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
|
146 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> | |
|
147 | <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> | |
|
148 | <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> | |
|
149 | <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> | |
|
150 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
|
151 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
|
152 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
|
153 | <value type="int">0</value> | |
|
154 | <value type="int">1</value> | |
|
155 | <value type="int">2</value> | |
|
156 | <value type="int">3</value> | |
|
157 | <value type="int">4</value> | |
|
158 | <value type="int">5</value> | |
|
159 | <value type="int">6</value> | |
|
160 | <value type="int">7</value> | |
|
161 | <value type="int">8</value> | |
|
162 | <value type="int">9</value> | |
|
163 | <value type="int">10</value> | |
|
164 | <value type="int">11</value> | |
|
165 | <value type="int">12</value> | |
|
166 | <value type="int">13</value> | |
|
167 | <value type="int">14</value> | |
|
168 | </valuelist> | |
|
169 | <value type="int" key="PE.EnvironmentAspect.Base">2</value> | |
|
170 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> | |
|
171 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">fsw-qt</value> | |
|
172 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
|
173 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/DEV_PLE/FSW-qt/fsw-qt.pro</value> | |
|
174 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value> | |
|
175 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">fsw-qt.pro</value> | |
|
176 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> | |
|
177 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">true</value> | |
|
178 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> | |
|
179 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> | |
|
180 | <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> | |
|
181 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> | |
|
182 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> | |
|
183 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
|
184 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
|
185 | </valuemap> | |
|
186 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> | |
|
187 | </valuemap> | |
|
188 | </data> | |
|
189 | <data> | |
|
190 | <variable>ProjectExplorer.Project.Target.1</variable> | |
|
191 | <valuemap type="QVariantMap"> | |
|
192 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value> | |
|
193 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value> | |
|
194 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value> | |
|
195 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> | |
|
196 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> | |
|
197 | <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> | |
|
198 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> | |
|
199 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
|
121 | 200 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
122 | 201 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
123 | 202 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
@@ -125,7 +204,7 | |||
|
125 | 204 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
126 | 205 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> |
|
127 | 206 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> |
|
128 |
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto"> |
|
|
207 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> | |
|
129 | 208 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> |
|
130 | 209 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> |
|
131 | 210 | </valuemap> |
@@ -139,7 +218,7 | |||
|
139 | 218 | <value type="QString">-r</value> |
|
140 | 219 | </valuelist> |
|
141 | 220 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> |
|
142 |
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"> |
|
|
221 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
|
143 | 222 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
144 | 223 | </valuemap> |
|
145 | 224 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
@@ -158,7 +237,7 | |||
|
158 | 237 | <value type="QString">-r</value> |
|
159 | 238 | </valuelist> |
|
160 | 239 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> |
|
161 |
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"> |
|
|
240 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
|
162 | 241 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
163 | 242 | </valuemap> |
|
164 | 243 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> |
@@ -169,13 +248,13 | |||
|
169 | 248 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
|
170 | 249 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
|
171 | 250 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
|
172 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"> |
|
|
251 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> | |
|
173 | 252 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
174 | 253 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
175 |
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration"> |
|
|
176 |
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild"> |
|
|
254 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> | |
|
255 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
|
177 | 256 | </valuemap> |
|
178 |
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount"> |
|
|
257 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value> | |
|
179 | 258 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> |
|
180 | 259 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
181 | 260 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
@@ -184,7 +263,7 | |||
|
184 | 263 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> |
|
185 | 264 | </valuemap> |
|
186 | 265 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> |
|
187 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"> |
|
|
266 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> | |
|
188 | 267 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
189 | 268 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> |
|
190 | 269 | </valuemap> |
@@ -240,65 +319,14 | |||
|
240 | 319 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> |
|
241 | 320 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> |
|
242 | 321 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
|
243 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value> | |
|
244 | </valuemap> | |
|
245 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1"> | |
|
246 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
|
247 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
|
248 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> | |
|
249 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> | |
|
250 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> | |
|
251 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> | |
|
252 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
|
253 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
|
254 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
|
255 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |
|
256 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
|
257 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> | |
|
258 | <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> | |
|
259 | <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> | |
|
260 | <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> | |
|
261 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
|
262 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
|
263 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
|
264 | <value type="int">0</value> | |
|
265 | <value type="int">1</value> | |
|
266 | <value type="int">2</value> | |
|
267 | <value type="int">3</value> | |
|
268 | <value type="int">4</value> | |
|
269 | <value type="int">5</value> | |
|
270 | <value type="int">6</value> | |
|
271 | <value type="int">7</value> | |
|
272 | <value type="int">8</value> | |
|
273 | <value type="int">9</value> | |
|
274 | <value type="int">10</value> | |
|
275 | <value type="int">11</value> | |
|
276 | <value type="int">12</value> | |
|
277 | <value type="int">13</value> | |
|
278 | <value type="int">14</value> | |
|
279 | </valuelist> | |
|
280 | <value type="int" key="PE.EnvironmentAspect.Base">2</value> | |
|
281 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> | |
|
282 | <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value> | |
|
283 | <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">doxygen</value> | |
|
284 | <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">true</value> | |
|
285 | <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">/opt/DEV_PLE/doc</value> | |
|
286 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run doxygen</value> | |
|
287 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
|
288 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value> | |
|
289 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> | |
|
290 | <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> | |
|
291 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> | |
|
292 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> | |
|
293 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
|
294 | 322 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
|
295 | 323 | </valuemap> |
|
296 |
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount"> |
|
|
324 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> | |
|
297 | 325 | </valuemap> |
|
298 | 326 | </data> |
|
299 | 327 | <data> |
|
300 | 328 | <variable>ProjectExplorer.Project.TargetCount</variable> |
|
301 |
<value type="int"> |
|
|
329 | <value type="int">2</value> | |
|
302 | 330 | </data> |
|
303 | 331 | <data> |
|
304 | 332 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> |
@@ -210,19 +210,21 enum apid_destid{ | |||
|
210 | 210 | // R1 |
|
211 | 211 | #define TM_LEN_SCI_SWF_340 4101 // 340 * 12 + 10 + 12 - 1 |
|
212 | 212 | #define TM_LEN_SCI_SWF_8 117 // 8 * 12 + 10 + 12 - 1 |
|
213 | // R2 | |
|
214 | #define TM_LEN_SCI_SWF_304 3669 // 304 * 12 + 10 + 12 - 1 | |
|
215 | #define TM_LEN_SCI_SWF_224 2709 // 224 * 12 + 10 + 12 - 1 | |
|
216 | // | |
|
217 | 213 | #define TM_LEN_SCI_CWF_340 4099 // 340 * 12 + 10 + 10 - 1 |
|
218 | 214 | #define TM_LEN_SCI_CWF_8 115 // 8 * 12 + 10 + 10 - 1 |
|
219 | 215 | #define TM_LEN_SCI_CWF3_LIGHT_340 2059 // 340 * 6 + 10 + 10 - 1 |
|
220 | 216 | #define TM_LEN_SCI_CWF3_LIGHT_8 67 // 8 * 6 + 10 + 10 - 1 |
|
221 | #define DEFAULT_PKTCNT 0x07 | |
|
222 | #define BLK_NR_340 0x0154 | |
|
223 | #define BLK_NR_8 0x0008 | |
|
224 | #define BLK_NR_304 0x0130 | |
|
225 | #define BLK_NR_224 0x00e0 | |
|
217 | // R2 | |
|
218 | #define TM_LEN_SCI_SWF_304 3669 // 304 * 12 + 10 + 12 - 1 | |
|
219 | #define TM_LEN_SCI_SWF_224 2709 // 224 * 12 + 10 + 12 - 1 | |
|
220 | #define TM_LEN_SCI_CWF_336 4051 // 336 * 12 + 10 + 10 - 1 | |
|
221 | #define TM_LEN_SCI_CWF_672 4051 // 672 * 6 + 10 + 10 - 1 | |
|
222 | // | |
|
223 | #define DEFAULT_PKTCNT 0x07 | |
|
224 | #define BLK_NR_304 0x0130 | |
|
225 | #define BLK_NR_224 0x00e0 | |
|
226 | #define BLK_NR_CWF 0x0150 // 336 | |
|
227 | #define BLK_NR_CWF_SHORT_F3 0x02a0 // 672 | |
|
226 | 228 | |
|
227 | 229 | enum TM_TYPE{ |
|
228 | 230 | TM_LFR_TC_EXE_OK, |
@@ -9,6 +9,14 | |||
|
9 | 9 | #define GRSPW_DEVICE_NAME "/dev/grspw0" |
|
10 | 10 | #define UART_DEVICE_NAME "/dev/console" |
|
11 | 11 | |
|
12 | typedef struct ring_node | |
|
13 | { | |
|
14 | struct ring_node *previous; | |
|
15 | int buffer_address; | |
|
16 | struct ring_node *next; | |
|
17 | unsigned int status; | |
|
18 | } ring_node; | |
|
19 | ||
|
12 | 20 | //************************ |
|
13 | 21 | // flight software version |
|
14 | 22 | // this parameters is handled by the Qt project options |
@@ -16,14 +24,18 | |||
|
16 | 24 | //#define NB_SAMPLES_PER_SNAPSHOT 2048 |
|
17 | 25 | #define NB_SAMPLES_PER_SNAPSHOT 2352 // 336 * 7 = 2352 |
|
18 | 26 | #define TIME_OFFSET 2 |
|
27 | #define TIME_OFFSET_IN_BYTES 8 | |
|
19 | 28 | #define WAVEFORM_EXTENDED_HEADER_OFFSET 22 |
|
20 | 29 | #define NB_BYTES_SWF_BLK (2 * 6) |
|
21 | 30 | #define NB_WORDS_SWF_BLK 3 |
|
22 | 31 | #define NB_BYTES_CWF3_LIGHT_BLK 6 |
|
23 | 32 | #define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8 |
|
24 | #define NB_RING_NODES_F0 3 // AT LEAST 3 | |
|
25 | #define NB_RING_NODES_F1 5 // AT LEAST 3 | |
|
26 | #define NB_RING_NODES_F2 5 // AT LEAST 3 | |
|
33 | #define NB_RING_NODES_F0 3 // AT LEAST 3 | |
|
34 | #define NB_RING_NODES_F1 5 // AT LEAST 3 | |
|
35 | #define NB_RING_NODES_F2 5 // AT LEAST 3 | |
|
36 | #define NB_RING_NODES_ASM_F0 8 // AT LEAST 3 | |
|
37 | #define NB_RING_NODES_ASM_F1 2 // AT LEAST 3 | |
|
38 | #define NB_RING_NODES_ASM_F2 2 // AT LEAST 3 | |
|
27 | 39 | |
|
28 | 40 | //********** |
|
29 | 41 | // LFR MODES |
@@ -1,10 +1,10 | |||
|
1 | 1 | #ifndef FSW_PARAMS_PROCESSING_H |
|
2 | 2 | #define FSW_PARAMS_PROCESSING_H |
|
3 | 3 | |
|
4 | #define NB_BINS_PER_SM 128 | |
|
5 | #define NB_VALUES_PER_SM 25 | |
|
6 | #define TOTAL_SIZE_SM 0 | |
|
7 | #define SM_HEADER 0 | |
|
4 | #define NB_BINS_PER_SM 128 // | |
|
5 | #define NB_VALUES_PER_SM 25 // | |
|
6 | #define TOTAL_SIZE_SM 3200 // 25 * 128 | |
|
7 | #define SM_HEADER 0 // | |
|
8 | 8 | |
|
9 | 9 | #define NB_BINS_COMPRESSED_SM_F0 11 |
|
10 | 10 | #define NB_BINS_COMPRESSED_SM_F1 13 |
@@ -11,24 +11,9 | |||
|
11 | 11 | #include "fsw_params.h" |
|
12 | 12 | #include "fsw_spacewire.h" |
|
13 | 13 | |
|
14 |
extern volatile int s |
|
|
15 |
extern volatile int s |
|
|
16 | extern volatile int spec_mat_f0_a[ ]; | |
|
17 | extern volatile int spec_mat_f0_b[ ]; | |
|
18 | extern volatile int spec_mat_f0_c[ ]; | |
|
19 | extern volatile int spec_mat_f0_d[ ]; | |
|
20 | extern volatile int spec_mat_f0_e[ ]; | |
|
21 | extern volatile int spec_mat_f0_f[ ]; | |
|
22 | extern volatile int spec_mat_f0_g[ ]; | |
|
23 | extern volatile int spec_mat_f0_h[ ]; | |
|
24 | ||
|
25 | extern volatile int spec_mat_f1[ ]; | |
|
26 | extern volatile int spec_mat_f2[ ]; | |
|
27 | ||
|
28 | extern volatile int spec_mat_f1_bis[ ]; | |
|
29 | extern volatile int spec_mat_f2_bis[ ]; | |
|
30 | extern volatile int spec_mat_f0_0_bis[ ]; | |
|
31 | extern volatile int spec_mat_f0_1_bis[ ]; | |
|
14 | extern volatile int sm_f0[ ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
15 | extern volatile int sm_f1[ ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
16 | extern volatile int sm_f2[ ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
32 | 17 | |
|
33 | 18 | // parameters |
|
34 | 19 | extern struct param_local_str param_local; |
@@ -40,6 +25,9 extern spectral_matrix_regs_t *spectral_ | |||
|
40 | 25 | extern rtems_name misc_name[5]; |
|
41 | 26 | extern rtems_id Task_id[20]; /* array of task ids */ |
|
42 | 27 | |
|
28 | // | |
|
29 | void init_asm_rings( void ); | |
|
30 | ||
|
43 | 31 | // ISR |
|
44 | 32 | rtems_isr spectral_matrices_isr( rtems_vector_number vector ); |
|
45 | 33 | rtems_isr spectral_matrices_isr_simu( rtems_vector_number vector ); |
@@ -12,14 +12,6 | |||
|
12 | 12 | |
|
13 | 13 | #define pi 3.1415 |
|
14 | 14 | |
|
15 | typedef struct ring_node | |
|
16 | { | |
|
17 | struct ring_node *previous; | |
|
18 | int buffer_address; | |
|
19 | struct ring_node *next; | |
|
20 | unsigned int status; | |
|
21 | } ring_node; | |
|
22 | ||
|
23 | 15 | extern int fdSPW; |
|
24 | 16 | |
|
25 | 17 | //***************** |
@@ -73,6 +65,8 int send_waveform_CWF( volatile int *wa | |||
|
73 | 65 | int send_waveform_CWF3( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
|
74 | 66 | int send_waveform_CWF3_light( volatile int *waveform, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
|
75 | 67 | // |
|
68 | void compute_acquisition_time(unsigned int *coarseTime, unsigned int *fineTime, unsigned int sid, unsigned char pa_lfr_pkt_nr ); | |
|
69 | // | |
|
76 | 70 | rtems_id get_pkts_queue_id( void ); |
|
77 | 71 | |
|
78 | 72 | //************** |
@@ -39,29 +39,14 volatile int wf_snap_f0[ NB_RING_NODES_F | |||
|
39 | 39 | volatile int wf_snap_f1[ NB_RING_NODES_F1 ][ (NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK) + TIME_OFFSET + 46 ] __attribute__((aligned(0x100))); |
|
40 | 40 | volatile int wf_snap_f2[ NB_RING_NODES_F2 ][ (NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK) + TIME_OFFSET + 46 ] __attribute__((aligned(0x100))); |
|
41 | 41 | // F3 |
|
42 | volatile int wf_cont_f3_a[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | |
|
43 | volatile int wf_cont_f3_b[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | |
|
44 |
char wf_cont_f3_light[ NB_SAMPLES_PER_SNAPSHOT * NB_BYTES_CWF3_LIGHT_BLK |
|
|
42 | volatile int wf_cont_f3_a [ (NB_SAMPLES_PER_SNAPSHOT) * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | |
|
43 | volatile int wf_cont_f3_b [ (NB_SAMPLES_PER_SNAPSHOT) * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | |
|
44 | char wf_cont_f3_light[ (NB_SAMPLES_PER_SNAPSHOT) * NB_BYTES_CWF3_LIGHT_BLK + TIME_OFFSET_IN_BYTES ] __attribute__((aligned(0x100))); | |
|
45 | 45 | |
|
46 | 46 | // SPECTRAL MATRICES GLOBAL VARIABLES |
|
47 |
volatile int s |
|
|
48 |
volatile int s |
|
|
49 |
volatile int s |
|
|
50 | volatile int spec_mat_f0_b[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
51 | volatile int spec_mat_f0_c[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
52 | volatile int spec_mat_f0_d[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
53 | volatile int spec_mat_f0_e[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
54 | volatile int spec_mat_f0_f[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
55 | volatile int spec_mat_f0_g[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
56 | volatile int spec_mat_f0_h[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
57 | volatile int spec_mat_f0_0_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
58 | volatile int spec_mat_f0_1_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
59 | // | |
|
60 | volatile int spec_mat_f1[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
61 | volatile int spec_mat_f1_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
62 | // | |
|
63 | volatile int spec_mat_f2[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
64 | volatile int spec_mat_f2_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
47 | volatile int sm_f0[ NB_RING_NODES_ASM_F0 ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
48 | volatile int sm_f1[ NB_RING_NODES_ASM_F1 ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
49 | volatile int sm_f2[ NB_RING_NODES_ASM_F2 ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
|
65 | 50 | |
|
66 | 51 | // APB CONFIGURATION REGISTERS |
|
67 | 52 | time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT; |
@@ -11,10 +11,48 | |||
|
11 | 11 | |
|
12 | 12 | #include "fsw_processing_globals.c" |
|
13 | 13 | |
|
14 | //************************ | |
|
15 | // spectral matrices rings | |
|
16 | ring_node sm_ring_f0[NB_RING_NODES_ASM_F0]; | |
|
17 | ring_node sm_ring_f1[NB_RING_NODES_ASM_F1]; | |
|
18 | ring_node sm_ring_f2[NB_RING_NODES_ASM_F2]; | |
|
19 | ring_node *current_ring_node_sm_f0; | |
|
20 | ring_node *current_ring_node_sm_f1; | |
|
21 | ring_node *current_ring_node_sm_f2; | |
|
22 | ||
|
14 | 23 | BP1_t data_BP1[ NB_BINS_COMPRESSED_SM_F0 ]; |
|
15 |
float averaged_s |
|
|
16 |
char averaged_s |
|
|
17 |
float compressed_s |
|
|
24 | float averaged_sm_f0[ TOTAL_SIZE_SM ]; | |
|
25 | char averaged_sm_f0_char[ TOTAL_SIZE_SM * 2 ]; | |
|
26 | float compressed_sm_f0[ TOTAL_SIZE_COMPRESSED_MATRIX_f0 ]; | |
|
27 | ||
|
28 | void init_asm_rings( void ) | |
|
29 | { | |
|
30 | unsigned char i; | |
|
31 | ||
|
32 | // F0 RING | |
|
33 | sm_ring_f0[0].next = (ring_node*) &sm_ring_f0[1]; | |
|
34 | sm_ring_f0[0].previous = (ring_node*) &sm_ring_f0[NB_RING_NODES_ASM_F0-1]; | |
|
35 | sm_ring_f0[0].buffer_address = (int) &sm_f0[0][0]; | |
|
36 | ||
|
37 | sm_ring_f0[NB_RING_NODES_ASM_F0-1].next = (ring_node*) &sm_ring_f0[0]; | |
|
38 | sm_ring_f0[NB_RING_NODES_ASM_F0-1].previous = (ring_node*) &sm_ring_f0[NB_RING_NODES_ASM_F0-2]; | |
|
39 | sm_ring_f0[NB_RING_NODES_ASM_F0-1].buffer_address = (int) &sm_f0[NB_RING_NODES_ASM_F0-1][0]; | |
|
40 | ||
|
41 | for(i=1; i<NB_RING_NODES_ASM_F0-1; i++) | |
|
42 | { | |
|
43 | sm_ring_f0[i].next = (ring_node*) &sm_ring_f0[i+1]; | |
|
44 | sm_ring_f0[i].previous = (ring_node*) &sm_ring_f0[i-1]; | |
|
45 | sm_ring_f0[i].buffer_address = (int) &sm_f0[i][0]; | |
|
46 | } | |
|
47 | ||
|
48 | DEBUG_PRINTF1("asm_ring_f0 @%x\n", (unsigned int) sm_ring_f0) | |
|
49 | ||
|
50 | } | |
|
51 | ||
|
52 | void reset_current_sm_ring_nodes( void ) | |
|
53 | { | |
|
54 | current_ring_node_sm_f0 = sm_ring_f0; | |
|
55 | } | |
|
18 | 56 | |
|
19 | 57 | //*********************************************************** |
|
20 | 58 | // Interrupt Service Routine for spectral matrices processing |
@@ -31,48 +69,13 rtems_isr spectral_matrices_isr( rtems_v | |||
|
31 | 69 | switch(i) |
|
32 | 70 | { |
|
33 | 71 | case 0: |
|
34 | if (spectral_matrix_regs->matrixF0_Address0 == (int) spec_mat_f0_0) | |
|
35 | { | |
|
36 | spectral_matrix_regs->matrixF0_Address0 = (int) spec_mat_f0_0_bis; | |
|
37 | } | |
|
38 | else | |
|
39 | { | |
|
40 | spectral_matrix_regs->matrixF0_Address0 = (int) spec_mat_f0_0; | |
|
41 | } | |
|
72 | current_ring_node_sm_f0 = current_ring_node_sm_f0->next; | |
|
73 | spectral_matrix_regs->matrixF0_Address0 = current_ring_node_sm_f0->buffer_address; | |
|
42 | 74 | spectral_matrix_regs->status = spectral_matrix_regs->status & 0xfffffffe; |
|
43 | 75 | break; |
|
44 | 76 | case 1: |
|
45 | if (spectral_matrix_regs->matrixFO_Address1 == (int) spec_mat_f0_1) | |
|
46 | { | |
|
47 | spectral_matrix_regs->matrixFO_Address1 = (int) spec_mat_f0_1_bis; | |
|
48 | } | |
|
49 | else | |
|
50 | { | |
|
51 | spectral_matrix_regs->matrixFO_Address1 = (int) spec_mat_f0_1; | |
|
52 | } | |
|
53 | spectral_matrix_regs->status = spectral_matrix_regs->status & 0xfffffffd; | |
|
54 | 77 | break; |
|
55 | 78 | case 2: |
|
56 | if (spectral_matrix_regs->matrixF1_Address == (int) spec_mat_f1) | |
|
57 | { | |
|
58 | spectral_matrix_regs->matrixF1_Address = (int) spec_mat_f1_bis; | |
|
59 | } | |
|
60 | else | |
|
61 | { | |
|
62 | spectral_matrix_regs->matrixF1_Address = (int) spec_mat_f1; | |
|
63 | } | |
|
64 | spectral_matrix_regs->status = spectral_matrix_regs->status & 0xfffffffb; | |
|
65 | break; | |
|
66 | case 3: | |
|
67 | if (spectral_matrix_regs->matrixF2_Address == (int) spec_mat_f2) | |
|
68 | { | |
|
69 | spectral_matrix_regs->matrixF2_Address = (int) spec_mat_f2_bis; | |
|
70 | } | |
|
71 | else | |
|
72 | { | |
|
73 | spectral_matrix_regs->matrixF2_Address = (int) spec_mat_f2; | |
|
74 | } | |
|
75 | spectral_matrix_regs->status = spectral_matrix_regs->status & 0xfffffff7; | |
|
76 | 79 | break; |
|
77 | 80 | default: |
|
78 | 81 | break; |
@@ -144,14 +147,14 rtems_task avf0_task(rtems_task_argument | |||
|
144 | 147 | while(1){ |
|
145 | 148 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 |
|
146 | 149 | for(i=0; i<TOTAL_SIZE_SM; i++){ |
|
147 |
averaged_s |
|
|
148 | + spec_mat_f0_b[i] | |
|
149 | + spec_mat_f0_c[i] | |
|
150 | + spec_mat_f0_d[i] | |
|
151 | + spec_mat_f0_e[i] | |
|
152 | + spec_mat_f0_f[i] | |
|
153 | + spec_mat_f0_g[i] | |
|
154 | + spec_mat_f0_h[i]; | |
|
150 | averaged_sm_f0[i] = current_ring_node_sm_f0[0].buffer_address | |
|
151 | + current_ring_node_sm_f0[1].buffer_address | |
|
152 | + current_ring_node_sm_f0[2].buffer_address | |
|
153 | + current_ring_node_sm_f0[3].buffer_address | |
|
154 | + current_ring_node_sm_f0[4].buffer_address | |
|
155 | + current_ring_node_sm_f0[5].buffer_address | |
|
156 | + current_ring_node_sm_f0[6].buffer_address | |
|
157 | + current_ring_node_sm_f0[7].buffer_address; | |
|
155 | 158 | } |
|
156 | 159 | nb_average = nb_average + NB_SM_TO_RECEIVE_BEFORE_AVF0; |
|
157 | 160 | if (nb_average == NB_AVERAGE_NORMAL_f0) { |
@@ -173,8 +176,8 rtems_task bpf0_task(rtems_task_argument | |||
|
173 | 176 | |
|
174 | 177 | while(1){ |
|
175 | 178 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 |
|
176 |
matrix_compression(averaged_s |
|
|
177 |
BP1_set(compressed_s |
|
|
179 | matrix_compression(averaged_sm_f0, 0, compressed_sm_f0); | |
|
180 | BP1_set(compressed_sm_f0, NB_BINS_COMPRESSED_SM_F0, LFR_BP1_F0); | |
|
178 | 181 | } |
|
179 | 182 | } |
|
180 | 183 | |
@@ -201,9 +204,9 rtems_task matr_task(rtems_task_argument | |||
|
201 | 204 | while(1){ |
|
202 | 205 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 |
|
203 | 206 | // 1) convert the float array in a char array |
|
204 |
convert_averaged_spectral_matrix( averaged_s |
|
|
207 | convert_averaged_spectral_matrix( averaged_sm_f0, averaged_sm_f0_char); | |
|
205 | 208 | // 2) send the spectral matrix packets |
|
206 |
send_spectral_matrix( &headerASM, averaged_s |
|
|
209 | send_spectral_matrix( &headerASM, averaged_sm_f0_char, SID_NORM_ASM_F0, &spw_ioctl_send_ASM, queue_id); | |
|
207 | 210 | } |
|
208 | 211 | } |
|
209 | 212 | |
@@ -545,70 +548,70 void fill_averaged_spectral_matrix(void) | |||
|
545 | 548 | |
|
546 | 549 | offset = 10.; |
|
547 | 550 | coeff = 100000.; |
|
548 |
averaged_s |
|
|
549 |
averaged_s |
|
|
550 |
averaged_s |
|
|
551 |
averaged_s |
|
|
552 |
averaged_s |
|
|
553 |
averaged_s |
|
|
554 |
averaged_s |
|
|
555 |
averaged_s |
|
|
556 |
averaged_s |
|
|
557 |
averaged_s |
|
|
558 |
averaged_s |
|
|
559 |
averaged_s |
|
|
560 |
averaged_s |
|
|
561 |
averaged_s |
|
|
562 |
averaged_s |
|
|
563 |
averaged_s |
|
|
564 |
averaged_s |
|
|
565 |
averaged_s |
|
|
566 |
averaged_s |
|
|
567 |
averaged_s |
|
|
568 |
averaged_s |
|
|
569 |
averaged_s |
|
|
570 |
averaged_s |
|
|
571 |
averaged_s |
|
|
572 |
averaged_s |
|
|
573 |
averaged_s |
|
|
574 |
averaged_s |
|
|
575 |
averaged_s |
|
|
576 |
averaged_s |
|
|
577 |
averaged_s |
|
|
551 | averaged_sm_f0[ 0 + 25 * 0 ] = 0. + offset; | |
|
552 | averaged_sm_f0[ 0 + 25 * 1 ] = 1. + offset; | |
|
553 | averaged_sm_f0[ 0 + 25 * 2 ] = 2. + offset; | |
|
554 | averaged_sm_f0[ 0 + 25 * 3 ] = 3. + offset; | |
|
555 | averaged_sm_f0[ 0 + 25 * 4 ] = 4. + offset; | |
|
556 | averaged_sm_f0[ 0 + 25 * 5 ] = 5. + offset; | |
|
557 | averaged_sm_f0[ 0 + 25 * 6 ] = 6. + offset; | |
|
558 | averaged_sm_f0[ 0 + 25 * 7 ] = 7. + offset; | |
|
559 | averaged_sm_f0[ 0 + 25 * 8 ] = 8. + offset; | |
|
560 | averaged_sm_f0[ 0 + 25 * 9 ] = 9. + offset; | |
|
561 | averaged_sm_f0[ 0 + 25 * 10 ] = 10. + offset; | |
|
562 | averaged_sm_f0[ 0 + 25 * 11 ] = 11. + offset; | |
|
563 | averaged_sm_f0[ 0 + 25 * 12 ] = 12. + offset; | |
|
564 | averaged_sm_f0[ 0 + 25 * 13 ] = 13. + offset; | |
|
565 | averaged_sm_f0[ 0 + 25 * 14 ] = 14. + offset; | |
|
566 | averaged_sm_f0[ 9 + 25 * 0 ] = -(0. + offset)* coeff; | |
|
567 | averaged_sm_f0[ 9 + 25 * 1 ] = -(1. + offset)* coeff; | |
|
568 | averaged_sm_f0[ 9 + 25 * 2 ] = -(2. + offset)* coeff; | |
|
569 | averaged_sm_f0[ 9 + 25 * 3 ] = -(3. + offset)* coeff; | |
|
570 | averaged_sm_f0[ 9 + 25 * 4 ] = -(4. + offset)* coeff; | |
|
571 | averaged_sm_f0[ 9 + 25 * 5 ] = -(5. + offset)* coeff; | |
|
572 | averaged_sm_f0[ 9 + 25 * 6 ] = -(6. + offset)* coeff; | |
|
573 | averaged_sm_f0[ 9 + 25 * 7 ] = -(7. + offset)* coeff; | |
|
574 | averaged_sm_f0[ 9 + 25 * 8 ] = -(8. + offset)* coeff; | |
|
575 | averaged_sm_f0[ 9 + 25 * 9 ] = -(9. + offset)* coeff; | |
|
576 | averaged_sm_f0[ 9 + 25 * 10 ] = -(10. + offset)* coeff; | |
|
577 | averaged_sm_f0[ 9 + 25 * 11 ] = -(11. + offset)* coeff; | |
|
578 | averaged_sm_f0[ 9 + 25 * 12 ] = -(12. + offset)* coeff; | |
|
579 | averaged_sm_f0[ 9 + 25 * 13 ] = -(13. + offset)* coeff; | |
|
580 | averaged_sm_f0[ 9 + 25 * 14 ] = -(14. + offset)* coeff; | |
|
578 | 581 | |
|
579 | 582 | offset = 10000000; |
|
580 |
averaged_s |
|
|
581 |
averaged_s |
|
|
582 |
averaged_s |
|
|
583 |
averaged_s |
|
|
584 |
averaged_s |
|
|
585 |
averaged_s |
|
|
586 |
averaged_s |
|
|
587 |
averaged_s |
|
|
588 |
averaged_s |
|
|
589 |
averaged_s |
|
|
590 |
averaged_s |
|
|
591 |
averaged_s |
|
|
592 |
averaged_s |
|
|
593 |
averaged_s |
|
|
594 |
averaged_s |
|
|
583 | averaged_sm_f0[ 16 + 25 * 0 ] = (0. + offset)* coeff; | |
|
584 | averaged_sm_f0[ 16 + 25 * 1 ] = (1. + offset)* coeff; | |
|
585 | averaged_sm_f0[ 16 + 25 * 2 ] = (2. + offset)* coeff; | |
|
586 | averaged_sm_f0[ 16 + 25 * 3 ] = (3. + offset)* coeff; | |
|
587 | averaged_sm_f0[ 16 + 25 * 4 ] = (4. + offset)* coeff; | |
|
588 | averaged_sm_f0[ 16 + 25 * 5 ] = (5. + offset)* coeff; | |
|
589 | averaged_sm_f0[ 16 + 25 * 6 ] = (6. + offset)* coeff; | |
|
590 | averaged_sm_f0[ 16 + 25 * 7 ] = (7. + offset)* coeff; | |
|
591 | averaged_sm_f0[ 16 + 25 * 8 ] = (8. + offset)* coeff; | |
|
592 | averaged_sm_f0[ 16 + 25 * 9 ] = (9. + offset)* coeff; | |
|
593 | averaged_sm_f0[ 16 + 25 * 10 ] = (10. + offset)* coeff; | |
|
594 | averaged_sm_f0[ 16 + 25 * 11 ] = (11. + offset)* coeff; | |
|
595 | averaged_sm_f0[ 16 + 25 * 12 ] = (12. + offset)* coeff; | |
|
596 | averaged_sm_f0[ 16 + 25 * 13 ] = (13. + offset)* coeff; | |
|
597 | averaged_sm_f0[ 16 + 25 * 14 ] = (14. + offset)* coeff; | |
|
595 | 598 | |
|
596 |
averaged_s |
|
|
597 |
averaged_s |
|
|
598 |
averaged_s |
|
|
599 |
averaged_s |
|
|
600 |
averaged_s |
|
|
601 |
averaged_s |
|
|
602 |
averaged_s |
|
|
603 |
averaged_s |
|
|
604 |
averaged_s |
|
|
605 |
averaged_s |
|
|
606 |
averaged_s |
|
|
607 |
averaged_s |
|
|
608 |
averaged_s |
|
|
609 |
averaged_s |
|
|
610 |
averaged_s |
|
|
611 |
averaged_s |
|
|
599 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 0 ] = averaged_sm_f0[ 0 ]; | |
|
600 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 1 ] = averaged_sm_f0[ 1 ]; | |
|
601 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 2 ] = averaged_sm_f0[ 2 ]; | |
|
602 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 3 ] = averaged_sm_f0[ 3 ]; | |
|
603 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 4 ] = averaged_sm_f0[ 4 ]; | |
|
604 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 5 ] = averaged_sm_f0[ 5 ]; | |
|
605 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 6 ] = averaged_sm_f0[ 6 ]; | |
|
606 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 7 ] = averaged_sm_f0[ 7 ]; | |
|
607 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 8 ] = averaged_sm_f0[ 8 ]; | |
|
608 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 9 ] = averaged_sm_f0[ 9 ]; | |
|
609 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 10 ] = averaged_sm_f0[ 10 ]; | |
|
610 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 11 ] = averaged_sm_f0[ 11 ]; | |
|
611 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 12 ] = averaged_sm_f0[ 12 ]; | |
|
612 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 13 ] = averaged_sm_f0[ 13 ]; | |
|
613 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 14 ] = averaged_sm_f0[ 14 ]; | |
|
614 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 15 ] = averaged_sm_f0[ 15 ]; | |
|
612 | 615 | } |
|
613 | 616 | |
|
614 | 617 | void reset_spectral_matrix_regs() |
@@ -628,10 +631,10 void reset_spectral_matrix_regs() | |||
|
628 | 631 | |
|
629 | 632 | #ifdef GSA |
|
630 | 633 | #else |
|
631 |
spectral_matrix_regs->matrixF0_Address0 = |
|
|
632 |
spectral_matrix_regs->matrixFO_Address1 = |
|
|
633 |
spectral_matrix_regs->matrixF1_Address = |
|
|
634 |
spectral_matrix_regs->matrixF2_Address = |
|
|
634 | spectral_matrix_regs->matrixF0_Address0 = current_ring_node_sm_f0->buffer_address; | |
|
635 | spectral_matrix_regs->matrixFO_Address1 = current_ring_node_sm_f0->buffer_address; | |
|
636 | spectral_matrix_regs->matrixF1_Address = current_ring_node_sm_f1->buffer_address; | |
|
637 | spectral_matrix_regs->matrixF2_Address = current_ring_node_sm_f2->buffer_address; | |
|
635 | 638 | #endif |
|
636 | 639 | } |
|
637 | 640 |
@@ -36,8 +36,6 ring_node *current_ring_node_f2; | |||
|
36 | 36 | ring_node *ring_node_to_send_swf_f2; |
|
37 | 37 | ring_node *ring_node_to_send_cwf_f2; |
|
38 | 38 | |
|
39 | unsigned char doubleSendCWF2 = 0; | |
|
40 | ||
|
41 | 39 | rtems_isr waveforms_isr( rtems_vector_number vector ) |
|
42 | 40 | { |
|
43 | 41 | /** This is the interrupt sub routine called by the waveform picker core. |
@@ -48,6 +46,8 rtems_isr waveforms_isr( rtems_vector_nu | |||
|
48 | 46 | * |
|
49 | 47 | */ |
|
50 | 48 | |
|
49 | static unsigned char nb_swf = 0; | |
|
50 | ||
|
51 | 51 | if ( (lfrCurrentMode == LFR_MODE_NORMAL) |
|
52 | 52 | || (lfrCurrentMode == LFR_MODE_SBM1) || (lfrCurrentMode == LFR_MODE_SBM2) ) |
|
53 | 53 | { // in modes other than STANDBY and BURST, send the CWF_F3 data |
@@ -94,9 +94,15 rtems_isr waveforms_isr( rtems_vector_nu | |||
|
94 | 94 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { |
|
95 | 95 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
96 | 96 | } |
|
97 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffff888; // [1000 1000 1000] | |
|
98 | // rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_7 ); | |
|
99 | // reset_wfp_burst_enable(); | |
|
97 | // nb_swf = nb_swf + 1; | |
|
98 | // if (nb_swf == 2) | |
|
99 | // { | |
|
100 | // reset_wfp_burst_enable(); | |
|
101 | // } | |
|
102 | // else | |
|
103 | // { | |
|
104 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffff888; // [1000 1000 1000] | |
|
105 | // } | |
|
100 | 106 | } |
|
101 | 107 | break; |
|
102 | 108 | |
@@ -211,9 +217,11 rtems_task wfrm_task(rtems_task_argument | |||
|
211 | 217 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); |
|
212 | 218 | if (event_out == RTEMS_EVENT_MODE_NORMAL) |
|
213 | 219 | { |
|
220 | PRINTF1("status %x\n", waveform_picker_regs->status ) | |
|
214 | 221 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f0->buffer_address, SID_NORM_SWF_F0, headerSWF_F0, queue_id); |
|
215 | 222 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f1->buffer_address, SID_NORM_SWF_F1, headerSWF_F1, queue_id); |
|
216 | 223 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f2->buffer_address, SID_NORM_SWF_F2, headerSWF_F2, queue_id); |
|
224 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffff888; // [1000 1000 1000] | |
|
217 | 225 | } |
|
218 | 226 | else |
|
219 | 227 | { |
@@ -527,33 +535,12 int init_header_continuous_wf_table( uns | |||
|
527 | 535 | headerCWF[ i ].packetID[0] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST >> 8); |
|
528 | 536 | headerCWF[ i ].packetID[1] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST); |
|
529 | 537 | } |
|
530 | if (i == 0) | |
|
531 | { | |
|
532 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_FIRST; | |
|
533 |
|
|
|
534 |
|
|
|
535 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_340 >> 8); | |
|
536 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_340 ); | |
|
537 | } | |
|
538 | else if (i == 6) | |
|
539 | { | |
|
540 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_LAST; | |
|
541 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_8 >> 8); | |
|
542 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_8 ); | |
|
543 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_8 >> 8); | |
|
544 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_8 ); | |
|
545 | } | |
|
546 | else | |
|
547 | { | |
|
548 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_CONTINUATION; | |
|
549 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_340 >> 8); | |
|
550 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_340 ); | |
|
551 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_340 >> 8); | |
|
552 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_340 ); | |
|
553 | } | |
|
538 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_STANDALONE; | |
|
539 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_336 >> 8); | |
|
540 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_336 ); | |
|
541 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_CWF >> 8); | |
|
542 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_CWF ); | |
|
554 | 543 | headerCWF[ i ].packetSequenceControl[1] = TM_PACKET_SEQ_CNT_DEFAULT; |
|
555 | // PKT_CNT | |
|
556 | // PKT_NR | |
|
557 | 544 | // DATA FIELD HEADER |
|
558 | 545 | headerCWF[ i ].spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
|
559 | 546 | headerCWF[ i ].serviceType = TM_TYPE_LFR_SCIENCE; // service type |
@@ -585,30 +572,13 int init_header_continuous_cwf3_light_ta | |||
|
585 | 572 | |
|
586 | 573 | headerCWF[ i ].packetID[0] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST >> 8); |
|
587 | 574 | headerCWF[ i ].packetID[1] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST); |
|
588 | if (i == 0) | |
|
589 | { | |
|
590 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_FIRST; | |
|
591 |
|
|
|
592 |
|
|
|
593 |
|
|
|
594 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_340 ); | |
|
595 | } | |
|
596 | else if (i == 6) | |
|
597 | { | |
|
598 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_LAST; | |
|
599 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF3_LIGHT_8 >> 8); | |
|
600 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF3_LIGHT_8 ); | |
|
601 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_8 >> 8); | |
|
602 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_8 ); | |
|
603 | } | |
|
604 | else | |
|
605 | { | |
|
606 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_CONTINUATION; | |
|
607 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF3_LIGHT_340 >> 8); | |
|
608 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF3_LIGHT_340 ); | |
|
609 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_340 >> 8); | |
|
610 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_340 ); | |
|
611 | } | |
|
575 | ||
|
576 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_STANDALONE; | |
|
577 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_672 >> 8); | |
|
578 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_672 ); | |
|
579 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_CWF_SHORT_F3 >> 8); | |
|
580 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_CWF_SHORT_F3 ); | |
|
581 | ||
|
612 | 582 | headerCWF[ i ].packetSequenceControl[1] = TM_PACKET_SEQ_CNT_DEFAULT; |
|
613 | 583 | // DATA FIELD HEADER |
|
614 | 584 | headerCWF[ i ].spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
@@ -645,6 +615,8 int send_waveform_SWF( volatile int *wav | |||
|
645 | 615 | |
|
646 | 616 | unsigned int i; |
|
647 | 617 | int ret; |
|
618 | unsigned int coarseTime; | |
|
619 | unsigned int fineTime; | |
|
648 | 620 | rtems_status_code status; |
|
649 | 621 | spw_ioctl_pkt_send spw_ioctl_send_SWF; |
|
650 | 622 | |
@@ -653,30 +625,46 int send_waveform_SWF( volatile int *wav | |||
|
653 | 625 | |
|
654 | 626 | ret = LFR_DEFAULT; |
|
655 | 627 | |
|
628 | PRINTF1("sid = %d, ", sid) | |
|
629 | PRINTF2("coarse = %x, fine = %x\n", waveform[0], waveform[1]) | |
|
630 | ||
|
656 | 631 | for (i=0; i<7; i++) // send waveform |
|
657 | 632 | { |
|
658 | 633 | #ifdef VHDL_DEV |
|
659 | spw_ioctl_send_SWF.data = (char*) &waveform[ (i * 304 * NB_WORDS_SWF_BLK) + TIME_OFFSET]; | |
|
634 | spw_ioctl_send_SWF.data = (char*) &waveform[ (i * BLK_NR_304 * NB_WORDS_SWF_BLK) + TIME_OFFSET]; | |
|
660 | 635 | #else |
|
661 | spw_ioctl_send_SWF.data = (char*) &waveform[ (i * 304 * NB_WORDS_SWF_BLK) ]; | |
|
636 | spw_ioctl_send_SWF.data = (char*) &waveform[ (i * BLK_NR_304 * NB_WORDS_SWF_BLK) ]; | |
|
662 | 637 | #endif |
|
663 | 638 | spw_ioctl_send_SWF.hdr = (char*) &headerSWF[ i ]; |
|
664 | 639 | // BUILD THE DATA |
|
665 | 640 | if (i==6) { |
|
666 | spw_ioctl_send_SWF.dlen = 224 * NB_BYTES_SWF_BLK; | |
|
641 | spw_ioctl_send_SWF.dlen = BLK_NR_224 * NB_BYTES_SWF_BLK; | |
|
667 | 642 | } |
|
668 | 643 | else { |
|
669 | spw_ioctl_send_SWF.dlen = 304 * NB_BYTES_SWF_BLK; | |
|
644 | spw_ioctl_send_SWF.dlen = BLK_NR_304 * NB_BYTES_SWF_BLK; | |
|
670 | 645 | } |
|
671 | 646 | // SET PACKET SEQUENCE COUNTER |
|
672 | 647 | increment_seq_counter_source_id( headerSWF[ i ].packetSequenceControl, sid ); |
|
673 | 648 | // SET PACKET TIME |
|
649 | #ifdef VHDL_DEV | |
|
650 | coarseTime = waveform[0]; | |
|
651 | fineTime = waveform[1]; | |
|
652 | compute_acquisition_time( &coarseTime, &fineTime, sid, i); | |
|
653 | ||
|
654 | headerSWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime >> 24 ); | |
|
655 | headerSWF[ i ].acquisitionTime[1] = (unsigned char) (coarseTime >> 16 ); | |
|
656 | headerSWF[ i ].acquisitionTime[2] = (unsigned char) (coarseTime >> 8 ); | |
|
657 | headerSWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime ); | |
|
658 | headerSWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime >> 8 ); | |
|
659 | headerSWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime ); | |
|
660 | #else | |
|
674 | 661 | headerSWF[ i ].acquisitionTime[0] = (unsigned char) (time_management_regs->coarse_time>>24); |
|
675 | 662 | headerSWF[ i ].acquisitionTime[1] = (unsigned char) (time_management_regs->coarse_time>>16); |
|
676 | 663 | headerSWF[ i ].acquisitionTime[2] = (unsigned char) (time_management_regs->coarse_time>>8); |
|
677 | 664 | headerSWF[ i ].acquisitionTime[3] = (unsigned char) (time_management_regs->coarse_time); |
|
678 | 665 | headerSWF[ i ].acquisitionTime[4] = (unsigned char) (time_management_regs->fine_time>>8); |
|
679 | 666 | headerSWF[ i ].acquisitionTime[5] = (unsigned char) (time_management_regs->fine_time); |
|
667 | #endif | |
|
680 | 668 | headerSWF[ i ].time[0] = (unsigned char) (time_management_regs->coarse_time>>24); |
|
681 | 669 | headerSWF[ i ].time[1] = (unsigned char) (time_management_regs->coarse_time>>16); |
|
682 | 670 | headerSWF[ i ].time[2] = (unsigned char) (time_management_regs->coarse_time>>8); |
@@ -712,6 +700,8 int send_waveform_CWF(volatile int *wave | |||
|
712 | 700 | |
|
713 | 701 | unsigned int i; |
|
714 | 702 | int ret; |
|
703 | unsigned char *coarseTimePtr; | |
|
704 | unsigned char *fineTimePtr; | |
|
715 | 705 | rtems_status_code status; |
|
716 | 706 | spw_ioctl_pkt_send spw_ioctl_send_CWF; |
|
717 | 707 | |
@@ -725,21 +715,26 int send_waveform_CWF(volatile int *wave | |||
|
725 | 715 | int coarseTime = 0x00; |
|
726 | 716 | int fineTime = 0x00; |
|
727 | 717 | #ifdef VHDL_DEV |
|
728 |
spw_ioctl_send_CWF.data = (char*) &waveform[ (i * |
|
|
718 | spw_ioctl_send_CWF.data = (char*) &waveform[ (i * BLK_NR_CWF * NB_WORDS_SWF_BLK) + TIME_OFFSET]; | |
|
729 | 719 | #else |
|
730 |
spw_ioctl_send_CWF.data = (char*) &waveform[ (i * |
|
|
720 | spw_ioctl_send_CWF.data = (char*) &waveform[ (i * BLK_NR_CWF * NB_WORDS_SWF_BLK) ]; | |
|
731 | 721 | #endif |
|
732 | 722 | spw_ioctl_send_CWF.hdr = (char*) &headerCWF[ i ]; |
|
733 | 723 | // BUILD THE DATA |
|
734 | if (i==6) { | |
|
735 | spw_ioctl_send_CWF.dlen = 8 * NB_BYTES_SWF_BLK; | |
|
736 | } | |
|
737 | else { | |
|
738 | spw_ioctl_send_CWF.dlen = 340 * NB_BYTES_SWF_BLK; | |
|
739 | } | |
|
724 | spw_ioctl_send_CWF.dlen = BLK_NR_CWF * NB_BYTES_SWF_BLK; | |
|
740 | 725 | // SET PACKET SEQUENCE COUNTER |
|
741 | 726 | increment_seq_counter_source_id( headerCWF[ i ].packetSequenceControl, sid ); |
|
742 | 727 | // SET PACKET TIME |
|
728 | #ifdef VHDL_DEV | |
|
729 | coarseTimePtr = (unsigned char *) &waveform; | |
|
730 | fineTimePtr = (unsigned char *) &waveform[1]; | |
|
731 | headerCWF[ i ].acquisitionTime[0] = coarseTimePtr[2]; | |
|
732 | headerCWF[ i ].acquisitionTime[1] = coarseTimePtr[3]; | |
|
733 | headerCWF[ i ].acquisitionTime[2] = coarseTimePtr[0]; | |
|
734 | headerCWF[ i ].acquisitionTime[3] = coarseTimePtr[1]; | |
|
735 | headerCWF[ i ].acquisitionTime[4] = fineTimePtr[0]; | |
|
736 | headerCWF[ i ].acquisitionTime[5] = fineTimePtr[1]; | |
|
737 | #else | |
|
743 | 738 | coarseTime = time_management_regs->coarse_time; |
|
744 | 739 | fineTime = time_management_regs->fine_time; |
|
745 | 740 | headerCWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime>>24); |
@@ -748,6 +743,8 int send_waveform_CWF(volatile int *wave | |||
|
748 | 743 | headerCWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime); |
|
749 | 744 | headerCWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime>>8); |
|
750 | 745 | headerCWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime); |
|
746 | #endif | |
|
747 | ||
|
751 | 748 | headerCWF[ i ].time[0] = (unsigned char) (coarseTime>>24); |
|
752 | 749 | headerCWF[ i ].time[1] = (unsigned char) (coarseTime>>16); |
|
753 | 750 | headerCWF[ i ].time[2] = (unsigned char) (coarseTime>>8); |
@@ -793,6 +790,8 int send_waveform_CWF3_light(volatile in | |||
|
793 | 790 | |
|
794 | 791 | unsigned int i; |
|
795 | 792 | int ret; |
|
793 | unsigned char *coarseTimePtr; | |
|
794 | unsigned char *fineTimePtr; | |
|
796 | 795 | rtems_status_code status; |
|
797 | 796 | spw_ioctl_pkt_send spw_ioctl_send_CWF; |
|
798 | 797 | char *sample; |
@@ -804,19 +803,25 int send_waveform_CWF3_light(volatile in | |||
|
804 | 803 | |
|
805 | 804 | //********************** |
|
806 | 805 | // BUILD CWF3_light DATA |
|
807 |
for ( i=0; i< |
|
|
806 | for ( i=0; i< NB_SAMPLES_PER_SNAPSHOT; i++) | |
|
808 | 807 | { |
|
809 | 808 | #ifdef VHDL_DEV |
|
810 | 809 | sample = (char*) &waveform[ (i * NB_WORDS_SWF_BLK) + TIME_OFFSET ]; |
|
810 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + TIME_OFFSET_IN_BYTES ] = sample[ 0 ]; | |
|
811 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 1 + TIME_OFFSET_IN_BYTES ] = sample[ 1 ]; | |
|
812 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 2 + TIME_OFFSET_IN_BYTES ] = sample[ 2 ]; | |
|
813 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 3 + TIME_OFFSET_IN_BYTES ] = sample[ 3 ]; | |
|
814 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 4 + TIME_OFFSET_IN_BYTES ] = sample[ 4 ]; | |
|
815 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 5 + TIME_OFFSET_IN_BYTES ] = sample[ 5 ]; | |
|
811 | 816 | #else |
|
812 | 817 | sample = (char*) &waveform[ i * NB_WORDS_SWF_BLK ]; |
|
813 | #endif | |
|
814 | 818 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) ] = sample[ 0 ]; |
|
815 | 819 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 1 ] = sample[ 1 ]; |
|
816 | 820 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 2 ] = sample[ 2 ]; |
|
817 | 821 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 3 ] = sample[ 3 ]; |
|
818 | 822 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 4 ] = sample[ 4 ]; |
|
819 | 823 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 5 ] = sample[ 5 ]; |
|
824 | #endif | |
|
820 | 825 | } |
|
821 | 826 | |
|
822 | 827 | //********************* |
@@ -827,18 +832,27 int send_waveform_CWF3_light(volatile in | |||
|
827 | 832 | int coarseTime = 0x00; |
|
828 | 833 | int fineTime = 0x00; |
|
829 | 834 | |
|
830 | spw_ioctl_send_CWF.data = (char*) &wf_cont_f3_light[ (i * 340 * NB_BYTES_CWF3_LIGHT_BLK) ]; | |
|
835 | #ifdef VHDL_DEV | |
|
836 | spw_ioctl_send_CWF.data = (char*) &wf_cont_f3_light[ (i * BLK_NR_CWF_SHORT_F3 * NB_BYTES_CWF3_LIGHT_BLK) + TIME_OFFSET_IN_BYTES]; | |
|
837 | #else | |
|
838 | spw_ioctl_send_CWF.data = (char*) &wf_cont_f3_light[ (i * BLK_NR_CWF_SHORT_F3 * NB_BYTES_CWF3_LIGHT_BLK) ]; | |
|
839 | #endif | |
|
831 | 840 | spw_ioctl_send_CWF.hdr = (char*) &headerCWF[ i ]; |
|
832 | 841 | // BUILD THE DATA |
|
833 | if ( i == WFRM_INDEX_OF_LAST_PACKET ) { | |
|
834 | spw_ioctl_send_CWF.dlen = 8 * NB_BYTES_CWF3_LIGHT_BLK; | |
|
835 | } | |
|
836 | else { | |
|
837 | spw_ioctl_send_CWF.dlen = 340 * NB_BYTES_CWF3_LIGHT_BLK; | |
|
838 | } | |
|
842 | spw_ioctl_send_CWF.dlen = BLK_NR_CWF_SHORT_F3 * NB_BYTES_CWF3_LIGHT_BLK; | |
|
839 | 843 | // SET PACKET SEQUENCE COUNTER |
|
840 | 844 | increment_seq_counter_source_id( headerCWF[ i ].packetSequenceControl, SID_NORM_CWF_F3 ); |
|
841 | 845 | // SET PACKET TIME |
|
846 | #ifdef VHDL_DEV | |
|
847 | coarseTimePtr = (unsigned char *) &waveform; | |
|
848 | fineTimePtr = (unsigned char *) &waveform[1]; | |
|
849 | headerCWF[ i ].acquisitionTime[0] = coarseTimePtr[2]; | |
|
850 | headerCWF[ i ].acquisitionTime[1] = coarseTimePtr[3]; | |
|
851 | headerCWF[ i ].acquisitionTime[2] = coarseTimePtr[0]; | |
|
852 | headerCWF[ i ].acquisitionTime[3] = coarseTimePtr[1]; | |
|
853 | headerCWF[ i ].acquisitionTime[4] = fineTimePtr[0]; | |
|
854 | headerCWF[ i ].acquisitionTime[5] = fineTimePtr[1]; | |
|
855 | #else | |
|
842 | 856 | coarseTime = time_management_regs->coarse_time; |
|
843 | 857 | fineTime = time_management_regs->fine_time; |
|
844 | 858 | headerCWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime>>24); |
@@ -847,6 +861,7 int send_waveform_CWF3_light(volatile in | |||
|
847 | 861 | headerCWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime); |
|
848 | 862 | headerCWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime>>8); |
|
849 | 863 | headerCWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime); |
|
864 | #endif | |
|
850 | 865 | headerCWF[ i ].time[0] = (unsigned char) (coarseTime>>24); |
|
851 | 866 | headerCWF[ i ].time[1] = (unsigned char) (coarseTime>>16); |
|
852 | 867 | headerCWF[ i ].time[2] = (unsigned char) (coarseTime>>8); |
@@ -865,6 +880,50 int send_waveform_CWF3_light(volatile in | |||
|
865 | 880 | return ret; |
|
866 | 881 | } |
|
867 | 882 | |
|
883 | void compute_acquisition_time( unsigned int *coarseTime, unsigned int *fineTime, unsigned int sid, unsigned char pa_lfr_pkt_nr ) | |
|
884 | { | |
|
885 | unsigned long long int acquisitionTimeAsLong; | |
|
886 | unsigned char acquisitionTime[6]; | |
|
887 | float deltaT = 0.; | |
|
888 | ||
|
889 | acquisitionTime[0] = (unsigned char) ( *coarseTime >> 8 ); | |
|
890 | acquisitionTime[1] = (unsigned char) ( *coarseTime ); | |
|
891 | acquisitionTime[2] = (unsigned char) ( *coarseTime >> 24 ); | |
|
892 | acquisitionTime[3] = (unsigned char) ( *coarseTime >> 16 ); | |
|
893 | acquisitionTime[4] = (unsigned char) ( *fineTime >> 24 ); | |
|
894 | acquisitionTime[5] = (unsigned char) ( *fineTime >> 16 ); | |
|
895 | ||
|
896 | acquisitionTimeAsLong = ( (unsigned long long int) acquisitionTime[0] << 40 ) | |
|
897 | + ( (unsigned long long int) acquisitionTime[1] << 32 ) | |
|
898 | + ( acquisitionTime[2] << 24 ) | |
|
899 | + ( acquisitionTime[3] << 16 ) | |
|
900 | + ( acquisitionTime[4] << 8 ) | |
|
901 | + ( acquisitionTime[5] ); | |
|
902 | ||
|
903 | switch( sid ) | |
|
904 | { | |
|
905 | case SID_NORM_SWF_F0: | |
|
906 | deltaT = ( (float ) (pa_lfr_pkt_nr) ) * BLK_NR_304 * 65536. / 24576. ; | |
|
907 | break; | |
|
908 | ||
|
909 | case SID_NORM_SWF_F1: | |
|
910 | deltaT = ( (float ) (pa_lfr_pkt_nr) ) * BLK_NR_304 * 65536. / 4096. ; | |
|
911 | break; | |
|
912 | ||
|
913 | case SID_NORM_SWF_F2: | |
|
914 | deltaT = ( (float ) (pa_lfr_pkt_nr) ) * BLK_NR_304 * 65536. / 256. ; | |
|
915 | break; | |
|
916 | ||
|
917 | default: | |
|
918 | deltaT = 0.; | |
|
919 | break; | |
|
920 | } | |
|
921 | ||
|
922 | acquisitionTimeAsLong = acquisitionTimeAsLong + (unsigned long long int) deltaT; | |
|
923 | ||
|
924 | *coarseTime = (unsigned int) (acquisitionTimeAsLong >> 16); | |
|
925 | *fineTime = (unsigned int) (acquisitionTimeAsLong & 0xffff); | |
|
926 | } | |
|
868 | 927 | |
|
869 | 928 | //************** |
|
870 | 929 | // wfp registers |
@@ -1066,18 +1125,28 void reset_waveform_picker_regs() | |||
|
1066 | 1125 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; // 0x10 |
|
1067 | 1126 | waveform_picker_regs->addr_data_f3 = (int) (wf_cont_f3_a); // 0x14 |
|
1068 | 1127 | waveform_picker_regs->status = 0x00; // 0x18 |
|
1069 | // waveform_picker_regs->delta_snapshot = 0x12800; // 0x1c 296 * 256 = 75776 | |
|
1070 |
waveform_picker_regs->delta_snapshot = 0x1000; // 0x1c 16 * 256 |
|
|
1071 |
|
|
|
1072 |
waveform_picker_regs->delta_f0 |
|
|
1073 |
waveform_picker_regs->delta_f |
|
|
1074 |
waveform_picker_regs->delta_f |
|
|
1075 | // waveform_picker_regs->delta_f2 = 0x12200; // 0x2c *** 290 * 256 = 74240 | |
|
1076 |
waveform_picker_regs->delta_ |
|
|
1077 |
waveform_picker_regs-> |
|
|
1078 |
waveform_picker_regs-> |
|
|
1079 |
waveform_picker_regs-> |
|
|
1080 |
waveform_picker_regs-> |
|
|
1128 | // | |
|
1129 | // waveform_picker_regs->delta_snapshot = 0x1000; // 0x1c *** 4096 = 16 * 256 | |
|
1130 | // waveform_picker_regs->delta_f0 = 0xc0b; // 0x20 *** 3083 = 4096 - 1013 | |
|
1131 | // waveform_picker_regs->delta_f0_2 = 0x7; // 0x24 *** 7 [7 bits] | |
|
1132 | // waveform_picker_regs->delta_f1 = 0xc40; // 0x28 *** 3136 = 4096 - 960 | |
|
1133 | // waveform_picker_regs->delta_f2 = 0xc00; // 0x2c *** 3072 = 12 * 256 | |
|
1134 | // | |
|
1135 | waveform_picker_regs->delta_snapshot = 0x1000; // 0x1c *** 4096 = 16 * 256 | |
|
1136 | waveform_picker_regs->delta_f0 = 0x1; // 0x20 *** | |
|
1137 | waveform_picker_regs->delta_f0_2 = 0x7; // 0x24 *** 7 [7 bits] | |
|
1138 | waveform_picker_regs->delta_f1 = 0x1; // 0x28 *** | |
|
1139 | waveform_picker_regs->delta_f2 = 0x1; // 0x2c *** | |
|
1140 | // 2048 | |
|
1141 | // waveform_picker_regs->nb_data_by_buffer = 0x7ff; // 0x30 *** 2048 -1 => nb samples -1 | |
|
1142 | // waveform_picker_regs->snapshot_param = 0x800; // 0x34 *** 2048 => nb samples | |
|
1143 | // waveform_picker_regs->start_date = 0x00; // 0x38 | |
|
1144 | // waveform_picker_regs->nb_word_in_buffer = 0x1802; // 0x3c *** 2048 * 3 + 2 = 6146 | |
|
1145 | // 2352 = 7 * 336 | |
|
1146 | waveform_picker_regs->nb_data_by_buffer = 0x92f; // 0x30 *** 2352 - 1 => nb samples -1 | |
|
1147 | waveform_picker_regs->snapshot_param = 0x930; // 0x34 *** 2352 => nb samples | |
|
1148 | waveform_picker_regs->start_date = 0x00; // 0x38 | |
|
1149 | waveform_picker_regs->nb_word_in_buffer = 0x1b92; // 0x3c *** 2352 * 3 + 2 = 7058 | |
|
1081 | 1150 | } |
|
1082 | 1151 | #else |
|
1083 | 1152 | void reset_waveform_picker_regs() |
General Comments 0
You need to be logged in to leave comments.
Login now