@@ -1,6 +1,6 | |||||
1 | ############################################################################# |
|
1 | ############################################################################# | |
2 | # Makefile for building: bin/fsw-vhdl-dev |
|
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 | # Project: fsw-qt.pro |
|
4 | # Project: fsw-qt.pro | |
5 | # Template: app |
|
5 | # Template: app | |
6 | # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro |
|
6 | # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro |
@@ -1,10 +1,10 | |||||
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 QtCreator 3.0.0, 2014-0 |
|
3 | <!-- Written by QtCreator 3.0.0, 2014-02-06T15:45:54. --> | |
4 | <qtcreator> |
|
4 | <qtcreator> | |
5 | <data> |
|
5 | <data> | |
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
|
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> | |
7 |
<value type="int"> |
|
7 | <value type="int">1</value> | |
8 | </data> |
|
8 | </data> | |
9 | <data> |
|
9 | <data> | |
10 | <variable>ProjectExplorer.Project.EditorSettings</variable> |
|
10 | <variable>ProjectExplorer.Project.EditorSettings</variable> | |
@@ -25,7 +25,7 | |||||
25 | </valuemap> |
|
25 | </valuemap> | |
26 | </valuemap> |
|
26 | </valuemap> | |
27 | <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> |
|
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 | <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> |
|
29 | <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> | |
30 | <value type="int" key="EditorConfiguration.IndentSize">4</value> |
|
30 | <value type="int" key="EditorConfiguration.IndentSize">4</value> | |
31 | <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> |
|
31 | <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> | |
@@ -51,14 +51,14 | |||||
51 | <data> |
|
51 | <data> | |
52 | <variable>ProjectExplorer.Project.Target.0</variable> |
|
52 | <variable>ProjectExplorer.Project.Target.0</variable> | |
53 | <valuemap type="QVariantMap"> |
|
53 | <valuemap type="QVariantMap"> | |
54 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop |
|
54 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> | |
55 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop |
|
55 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> | |
56 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ |
|
56 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{e04e3924-0bd8-4708-be18-f1474e45608e}</value> | |
57 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> |
|
57 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> | |
58 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> |
|
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 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> |
|
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 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
63 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
63 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
64 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
64 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
@@ -66,7 +66,7 | |||||
66 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
66 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
67 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> |
|
67 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
68 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> |
|
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 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> |
|
70 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
71 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> |
|
71 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
72 | </valuemap> |
|
72 | </valuemap> | |
@@ -80,7 +80,7 | |||||
80 | <value type="QString">-r</value> |
|
80 | <value type="QString">-r</value> | |
81 | </valuelist> |
|
81 | </valuelist> | |
82 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> |
|
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 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
84 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
85 | </valuemap> |
|
85 | </valuemap> | |
86 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
|
86 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
@@ -99,7 +99,7 | |||||
99 | <value type="QString">-r</value> |
|
99 | <value type="QString">-r</value> | |
100 | </valuelist> |
|
100 | </valuelist> | |
101 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> |
|
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 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
103 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
104 | </valuemap> |
|
104 | </valuemap> | |
105 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> |
|
105 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
@@ -110,14 +110,93 | |||||
110 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
|
110 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
111 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
|
111 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
112 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
|
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 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
115 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
115 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
116 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> |
|
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 | </valuemap> |
|
131 | </valuemap> | |
119 |
<value |
|
132 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> | |
120 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</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 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
200 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
122 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
201 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
123 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
202 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
@@ -125,7 +204,7 | |||||
125 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
204 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
126 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> |
|
205 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
127 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> |
|
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 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> |
|
208 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
130 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> |
|
209 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
131 | </valuemap> |
|
210 | </valuemap> | |
@@ -139,7 +218,7 | |||||
139 | <value type="QString">-r</value> |
|
218 | <value type="QString">-r</value> | |
140 | </valuelist> |
|
219 | </valuelist> | |
141 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> |
|
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 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
222 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
144 | </valuemap> |
|
223 | </valuemap> | |
145 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
|
224 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
@@ -158,7 +237,7 | |||||
158 | <value type="QString">-r</value> |
|
237 | <value type="QString">-r</value> | |
159 | </valuelist> |
|
238 | </valuelist> | |
160 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> |
|
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 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
241 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
163 | </valuemap> |
|
242 | </valuemap> | |
164 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> |
|
243 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
@@ -169,13 +248,13 | |||||
169 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
|
248 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
170 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
|
249 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
171 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
|
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 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
252 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
174 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
253 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
175 |
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration"> |
|
254 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> | |
176 |
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild"> |
|
255 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
177 | </valuemap> |
|
256 | </valuemap> | |
178 |
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount"> |
|
257 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value> | |
179 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> |
|
258 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> | |
180 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
259 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
181 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
|
260 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> | |
@@ -184,7 +263,7 | |||||
184 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> |
|
263 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> | |
185 | </valuemap> |
|
264 | </valuemap> | |
186 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> |
|
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 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
267 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
189 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> |
|
268 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> | |
190 | </valuemap> |
|
269 | </valuemap> | |
@@ -240,65 +319,14 | |||||
240 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> |
|
319 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> | |
241 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> |
|
320 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> | |
242 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
|
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 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
|
322 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
295 | </valuemap> |
|
323 | </valuemap> | |
296 |
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount"> |
|
324 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> | |
297 | </valuemap> |
|
325 | </valuemap> | |
298 | </data> |
|
326 | </data> | |
299 | <data> |
|
327 | <data> | |
300 | <variable>ProjectExplorer.Project.TargetCount</variable> |
|
328 | <variable>ProjectExplorer.Project.TargetCount</variable> | |
301 |
<value type="int"> |
|
329 | <value type="int">2</value> | |
302 | </data> |
|
330 | </data> | |
303 | <data> |
|
331 | <data> | |
304 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> |
|
332 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> |
@@ -210,19 +210,21 enum apid_destid{ | |||||
210 | // R1 |
|
210 | // R1 | |
211 | #define TM_LEN_SCI_SWF_340 4101 // 340 * 12 + 10 + 12 - 1 |
|
211 | #define TM_LEN_SCI_SWF_340 4101 // 340 * 12 + 10 + 12 - 1 | |
212 | #define TM_LEN_SCI_SWF_8 117 // 8 * 12 + 10 + 12 - 1 |
|
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 | #define TM_LEN_SCI_CWF_340 4099 // 340 * 12 + 10 + 10 - 1 |
|
213 | #define TM_LEN_SCI_CWF_340 4099 // 340 * 12 + 10 + 10 - 1 | |
218 | #define TM_LEN_SCI_CWF_8 115 // 8 * 12 + 10 + 10 - 1 |
|
214 | #define TM_LEN_SCI_CWF_8 115 // 8 * 12 + 10 + 10 - 1 | |
219 | #define TM_LEN_SCI_CWF3_LIGHT_340 2059 // 340 * 6 + 10 + 10 - 1 |
|
215 | #define TM_LEN_SCI_CWF3_LIGHT_340 2059 // 340 * 6 + 10 + 10 - 1 | |
220 | #define TM_LEN_SCI_CWF3_LIGHT_8 67 // 8 * 6 + 10 + 10 - 1 |
|
216 | #define TM_LEN_SCI_CWF3_LIGHT_8 67 // 8 * 6 + 10 + 10 - 1 | |
221 | #define DEFAULT_PKTCNT 0x07 |
|
217 | // R2 | |
222 | #define BLK_NR_340 0x0154 |
|
218 | #define TM_LEN_SCI_SWF_304 3669 // 304 * 12 + 10 + 12 - 1 | |
223 | #define BLK_NR_8 0x0008 |
|
219 | #define TM_LEN_SCI_SWF_224 2709 // 224 * 12 + 10 + 12 - 1 | |
224 | #define BLK_NR_304 0x0130 |
|
220 | #define TM_LEN_SCI_CWF_336 4051 // 336 * 12 + 10 + 10 - 1 | |
225 | #define BLK_NR_224 0x00e0 |
|
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 | enum TM_TYPE{ |
|
229 | enum TM_TYPE{ | |
228 | TM_LFR_TC_EXE_OK, |
|
230 | TM_LFR_TC_EXE_OK, |
@@ -9,6 +9,14 | |||||
9 | #define GRSPW_DEVICE_NAME "/dev/grspw0" |
|
9 | #define GRSPW_DEVICE_NAME "/dev/grspw0" | |
10 | #define UART_DEVICE_NAME "/dev/console" |
|
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 | // flight software version |
|
21 | // flight software version | |
14 | // this parameters is handled by the Qt project options |
|
22 | // this parameters is handled by the Qt project options | |
@@ -16,14 +24,18 | |||||
16 | //#define NB_SAMPLES_PER_SNAPSHOT 2048 |
|
24 | //#define NB_SAMPLES_PER_SNAPSHOT 2048 | |
17 | #define NB_SAMPLES_PER_SNAPSHOT 2352 // 336 * 7 = 2352 |
|
25 | #define NB_SAMPLES_PER_SNAPSHOT 2352 // 336 * 7 = 2352 | |
18 | #define TIME_OFFSET 2 |
|
26 | #define TIME_OFFSET 2 | |
|
27 | #define TIME_OFFSET_IN_BYTES 8 | |||
19 | #define WAVEFORM_EXTENDED_HEADER_OFFSET 22 |
|
28 | #define WAVEFORM_EXTENDED_HEADER_OFFSET 22 | |
20 | #define NB_BYTES_SWF_BLK (2 * 6) |
|
29 | #define NB_BYTES_SWF_BLK (2 * 6) | |
21 | #define NB_WORDS_SWF_BLK 3 |
|
30 | #define NB_WORDS_SWF_BLK 3 | |
22 | #define NB_BYTES_CWF3_LIGHT_BLK 6 |
|
31 | #define NB_BYTES_CWF3_LIGHT_BLK 6 | |
23 | #define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8 |
|
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 |
|
33 | #define NB_RING_NODES_F0 3 // AT LEAST 3 | |
25 | #define NB_RING_NODES_F1 5 // AT LEAST 3 |
|
34 | #define NB_RING_NODES_F1 5 // AT LEAST 3 | |
26 | #define NB_RING_NODES_F2 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 | // LFR MODES |
|
41 | // LFR MODES |
@@ -1,10 +1,10 | |||||
1 | #ifndef FSW_PARAMS_PROCESSING_H |
|
1 | #ifndef FSW_PARAMS_PROCESSING_H | |
2 | #define FSW_PARAMS_PROCESSING_H |
|
2 | #define FSW_PARAMS_PROCESSING_H | |
3 |
|
3 | |||
4 | #define NB_BINS_PER_SM 128 |
|
4 | #define NB_BINS_PER_SM 128 // | |
5 | #define NB_VALUES_PER_SM 25 |
|
5 | #define NB_VALUES_PER_SM 25 // | |
6 | #define TOTAL_SIZE_SM 0 |
|
6 | #define TOTAL_SIZE_SM 3200 // 25 * 128 | |
7 | #define SM_HEADER 0 |
|
7 | #define SM_HEADER 0 // | |
8 |
|
8 | |||
9 | #define NB_BINS_COMPRESSED_SM_F0 11 |
|
9 | #define NB_BINS_COMPRESSED_SM_F0 11 | |
10 | #define NB_BINS_COMPRESSED_SM_F1 13 |
|
10 | #define NB_BINS_COMPRESSED_SM_F1 13 |
@@ -11,24 +11,9 | |||||
11 | #include "fsw_params.h" |
|
11 | #include "fsw_params.h" | |
12 | #include "fsw_spacewire.h" |
|
12 | #include "fsw_spacewire.h" | |
13 |
|
13 | |||
14 |
extern volatile int s |
|
14 | extern volatile int sm_f0[ ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
15 |
extern volatile int s |
|
15 | extern volatile int sm_f1[ ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
16 | extern volatile int spec_mat_f0_a[ ]; |
|
16 | extern volatile int sm_f2[ ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
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[ ]; |
|
|||
32 |
|
17 | |||
33 | // parameters |
|
18 | // parameters | |
34 | extern struct param_local_str param_local; |
|
19 | extern struct param_local_str param_local; | |
@@ -40,6 +25,9 extern spectral_matrix_regs_t *spectral_ | |||||
40 | extern rtems_name misc_name[5]; |
|
25 | extern rtems_name misc_name[5]; | |
41 | extern rtems_id Task_id[20]; /* array of task ids */ |
|
26 | extern rtems_id Task_id[20]; /* array of task ids */ | |
42 |
|
27 | |||
|
28 | // | |||
|
29 | void init_asm_rings( void ); | |||
|
30 | ||||
43 | // ISR |
|
31 | // ISR | |
44 | rtems_isr spectral_matrices_isr( rtems_vector_number vector ); |
|
32 | rtems_isr spectral_matrices_isr( rtems_vector_number vector ); | |
45 | rtems_isr spectral_matrices_isr_simu( rtems_vector_number vector ); |
|
33 | rtems_isr spectral_matrices_isr_simu( rtems_vector_number vector ); |
@@ -12,14 +12,6 | |||||
12 |
|
12 | |||
13 | #define pi 3.1415 |
|
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 | extern int fdSPW; |
|
15 | extern int fdSPW; | |
24 |
|
16 | |||
25 | //***************** |
|
17 | //***************** | |
@@ -73,6 +65,8 int send_waveform_CWF( volatile int *wa | |||||
73 | int send_waveform_CWF3( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
|
65 | int send_waveform_CWF3( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); | |
74 | int send_waveform_CWF3_light( volatile int *waveform, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
|
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 | rtems_id get_pkts_queue_id( void ); |
|
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 | volatile int wf_snap_f1[ NB_RING_NODES_F1 ][ (NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK) + TIME_OFFSET + 46 ] __attribute__((aligned(0x100))); |
|
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 | volatile int wf_snap_f2[ NB_RING_NODES_F2 ][ (NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK) + TIME_OFFSET + 46 ] __attribute__((aligned(0x100))); |
|
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 | // F3 |
|
41 | // F3 | |
42 | volatile int wf_cont_f3_a[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); |
|
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))); |
|
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 |
|
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 | // SPECTRAL MATRICES GLOBAL VARIABLES |
|
46 | // SPECTRAL MATRICES GLOBAL VARIABLES | |
47 |
volatile int s |
|
47 | volatile int sm_f0[ NB_RING_NODES_ASM_F0 ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
48 |
volatile int s |
|
48 | volatile int sm_f1[ NB_RING_NODES_ASM_F1 ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
49 |
volatile int s |
|
49 | volatile int sm_f2[ NB_RING_NODES_ASM_F2 ][ SM_HEADER + TOTAL_SIZE_SM ]; | |
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 ]; |
|
|||
65 |
|
50 | |||
66 | // APB CONFIGURATION REGISTERS |
|
51 | // APB CONFIGURATION REGISTERS | |
67 | time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT; |
|
52 | time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT; |
@@ -11,10 +11,48 | |||||
11 |
|
11 | |||
12 | #include "fsw_processing_globals.c" |
|
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 | BP1_t data_BP1[ NB_BINS_COMPRESSED_SM_F0 ]; |
|
23 | BP1_t data_BP1[ NB_BINS_COMPRESSED_SM_F0 ]; | |
15 |
float averaged_s |
|
24 | float averaged_sm_f0[ TOTAL_SIZE_SM ]; | |
16 |
char averaged_s |
|
25 | char averaged_sm_f0_char[ TOTAL_SIZE_SM * 2 ]; | |
17 |
float compressed_s |
|
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 | // Interrupt Service Routine for spectral matrices processing |
|
58 | // Interrupt Service Routine for spectral matrices processing | |
@@ -31,48 +69,13 rtems_isr spectral_matrices_isr( rtems_v | |||||
31 | switch(i) |
|
69 | switch(i) | |
32 | { |
|
70 | { | |
33 | case 0: |
|
71 | case 0: | |
34 | if (spectral_matrix_regs->matrixF0_Address0 == (int) spec_mat_f0_0) |
|
72 | current_ring_node_sm_f0 = current_ring_node_sm_f0->next; | |
35 | { |
|
73 | spectral_matrix_regs->matrixF0_Address0 = current_ring_node_sm_f0->buffer_address; | |
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 | } |
|
|||
42 | spectral_matrix_regs->status = spectral_matrix_regs->status & 0xfffffffe; |
|
74 | spectral_matrix_regs->status = spectral_matrix_regs->status & 0xfffffffe; | |
43 | break; |
|
75 | break; | |
44 | case 1: |
|
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 | break; |
|
77 | break; | |
55 | case 2: |
|
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 | break; |
|
79 | break; | |
77 | default: |
|
80 | default: | |
78 | break; |
|
81 | break; | |
@@ -144,14 +147,14 rtems_task avf0_task(rtems_task_argument | |||||
144 | while(1){ |
|
147 | while(1){ | |
145 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 |
|
148 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 | |
146 | for(i=0; i<TOTAL_SIZE_SM; i++){ |
|
149 | for(i=0; i<TOTAL_SIZE_SM; i++){ | |
147 |
averaged_s |
|
150 | averaged_sm_f0[i] = current_ring_node_sm_f0[0].buffer_address | |
148 | + spec_mat_f0_b[i] |
|
151 | + current_ring_node_sm_f0[1].buffer_address | |
149 | + spec_mat_f0_c[i] |
|
152 | + current_ring_node_sm_f0[2].buffer_address | |
150 | + spec_mat_f0_d[i] |
|
153 | + current_ring_node_sm_f0[3].buffer_address | |
151 | + spec_mat_f0_e[i] |
|
154 | + current_ring_node_sm_f0[4].buffer_address | |
152 | + spec_mat_f0_f[i] |
|
155 | + current_ring_node_sm_f0[5].buffer_address | |
153 | + spec_mat_f0_g[i] |
|
156 | + current_ring_node_sm_f0[6].buffer_address | |
154 | + spec_mat_f0_h[i]; |
|
157 | + current_ring_node_sm_f0[7].buffer_address; | |
155 | } |
|
158 | } | |
156 | nb_average = nb_average + NB_SM_TO_RECEIVE_BEFORE_AVF0; |
|
159 | nb_average = nb_average + NB_SM_TO_RECEIVE_BEFORE_AVF0; | |
157 | if (nb_average == NB_AVERAGE_NORMAL_f0) { |
|
160 | if (nb_average == NB_AVERAGE_NORMAL_f0) { | |
@@ -173,8 +176,8 rtems_task bpf0_task(rtems_task_argument | |||||
173 |
|
176 | |||
174 | while(1){ |
|
177 | while(1){ | |
175 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 |
|
178 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 | |
176 |
matrix_compression(averaged_s |
|
179 | matrix_compression(averaged_sm_f0, 0, compressed_sm_f0); | |
177 |
BP1_set(compressed_s |
|
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 | while(1){ |
|
204 | while(1){ | |
202 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 |
|
205 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 | |
203 | // 1) convert the float array in a char array |
|
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 | // 2) send the spectral matrix packets |
|
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 | offset = 10.; |
|
549 | offset = 10.; | |
547 | coeff = 100000.; |
|
550 | coeff = 100000.; | |
548 |
averaged_s |
|
551 | averaged_sm_f0[ 0 + 25 * 0 ] = 0. + offset; | |
549 |
averaged_s |
|
552 | averaged_sm_f0[ 0 + 25 * 1 ] = 1. + offset; | |
550 |
averaged_s |
|
553 | averaged_sm_f0[ 0 + 25 * 2 ] = 2. + offset; | |
551 |
averaged_s |
|
554 | averaged_sm_f0[ 0 + 25 * 3 ] = 3. + offset; | |
552 |
averaged_s |
|
555 | averaged_sm_f0[ 0 + 25 * 4 ] = 4. + offset; | |
553 |
averaged_s |
|
556 | averaged_sm_f0[ 0 + 25 * 5 ] = 5. + offset; | |
554 |
averaged_s |
|
557 | averaged_sm_f0[ 0 + 25 * 6 ] = 6. + offset; | |
555 |
averaged_s |
|
558 | averaged_sm_f0[ 0 + 25 * 7 ] = 7. + offset; | |
556 |
averaged_s |
|
559 | averaged_sm_f0[ 0 + 25 * 8 ] = 8. + offset; | |
557 |
averaged_s |
|
560 | averaged_sm_f0[ 0 + 25 * 9 ] = 9. + offset; | |
558 |
averaged_s |
|
561 | averaged_sm_f0[ 0 + 25 * 10 ] = 10. + offset; | |
559 |
averaged_s |
|
562 | averaged_sm_f0[ 0 + 25 * 11 ] = 11. + offset; | |
560 |
averaged_s |
|
563 | averaged_sm_f0[ 0 + 25 * 12 ] = 12. + offset; | |
561 |
averaged_s |
|
564 | averaged_sm_f0[ 0 + 25 * 13 ] = 13. + offset; | |
562 |
averaged_s |
|
565 | averaged_sm_f0[ 0 + 25 * 14 ] = 14. + offset; | |
563 |
averaged_s |
|
566 | averaged_sm_f0[ 9 + 25 * 0 ] = -(0. + offset)* coeff; | |
564 |
averaged_s |
|
567 | averaged_sm_f0[ 9 + 25 * 1 ] = -(1. + offset)* coeff; | |
565 |
averaged_s |
|
568 | averaged_sm_f0[ 9 + 25 * 2 ] = -(2. + offset)* coeff; | |
566 |
averaged_s |
|
569 | averaged_sm_f0[ 9 + 25 * 3 ] = -(3. + offset)* coeff; | |
567 |
averaged_s |
|
570 | averaged_sm_f0[ 9 + 25 * 4 ] = -(4. + offset)* coeff; | |
568 |
averaged_s |
|
571 | averaged_sm_f0[ 9 + 25 * 5 ] = -(5. + offset)* coeff; | |
569 |
averaged_s |
|
572 | averaged_sm_f0[ 9 + 25 * 6 ] = -(6. + offset)* coeff; | |
570 |
averaged_s |
|
573 | averaged_sm_f0[ 9 + 25 * 7 ] = -(7. + offset)* coeff; | |
571 |
averaged_s |
|
574 | averaged_sm_f0[ 9 + 25 * 8 ] = -(8. + offset)* coeff; | |
572 |
averaged_s |
|
575 | averaged_sm_f0[ 9 + 25 * 9 ] = -(9. + offset)* coeff; | |
573 |
averaged_s |
|
576 | averaged_sm_f0[ 9 + 25 * 10 ] = -(10. + offset)* coeff; | |
574 |
averaged_s |
|
577 | averaged_sm_f0[ 9 + 25 * 11 ] = -(11. + offset)* coeff; | |
575 |
averaged_s |
|
578 | averaged_sm_f0[ 9 + 25 * 12 ] = -(12. + offset)* coeff; | |
576 |
averaged_s |
|
579 | averaged_sm_f0[ 9 + 25 * 13 ] = -(13. + offset)* coeff; | |
577 |
averaged_s |
|
580 | averaged_sm_f0[ 9 + 25 * 14 ] = -(14. + offset)* coeff; | |
578 |
|
581 | |||
579 | offset = 10000000; |
|
582 | offset = 10000000; | |
580 |
averaged_s |
|
583 | averaged_sm_f0[ 16 + 25 * 0 ] = (0. + offset)* coeff; | |
581 |
averaged_s |
|
584 | averaged_sm_f0[ 16 + 25 * 1 ] = (1. + offset)* coeff; | |
582 |
averaged_s |
|
585 | averaged_sm_f0[ 16 + 25 * 2 ] = (2. + offset)* coeff; | |
583 |
averaged_s |
|
586 | averaged_sm_f0[ 16 + 25 * 3 ] = (3. + offset)* coeff; | |
584 |
averaged_s |
|
587 | averaged_sm_f0[ 16 + 25 * 4 ] = (4. + offset)* coeff; | |
585 |
averaged_s |
|
588 | averaged_sm_f0[ 16 + 25 * 5 ] = (5. + offset)* coeff; | |
586 |
averaged_s |
|
589 | averaged_sm_f0[ 16 + 25 * 6 ] = (6. + offset)* coeff; | |
587 |
averaged_s |
|
590 | averaged_sm_f0[ 16 + 25 * 7 ] = (7. + offset)* coeff; | |
588 |
averaged_s |
|
591 | averaged_sm_f0[ 16 + 25 * 8 ] = (8. + offset)* coeff; | |
589 |
averaged_s |
|
592 | averaged_sm_f0[ 16 + 25 * 9 ] = (9. + offset)* coeff; | |
590 |
averaged_s |
|
593 | averaged_sm_f0[ 16 + 25 * 10 ] = (10. + offset)* coeff; | |
591 |
averaged_s |
|
594 | averaged_sm_f0[ 16 + 25 * 11 ] = (11. + offset)* coeff; | |
592 |
averaged_s |
|
595 | averaged_sm_f0[ 16 + 25 * 12 ] = (12. + offset)* coeff; | |
593 |
averaged_s |
|
596 | averaged_sm_f0[ 16 + 25 * 13 ] = (13. + offset)* coeff; | |
594 |
averaged_s |
|
597 | averaged_sm_f0[ 16 + 25 * 14 ] = (14. + offset)* coeff; | |
595 |
|
598 | |||
596 |
averaged_s |
|
599 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 0 ] = averaged_sm_f0[ 0 ]; | |
597 |
averaged_s |
|
600 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 1 ] = averaged_sm_f0[ 1 ]; | |
598 |
averaged_s |
|
601 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 2 ] = averaged_sm_f0[ 2 ]; | |
599 |
averaged_s |
|
602 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 3 ] = averaged_sm_f0[ 3 ]; | |
600 |
averaged_s |
|
603 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 4 ] = averaged_sm_f0[ 4 ]; | |
601 |
averaged_s |
|
604 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 5 ] = averaged_sm_f0[ 5 ]; | |
602 |
averaged_s |
|
605 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 6 ] = averaged_sm_f0[ 6 ]; | |
603 |
averaged_s |
|
606 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 7 ] = averaged_sm_f0[ 7 ]; | |
604 |
averaged_s |
|
607 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 8 ] = averaged_sm_f0[ 8 ]; | |
605 |
averaged_s |
|
608 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 9 ] = averaged_sm_f0[ 9 ]; | |
606 |
averaged_s |
|
609 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 10 ] = averaged_sm_f0[ 10 ]; | |
607 |
averaged_s |
|
610 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 11 ] = averaged_sm_f0[ 11 ]; | |
608 |
averaged_s |
|
611 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 12 ] = averaged_sm_f0[ 12 ]; | |
609 |
averaged_s |
|
612 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 13 ] = averaged_sm_f0[ 13 ]; | |
610 |
averaged_s |
|
613 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 14 ] = averaged_sm_f0[ 14 ]; | |
611 |
averaged_s |
|
614 | averaged_sm_f0[ (TOTAL_SIZE_SM/2) + 15 ] = averaged_sm_f0[ 15 ]; | |
612 | } |
|
615 | } | |
613 |
|
616 | |||
614 | void reset_spectral_matrix_regs() |
|
617 | void reset_spectral_matrix_regs() | |
@@ -628,10 +631,10 void reset_spectral_matrix_regs() | |||||
628 |
|
631 | |||
629 | #ifdef GSA |
|
632 | #ifdef GSA | |
630 | #else |
|
633 | #else | |
631 |
spectral_matrix_regs->matrixF0_Address0 = |
|
634 | spectral_matrix_regs->matrixF0_Address0 = current_ring_node_sm_f0->buffer_address; | |
632 |
spectral_matrix_regs->matrixFO_Address1 = |
|
635 | spectral_matrix_regs->matrixFO_Address1 = current_ring_node_sm_f0->buffer_address; | |
633 |
spectral_matrix_regs->matrixF1_Address = |
|
636 | spectral_matrix_regs->matrixF1_Address = current_ring_node_sm_f1->buffer_address; | |
634 |
spectral_matrix_regs->matrixF2_Address = |
|
637 | spectral_matrix_regs->matrixF2_Address = current_ring_node_sm_f2->buffer_address; | |
635 | #endif |
|
638 | #endif | |
636 | } |
|
639 | } | |
637 |
|
640 |
@@ -36,8 +36,6 ring_node *current_ring_node_f2; | |||||
36 | ring_node *ring_node_to_send_swf_f2; |
|
36 | ring_node *ring_node_to_send_swf_f2; | |
37 | ring_node *ring_node_to_send_cwf_f2; |
|
37 | ring_node *ring_node_to_send_cwf_f2; | |
38 |
|
38 | |||
39 | unsigned char doubleSendCWF2 = 0; |
|
|||
40 |
|
||||
41 | rtems_isr waveforms_isr( rtems_vector_number vector ) |
|
39 | rtems_isr waveforms_isr( rtems_vector_number vector ) | |
42 | { |
|
40 | { | |
43 | /** This is the interrupt sub routine called by the waveform picker core. |
|
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 | if ( (lfrCurrentMode == LFR_MODE_NORMAL) |
|
51 | if ( (lfrCurrentMode == LFR_MODE_NORMAL) | |
52 | || (lfrCurrentMode == LFR_MODE_SBM1) || (lfrCurrentMode == LFR_MODE_SBM2) ) |
|
52 | || (lfrCurrentMode == LFR_MODE_SBM1) || (lfrCurrentMode == LFR_MODE_SBM2) ) | |
53 | { // in modes other than STANDBY and BURST, send the CWF_F3 data |
|
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 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { |
|
94 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { | |
95 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
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] |
|
97 | // nb_swf = nb_swf + 1; | |
98 | // rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_7 ); |
|
98 | // if (nb_swf == 2) | |
99 | // reset_wfp_burst_enable(); |
|
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 | break; |
|
107 | break; | |
102 |
|
108 | |||
@@ -211,9 +217,11 rtems_task wfrm_task(rtems_task_argument | |||||
211 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); |
|
217 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); | |
212 | if (event_out == RTEMS_EVENT_MODE_NORMAL) |
|
218 | if (event_out == RTEMS_EVENT_MODE_NORMAL) | |
213 | { |
|
219 | { | |
|
220 | PRINTF1("status %x\n", waveform_picker_regs->status ) | |||
214 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f0->buffer_address, SID_NORM_SWF_F0, headerSWF_F0, queue_id); |
|
221 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f0->buffer_address, SID_NORM_SWF_F0, headerSWF_F0, queue_id); | |
215 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f1->buffer_address, SID_NORM_SWF_F1, headerSWF_F1, queue_id); |
|
222 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f1->buffer_address, SID_NORM_SWF_F1, headerSWF_F1, queue_id); | |
216 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f2->buffer_address, SID_NORM_SWF_F2, headerSWF_F2, queue_id); |
|
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 | else |
|
226 | else | |
219 | { |
|
227 | { | |
@@ -527,33 +535,12 int init_header_continuous_wf_table( uns | |||||
527 | headerCWF[ i ].packetID[0] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST >> 8); |
|
535 | headerCWF[ i ].packetID[0] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST >> 8); | |
528 | headerCWF[ i ].packetID[1] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST); |
|
536 | headerCWF[ i ].packetID[1] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST); | |
529 | } |
|
537 | } | |
530 | if (i == 0) |
|
538 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_STANDALONE; | |
531 | { |
|
539 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_336 >> 8); | |
532 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_FIRST; |
|
540 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_336 ); | |
533 |
|
|
541 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_CWF >> 8); | |
534 |
|
|
542 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_CWF ); | |
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 | } |
|
|||
554 | headerCWF[ i ].packetSequenceControl[1] = TM_PACKET_SEQ_CNT_DEFAULT; |
|
543 | headerCWF[ i ].packetSequenceControl[1] = TM_PACKET_SEQ_CNT_DEFAULT; | |
555 | // PKT_CNT |
|
|||
556 | // PKT_NR |
|
|||
557 | // DATA FIELD HEADER |
|
544 | // DATA FIELD HEADER | |
558 | headerCWF[ i ].spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
|
545 | headerCWF[ i ].spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; | |
559 | headerCWF[ i ].serviceType = TM_TYPE_LFR_SCIENCE; // service type |
|
546 | headerCWF[ i ].serviceType = TM_TYPE_LFR_SCIENCE; // service type | |
@@ -585,30 +572,13 int init_header_continuous_cwf3_light_ta | |||||
585 |
|
572 | |||
586 | headerCWF[ i ].packetID[0] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST >> 8); |
|
573 | headerCWF[ i ].packetID[0] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST >> 8); | |
587 | headerCWF[ i ].packetID[1] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST); |
|
574 | headerCWF[ i ].packetID[1] = (unsigned char) (TM_PACKET_ID_SCIENCE_NORMAL_BURST); | |
588 | if (i == 0) |
|
575 | ||
589 | { |
|
576 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_STANDALONE; | |
590 | headerCWF[ i ].packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_FIRST; |
|
577 | headerCWF[ i ].packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_672 >> 8); | |
591 |
|
|
578 | headerCWF[ i ].packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_672 ); | |
592 |
|
|
579 | headerCWF[ i ].blkNr[0] = (unsigned char) (BLK_NR_CWF_SHORT_F3 >> 8); | |
593 |
|
|
580 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_CWF_SHORT_F3 ); | |
594 | headerCWF[ i ].blkNr[1] = (unsigned char) (BLK_NR_340 ); |
|
581 | ||
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 | } |
|
|||
612 | headerCWF[ i ].packetSequenceControl[1] = TM_PACKET_SEQ_CNT_DEFAULT; |
|
582 | headerCWF[ i ].packetSequenceControl[1] = TM_PACKET_SEQ_CNT_DEFAULT; | |
613 | // DATA FIELD HEADER |
|
583 | // DATA FIELD HEADER | |
614 | headerCWF[ i ].spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
|
584 | headerCWF[ i ].spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; | |
@@ -645,6 +615,8 int send_waveform_SWF( volatile int *wav | |||||
645 |
|
615 | |||
646 | unsigned int i; |
|
616 | unsigned int i; | |
647 | int ret; |
|
617 | int ret; | |
|
618 | unsigned int coarseTime; | |||
|
619 | unsigned int fineTime; | |||
648 | rtems_status_code status; |
|
620 | rtems_status_code status; | |
649 | spw_ioctl_pkt_send spw_ioctl_send_SWF; |
|
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 | ret = LFR_DEFAULT; |
|
626 | ret = LFR_DEFAULT; | |
655 |
|
627 | |||
|
628 | PRINTF1("sid = %d, ", sid) | |||
|
629 | PRINTF2("coarse = %x, fine = %x\n", waveform[0], waveform[1]) | |||
|
630 | ||||
656 | for (i=0; i<7; i++) // send waveform |
|
631 | for (i=0; i<7; i++) // send waveform | |
657 | { |
|
632 | { | |
658 | #ifdef VHDL_DEV |
|
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 | #else |
|
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 | #endif |
|
637 | #endif | |
663 | spw_ioctl_send_SWF.hdr = (char*) &headerSWF[ i ]; |
|
638 | spw_ioctl_send_SWF.hdr = (char*) &headerSWF[ i ]; | |
664 | // BUILD THE DATA |
|
639 | // BUILD THE DATA | |
665 | if (i==6) { |
|
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 | else { |
|
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 | // SET PACKET SEQUENCE COUNTER |
|
646 | // SET PACKET SEQUENCE COUNTER | |
672 | increment_seq_counter_source_id( headerSWF[ i ].packetSequenceControl, sid ); |
|
647 | increment_seq_counter_source_id( headerSWF[ i ].packetSequenceControl, sid ); | |
673 | // SET PACKET TIME |
|
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 | headerSWF[ i ].acquisitionTime[0] = (unsigned char) (time_management_regs->coarse_time>>24); |
|
661 | headerSWF[ i ].acquisitionTime[0] = (unsigned char) (time_management_regs->coarse_time>>24); | |
675 | headerSWF[ i ].acquisitionTime[1] = (unsigned char) (time_management_regs->coarse_time>>16); |
|
662 | headerSWF[ i ].acquisitionTime[1] = (unsigned char) (time_management_regs->coarse_time>>16); | |
676 | headerSWF[ i ].acquisitionTime[2] = (unsigned char) (time_management_regs->coarse_time>>8); |
|
663 | headerSWF[ i ].acquisitionTime[2] = (unsigned char) (time_management_regs->coarse_time>>8); | |
677 | headerSWF[ i ].acquisitionTime[3] = (unsigned char) (time_management_regs->coarse_time); |
|
664 | headerSWF[ i ].acquisitionTime[3] = (unsigned char) (time_management_regs->coarse_time); | |
678 | headerSWF[ i ].acquisitionTime[4] = (unsigned char) (time_management_regs->fine_time>>8); |
|
665 | headerSWF[ i ].acquisitionTime[4] = (unsigned char) (time_management_regs->fine_time>>8); | |
679 | headerSWF[ i ].acquisitionTime[5] = (unsigned char) (time_management_regs->fine_time); |
|
666 | headerSWF[ i ].acquisitionTime[5] = (unsigned char) (time_management_regs->fine_time); | |
|
667 | #endif | |||
680 | headerSWF[ i ].time[0] = (unsigned char) (time_management_regs->coarse_time>>24); |
|
668 | headerSWF[ i ].time[0] = (unsigned char) (time_management_regs->coarse_time>>24); | |
681 | headerSWF[ i ].time[1] = (unsigned char) (time_management_regs->coarse_time>>16); |
|
669 | headerSWF[ i ].time[1] = (unsigned char) (time_management_regs->coarse_time>>16); | |
682 | headerSWF[ i ].time[2] = (unsigned char) (time_management_regs->coarse_time>>8); |
|
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 | unsigned int i; |
|
701 | unsigned int i; | |
714 | int ret; |
|
702 | int ret; | |
|
703 | unsigned char *coarseTimePtr; | |||
|
704 | unsigned char *fineTimePtr; | |||
715 | rtems_status_code status; |
|
705 | rtems_status_code status; | |
716 | spw_ioctl_pkt_send spw_ioctl_send_CWF; |
|
706 | spw_ioctl_pkt_send spw_ioctl_send_CWF; | |
717 |
|
707 | |||
@@ -725,21 +715,26 int send_waveform_CWF(volatile int *wave | |||||
725 | int coarseTime = 0x00; |
|
715 | int coarseTime = 0x00; | |
726 | int fineTime = 0x00; |
|
716 | int fineTime = 0x00; | |
727 | #ifdef VHDL_DEV |
|
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 | #else |
|
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 | #endif |
|
721 | #endif | |
732 | spw_ioctl_send_CWF.hdr = (char*) &headerCWF[ i ]; |
|
722 | spw_ioctl_send_CWF.hdr = (char*) &headerCWF[ i ]; | |
733 | // BUILD THE DATA |
|
723 | // BUILD THE DATA | |
734 | if (i==6) { |
|
724 | spw_ioctl_send_CWF.dlen = BLK_NR_CWF * NB_BYTES_SWF_BLK; | |
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 | } |
|
|||
740 | // SET PACKET SEQUENCE COUNTER |
|
725 | // SET PACKET SEQUENCE COUNTER | |
741 | increment_seq_counter_source_id( headerCWF[ i ].packetSequenceControl, sid ); |
|
726 | increment_seq_counter_source_id( headerCWF[ i ].packetSequenceControl, sid ); | |
742 | // SET PACKET TIME |
|
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 | coarseTime = time_management_regs->coarse_time; |
|
738 | coarseTime = time_management_regs->coarse_time; | |
744 | fineTime = time_management_regs->fine_time; |
|
739 | fineTime = time_management_regs->fine_time; | |
745 | headerCWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime>>24); |
|
740 | headerCWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime>>24); | |
@@ -748,6 +743,8 int send_waveform_CWF(volatile int *wave | |||||
748 | headerCWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime); |
|
743 | headerCWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime); | |
749 | headerCWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime>>8); |
|
744 | headerCWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime>>8); | |
750 | headerCWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime); |
|
745 | headerCWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime); | |
|
746 | #endif | |||
|
747 | ||||
751 | headerCWF[ i ].time[0] = (unsigned char) (coarseTime>>24); |
|
748 | headerCWF[ i ].time[0] = (unsigned char) (coarseTime>>24); | |
752 | headerCWF[ i ].time[1] = (unsigned char) (coarseTime>>16); |
|
749 | headerCWF[ i ].time[1] = (unsigned char) (coarseTime>>16); | |
753 | headerCWF[ i ].time[2] = (unsigned char) (coarseTime>>8); |
|
750 | headerCWF[ i ].time[2] = (unsigned char) (coarseTime>>8); | |
@@ -793,6 +790,8 int send_waveform_CWF3_light(volatile in | |||||
793 |
|
790 | |||
794 | unsigned int i; |
|
791 | unsigned int i; | |
795 | int ret; |
|
792 | int ret; | |
|
793 | unsigned char *coarseTimePtr; | |||
|
794 | unsigned char *fineTimePtr; | |||
796 | rtems_status_code status; |
|
795 | rtems_status_code status; | |
797 | spw_ioctl_pkt_send spw_ioctl_send_CWF; |
|
796 | spw_ioctl_pkt_send spw_ioctl_send_CWF; | |
798 | char *sample; |
|
797 | char *sample; | |
@@ -804,19 +803,25 int send_waveform_CWF3_light(volatile in | |||||
804 |
|
803 | |||
805 | //********************** |
|
804 | //********************** | |
806 | // BUILD CWF3_light DATA |
|
805 | // BUILD CWF3_light DATA | |
807 |
for ( i=0; i< |
|
806 | for ( i=0; i< NB_SAMPLES_PER_SNAPSHOT; i++) | |
808 | { |
|
807 | { | |
809 | #ifdef VHDL_DEV |
|
808 | #ifdef VHDL_DEV | |
810 | sample = (char*) &waveform[ (i * NB_WORDS_SWF_BLK) + TIME_OFFSET ]; |
|
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 | #else |
|
816 | #else | |
812 | sample = (char*) &waveform[ i * NB_WORDS_SWF_BLK ]; |
|
817 | sample = (char*) &waveform[ i * NB_WORDS_SWF_BLK ]; | |
813 | #endif |
|
|||
814 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) ] = sample[ 0 ]; |
|
818 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) ] = sample[ 0 ]; | |
815 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 1 ] = sample[ 1 ]; |
|
819 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 1 ] = sample[ 1 ]; | |
816 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 2 ] = sample[ 2 ]; |
|
820 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 2 ] = sample[ 2 ]; | |
817 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 3 ] = sample[ 3 ]; |
|
821 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 3 ] = sample[ 3 ]; | |
818 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 4 ] = sample[ 4 ]; |
|
822 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 4 ] = sample[ 4 ]; | |
819 | wf_cont_f3_light[ (i * NB_BYTES_CWF3_LIGHT_BLK) + 5 ] = sample[ 5 ]; |
|
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 | int coarseTime = 0x00; |
|
832 | int coarseTime = 0x00; | |
828 | int fineTime = 0x00; |
|
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 | spw_ioctl_send_CWF.hdr = (char*) &headerCWF[ i ]; |
|
840 | spw_ioctl_send_CWF.hdr = (char*) &headerCWF[ i ]; | |
832 | // BUILD THE DATA |
|
841 | // BUILD THE DATA | |
833 | if ( i == WFRM_INDEX_OF_LAST_PACKET ) { |
|
842 | spw_ioctl_send_CWF.dlen = BLK_NR_CWF_SHORT_F3 * NB_BYTES_CWF3_LIGHT_BLK; | |
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 | } |
|
|||
839 | // SET PACKET SEQUENCE COUNTER |
|
843 | // SET PACKET SEQUENCE COUNTER | |
840 | increment_seq_counter_source_id( headerCWF[ i ].packetSequenceControl, SID_NORM_CWF_F3 ); |
|
844 | increment_seq_counter_source_id( headerCWF[ i ].packetSequenceControl, SID_NORM_CWF_F3 ); | |
841 | // SET PACKET TIME |
|
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 | coarseTime = time_management_regs->coarse_time; |
|
856 | coarseTime = time_management_regs->coarse_time; | |
843 | fineTime = time_management_regs->fine_time; |
|
857 | fineTime = time_management_regs->fine_time; | |
844 | headerCWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime>>24); |
|
858 | headerCWF[ i ].acquisitionTime[0] = (unsigned char) (coarseTime>>24); | |
@@ -847,6 +861,7 int send_waveform_CWF3_light(volatile in | |||||
847 | headerCWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime); |
|
861 | headerCWF[ i ].acquisitionTime[3] = (unsigned char) (coarseTime); | |
848 | headerCWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime>>8); |
|
862 | headerCWF[ i ].acquisitionTime[4] = (unsigned char) (fineTime>>8); | |
849 | headerCWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime); |
|
863 | headerCWF[ i ].acquisitionTime[5] = (unsigned char) (fineTime); | |
|
864 | #endif | |||
850 | headerCWF[ i ].time[0] = (unsigned char) (coarseTime>>24); |
|
865 | headerCWF[ i ].time[0] = (unsigned char) (coarseTime>>24); | |
851 | headerCWF[ i ].time[1] = (unsigned char) (coarseTime>>16); |
|
866 | headerCWF[ i ].time[1] = (unsigned char) (coarseTime>>16); | |
852 | headerCWF[ i ].time[2] = (unsigned char) (coarseTime>>8); |
|
867 | headerCWF[ i ].time[2] = (unsigned char) (coarseTime>>8); | |
@@ -865,6 +880,50 int send_waveform_CWF3_light(volatile in | |||||
865 | return ret; |
|
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 | // wfp registers |
|
929 | // wfp registers | |
@@ -1066,18 +1125,28 void reset_waveform_picker_regs() | |||||
1066 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; // 0x10 |
|
1125 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; // 0x10 | |
1067 | waveform_picker_regs->addr_data_f3 = (int) (wf_cont_f3_a); // 0x14 |
|
1126 | waveform_picker_regs->addr_data_f3 = (int) (wf_cont_f3_a); // 0x14 | |
1068 | waveform_picker_regs->status = 0x00; // 0x18 |
|
1127 | waveform_picker_regs->status = 0x00; // 0x18 | |
1069 | // waveform_picker_regs->delta_snapshot = 0x12800; // 0x1c 296 * 256 = 75776 |
|
1128 | // | |
1070 |
waveform_picker_regs->delta_snapshot = 0x1000; // 0x1c 16 * 256 |
|
1129 | // waveform_picker_regs->delta_snapshot = 0x1000; // 0x1c *** 4096 = 16 * 256 | |
1071 |
|
|
1130 | // waveform_picker_regs->delta_f0 = 0xc0b; // 0x20 *** 3083 = 4096 - 1013 | |
1072 |
waveform_picker_regs->delta_f0 |
|
1131 | // waveform_picker_regs->delta_f0_2 = 0x7; // 0x24 *** 7 [7 bits] | |
1073 |
waveform_picker_regs->delta_f |
|
1132 | // waveform_picker_regs->delta_f1 = 0xc40; // 0x28 *** 3136 = 4096 - 960 | |
1074 |
waveform_picker_regs->delta_f |
|
1133 | // waveform_picker_regs->delta_f2 = 0xc00; // 0x2c *** 3072 = 12 * 256 | |
1075 | // waveform_picker_regs->delta_f2 = 0x12200; // 0x2c *** 290 * 256 = 74240 |
|
1134 | // | |
1076 |
waveform_picker_regs->delta_ |
|
1135 | waveform_picker_regs->delta_snapshot = 0x1000; // 0x1c *** 4096 = 16 * 256 | |
1077 |
waveform_picker_regs-> |
|
1136 | waveform_picker_regs->delta_f0 = 0x1; // 0x20 *** | |
1078 |
waveform_picker_regs-> |
|
1137 | waveform_picker_regs->delta_f0_2 = 0x7; // 0x24 *** 7 [7 bits] | |
1079 |
waveform_picker_regs-> |
|
1138 | waveform_picker_regs->delta_f1 = 0x1; // 0x28 *** | |
1080 |
waveform_picker_regs-> |
|
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 | #else |
|
1151 | #else | |
1083 | void reset_waveform_picker_regs() |
|
1152 | void reset_waveform_picker_regs() |
General Comments 0
You need to be logged in to leave comments.
Login now