@@ -1,21 +1,21 | |||||
1 | ############################################################################# |
|
1 | ############################################################################# | |
2 | # Makefile for building: bin/fsw |
|
2 | # Makefile for building: bin/fsw | |
3 |
# Generated by qmake (2.01a) (Qt 4.8.5) on: |
|
3 | # Generated by qmake (2.01a) (Qt 4.8.5) on: Mon Jan 20 12:52:59 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++ CONFIG+=debug -o Makefile fsw-qt.pro | |
7 | ############################################################################# |
|
7 | ############################################################################# | |
8 |
|
8 | |||
9 | ####### Compiler, tools and options |
|
9 | ####### Compiler, tools and options | |
10 |
|
10 | |||
11 | CC = sparc-rtems-gcc |
|
11 | CC = sparc-rtems-gcc | |
12 | CXX = sparc-rtems-g++ |
|
12 | CXX = sparc-rtems-g++ | |
13 | DEFINES = -DSW_VERSION_N1=1 -DSW_VERSION_N2=0 -DSW_VERSION_N3=0 -DSW_VERSION_N4=1 -DPRINT_MESSAGES_ON_CONSOLE |
|
13 | DEFINES = -DSW_VERSION_N1=1 -DSW_VERSION_N2=0 -DSW_VERSION_N3=0 -DSW_VERSION_N4=1 -DPRINT_MESSAGES_ON_CONSOLE -DDEBUG_MESSAGES | |
14 | CFLAGS = -pipe -O3 -Wall $(DEFINES) |
|
14 | CFLAGS = -pipe -g -O3 -Wall $(DEFINES) | |
15 | CXXFLAGS = -pipe -O3 -Wall $(DEFINES) |
|
15 | CXXFLAGS = -pipe -O3 -Wall $(DEFINES) | |
16 | INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I../src -I../header |
|
16 | INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I../src -I../header | |
17 | LINK = sparc-rtems-g++ |
|
17 | LINK = sparc-rtems-g++ | |
18 | LFLAGS = |
|
18 | LFLAGS = -g | |
19 | LIBS = $(SUBLIBS) |
|
19 | LIBS = $(SUBLIBS) | |
20 | AR = sparc-rtems-ar rcs |
|
20 | AR = sparc-rtems-ar rcs | |
21 | RANLIB = |
|
21 | RANLIB = | |
@@ -76,7 +76,7 DIST = /usr/lib64/qt4/mkspecs/c | |||||
76 | /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \ |
|
76 | /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \ | |
77 | /usr/lib64/qt4/mkspecs/features/default_pre.prf \ |
|
77 | /usr/lib64/qt4/mkspecs/features/default_pre.prf \ | |
78 | sparc.pri \ |
|
78 | sparc.pri \ | |
79 |
/usr/lib64/qt4/mkspecs/features/ |
|
79 | /usr/lib64/qt4/mkspecs/features/debug.prf \ | |
80 | /usr/lib64/qt4/mkspecs/features/default_post.prf \ |
|
80 | /usr/lib64/qt4/mkspecs/features/default_post.prf \ | |
81 | /usr/lib64/qt4/mkspecs/features/shared.prf \ |
|
81 | /usr/lib64/qt4/mkspecs/features/shared.prf \ | |
82 | /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ |
|
82 | /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ | |
@@ -118,6 +118,7 all: Makefile $(TARGET) | |||||
118 | $(TARGET): $(OBJECTS) |
|
118 | $(TARGET): $(OBJECTS) | |
119 | @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/ |
|
119 | @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/ | |
120 | $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) |
|
120 | $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) | |
|
121 | { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && sparc-rtems-objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true | |||
121 |
|
122 | |||
122 | Makefile: fsw-qt.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \ |
|
123 | Makefile: fsw-qt.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \ | |
123 | /usr/lib64/qt4/mkspecs/common/linux.conf \ |
|
124 | /usr/lib64/qt4/mkspecs/common/linux.conf \ | |
@@ -132,7 +133,7 Makefile: fsw-qt.pro /usr/lib64/qt4/mks | |||||
132 | /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \ |
|
133 | /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \ | |
133 | /usr/lib64/qt4/mkspecs/features/default_pre.prf \ |
|
134 | /usr/lib64/qt4/mkspecs/features/default_pre.prf \ | |
134 | sparc.pri \ |
|
135 | sparc.pri \ | |
135 |
/usr/lib64/qt4/mkspecs/features/ |
|
136 | /usr/lib64/qt4/mkspecs/features/debug.prf \ | |
136 | /usr/lib64/qt4/mkspecs/features/default_post.prf \ |
|
137 | /usr/lib64/qt4/mkspecs/features/default_post.prf \ | |
137 | /usr/lib64/qt4/mkspecs/features/shared.prf \ |
|
138 | /usr/lib64/qt4/mkspecs/features/shared.prf \ | |
138 | /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ |
|
139 | /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ | |
@@ -142,7 +143,7 Makefile: fsw-qt.pro /usr/lib64/qt4/mks | |||||
142 | /usr/lib64/qt4/mkspecs/features/yacc.prf \ |
|
143 | /usr/lib64/qt4/mkspecs/features/yacc.prf \ | |
143 | /usr/lib64/qt4/mkspecs/features/lex.prf \ |
|
144 | /usr/lib64/qt4/mkspecs/features/lex.prf \ | |
144 | /usr/lib64/qt4/mkspecs/features/include_source_dir.prf |
|
145 | /usr/lib64/qt4/mkspecs/features/include_source_dir.prf | |
145 | $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro |
|
146 | $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile fsw-qt.pro | |
146 | /usr/lib64/qt4/mkspecs/common/unix.conf: |
|
147 | /usr/lib64/qt4/mkspecs/common/unix.conf: | |
147 | /usr/lib64/qt4/mkspecs/common/linux.conf: |
|
148 | /usr/lib64/qt4/mkspecs/common/linux.conf: | |
148 | /usr/lib64/qt4/mkspecs/common/gcc-base.conf: |
|
149 | /usr/lib64/qt4/mkspecs/common/gcc-base.conf: | |
@@ -156,7 +157,7 Makefile: fsw-qt.pro /usr/lib64/qt4/mks | |||||
156 | /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf: |
|
157 | /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf: | |
157 | /usr/lib64/qt4/mkspecs/features/default_pre.prf: |
|
158 | /usr/lib64/qt4/mkspecs/features/default_pre.prf: | |
158 | sparc.pri: |
|
159 | sparc.pri: | |
159 |
/usr/lib64/qt4/mkspecs/features/ |
|
160 | /usr/lib64/qt4/mkspecs/features/debug.prf: | |
160 | /usr/lib64/qt4/mkspecs/features/default_post.prf: |
|
161 | /usr/lib64/qt4/mkspecs/features/default_post.prf: | |
161 | /usr/lib64/qt4/mkspecs/features/shared.prf: |
|
162 | /usr/lib64/qt4/mkspecs/features/shared.prf: | |
162 | /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf: |
|
163 | /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf: | |
@@ -167,7 +168,7 sparc.pri: | |||||
167 | /usr/lib64/qt4/mkspecs/features/lex.prf: |
|
168 | /usr/lib64/qt4/mkspecs/features/lex.prf: | |
168 | /usr/lib64/qt4/mkspecs/features/include_source_dir.prf: |
|
169 | /usr/lib64/qt4/mkspecs/features/include_source_dir.prf: | |
169 | qmake: FORCE |
|
170 | qmake: FORCE | |
170 | @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro |
|
171 | @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile fsw-qt.pro | |
171 |
|
172 | |||
172 | dist: |
|
173 | dist: | |
173 | @$(CHK_DIR_EXISTS) obj/fsw1.0.0 || $(MKDIR) obj/fsw1.0.0 |
|
174 | @$(CHK_DIR_EXISTS) obj/fsw1.0.0 || $(MKDIR) obj/fsw1.0.0 |
@@ -1,7 +1,7 | |||||
1 | TEMPLATE = app |
|
1 | TEMPLATE = app | |
2 | # CONFIG += console v8 sim |
|
2 | # CONFIG += console v8 sim | |
3 | # CONFIG options = verbose *** boot_messages *** debug_messages *** cpu_usage_report *** stack_report *** gsa |
|
3 | # CONFIG options = verbose *** boot_messages *** debug_messages *** cpu_usage_report *** stack_report *** gsa | |
4 | CONFIG += console verbose |
|
4 | CONFIG += console verbose debug_messages | |
5 | CONFIG -= qt |
|
5 | CONFIG -= qt | |
6 |
|
6 | |||
7 | include(./sparc.pri) |
|
7 | include(./sparc.pri) |
@@ -1,6 +1,6 | |||||
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 | <!-- Written by QtCreator 3.0.0, 2014-01-21T06:52:06. --> | |
4 | <qtcreator> |
|
4 | <qtcreator> | |
5 | <data> |
|
5 | <data> | |
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
|
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> | |
@@ -15,13 +15,13 | |||||
15 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> |
|
15 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> | |
16 | <value type="QString" key="language">Cpp</value> |
|
16 | <value type="QString" key="language">Cpp</value> | |
17 | <valuemap type="QVariantMap" key="value"> |
|
17 | <valuemap type="QVariantMap" key="value"> | |
18 |
<value type="Q |
|
18 | <value type="QByteArray" key="CurrentPreferences">CppGlobal</value> | |
19 | </valuemap> |
|
19 | </valuemap> | |
20 | </valuemap> |
|
20 | </valuemap> | |
21 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> |
|
21 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> | |
22 | <value type="QString" key="language">QmlJS</value> |
|
22 | <value type="QString" key="language">QmlJS</value> | |
23 | <valuemap type="QVariantMap" key="value"> |
|
23 | <valuemap type="QVariantMap" key="value"> | |
24 |
<value type="Q |
|
24 | <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> | |
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> | |
@@ -58,6 +58,7 | |||||
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">0</value> |
|
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">/opt/DEV_PLE/FSW-qt</value> | |||
61 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
63 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
63 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
64 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
@@ -112,11 +113,11 | |||||
112 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> |
|
113 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> | |
113 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
115 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
115 |
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration"> |
|
116 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> | |
116 | <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</value> |
|
|||
117 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> |
|
117 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> | |
118 | </valuemap> |
|
118 | </valuemap> | |
119 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> |
|
119 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> | |
|
120 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</value> | |||
120 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
121 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
121 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
122 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
122 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
123 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
@@ -172,7 +173,6 | |||||
172 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
173 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
173 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
174 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
174 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> |
|
175 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> | |
175 | <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</value> |
|
|||
176 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> |
|
176 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> | |
177 | </valuemap> |
|
177 | </valuemap> | |
178 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> |
|
178 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> | |
@@ -191,7 +191,6 | |||||
191 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> |
|
191 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> | |
192 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> |
|
192 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> | |
193 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> |
|
193 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> | |
194 | <value type="bool" key="Analyzer.Project.UseGlobal">true</value> |
|
|||
195 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> |
|
194 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
196 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> |
|
195 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
197 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> |
|
196 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> | |
@@ -201,8 +200,12 | |||||
201 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> |
|
200 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
202 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> |
|
201 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
203 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> |
|
202 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
|
203 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |||
204 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> |
|
204 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
205 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> |
|
205 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> | |
|
206 | <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> | |||
|
207 | <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> | |||
|
208 | <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> | |||
206 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> |
|
209 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
207 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> |
|
210 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
208 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> |
|
211 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
@@ -239,141 +242,7 | |||||
239 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
|
242 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
240 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
|
243 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
241 | </valuemap> |
|
244 | </valuemap> | |
242 |
<value type="int" key="ProjectExplorer.Target.RunConfiguration |
|
245 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1"> | |
243 | </valuemap> |
|
|||
244 | </data> |
|
|||
245 | <data> |
|
|||
246 | <variable>ProjectExplorer.Project.Target.1</variable> |
|
|||
247 | <valuemap type="QVariantMap"> |
|
|||
248 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop2</value> |
|
|||
249 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop2</value> |
|
|||
250 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{e96c4de1-323d-4095-8746-d006ca3bd573}</value> |
|
|||
251 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> |
|
|||
252 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> |
|
|||
253 | <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> |
|
|||
254 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> |
|
|||
255 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
|||
256 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
|||
257 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
|||
258 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> |
|
|||
259 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
260 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> |
|
|||
261 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> |
|
|||
262 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> |
|
|||
263 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> |
|
|||
264 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> |
|
|||
265 | </valuemap> |
|
|||
266 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> |
|
|||
267 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
|||
268 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> |
|
|||
269 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
270 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> |
|
|||
271 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> |
|
|||
272 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> |
|
|||
273 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> |
|
|||
274 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
|||
275 | </valuemap> |
|
|||
276 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
|
|||
277 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> |
|
|||
278 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
279 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> |
|
|||
280 | </valuemap> |
|
|||
281 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> |
|
|||
282 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
|||
283 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
|||
284 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> |
|
|||
285 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
286 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> |
|
|||
287 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> |
|
|||
288 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> |
|
|||
289 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> |
|
|||
290 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
|||
291 | </valuemap> |
|
|||
292 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> |
|
|||
293 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> |
|
|||
294 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
295 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> |
|
|||
296 | </valuemap> |
|
|||
297 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
|
|||
298 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
|
|||
299 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
|
|||
300 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> |
|
|||
301 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
302 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
|||
303 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> |
|
|||
304 | <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</value> |
|
|||
305 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> |
|
|||
306 | </valuemap> |
|
|||
307 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> |
|
|||
308 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
|||
309 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
|||
310 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
|||
311 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> |
|
|||
312 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
313 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> |
|
|||
314 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> |
|
|||
315 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value> |
|
|||
316 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> |
|
|||
317 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> |
|
|||
318 | </valuemap> |
|
|||
319 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> |
|
|||
320 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
|||
321 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> |
|
|||
322 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
323 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> |
|
|||
324 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> |
|
|||
325 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> |
|
|||
326 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> |
|
|||
327 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
|||
328 | </valuemap> |
|
|||
329 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
|
|||
330 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> |
|
|||
331 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
332 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> |
|
|||
333 | </valuemap> |
|
|||
334 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> |
|
|||
335 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
|
|||
336 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
|
|||
337 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> |
|
|||
338 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
339 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> |
|
|||
340 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> |
|
|||
341 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> |
|
|||
342 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> |
|
|||
343 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> |
|
|||
344 | </valuemap> |
|
|||
345 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> |
|
|||
346 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> |
|
|||
347 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
348 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> |
|
|||
349 | </valuemap> |
|
|||
350 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
|
|||
351 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
|
|||
352 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
|
|||
353 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release2</value> |
|
|||
354 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
355 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> |
|
|||
356 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> |
|
|||
357 | <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/DEV_PLE/FSW-qt</value> |
|
|||
358 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value> |
|
|||
359 | </valuemap> |
|
|||
360 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> |
|
|||
361 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> |
|
|||
362 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
|
|||
363 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
|
|||
364 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> |
|
|||
365 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
366 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> |
|
|||
367 | </valuemap> |
|
|||
368 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> |
|
|||
369 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> |
|
|||
370 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
|||
371 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> |
|
|||
372 | </valuemap> |
|
|||
373 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> |
|
|||
374 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> |
|
|||
375 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> |
|
|||
376 | <value type="bool" key="Analyzer.Project.UseGlobal">true</value> |
|
|||
377 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> |
|
246 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
378 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> |
|
247 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
379 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> |
|
248 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> | |
@@ -383,8 +252,12 | |||||
383 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> |
|
252 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
384 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> |
|
253 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
385 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> |
|
254 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
|
255 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |||
386 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> |
|
256 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
387 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> |
|
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> | |||
388 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> |
|
261 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
389 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> |
|
262 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
390 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> |
|
263 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
@@ -404,16 +277,15 | |||||
404 | <value type="int">13</value> |
|
277 | <value type="int">13</value> | |
405 | <value type="int">14</value> |
|
278 | <value type="int">14</value> | |
406 | </valuelist> |
|
279 | </valuelist> | |
407 |
<value type="int" key="PE.EnvironmentAspect.Base"> |
|
280 | <value type="int" key="PE.EnvironmentAspect.Base">-1</value> | |
408 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> |
|
281 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> | |
409 |
<value type="QString" key="ProjectExplorer. |
|
282 | <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value> | |
|
283 | <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">grmon</value> | |||
|
284 | <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value> | |||
|
285 | <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value> | |||
|
286 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run grmon</value> | |||
410 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
|
287 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
411 |
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id"> |
|
288 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value> | |
412 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value> |
|
|||
413 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">fsw-qt.pro</value> |
|
|||
414 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> |
|
|||
415 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">true</value> |
|
|||
416 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> |
|
|||
417 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> |
|
289 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> | |
418 | <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> |
|
290 | <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> | |
419 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> |
|
291 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> | |
@@ -421,12 +293,12 | |||||
421 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
|
293 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
422 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
|
294 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
423 | </valuemap> |
|
295 | </valuemap> | |
424 |
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount"> |
|
296 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value> | |
425 | </valuemap> |
|
297 | </valuemap> | |
426 | </data> |
|
298 | </data> | |
427 | <data> |
|
299 | <data> | |
428 | <variable>ProjectExplorer.Project.TargetCount</variable> |
|
300 | <variable>ProjectExplorer.Project.TargetCount</variable> | |
429 |
<value type="int"> |
|
301 | <value type="int">1</value> | |
430 | </data> |
|
302 | </data> | |
431 | <data> |
|
303 | <data> | |
432 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> |
|
304 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> | |
@@ -434,6 +306,6 | |||||
434 | </data> |
|
306 | </data> | |
435 | <data> |
|
307 | <data> | |
436 | <variable>ProjectExplorer.Project.Updater.FileVersion</variable> |
|
308 | <variable>ProjectExplorer.Project.Updater.FileVersion</variable> | |
437 |
<value type="int">1 |
|
309 | <value type="int">15</value> | |
438 | </data> |
|
310 | </data> | |
439 | </qtcreator> |
|
311 | </qtcreator> |
@@ -13,6 +13,16 | |||||
13 | // flight software version |
|
13 | // flight software version | |
14 | // this parameters is handled by the Qt project options |
|
14 | // this parameters is handled by the Qt project options | |
15 |
|
15 | |||
|
16 | #define NB_SAMPLES_PER_SNAPSHOT 2048 | |||
|
17 | #define TIME_OFFSET 2 | |||
|
18 | #define WAVEFORM_EXTENDED_HEADER_OFFSET 22 | |||
|
19 | #define NB_BYTES_SWF_BLK (2 * 6) | |||
|
20 | #define NB_WORDS_SWF_BLK 3 | |||
|
21 | #define NB_BYTES_CWF3_LIGHT_BLK 6 | |||
|
22 | #define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8 | |||
|
23 | #define NB_RING_NODES_F1 5 // AT LEAST 3 | |||
|
24 | #define NB_RING_NODES_F2 5 // AT LEAST 3 | |||
|
25 | ||||
16 | //********** |
|
26 | //********** | |
17 | // LFR MODES |
|
27 | // LFR MODES | |
18 | #define LFR_MODE_STANDBY 0 |
|
28 | #define LFR_MODE_STANDBY 0 | |
@@ -36,7 +46,7 | |||||
36 | #define DEFAULT_SY_LFR_COMMON1 0x10 // default value 0 0 0 1 0 0 0 0 |
|
46 | #define DEFAULT_SY_LFR_COMMON1 0x10 // default value 0 0 0 1 0 0 0 0 | |
37 | // NORM |
|
47 | // NORM | |
38 | #define SY_LFR_N_SWF_L 2048 // nb sample |
|
48 | #define SY_LFR_N_SWF_L 2048 // nb sample | |
39 |
#define SY_LFR_N_SWF_P 2 |
|
49 | #define SY_LFR_N_SWF_P 20 // sec | |
40 | #define SY_LFR_N_ASM_P 3600 // sec |
|
50 | #define SY_LFR_N_ASM_P 3600 // sec | |
41 | #define SY_LFR_N_BP_P0 4 // sec |
|
51 | #define SY_LFR_N_BP_P0 4 // sec | |
42 | #define SY_LFR_N_BP_P1 20 // sec |
|
52 | #define SY_LFR_N_BP_P1 20 // sec | |
@@ -126,30 +136,21 | |||||
126 |
|
136 | |||
127 | #define TASK_PRIORITY_SPIQ 5 |
|
137 | #define TASK_PRIORITY_SPIQ 5 | |
128 | #define TASK_PRIORITY_SMIQ 10 |
|
138 | #define TASK_PRIORITY_SMIQ 10 | |
129 | // |
|
|||
130 | #define TASK_PRIORITY_WTDG 20 |
|
139 | #define TASK_PRIORITY_WTDG 20 | |
131 | // |
|
|||
132 | #define TASK_PRIORITY_HOUS 30 |
|
140 | #define TASK_PRIORITY_HOUS 30 | |
133 | // |
|
|||
134 | #define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together |
|
141 | #define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together | |
135 | #define TASK_PRIORITY_CWF2 35 // |
|
142 | #define TASK_PRIORITY_CWF2 35 // | |
136 | // |
|
|||
137 | #define TASK_PRIORITY_WFRM 40 |
|
143 | #define TASK_PRIORITY_WFRM 40 | |
138 | #define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1 |
|
144 | #define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1 | |
139 | // |
|
|||
140 | #define TASK_PRIORITY_SEND 45 |
|
145 | #define TASK_PRIORITY_SEND 45 | |
141 | // |
|
|||
142 | #define TASK_PRIORITY_RECV 50 |
|
146 | #define TASK_PRIORITY_RECV 50 | |
143 | #define TASK_PRIORITY_ACTN 50 |
|
147 | #define TASK_PRIORITY_ACTN 50 | |
144 | // |
|
|||
145 | #define TASK_PRIORITY_AVF0 60 |
|
148 | #define TASK_PRIORITY_AVF0 60 | |
146 | #define TASK_PRIORITY_BPF0 60 |
|
149 | #define TASK_PRIORITY_BPF0 60 | |
147 | #define TASK_PRIORITY_MATR 100 |
|
150 | #define TASK_PRIORITY_MATR 100 | |
148 | #define TASK_PRIORITY_STAT 200 |
|
151 | #define TASK_PRIORITY_STAT 200 | |
149 | #define TASK_PRIORITY_DUMB 200 |
|
152 | #define TASK_PRIORITY_DUMB 200 | |
150 |
|
153 | |||
151 | #define SEMQ_PRIORITY_CEILING 30 |
|
|||
152 |
|
||||
153 | #define ACTION_MSG_QUEUE_COUNT 10 |
|
154 | #define ACTION_MSG_QUEUE_COUNT 10 | |
154 | #define ACTION_MSG_PKTS_COUNT 50 |
|
155 | #define ACTION_MSG_PKTS_COUNT 50 | |
155 | #define ACTION_MSG_PKTS_MAX_SIZE (PACKET_LENGTH_HK + CCSDS_TC_TM_PACKET_OFFSET + CCSDS_PROTOCOLE_EXTRA_BYTES) |
|
156 | #define ACTION_MSG_PKTS_MAX_SIZE (PACKET_LENGTH_HK + CCSDS_TC_TM_PACKET_OFFSET + CCSDS_PROTOCOLE_EXTRA_BYTES) | |
@@ -192,14 +193,6 | |||||
192 |
|
193 | |||
193 | #define CPU_USAGE_REPORT_PERIOD 6 // * 10 s = period |
|
194 | #define CPU_USAGE_REPORT_PERIOD 6 // * 10 s = period | |
194 |
|
195 | |||
195 | #define NB_SAMPLES_PER_SNAPSHOT 2048 |
|
|||
196 | #define TIME_OFFSET 2 |
|
|||
197 | #define WAVEFORM_EXTENDED_HEADER_OFFSET 22 |
|
|||
198 | #define NB_BYTES_SWF_BLK (2 * 6) |
|
|||
199 | #define NB_WORDS_SWF_BLK 3 |
|
|||
200 | #define NB_BYTES_CWF3_LIGHT_BLK 6 |
|
|||
201 | #define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8 |
|
|||
202 |
|
||||
203 | struct param_local_str{ |
|
196 | struct param_local_str{ | |
204 | unsigned int local_sbm1_nb_cwf_sent; |
|
197 | unsigned int local_sbm1_nb_cwf_sent; | |
205 | unsigned int local_sbm1_nb_cwf_max; |
|
198 | unsigned int local_sbm1_nb_cwf_max; |
@@ -12,20 +12,29 | |||||
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 | ||||
15 | extern int fdSPW; |
|
23 | extern int fdSPW; | |
|
24 | ||||
|
25 | //***************** | |||
|
26 | // waveform buffers | |||
|
27 | // F0 | |||
16 | extern volatile int wf_snap_f0[ ]; |
|
28 | extern volatile int wf_snap_f0[ ]; | |
17 | // |
|
29 | // F1 | |
18 | extern volatile int wf_snap_f1[ ]; |
|
30 | extern volatile int wf_snap_f1[ ][ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
19 | extern volatile int wf_snap_f1_bis[ ]; |
|
31 | // F2 | |
20 | extern volatile int wf_snap_f1_norm[ ]; |
|
32 | extern volatile int wf_snap_f2[ ][ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
21 | // |
|
33 | // F3 | |
22 | extern volatile int wf_snap_f2[ ]; |
|
|||
23 | extern volatile int wf_snap_f2_bis[ ]; |
|
|||
24 | extern volatile int wf_snap_f2_norm[ ]; |
|
|||
25 | // |
|
|||
26 | extern volatile int wf_cont_f3[ ]; |
|
34 | extern volatile int wf_cont_f3[ ]; | |
27 | extern volatile int wf_cont_f3_bis[ ]; |
|
35 | extern volatile int wf_cont_f3_bis[ ]; | |
28 | extern char wf_cont_f3_light[ ]; |
|
36 | extern char wf_cont_f3_light[ ]; | |
|
37 | ||||
29 | extern waveform_picker_regs_t *waveform_picker_regs; |
|
38 | extern waveform_picker_regs_t *waveform_picker_regs; | |
30 | extern time_management_regs_t *time_management_regs; |
|
39 | extern time_management_regs_t *time_management_regs; | |
31 | extern Packet_TM_LFR_HK_t housekeeping_packet; |
|
40 | extern Packet_TM_LFR_HK_t housekeeping_packet; | |
@@ -40,7 +49,6 extern rtems_id Task_id[20]; | |||||
40 | extern unsigned char lfrCurrentMode; |
|
49 | extern unsigned char lfrCurrentMode; | |
41 |
|
50 | |||
42 | rtems_isr waveforms_isr( rtems_vector_number vector ); |
|
51 | rtems_isr waveforms_isr( rtems_vector_number vector ); | |
43 | rtems_isr waveforms_simulator_isr( rtems_vector_number vector ); |
|
|||
44 | rtems_task wfrm_task( rtems_task_argument argument ); |
|
52 | rtems_task wfrm_task( rtems_task_argument argument ); | |
45 | rtems_task cwf3_task( rtems_task_argument argument ); |
|
53 | rtems_task cwf3_task( rtems_task_argument argument ); | |
46 | rtems_task cwf2_task( rtems_task_argument argument ); |
|
54 | rtems_task cwf2_task( rtems_task_argument argument ); | |
@@ -49,13 +57,13 rtems_task cwf1_task( rtems_task_argumen | |||||
49 | //****************** |
|
57 | //****************** | |
50 | // general functions |
|
58 | // general functions | |
51 | void init_waveforms( void ); |
|
59 | void init_waveforms( void ); | |
|
60 | void init_waveform_rings( void ); | |||
|
61 | void reset_current_ring_nodes( void ); | |||
52 | // |
|
62 | // | |
53 | int init_header_snapshot_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF ); |
|
63 | int init_header_snapshot_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF ); | |
54 | int init_header_continuous_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF ); |
|
64 | int init_header_continuous_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF ); | |
55 | int init_header_continuous_wf3_light_table( Header_TM_LFR_SCIENCE_CWF_t *headerCWF ); |
|
65 | int init_header_continuous_wf3_light_table( Header_TM_LFR_SCIENCE_CWF_t *headerCWF ); | |
56 | // |
|
66 | // | |
57 | void reset_waveforms( void ); |
|
|||
58 | // |
|
|||
59 | int send_waveform_SWF( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF, rtems_id queue_id ); |
|
67 | int send_waveform_SWF( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF, rtems_id queue_id ); | |
60 | int send_waveform_CWF( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
|
68 | int send_waveform_CWF( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); | |
61 | int send_waveform_CWF3( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
|
69 | int send_waveform_CWF3( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); |
@@ -31,25 +31,12 int fdSPW = 0; | |||||
31 | int fdUART = 0; |
|
31 | int fdUART = 0; | |
32 | unsigned char lfrCurrentMode; |
|
32 | unsigned char lfrCurrentMode; | |
33 |
|
33 | |||
34 | // APB CONFIGURATION REGISTERS |
|
|||
35 | time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT; |
|
|||
36 | gptimer_regs_t *gptimer_regs = (gptimer_regs_t *) REGS_ADDR_GPTIMER; |
|
|||
37 | #ifdef GSA |
|
|||
38 | #else |
|
|||
39 | waveform_picker_regs_t *waveform_picker_regs = (waveform_picker_regs_t*) REGS_ADDR_WAVEFORM_PICKER; |
|
|||
40 | #endif |
|
|||
41 | spectral_matrix_regs_t *spectral_matrix_regs = (spectral_matrix_regs_t*) REGS_ADDR_SPECTRAL_MATRIX; |
|
|||
42 |
|
||||
43 | // WAVEFORMS GLOBAL VARIABLES // 2048 * 3 * 4 + 2 * 4 = 24576 + 8 bytes |
|
34 | // WAVEFORMS GLOBAL VARIABLES // 2048 * 3 * 4 + 2 * 4 = 24576 + 8 bytes | |
44 | volatile int wf_snap_f0[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
35 | volatile int wf_snap_f0[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
45 | // |
|
36 | // | |
46 |
volatile int wf_snap_f1[ |
|
37 | volatile int wf_snap_f1[NB_RING_NODES_F1][ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
47 | volatile int wf_snap_f1_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
|||
48 | volatile int wf_snap_f1_norm[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
|||
49 | // |
|
38 | // | |
50 |
volatile int wf_snap_f2[ |
|
39 | volatile int wf_snap_f2[NB_RING_NODES_F2][ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
51 | volatile int wf_snap_f2_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
|||
52 | volatile int wf_snap_f2_norm[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
|||
53 | // |
|
40 | // | |
54 | volatile int wf_cont_f3[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
41 | volatile int wf_cont_f3[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
55 | volatile int wf_cont_f3_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; |
|
42 | volatile int wf_cont_f3_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ]; | |
@@ -75,6 +62,15 volatile int spec_mat_f1_bis[ SM_HEADER | |||||
75 | volatile int spec_mat_f2[ SM_HEADER + TOTAL_SIZE_SM ]; |
|
62 | volatile int spec_mat_f2[ SM_HEADER + TOTAL_SIZE_SM ]; | |
76 | volatile int spec_mat_f2_bis[ SM_HEADER + TOTAL_SIZE_SM ]; |
|
63 | volatile int spec_mat_f2_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | |
77 |
|
64 | |||
|
65 | // APB CONFIGURATION REGISTERS | |||
|
66 | time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT; | |||
|
67 | gptimer_regs_t *gptimer_regs = (gptimer_regs_t *) REGS_ADDR_GPTIMER; | |||
|
68 | #ifdef GSA | |||
|
69 | #else | |||
|
70 | waveform_picker_regs_t *waveform_picker_regs = (waveform_picker_regs_t*) REGS_ADDR_WAVEFORM_PICKER; | |||
|
71 | #endif | |||
|
72 | spectral_matrix_regs_t *spectral_matrix_regs = (spectral_matrix_regs_t*) REGS_ADDR_SPECTRAL_MATRIX; | |||
|
73 | ||||
78 | // MODE PARAMETERS |
|
74 | // MODE PARAMETERS | |
79 | Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet; |
|
75 | Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet; | |
80 | struct param_local_str param_local; |
|
76 | struct param_local_str param_local; |
@@ -85,6 +85,7 rtems_task Init( rtems_task_argument ign | |||||
85 | set_apbuart_scaler_reload_register(REGS_ADDR_APBUART, APBUART_SCALER_RELOAD_VALUE); |
|
85 | set_apbuart_scaler_reload_register(REGS_ADDR_APBUART, APBUART_SCALER_RELOAD_VALUE); | |
86 |
|
86 | |||
87 | reset_wfp_burst_enable(); // stop the waveform picker if it was running |
|
87 | reset_wfp_burst_enable(); // stop the waveform picker if it was running | |
|
88 | init_waveform_rings(); // initialize the waveform rings | |||
88 |
|
89 | |||
89 | init_parameter_dump(); |
|
90 | init_parameter_dump(); | |
90 | init_local_mode_parameters(); |
|
91 | init_local_mode_parameters(); |
@@ -573,6 +573,9 int enter_sbm1_mode() | |||||
573 | #ifdef GSA |
|
573 | #ifdef GSA | |
574 | LEON_Unmask_interrupt( IRQ_SM ); |
|
574 | LEON_Unmask_interrupt( IRQ_SM ); | |
575 | #else |
|
575 | #else | |
|
576 | //**************** | |||
|
577 | // waveform picker | |||
|
578 | reset_current_ring_nodes(); | |||
576 | reset_waveform_picker_regs(); |
|
579 | reset_waveform_picker_regs(); | |
577 | set_wfp_burst_enable_register(LFR_MODE_SBM1); |
|
580 | set_wfp_burst_enable_register(LFR_MODE_SBM1); | |
578 | LEON_Clear_interrupt( IRQ_WAVEFORM_PICKER ); |
|
581 | LEON_Clear_interrupt( IRQ_WAVEFORM_PICKER ); | |
@@ -605,6 +608,9 int enter_sbm2_mode() | |||||
605 | #ifdef GSA |
|
608 | #ifdef GSA | |
606 | LEON_Unmask_interrupt( IRQ_SM ); |
|
609 | LEON_Unmask_interrupt( IRQ_SM ); | |
607 | #else |
|
610 | #else | |
|
611 | //**************** | |||
|
612 | // waveform picker | |||
|
613 | reset_current_ring_nodes(); | |||
608 | reset_waveform_picker_regs(); |
|
614 | reset_waveform_picker_regs(); | |
609 | set_wfp_burst_enable_register(LFR_MODE_SBM2); |
|
615 | set_wfp_burst_enable_register(LFR_MODE_SBM2); | |
610 | LEON_Clear_interrupt( IRQ_WAVEFORM_PICKER ); |
|
616 | LEON_Clear_interrupt( IRQ_WAVEFORM_PICKER ); |
@@ -9,6 +9,8 | |||||
9 |
|
9 | |||
10 | #include "wf_handler.h" |
|
10 | #include "wf_handler.h" | |
11 |
|
11 | |||
|
12 | //***************** | |||
|
13 | // waveform headers | |||
12 | // SWF |
|
14 | // SWF | |
13 | Header_TM_LFR_SCIENCE_SWF_t headerSWF_F0[7]; |
|
15 | Header_TM_LFR_SCIENCE_SWF_t headerSWF_F0[7]; | |
14 | Header_TM_LFR_SCIENCE_SWF_t headerSWF_F1[7]; |
|
16 | Header_TM_LFR_SCIENCE_SWF_t headerSWF_F1[7]; | |
@@ -20,7 +22,17 Header_TM_LFR_SCIENCE_CWF_t headerCWF_F2 | |||||
20 | Header_TM_LFR_SCIENCE_CWF_t headerCWF_F3[7]; |
|
22 | Header_TM_LFR_SCIENCE_CWF_t headerCWF_F3[7]; | |
21 | Header_TM_LFR_SCIENCE_CWF_t headerCWF_F3_light[7]; |
|
23 | Header_TM_LFR_SCIENCE_CWF_t headerCWF_F3_light[7]; | |
22 |
|
24 | |||
23 | unsigned char doubleSendCWF1 = 0; |
|
25 | //************** | |
|
26 | // waveform ring | |||
|
27 | ring_node waveform_ring_f1[NB_RING_NODES_F1]; | |||
|
28 | ring_node waveform_ring_f2[NB_RING_NODES_F2]; | |||
|
29 | ring_node *current_ring_node_f1; | |||
|
30 | ring_node *ring_node_to_send_swf_f1; | |||
|
31 | ring_node *ring_node_to_send_cwf_f1; | |||
|
32 | ring_node *current_ring_node_f2; | |||
|
33 | ring_node *ring_node_to_send_swf_f2; | |||
|
34 | ring_node *ring_node_to_send_cwf_f2; | |||
|
35 | ||||
24 | unsigned char doubleSendCWF2 = 0; |
|
36 | unsigned char doubleSendCWF2 = 0; | |
25 |
|
37 | |||
26 | rtems_isr waveforms_isr( rtems_vector_number vector ) |
|
38 | rtems_isr waveforms_isr( rtems_vector_number vector ) | |
@@ -74,11 +86,20 rtems_isr waveforms_isr( rtems_vector_nu | |||||
74 | else { |
|
86 | else { | |
75 | if ( (waveform_picker_regs->status & 0x7) == 0x7 ){ // f2 f1 and f0 are full |
|
87 | if ( (waveform_picker_regs->status & 0x7) == 0x7 ){ // f2 f1 and f0 are full | |
76 | waveform_picker_regs->burst_enable = waveform_picker_regs->burst_enable & 0x08; |
|
88 | waveform_picker_regs->burst_enable = waveform_picker_regs->burst_enable & 0x08; | |
|
89 | ||||
|
90 | ring_node_to_send_swf_f1 = current_ring_node_f1; | |||
|
91 | current_ring_node_f1 = current_ring_node_f1->next; | |||
|
92 | waveform_picker_regs->addr_data_f1 = current_ring_node_f1->buffer_address; | |||
|
93 | ||||
|
94 | ring_node_to_send_swf_f2 = current_ring_node_f2; | |||
|
95 | current_ring_node_f2 = current_ring_node_f2->next; | |||
|
96 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; | |||
|
97 | ||||
77 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { |
|
98 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { | |
78 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
99 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); | |
79 | } |
|
100 | } | |
80 | // waveform_picker_regs->status = waveform_picker_regs->status & 0x00; |
|
101 | ||
81 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffff888; |
|
102 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffff888; // [1000 1000 1000] | |
82 | waveform_picker_regs->burst_enable = waveform_picker_regs->burst_enable | 0x07; // [0111] enable f2 f1 f0 |
|
103 | waveform_picker_regs->burst_enable = waveform_picker_regs->burst_enable | 0x07; // [0111] enable f2 f1 f0 | |
83 | } |
|
104 | } | |
84 | } |
|
105 | } | |
@@ -91,19 +112,16 rtems_isr waveforms_isr( rtems_vector_nu | |||||
91 | #ifdef GSA |
|
112 | #ifdef GSA | |
92 | PRINTF("in waveform_isr *** unexpected waveform picker interruption\n") |
|
113 | PRINTF("in waveform_isr *** unexpected waveform picker interruption\n") | |
93 | #else |
|
114 | #else | |
94 | if ((waveform_picker_regs->status & 0x04) == 0x04){ // [0100] check the f2 full bit |
|
115 | if ( (waveform_picker_regs->status & 0x04) == 0x04 ){ // [0100] check the f2 full bit | |
95 | // (1) change the receiving buffer for the waveform picker |
|
116 | // (1) change the receiving buffer for the waveform picker | |
96 | if (waveform_picker_regs->addr_data_f2 == (int) wf_snap_f2) { |
|
117 | ring_node_to_send_cwf_f2 = current_ring_node_f2; | |
97 | waveform_picker_regs->addr_data_f2 = (int) (wf_snap_f2_bis); |
|
118 | current_ring_node_f2 = current_ring_node_f2->next; | |
98 | } |
|
119 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; | |
99 | else { |
|
|||
100 | waveform_picker_regs->addr_data_f2 = (int) (wf_snap_f2); |
|
|||
101 | } |
|
|||
102 | // (2) send an event for the waveforms transmission |
|
120 | // (2) send an event for the waveforms transmission | |
103 |
if (rtems_event_send( Task_id[TASKID_CWF |
|
121 | if (rtems_event_send( Task_id[TASKID_CWF1], RTEMS_EVENT_MODE_SBM2 ) != RTEMS_SUCCESSFUL) { | |
104 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
122 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); | |
105 | } |
|
123 | } | |
106 |
waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffbbb; // [1111 1011 1011 1011] f2 bit |
|
124 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffbbb; // [1111 1011 1011 1011] f2 bit = 0 | |
107 | } |
|
125 | } | |
108 | #endif |
|
126 | #endif | |
109 | break; |
|
127 | break; | |
@@ -114,35 +132,25 rtems_isr waveforms_isr( rtems_vector_nu | |||||
114 | #ifdef GSA |
|
132 | #ifdef GSA | |
115 | PRINTF("in waveform_isr *** unexpected waveform picker interruption\n") |
|
133 | PRINTF("in waveform_isr *** unexpected waveform picker interruption\n") | |
116 | #else |
|
134 | #else | |
117 | if ((waveform_picker_regs->status & 0x02) == 0x02){ // [0010] check the f1 full bit |
|
135 | if ( (waveform_picker_regs->status & 0x02) == 0x02 ) { // [0010] check the f1 full bit | |
118 | // (1) change the receiving buffer for the waveform picker |
|
136 | // (1) change the receiving buffer for the waveform picker | |
119 | if ( param_local.local_sbm1_nb_cwf_sent == (param_local.local_sbm1_nb_cwf_max-1) ) |
|
137 | ring_node_to_send_cwf_f1 = current_ring_node_f1; | |
120 | { |
|
138 | current_ring_node_f1 = current_ring_node_f1->next; | |
121 |
|
|
139 | waveform_picker_regs->addr_data_f1 = current_ring_node_f1->buffer_address; | |
122 | } |
|
|||
123 | else if ( waveform_picker_regs->addr_data_f1 == (int) wf_snap_f1_norm ) |
|
|||
124 | { |
|
|||
125 | doubleSendCWF1 = 1; |
|
|||
126 | waveform_picker_regs->addr_data_f1 = (int) (wf_snap_f1); |
|
|||
127 | } |
|
|||
128 | else if ( waveform_picker_regs->addr_data_f1 == (int) wf_snap_f1 ) { |
|
|||
129 | waveform_picker_regs->addr_data_f1 = (int) (wf_snap_f1_bis); |
|
|||
130 | } |
|
|||
131 | else { |
|
|||
132 | waveform_picker_regs->addr_data_f1 = (int) (wf_snap_f1); |
|
|||
133 | } |
|
|||
134 | // (2) send an event for the waveforms transmission |
|
140 | // (2) send an event for the waveforms transmission | |
135 | if (rtems_event_send( Task_id[TASKID_CWF1], RTEMS_EVENT_MODE_SBM1 ) != RTEMS_SUCCESSFUL) { |
|
141 | if (rtems_event_send( Task_id[TASKID_CWF1], RTEMS_EVENT_MODE_SBM1 ) != RTEMS_SUCCESSFUL) { | |
136 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
142 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); | |
137 | } |
|
143 | } | |
138 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffddd; // [1111 1101 1101 1101] f1 bit = 0 |
|
144 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffddd; // [1111 1101 1101 1101] f1 bit = 0 | |
139 | } |
|
145 | } | |
140 |
if |
|
146 | if ( (waveform_picker_regs->status & 0x01) == 0x01 ) { // [0001] check the f0 full bit | |
|
147 | ring_node_to_send_swf_f1 = current_ring_node_f1->previous; | |||
|
148 | } | |||
|
149 | if ( (waveform_picker_regs->status & 0x04) == 0x04 ) { // [0100] check the f2 full bit | |||
141 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { |
|
150 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { | |
142 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
151 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); | |
143 | } |
|
152 | } | |
144 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffaaa; // [1111 1010 1010 1010] f2 and f0 bits = 0 |
|
153 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffaaa; // [1111 1010 1010 1010] f2 and f0 bits = 0 | |
145 | reset_local_sbm1_nb_cwf_sent(); |
|
|||
146 | } |
|
154 | } | |
147 |
|
155 | |||
148 | #endif |
|
156 | #endif | |
@@ -154,38 +162,23 rtems_isr waveforms_isr( rtems_vector_nu | |||||
154 | #ifdef GSA |
|
162 | #ifdef GSA | |
155 | PRINTF("in waveform_isr *** unexpected waveform picker interruption\n") |
|
163 | PRINTF("in waveform_isr *** unexpected waveform picker interruption\n") | |
156 | #else |
|
164 | #else | |
157 | if ((waveform_picker_regs->status & 0x04) == 0x04){ // [0100] check the f2 full bit |
|
165 | if ( (waveform_picker_regs->status & 0x04) == 0x04 ){ // [0100] check the f2 full bit | |
158 | // (1) change the receiving buffer for the waveform picker |
|
166 | // (1) change the receiving buffer for the waveform picker | |
159 | if ( param_local.local_sbm2_nb_cwf_sent == (param_local.local_sbm2_nb_cwf_max-1) ) |
|
167 | ring_node_to_send_cwf_f2 = current_ring_node_f2; | |
160 | { |
|
168 | current_ring_node_f2 = current_ring_node_f2->next; | |
161 |
|
|
169 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; | |
162 | } |
|
|||
163 | else if ( waveform_picker_regs->addr_data_f2 == (int) wf_snap_f2_norm ) { |
|
|||
164 | waveform_picker_regs->addr_data_f2 = (int) (wf_snap_f2); |
|
|||
165 | doubleSendCWF2 = 1; |
|
|||
166 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_SBM2_WFRM ) != RTEMS_SUCCESSFUL) { |
|
|||
167 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
|||
168 | } |
|
|||
169 | reset_local_sbm2_nb_cwf_sent(); |
|
|||
170 | } |
|
|||
171 | else if ( waveform_picker_regs->addr_data_f2 == (int) wf_snap_f2 ) { |
|
|||
172 | waveform_picker_regs->addr_data_f2 = (int) (wf_snap_f2_bis); |
|
|||
173 | } |
|
|||
174 | else { |
|
|||
175 | waveform_picker_regs->addr_data_f2 = (int) (wf_snap_f2); |
|
|||
176 | } |
|
|||
177 | // (2) send an event for the waveforms transmission |
|
170 | // (2) send an event for the waveforms transmission | |
178 | if (rtems_event_send( Task_id[TASKID_CWF2], RTEMS_EVENT_MODE_SBM2 ) != RTEMS_SUCCESSFUL) { |
|
171 | if (rtems_event_send( Task_id[TASKID_CWF2], RTEMS_EVENT_MODE_SBM2 ) != RTEMS_SUCCESSFUL) { | |
179 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
172 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); | |
180 | } |
|
173 | } | |
181 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffbbb; // [1111 1011 1011 1011] f2 bit = 0 |
|
174 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffbbb; // [1111 1011 1011 1011] f2 bit = 0 | |
182 | } |
|
175 | } | |
183 |
if |
|
176 | // if ( (waveform_picker_regs->status & 0x03) == 0x03 ) { // [0011] f3 f2 f1 f0, f1 and f0 are full | |
184 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_SBM2 ) != RTEMS_SUCCESSFUL) { |
|
177 | // if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_SBM2 ) != RTEMS_SUCCESSFUL) { | |
185 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); |
|
178 | // rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_2 ); | |
186 | } |
|
179 | // } | |
187 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffccc; // [1111 1100 1100 1100] f1, f0 bits = 0 |
|
180 | // waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffccc; // [1111 1100 1100 1100] f1, f0 bits = 0 | |
188 | } |
|
181 | // } | |
189 | #endif |
|
182 | #endif | |
190 | break; |
|
183 | break; | |
191 |
|
184 | |||
@@ -196,34 +189,6 rtems_isr waveforms_isr( rtems_vector_nu | |||||
196 | } |
|
189 | } | |
197 | } |
|
190 | } | |
198 |
|
191 | |||
199 | rtems_isr waveforms_simulator_isr( rtems_vector_number vector ) |
|
|||
200 | { |
|
|||
201 | /** This is the interrupt sub routine called by the waveform picker simulator. |
|
|||
202 | * |
|
|||
203 | * This ISR is for debug purpose only. |
|
|||
204 | * |
|
|||
205 | */ |
|
|||
206 |
|
||||
207 | unsigned char lfrMode; |
|
|||
208 | lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; |
|
|||
209 |
|
||||
210 | switch(lfrMode) { |
|
|||
211 | case (LFR_MODE_STANDBY): |
|
|||
212 | break; |
|
|||
213 | case (LFR_MODE_NORMAL): |
|
|||
214 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { |
|
|||
215 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_5 ); |
|
|||
216 | } |
|
|||
217 | break; |
|
|||
218 | case (LFR_MODE_BURST): |
|
|||
219 | break; |
|
|||
220 | case (LFR_MODE_SBM1): |
|
|||
221 | break; |
|
|||
222 | case (LFR_MODE_SBM2): |
|
|||
223 | break; |
|
|||
224 | } |
|
|||
225 | } |
|
|||
226 |
|
||||
227 | rtems_task wfrm_task(rtems_task_argument argument) //used with the waveform picker VHDL IP |
|
192 | rtems_task wfrm_task(rtems_task_argument argument) //used with the waveform picker VHDL IP | |
228 | { |
|
193 | { | |
229 | /** This RTEMS task is dedicated to the transmission of snapshots of the NORMAL mode. |
|
194 | /** This RTEMS task is dedicated to the transmission of snapshots of the NORMAL mode. | |
@@ -260,49 +225,17 rtems_task wfrm_task(rtems_task_argument | |||||
260 | rtems_event_receive(RTEMS_EVENT_MODE_NORMAL | RTEMS_EVENT_MODE_SBM1 |
|
225 | rtems_event_receive(RTEMS_EVENT_MODE_NORMAL | RTEMS_EVENT_MODE_SBM1 | |
261 | | RTEMS_EVENT_MODE_SBM2 | RTEMS_EVENT_MODE_SBM2_WFRM, |
|
226 | | RTEMS_EVENT_MODE_SBM2 | RTEMS_EVENT_MODE_SBM2_WFRM, | |
262 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); |
|
227 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); | |
263 |
|
228 | DEBUG_PRINTF("in WFRM *** 2\n") | ||
264 | if (event_out == RTEMS_EVENT_MODE_NORMAL) |
|
229 | if (event_out == RTEMS_EVENT_MODE_NORMAL) | |
265 | { |
|
230 | { | |
266 | send_waveform_SWF(wf_snap_f0, SID_NORM_SWF_F0, headerSWF_F0, queue_id); |
|
231 | send_waveform_SWF(wf_snap_f0, SID_NORM_SWF_F0, headerSWF_F0, queue_id); | |
267 |
send_waveform_SWF( |
|
232 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f1->buffer_address, SID_NORM_SWF_F1, headerSWF_F1, queue_id); | |
268 |
send_waveform_SWF( |
|
233 | send_waveform_SWF((volatile int*) ring_node_to_send_swf_f2->buffer_address, SID_NORM_SWF_F2, headerSWF_F2, queue_id); | |
269 | #ifdef GSA |
|
|||
270 | waveform_picker_regs->status = waveform_picker_regs->status & 0xf888; // [1111 1000 1000 1000] f2, f1, f0 bits =0 |
|
|||
271 | #endif |
|
|||
272 | } |
|
|||
273 | else if (event_out == RTEMS_EVENT_MODE_SBM1) |
|
|||
274 | { |
|
|||
275 | send_waveform_SWF(wf_snap_f0, SID_NORM_SWF_F0, headerSWF_F0, queue_id); |
|
|||
276 | send_waveform_SWF(wf_snap_f1_norm, SID_NORM_SWF_F1, headerSWF_F1, queue_id); |
|
|||
277 | send_waveform_SWF(wf_snap_f2, SID_NORM_SWF_F2, headerSWF_F2, queue_id); |
|
|||
278 | #ifdef GSA |
|
|||
279 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffaaa; // [1111 1010 1010 1010] f2, f0 bits = 0 |
|
|||
280 | #endif |
|
|||
281 | } |
|
|||
282 | else if (event_out == RTEMS_EVENT_MODE_SBM2) |
|
|||
283 | { |
|
|||
284 | send_waveform_SWF(wf_snap_f0, SID_NORM_SWF_F0, headerSWF_F0, queue_id); |
|
|||
285 | send_waveform_SWF(wf_snap_f1, SID_NORM_SWF_F1, headerSWF_F1, queue_id); |
|
|||
286 | #ifdef GSA |
|
|||
287 | waveform_picker_regs->status = waveform_picker_regs->status & 0xfffffccc; // [1111 1100 1100 1100] f1, f0 bits = 0 |
|
|||
288 | #endif |
|
|||
289 | } |
|
|||
290 | else if (event_out == RTEMS_EVENT_MODE_SBM2_WFRM) |
|
|||
291 | { |
|
|||
292 | send_waveform_SWF(wf_snap_f2_norm, SID_NORM_SWF_F2, headerSWF_F2, queue_id); |
|
|||
293 | } |
|
234 | } | |
294 | else |
|
235 | else | |
295 | { |
|
236 | { | |
296 | PRINTF("in WFRM *** unexpected event") |
|
237 | PRINTF("in WFRM *** unexpected event") | |
297 | } |
|
238 | } | |
298 |
|
||||
299 |
|
||||
300 | #ifdef GSA |
|
|||
301 | // irq processed, reset the related register of the timer unit |
|
|||
302 | gptimer_regs->timer[TIMER_WF_SIMULATOR].ctrl = gptimer_regs->timer[TIMER_WF_SIMULATOR].ctrl | 0x00000010; |
|
|||
303 | // clear the interruption |
|
|||
304 | LEON_Unmask_interrupt( IRQ_WF ); |
|
|||
305 | #endif |
|
|||
306 | } |
|
239 | } | |
307 | } |
|
240 | } | |
308 |
|
241 | |||
@@ -383,39 +316,11 rtems_task cwf2_task(rtems_task_argument | |||||
383 |
|
316 | |||
384 | if (event_out == RTEMS_EVENT_MODE_BURST) |
|
317 | if (event_out == RTEMS_EVENT_MODE_BURST) | |
385 | { |
|
318 | { | |
386 | // F2 |
|
319 | send_waveform_CWF( (volatile int *) ring_node_to_send_cwf_f2, SID_BURST_CWF_F2, headerCWF_F2_BURST, queue_id ); | |
387 | #ifdef GSA |
|
|||
388 | #else |
|
|||
389 | if (waveform_picker_regs->addr_data_f2 == (int) wf_snap_f2) { |
|
|||
390 | send_waveform_CWF( wf_snap_f2_bis, SID_BURST_CWF_F2, headerCWF_F2_BURST, queue_id ); |
|
|||
391 | } |
|
|||
392 | else { |
|
|||
393 | send_waveform_CWF( wf_snap_f2, SID_BURST_CWF_F2, headerCWF_F2_BURST, queue_id ); |
|
|||
394 | } |
|
|||
395 | #endif |
|
|||
396 | } |
|
320 | } | |
397 |
|
321 | if (event_out == RTEMS_EVENT_MODE_SBM2) | ||
398 | else if (event_out == RTEMS_EVENT_MODE_SBM2) |
|
|||
399 | { |
|
322 | { | |
400 | #ifdef GSA |
|
323 | send_waveform_CWF( (volatile int *) ring_node_to_send_cwf_f2, SID_BURST_CWF_F2, headerCWF_F2_BURST, queue_id ); | |
401 | #else |
|
|||
402 | if (doubleSendCWF2 == 1) |
|
|||
403 | { |
|
|||
404 | doubleSendCWF2 = 0; |
|
|||
405 | send_waveform_CWF( wf_snap_f2_norm, SID_SBM2_CWF_F2, headerCWF_F2_SBM2, queue_id ); |
|
|||
406 | } |
|
|||
407 | else if (waveform_picker_regs->addr_data_f2 == (int) wf_snap_f2) { |
|
|||
408 | send_waveform_CWF( wf_snap_f2_bis, SID_SBM2_CWF_F2, headerCWF_F2_SBM2, queue_id ); |
|
|||
409 | } |
|
|||
410 | else { |
|
|||
411 | send_waveform_CWF( wf_snap_f2, SID_SBM2_CWF_F2, headerCWF_F2_SBM2, queue_id ); |
|
|||
412 | } |
|
|||
413 | param_local.local_sbm2_nb_cwf_sent ++; |
|
|||
414 | #endif |
|
|||
415 | } |
|
|||
416 | else |
|
|||
417 | { |
|
|||
418 | PRINTF1("in CWF2 *** ERR mode = %d\n", lfrCurrentMode) |
|
|||
419 | } |
|
324 | } | |
420 | } |
|
325 | } | |
421 | } |
|
326 | } | |
@@ -449,28 +354,7 rtems_task cwf1_task(rtems_task_argument | |||||
449 | // wait for an RTEMS_EVENT |
|
354 | // wait for an RTEMS_EVENT | |
450 | rtems_event_receive( RTEMS_EVENT_MODE_SBM1, |
|
355 | rtems_event_receive( RTEMS_EVENT_MODE_SBM1, | |
451 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); |
|
356 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); | |
452 | if (event_out == RTEMS_EVENT_MODE_SBM1) |
|
357 | send_waveform_CWF((volatile int*) ring_node_to_send_cwf_f1->buffer_address, SID_SBM1_CWF_F1, headerCWF_F1, queue_id ); | |
453 | { |
|
|||
454 | #ifdef GSA |
|
|||
455 | #else |
|
|||
456 | if (doubleSendCWF1 == 1) |
|
|||
457 | { |
|
|||
458 | doubleSendCWF1 = 0; |
|
|||
459 | send_waveform_CWF( wf_snap_f1_norm, SID_SBM1_CWF_F1, headerCWF_F1, queue_id ); |
|
|||
460 | } |
|
|||
461 | else if (waveform_picker_regs->addr_data_f1 == (int) wf_snap_f1) { |
|
|||
462 | send_waveform_CWF( wf_snap_f1_bis, SID_SBM1_CWF_F1, headerCWF_F1, queue_id ); |
|
|||
463 | } |
|
|||
464 | else { |
|
|||
465 | send_waveform_CWF( wf_snap_f1, SID_SBM1_CWF_F1, headerCWF_F1, queue_id ); |
|
|||
466 | } |
|
|||
467 | param_local.local_sbm1_nb_cwf_sent ++; |
|
|||
468 | #endif |
|
|||
469 | } |
|
|||
470 | else |
|
|||
471 | { |
|
|||
472 | PRINTF1("in CWF1 *** ERR mode = %d\n", lfrCurrentMode) |
|
|||
473 | } |
|
|||
474 | } |
|
358 | } | |
475 | } |
|
359 | } | |
476 |
|
360 | |||
@@ -490,22 +374,74 void init_waveforms( void ) | |||||
490 |
|
374 | |||
491 | //*** |
|
375 | //*** | |
492 | // F1 |
|
376 | // F1 | |
493 | wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET ] = 0x22221111; |
|
377 | // wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET ] = 0x22221111; | |
494 | wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET ] = 0x44443333; |
|
378 | // wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET ] = 0x44443333; | |
495 | wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET ] = 0xaaaa0000; |
|
379 | // wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET ] = 0xaaaa0000; | |
496 |
|
380 | |||
497 | //*** |
|
381 | //*** | |
498 | // F2 |
|
382 | // F2 | |
499 | wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET ] = 0x44443333; |
|
383 | // wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET ] = 0x44443333; | |
500 | wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET ] = 0x22221111; |
|
384 | // wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET ] = 0x22221111; | |
501 | wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET ] = 0xaaaa0000; |
|
385 | // wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET ] = 0xaaaa0000; | |
502 |
|
386 | |||
503 | //*** |
|
387 | //*** | |
504 | // F3 |
|
388 | // F3 | |
505 |
|
|
389 | // wf_cont_f3[ (i* NB_WORDS_SWF_BLK) + 0 ] = val1; | |
506 |
|
|
390 | // wf_cont_f3[ (i* NB_WORDS_SWF_BLK) + 1 ] = val2; | |
507 |
|
|
391 | // wf_cont_f3[ (i* NB_WORDS_SWF_BLK) + 2 ] = 0xaaaa0000; | |
|
392 | } | |||
|
393 | } | |||
|
394 | ||||
|
395 | void init_waveform_rings( void ) | |||
|
396 | { | |||
|
397 | unsigned char i; | |||
|
398 | ||||
|
399 | // F1 RING | |||
|
400 | waveform_ring_f1[0].next = (ring_node*) &waveform_ring_f1[1]; | |||
|
401 | waveform_ring_f1[0].previous = (ring_node*) &waveform_ring_f1[NB_RING_NODES_F1-1]; | |||
|
402 | waveform_ring_f1[0].buffer_address = (int) &wf_snap_f1[0][0]; | |||
|
403 | ||||
|
404 | waveform_ring_f1[NB_RING_NODES_F1-1].next = (ring_node*) &waveform_ring_f1[0]; | |||
|
405 | waveform_ring_f1[NB_RING_NODES_F1-1].previous = (ring_node*) &waveform_ring_f1[NB_RING_NODES_F1-2]; | |||
|
406 | waveform_ring_f1[NB_RING_NODES_F1-1].buffer_address = (int) &wf_snap_f1[NB_RING_NODES_F1-1][0]; | |||
|
407 | ||||
|
408 | for(i=1; i<NB_RING_NODES_F1-1; i++) | |||
|
409 | { | |||
|
410 | waveform_ring_f1[i].next = (ring_node*) &waveform_ring_f1[i+1]; | |||
|
411 | waveform_ring_f1[i].previous = (ring_node*) &waveform_ring_f1[i-1]; | |||
|
412 | waveform_ring_f1[i].buffer_address = (int) &wf_snap_f1[i][0]; | |||
508 | } |
|
413 | } | |
|
414 | ||||
|
415 | // F2 RING | |||
|
416 | waveform_ring_f2[0].next = (ring_node*) &waveform_ring_f2[1]; | |||
|
417 | waveform_ring_f2[0].previous = (ring_node*) &waveform_ring_f2[NB_RING_NODES_F2-1]; | |||
|
418 | waveform_ring_f2[0].buffer_address = (int) &wf_snap_f2[0][0]; | |||
|
419 | ||||
|
420 | waveform_ring_f2[NB_RING_NODES_F2-1].next = (ring_node*) &waveform_ring_f2[0]; | |||
|
421 | waveform_ring_f2[NB_RING_NODES_F2-1].previous = (ring_node*) &waveform_ring_f2[NB_RING_NODES_F2-2]; | |||
|
422 | waveform_ring_f2[NB_RING_NODES_F2-1].buffer_address = (int) &wf_snap_f2[NB_RING_NODES_F2-1][0]; | |||
|
423 | ||||
|
424 | for(i=1; i<NB_RING_NODES_F2-1; i++) | |||
|
425 | { | |||
|
426 | waveform_ring_f2[i].next = (ring_node*) &waveform_ring_f2[i+1]; | |||
|
427 | waveform_ring_f2[i].previous = (ring_node*) &waveform_ring_f2[i-1]; | |||
|
428 | waveform_ring_f2[i].buffer_address = (int) &wf_snap_f2[i][0]; | |||
|
429 | } | |||
|
430 | ||||
|
431 | DEBUG_PRINTF1("waveform_ring_f1 @%x\n", (unsigned int) waveform_ring_f1) | |||
|
432 | DEBUG_PRINTF1("waveform_ring_f2 @%x\n", (unsigned int) waveform_ring_f2) | |||
|
433 | ||||
|
434 | } | |||
|
435 | ||||
|
436 | void reset_current_ring_nodes( void ) | |||
|
437 | { | |||
|
438 | current_ring_node_f1 = waveform_ring_f1; | |||
|
439 | ring_node_to_send_cwf_f1 = waveform_ring_f1; | |||
|
440 | ring_node_to_send_swf_f1 = waveform_ring_f1; | |||
|
441 | ||||
|
442 | current_ring_node_f2 = waveform_ring_f2; | |||
|
443 | ring_node_to_send_cwf_f2 = waveform_ring_f2; | |||
|
444 | ring_node_to_send_swf_f2 = waveform_ring_f2; | |||
509 | } |
|
445 | } | |
510 |
|
446 | |||
511 | int init_header_snapshot_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF) |
|
447 | int init_header_snapshot_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF) | |
@@ -686,36 +622,6 int init_header_continuous_wf3_light_tab | |||||
686 | return LFR_SUCCESSFUL; |
|
622 | return LFR_SUCCESSFUL; | |
687 | } |
|
623 | } | |
688 |
|
624 | |||
689 | void reset_waveforms( void ) |
|
|||
690 | { |
|
|||
691 | int i = 0; |
|
|||
692 |
|
||||
693 | for (i=0; i< NB_SAMPLES_PER_SNAPSHOT; i++) |
|
|||
694 | { |
|
|||
695 | wf_snap_f0[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET] = 0x10002000; |
|
|||
696 | wf_snap_f0[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET] = 0x20001000; |
|
|||
697 | wf_snap_f0[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET] = 0x40008000; |
|
|||
698 |
|
||||
699 | //*** |
|
|||
700 | // F1 |
|
|||
701 | wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET] = 0x1000f000; |
|
|||
702 | wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET] = 0xf0001000; |
|
|||
703 | wf_snap_f1[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET] = 0x40008000; |
|
|||
704 |
|
||||
705 | //*** |
|
|||
706 | // F2 |
|
|||
707 | wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 0 + TIME_OFFSET] = 0x40008000; |
|
|||
708 | wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 1 + TIME_OFFSET] = 0x20001000; |
|
|||
709 | wf_snap_f2[ (i* NB_WORDS_SWF_BLK) + 2 + TIME_OFFSET] = 0x10002000; |
|
|||
710 |
|
||||
711 | //*** |
|
|||
712 | // F3 |
|
|||
713 | /*wf_cont_f3[ i* NB_WORDS_SWF_BLK + 0 ] = build_value( i, i ); // v and 1 |
|
|||
714 | wf_cont_f3[ i* NB_WORDS_SWF_BLK + 1 ] = build_value( i, i ); // e2 and b1 |
|
|||
715 | wf_cont_f3[ i* NB_WORDS_SWF_BLK + 2 ] = build_value( i, i ); // b2 and b3*/ |
|
|||
716 | } |
|
|||
717 | } |
|
|||
718 |
|
||||
719 | int send_waveform_SWF( volatile int *waveform, unsigned int sid, |
|
625 | int send_waveform_SWF( volatile int *waveform, unsigned int sid, | |
720 | Header_TM_LFR_SCIENCE_SWF_t *headerSWF, rtems_id queue_id ) |
|
626 | Header_TM_LFR_SCIENCE_SWF_t *headerSWF, rtems_id queue_id ) | |
721 | { |
|
627 | { | |
@@ -1099,10 +1005,10 void reset_waveform_picker_regs() | |||||
1099 | reset_wfp_burst_enable(); |
|
1005 | reset_wfp_burst_enable(); | |
1100 | reset_wfp_status(); |
|
1006 | reset_wfp_status(); | |
1101 | // set buffer addresses |
|
1007 | // set buffer addresses | |
1102 |
waveform_picker_regs->addr_data_f0 = (int) (wf_snap_f0); |
|
1008 | waveform_picker_regs->addr_data_f0 = (int) (wf_snap_f0); | |
1103 |
waveform_picker_regs->addr_data_f1 = |
|
1009 | waveform_picker_regs->addr_data_f1 = current_ring_node_f1->buffer_address; | |
1104 |
waveform_picker_regs->addr_data_f2 = |
|
1010 | waveform_picker_regs->addr_data_f2 = current_ring_node_f2->buffer_address; | |
1105 |
waveform_picker_regs->addr_data_f3 = (int) (wf_cont_f3); |
|
1011 | waveform_picker_regs->addr_data_f3 = (int) (wf_cont_f3); | |
1106 | // set other parameters |
|
1012 | // set other parameters | |
1107 | set_wfp_data_shaping(); |
|
1013 | set_wfp_data_shaping(); | |
1108 | set_wfp_delta_snapshot(); // time in seconds between two snapshots |
|
1014 | set_wfp_delta_snapshot(); // time in seconds between two snapshots |
General Comments 0
You need to be logged in to leave comments.
Login now