##// END OF EJS Templates
Sync
paul -
r175:d2561e02408b VHDL_0_1_28
parent child
Show More
@@ -1,2 +1,2
1 header/common_lfr_headers = https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/SOLO_LFR/lfr_common_headers
1 header/lfr_common_headers = https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/SOLO_LFR/lfr_common_headers
2
2
@@ -1,1 +1,1
1 0000000000000000000000000000000000000000 header/common_lfr_headers
1 da5613aff4446e5c98b3c56bc32ce7008b3e2340 header/lfr_common_headers
@@ -1,273 +1,273
1 #############################################################################
1 #############################################################################
2 # Makefile for building: bin/fsw
2 # Makefile for building: bin/fsw
3 # Generated by qmake (2.01a) (Qt 4.8.6) on: Wed Nov 26 13:14:53 2014
3 # Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Dec 15 12:32:49 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
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=2 -DSW_VERSION_N2=0 -DSW_VERSION_N3=1 -DSW_VERSION_N4=1 -DLPP_DPU_DESTID -DPRINT_MESSAGES_ON_CONSOLE
13 DEFINES = -DSW_VERSION_N1=2 -DSW_VERSION_N2=0 -DSW_VERSION_N3=1 -DSW_VERSION_N4=1 -DLPP_DPU_DESTID -DPRINT_MESSAGES_ON_CONSOLE
14 CFLAGS = -pipe -O3 -Wall $(DEFINES)
14 CFLAGS = -pipe -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 -I../header/processing -I../src/LFR_basic-parameters
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I../src -I../header -I../header/common_lfr_headers -I../header/processing -I../src/LFR_basic-parameters
17 LINK = sparc-rtems-g++
17 LINK = sparc-rtems-g++
18 LFLAGS =
18 LFLAGS =
19 LIBS = $(SUBLIBS)
19 LIBS = $(SUBLIBS)
20 AR = sparc-rtems-ar rcs
20 AR = sparc-rtems-ar rcs
21 RANLIB =
21 RANLIB =
22 QMAKE = /usr/bin/qmake-qt4
22 QMAKE = /usr/bin/qmake-qt4
23 TAR = tar -cf
23 TAR = tar -cf
24 COMPRESS = gzip -9f
24 COMPRESS = gzip -9f
25 COPY = cp -f
25 COPY = cp -f
26 SED = sed
26 SED = sed
27 COPY_FILE = $(COPY)
27 COPY_FILE = $(COPY)
28 COPY_DIR = $(COPY) -r
28 COPY_DIR = $(COPY) -r
29 STRIP = sparc-rtems-strip
29 STRIP = sparc-rtems-strip
30 INSTALL_FILE = install -m 644 -p
30 INSTALL_FILE = install -m 644 -p
31 INSTALL_DIR = $(COPY_DIR)
31 INSTALL_DIR = $(COPY_DIR)
32 INSTALL_PROGRAM = install -m 755 -p
32 INSTALL_PROGRAM = install -m 755 -p
33 DEL_FILE = rm -f
33 DEL_FILE = rm -f
34 SYMLINK = ln -f -s
34 SYMLINK = ln -f -s
35 DEL_DIR = rmdir
35 DEL_DIR = rmdir
36 MOVE = mv -f
36 MOVE = mv -f
37 CHK_DIR_EXISTS= test -d
37 CHK_DIR_EXISTS= test -d
38 MKDIR = mkdir -p
38 MKDIR = mkdir -p
39
39
40 ####### Output directory
40 ####### Output directory
41
41
42 OBJECTS_DIR = obj/
42 OBJECTS_DIR = obj/
43
43
44 ####### Files
44 ####### Files
45
45
46 SOURCES = ../src/wf_handler.c \
46 SOURCES = ../src/wf_handler.c \
47 ../src/tc_handler.c \
47 ../src/tc_handler.c \
48 ../src/fsw_misc.c \
48 ../src/fsw_misc.c \
49 ../src/fsw_init.c \
49 ../src/fsw_init.c \
50 ../src/fsw_globals.c \
50 ../src/fsw_globals.c \
51 ../src/fsw_spacewire.c \
51 ../src/fsw_spacewire.c \
52 ../src/tc_load_dump_parameters.c \
52 ../src/tc_load_dump_parameters.c \
53 ../src/tm_lfr_tc_exe.c \
53 ../src/tm_lfr_tc_exe.c \
54 ../src/tc_acceptance.c \
54 ../src/tc_acceptance.c \
55 ../src/processing/fsw_processing.c \
55 ../src/processing/fsw_processing.c \
56 ../src/processing/avf0_prc0.c \
56 ../src/processing/avf0_prc0.c \
57 ../src/processing/avf1_prc1.c \
57 ../src/processing/avf1_prc1.c \
58 ../src/processing/avf2_prc2.c \
58 ../src/processing/avf2_prc2.c \
59 ../src/lfr_cpu_usage_report.c \
59 ../src/lfr_cpu_usage_report.c \
60 ../src/LFR_basic-parameters/basic_parameters.c
60 ../src/LFR_basic-parameters/basic_parameters.c
61 OBJECTS = obj/wf_handler.o \
61 OBJECTS = obj/wf_handler.o \
62 obj/tc_handler.o \
62 obj/tc_handler.o \
63 obj/fsw_misc.o \
63 obj/fsw_misc.o \
64 obj/fsw_init.o \
64 obj/fsw_init.o \
65 obj/fsw_globals.o \
65 obj/fsw_globals.o \
66 obj/fsw_spacewire.o \
66 obj/fsw_spacewire.o \
67 obj/tc_load_dump_parameters.o \
67 obj/tc_load_dump_parameters.o \
68 obj/tm_lfr_tc_exe.o \
68 obj/tm_lfr_tc_exe.o \
69 obj/tc_acceptance.o \
69 obj/tc_acceptance.o \
70 obj/fsw_processing.o \
70 obj/fsw_processing.o \
71 obj/avf0_prc0.o \
71 obj/avf0_prc0.o \
72 obj/avf1_prc1.o \
72 obj/avf1_prc1.o \
73 obj/avf2_prc2.o \
73 obj/avf2_prc2.o \
74 obj/lfr_cpu_usage_report.o \
74 obj/lfr_cpu_usage_report.o \
75 obj/basic_parameters.o
75 obj/basic_parameters.o
76 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
76 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
77 /usr/lib64/qt4/mkspecs/common/linux.conf \
77 /usr/lib64/qt4/mkspecs/common/linux.conf \
78 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
78 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
79 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
79 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
80 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
80 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
81 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
81 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
82 /usr/lib64/qt4/mkspecs/qconfig.pri \
82 /usr/lib64/qt4/mkspecs/qconfig.pri \
83 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
83 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
84 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
84 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
85 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
85 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
86 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
86 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
87 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
87 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
88 sparc.pri \
88 sparc.pri \
89 /usr/lib64/qt4/mkspecs/features/release.prf \
89 /usr/lib64/qt4/mkspecs/features/release.prf \
90 /usr/lib64/qt4/mkspecs/features/default_post.prf \
90 /usr/lib64/qt4/mkspecs/features/default_post.prf \
91 /usr/lib64/qt4/mkspecs/features/shared.prf \
91 /usr/lib64/qt4/mkspecs/features/shared.prf \
92 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
92 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
93 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
93 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
94 /usr/lib64/qt4/mkspecs/features/resources.prf \
94 /usr/lib64/qt4/mkspecs/features/resources.prf \
95 /usr/lib64/qt4/mkspecs/features/uic.prf \
95 /usr/lib64/qt4/mkspecs/features/uic.prf \
96 /usr/lib64/qt4/mkspecs/features/yacc.prf \
96 /usr/lib64/qt4/mkspecs/features/yacc.prf \
97 /usr/lib64/qt4/mkspecs/features/lex.prf \
97 /usr/lib64/qt4/mkspecs/features/lex.prf \
98 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
98 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
99 fsw-qt.pro
99 fsw-qt.pro
100 QMAKE_TARGET = fsw
100 QMAKE_TARGET = fsw
101 DESTDIR = bin/
101 DESTDIR = bin/
102 TARGET = bin/fsw
102 TARGET = bin/fsw
103
103
104 first: all
104 first: all
105 ####### Implicit rules
105 ####### Implicit rules
106
106
107 .SUFFIXES: .o .c .cpp .cc .cxx .C
107 .SUFFIXES: .o .c .cpp .cc .cxx .C
108
108
109 .cpp.o:
109 .cpp.o:
110 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
110 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
111
111
112 .cc.o:
112 .cc.o:
113 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
113 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
114
114
115 .cxx.o:
115 .cxx.o:
116 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
116 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
117
117
118 .C.o:
118 .C.o:
119 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
119 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
120
120
121 .c.o:
121 .c.o:
122 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
122 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
123
123
124 ####### Build rules
124 ####### Build rules
125
125
126 all: Makefile $(TARGET)
126 all: Makefile $(TARGET)
127
127
128 $(TARGET): $(OBJECTS)
128 $(TARGET): $(OBJECTS)
129 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
129 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
130 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
130 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
131
131
132 Makefile: fsw-qt.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
132 Makefile: fsw-qt.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
133 /usr/lib64/qt4/mkspecs/common/linux.conf \
133 /usr/lib64/qt4/mkspecs/common/linux.conf \
134 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
134 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
135 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
135 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
136 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
136 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
137 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
137 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
138 /usr/lib64/qt4/mkspecs/qconfig.pri \
138 /usr/lib64/qt4/mkspecs/qconfig.pri \
139 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
139 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
140 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
140 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
141 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
141 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
142 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
142 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
143 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
143 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
144 sparc.pri \
144 sparc.pri \
145 /usr/lib64/qt4/mkspecs/features/release.prf \
145 /usr/lib64/qt4/mkspecs/features/release.prf \
146 /usr/lib64/qt4/mkspecs/features/default_post.prf \
146 /usr/lib64/qt4/mkspecs/features/default_post.prf \
147 /usr/lib64/qt4/mkspecs/features/shared.prf \
147 /usr/lib64/qt4/mkspecs/features/shared.prf \
148 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
148 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
149 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
149 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
150 /usr/lib64/qt4/mkspecs/features/resources.prf \
150 /usr/lib64/qt4/mkspecs/features/resources.prf \
151 /usr/lib64/qt4/mkspecs/features/uic.prf \
151 /usr/lib64/qt4/mkspecs/features/uic.prf \
152 /usr/lib64/qt4/mkspecs/features/yacc.prf \
152 /usr/lib64/qt4/mkspecs/features/yacc.prf \
153 /usr/lib64/qt4/mkspecs/features/lex.prf \
153 /usr/lib64/qt4/mkspecs/features/lex.prf \
154 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
154 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
155 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
155 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
156 /usr/lib64/qt4/mkspecs/common/unix.conf:
156 /usr/lib64/qt4/mkspecs/common/unix.conf:
157 /usr/lib64/qt4/mkspecs/common/linux.conf:
157 /usr/lib64/qt4/mkspecs/common/linux.conf:
158 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
158 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
159 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
159 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
160 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
160 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
161 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
161 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
162 /usr/lib64/qt4/mkspecs/qconfig.pri:
162 /usr/lib64/qt4/mkspecs/qconfig.pri:
163 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
163 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
164 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
164 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
165 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
165 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
166 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
166 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
167 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
167 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
168 sparc.pri:
168 sparc.pri:
169 /usr/lib64/qt4/mkspecs/features/release.prf:
169 /usr/lib64/qt4/mkspecs/features/release.prf:
170 /usr/lib64/qt4/mkspecs/features/default_post.prf:
170 /usr/lib64/qt4/mkspecs/features/default_post.prf:
171 /usr/lib64/qt4/mkspecs/features/shared.prf:
171 /usr/lib64/qt4/mkspecs/features/shared.prf:
172 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
172 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
173 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
173 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
174 /usr/lib64/qt4/mkspecs/features/resources.prf:
174 /usr/lib64/qt4/mkspecs/features/resources.prf:
175 /usr/lib64/qt4/mkspecs/features/uic.prf:
175 /usr/lib64/qt4/mkspecs/features/uic.prf:
176 /usr/lib64/qt4/mkspecs/features/yacc.prf:
176 /usr/lib64/qt4/mkspecs/features/yacc.prf:
177 /usr/lib64/qt4/mkspecs/features/lex.prf:
177 /usr/lib64/qt4/mkspecs/features/lex.prf:
178 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
178 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
179 qmake: FORCE
179 qmake: FORCE
180 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
180 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
181
181
182 dist:
182 dist:
183 @$(CHK_DIR_EXISTS) obj/fsw1.0.0 || $(MKDIR) obj/fsw1.0.0
183 @$(CHK_DIR_EXISTS) obj/fsw1.0.0 || $(MKDIR) obj/fsw1.0.0
184 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/fsw1.0.0/ && (cd `dirname obj/fsw1.0.0` && $(TAR) fsw1.0.0.tar fsw1.0.0 && $(COMPRESS) fsw1.0.0.tar) && $(MOVE) `dirname obj/fsw1.0.0`/fsw1.0.0.tar.gz . && $(DEL_FILE) -r obj/fsw1.0.0
184 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/fsw1.0.0/ && (cd `dirname obj/fsw1.0.0` && $(TAR) fsw1.0.0.tar fsw1.0.0 && $(COMPRESS) fsw1.0.0.tar) && $(MOVE) `dirname obj/fsw1.0.0`/fsw1.0.0.tar.gz . && $(DEL_FILE) -r obj/fsw1.0.0
185
185
186
186
187 clean:compiler_clean
187 clean:compiler_clean
188 -$(DEL_FILE) $(OBJECTS)
188 -$(DEL_FILE) $(OBJECTS)
189 -$(DEL_FILE) *~ core *.core
189 -$(DEL_FILE) *~ core *.core
190
190
191
191
192 ####### Sub-libraries
192 ####### Sub-libraries
193
193
194 distclean: clean
194 distclean: clean
195 -$(DEL_FILE) $(TARGET)
195 -$(DEL_FILE) $(TARGET)
196 -$(DEL_FILE) Makefile
196 -$(DEL_FILE) Makefile
197
197
198
198
199 grmon:
199 grmon:
200 cd bin && C:/opt/grmon-eval-2.0.29b/win32/bin/grmon.exe -uart COM4 -u
200 cd bin && C:/opt/grmon-eval-2.0.29b/win32/bin/grmon.exe -uart COM4 -u
201
201
202 check: first
202 check: first
203
203
204 compiler_rcc_make_all:
204 compiler_rcc_make_all:
205 compiler_rcc_clean:
205 compiler_rcc_clean:
206 compiler_uic_make_all:
206 compiler_uic_make_all:
207 compiler_uic_clean:
207 compiler_uic_clean:
208 compiler_image_collection_make_all: qmake_image_collection.cpp
208 compiler_image_collection_make_all: qmake_image_collection.cpp
209 compiler_image_collection_clean:
209 compiler_image_collection_clean:
210 -$(DEL_FILE) qmake_image_collection.cpp
210 -$(DEL_FILE) qmake_image_collection.cpp
211 compiler_yacc_decl_make_all:
211 compiler_yacc_decl_make_all:
212 compiler_yacc_decl_clean:
212 compiler_yacc_decl_clean:
213 compiler_yacc_impl_make_all:
213 compiler_yacc_impl_make_all:
214 compiler_yacc_impl_clean:
214 compiler_yacc_impl_clean:
215 compiler_lex_make_all:
215 compiler_lex_make_all:
216 compiler_lex_clean:
216 compiler_lex_clean:
217 compiler_clean:
217 compiler_clean:
218
218
219 ####### Compile
219 ####### Compile
220
220
221 obj/wf_handler.o: ../src/wf_handler.c
221 obj/wf_handler.o: ../src/wf_handler.c
222 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/wf_handler.o ../src/wf_handler.c
222 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/wf_handler.o ../src/wf_handler.c
223
223
224 obj/tc_handler.o: ../src/tc_handler.c
224 obj/tc_handler.o: ../src/tc_handler.c
225 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tc_handler.o ../src/tc_handler.c
225 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tc_handler.o ../src/tc_handler.c
226
226
227 obj/fsw_misc.o: ../src/fsw_misc.c
227 obj/fsw_misc.o: ../src/fsw_misc.c
228 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_misc.o ../src/fsw_misc.c
228 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_misc.o ../src/fsw_misc.c
229
229
230 obj/fsw_init.o: ../src/fsw_init.c ../src/fsw_config.c
230 obj/fsw_init.o: ../src/fsw_init.c ../src/fsw_config.c
231 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_init.o ../src/fsw_init.c
231 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_init.o ../src/fsw_init.c
232
232
233 obj/fsw_globals.o: ../src/fsw_globals.c
233 obj/fsw_globals.o: ../src/fsw_globals.c
234 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_globals.o ../src/fsw_globals.c
234 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_globals.o ../src/fsw_globals.c
235
235
236 obj/fsw_spacewire.o: ../src/fsw_spacewire.c
236 obj/fsw_spacewire.o: ../src/fsw_spacewire.c
237 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_spacewire.o ../src/fsw_spacewire.c
237 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_spacewire.o ../src/fsw_spacewire.c
238
238
239 obj/tc_load_dump_parameters.o: ../src/tc_load_dump_parameters.c
239 obj/tc_load_dump_parameters.o: ../src/tc_load_dump_parameters.c
240 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tc_load_dump_parameters.o ../src/tc_load_dump_parameters.c
240 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tc_load_dump_parameters.o ../src/tc_load_dump_parameters.c
241
241
242 obj/tm_lfr_tc_exe.o: ../src/tm_lfr_tc_exe.c
242 obj/tm_lfr_tc_exe.o: ../src/tm_lfr_tc_exe.c
243 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tm_lfr_tc_exe.o ../src/tm_lfr_tc_exe.c
243 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tm_lfr_tc_exe.o ../src/tm_lfr_tc_exe.c
244
244
245 obj/tc_acceptance.o: ../src/tc_acceptance.c
245 obj/tc_acceptance.o: ../src/tc_acceptance.c
246 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tc_acceptance.o ../src/tc_acceptance.c
246 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/tc_acceptance.o ../src/tc_acceptance.c
247
247
248 obj/fsw_processing.o: ../src/processing/fsw_processing.c
248 obj/fsw_processing.o: ../src/processing/fsw_processing.c
249 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_processing.o ../src/processing/fsw_processing.c
249 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/fsw_processing.o ../src/processing/fsw_processing.c
250
250
251 obj/avf0_prc0.o: ../src/processing/avf0_prc0.c
251 obj/avf0_prc0.o: ../src/processing/avf0_prc0.c
252 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/avf0_prc0.o ../src/processing/avf0_prc0.c
252 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/avf0_prc0.o ../src/processing/avf0_prc0.c
253
253
254 obj/avf1_prc1.o: ../src/processing/avf1_prc1.c
254 obj/avf1_prc1.o: ../src/processing/avf1_prc1.c
255 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/avf1_prc1.o ../src/processing/avf1_prc1.c
255 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/avf1_prc1.o ../src/processing/avf1_prc1.c
256
256
257 obj/avf2_prc2.o: ../src/processing/avf2_prc2.c
257 obj/avf2_prc2.o: ../src/processing/avf2_prc2.c
258 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/avf2_prc2.o ../src/processing/avf2_prc2.c
258 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/avf2_prc2.o ../src/processing/avf2_prc2.c
259
259
260 obj/lfr_cpu_usage_report.o: ../src/lfr_cpu_usage_report.c
260 obj/lfr_cpu_usage_report.o: ../src/lfr_cpu_usage_report.c
261 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/lfr_cpu_usage_report.o ../src/lfr_cpu_usage_report.c
261 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/lfr_cpu_usage_report.o ../src/lfr_cpu_usage_report.c
262
262
263 obj/basic_parameters.o: ../src/LFR_basic-parameters/basic_parameters.c
263 obj/basic_parameters.o: ../src/LFR_basic-parameters/basic_parameters.c
264 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/basic_parameters.o ../src/LFR_basic-parameters/basic_parameters.c
264 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/basic_parameters.o ../src/LFR_basic-parameters/basic_parameters.c
265
265
266 ####### Install
266 ####### Install
267
267
268 install: FORCE
268 install: FORCE
269
269
270 uninstall: FORCE
270 uninstall: FORCE
271
271
272 FORCE:
272 FORCE:
273
273
@@ -1,107 +1,109
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 *** vhdl_dev *** debug_tch
3 # CONFIG options = verbose *** boot_messages *** debug_messages *** cpu_usage_report *** stack_report *** vhdl_dev *** debug_tch
4 # lpp_dpu_destid
4 # lpp_dpu_destid
5 CONFIG += console verbose lpp_dpu_destid
5 CONFIG += console verbose lpp_dpu_destid
6 CONFIG -= qt
6 CONFIG -= qt
7
7
8 include(./sparc.pri)
8 include(./sparc.pri)
9
9
10 # flight software version
10 # flight software version
11 SWVERSION=-1-0
11 SWVERSION=-1-0
12 DEFINES += SW_VERSION_N1=2 # major
12 DEFINES += SW_VERSION_N1=2 # major
13 DEFINES += SW_VERSION_N2=0 # minor
13 DEFINES += SW_VERSION_N2=0 # minor
14 DEFINES += SW_VERSION_N3=1 # patch
14 DEFINES += SW_VERSION_N3=1 # patch
15 DEFINES += SW_VERSION_N4=1 # internal
15 DEFINES += SW_VERSION_N4=1 # internal
16
16
17 # <GCOV>
17 # <GCOV>
18 #QMAKE_CFLAGS_RELEASE += -fprofile-arcs -ftest-coverage
18 #QMAKE_CFLAGS_RELEASE += -fprofile-arcs -ftest-coverage
19 #LIBS += -lgcov /opt/GCOV/01A/lib/overload.o -lc
19 #LIBS += -lgcov /opt/GCOV/01A/lib/overload.o -lc
20 # </GCOV>
20 # </GCOV>
21
21
22 # <CHANGE BEFORE FLIGHT>
22 # <CHANGE BEFORE FLIGHT>
23 contains( CONFIG, lpp_dpu_destid ) {
23 contains( CONFIG, lpp_dpu_destid ) {
24 DEFINES += LPP_DPU_DESTID
24 DEFINES += LPP_DPU_DESTID
25 }
25 }
26 # </CHANGE BEFORE FLIGHT>
26 # </CHANGE BEFORE FLIGHT>
27
27
28 contains( CONFIG, debug_tch ) {
28 contains( CONFIG, debug_tch ) {
29 DEFINES += DEBUG_TCH
29 DEFINES += DEBUG_TCH
30 }
30 }
31
31
32 contains( CONFIG, vhdl_dev ) {
32 contains( CONFIG, vhdl_dev ) {
33 DEFINES += VHDL_DEV
33 DEFINES += VHDL_DEV
34 }
34 }
35
35
36 contains( CONFIG, verbose ) {
36 contains( CONFIG, verbose ) {
37 DEFINES += PRINT_MESSAGES_ON_CONSOLE
37 DEFINES += PRINT_MESSAGES_ON_CONSOLE
38 }
38 }
39
39
40 contains( CONFIG, debug_messages ) {
40 contains( CONFIG, debug_messages ) {
41 DEFINES += DEBUG_MESSAGES
41 DEFINES += DEBUG_MESSAGES
42 }
42 }
43
43
44 contains( CONFIG, cpu_usage_report ) {
44 contains( CONFIG, cpu_usage_report ) {
45 DEFINES += PRINT_TASK_STATISTICS
45 DEFINES += PRINT_TASK_STATISTICS
46 }
46 }
47
47
48 contains( CONFIG, stack_report ) {
48 contains( CONFIG, stack_report ) {
49 DEFINES += PRINT_STACK_REPORT
49 DEFINES += PRINT_STACK_REPORT
50 }
50 }
51
51
52 contains( CONFIG, boot_messages ) {
52 contains( CONFIG, boot_messages ) {
53 DEFINES += BOOT_MESSAGES
53 DEFINES += BOOT_MESSAGES
54 }
54 }
55
55
56 #doxygen.target = doxygen
56 #doxygen.target = doxygen
57 #doxygen.commands = doxygen ../doc/Doxyfile
57 #doxygen.commands = doxygen ../doc/Doxyfile
58 #QMAKE_EXTRA_TARGETS += doxygen
58 #QMAKE_EXTRA_TARGETS += doxygen
59
59
60 TARGET = fsw
60 TARGET = fsw
61
61
62 INCLUDEPATH += \
62 INCLUDEPATH += \
63 ../src \
63 $${PWD}/../src \
64 ../header \
64 $${PWD}/../header \
65 ../header/processing \
65 $${PWD}/../header/common_lfr_headers \
66 ../src/LFR_basic-parameters
66 $${PWD}/../header/processing \
67 $${PWD}/../src/LFR_basic-parameters
67
68
68 SOURCES += \
69 SOURCES += \
69 ../src/wf_handler.c \
70 ../src/wf_handler.c \
70 ../src/tc_handler.c \
71 ../src/tc_handler.c \
71 ../src/fsw_misc.c \
72 ../src/fsw_misc.c \
72 ../src/fsw_init.c \
73 ../src/fsw_init.c \
73 ../src/fsw_globals.c \
74 ../src/fsw_globals.c \
74 ../src/fsw_spacewire.c \
75 ../src/fsw_spacewire.c \
75 ../src/tc_load_dump_parameters.c \
76 ../src/tc_load_dump_parameters.c \
76 ../src/tm_lfr_tc_exe.c \
77 ../src/tm_lfr_tc_exe.c \
77 ../src/tc_acceptance.c \
78 ../src/tc_acceptance.c \
78 ../src/processing/fsw_processing.c \
79 ../src/processing/fsw_processing.c \
79 ../src/processing/avf0_prc0.c \
80 ../src/processing/avf0_prc0.c \
80 ../src/processing/avf1_prc1.c \
81 ../src/processing/avf1_prc1.c \
81 ../src/processing/avf2_prc2.c \
82 ../src/processing/avf2_prc2.c \
82 ../src/lfr_cpu_usage_report.c \
83 ../src/lfr_cpu_usage_report.c \
83 ../src/LFR_basic-parameters/basic_parameters.c
84 ../src/LFR_basic-parameters/basic_parameters.c
84
85
85 HEADERS += \
86 HEADERS += \
86 ../header/wf_handler.h \
87 ../header/wf_handler.h \
87 ../header/tc_handler.h \
88 ../header/tc_handler.h \
88 ../header/grlib_regs.h \
89 ../header/grlib_regs.h \
89 ../header/fsw_params.h \
90 ../header/fsw_params.h \
90 ../header/fsw_misc.h \
91 ../header/fsw_misc.h \
91 ../header/fsw_init.h \
92 ../header/fsw_init.h \
92 ../header/ccsds_types.h \
93 ../header/ccsds_types.h \
93 ../header/fsw_spacewire.h \
94 ../header/fsw_spacewire.h \
94 ../header/tc_load_dump_parameters.h \
95 ../header/tc_load_dump_parameters.h \
95 ../header/tm_lfr_tc_exe.h \
96 ../header/tm_lfr_tc_exe.h \
96 ../header/tc_acceptance.h \
97 ../header/tc_acceptance.h \
97 ../header/fsw_params_nb_bytes.h \
98 ../header/fsw_params_nb_bytes.h \
98 ../header/fsw_params_processing.h \
99 ../header/fsw_params_processing.h \
99 ../header/processing/fsw_processing.h \
100 ../header/processing/fsw_processing.h \
100 ../header/processing/avf0_prc0.h \
101 ../header/processing/avf0_prc0.h \
101 ../header/processing/avf1_prc1.h \
102 ../header/processing/avf1_prc1.h \
102 ../header/processing/avf2_prc2.h \
103 ../header/processing/avf2_prc2.h \
103 ../header/fsw_params_wf_handler.h \
104 ../header/fsw_params_wf_handler.h \
104 ../header/lfr_cpu_usage_report.h \
105 ../header/lfr_cpu_usage_report.h \
105 ../src/LFR_basic-parameters/basic_parameters.h \
106 ../src/LFR_basic-parameters/basic_parameters.h \
106 ../src/LFR_basic-parameters/basic_parameters_params.h
107 ../src/LFR_basic-parameters/basic_parameters_params.h \
108 ../header/tm_byte_positions.h
107
109
@@ -1,208 +1,208
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.2.1, 2014-12-10T17:20:49. -->
3 <!-- Written by QtCreator 3.2.1, 2014-12-15T12:52:32. -->
4 <qtcreator>
4 <qtcreator>
5 <data>
5 <data>
6 <variable>EnvironmentId</variable>
6 <variable>EnvironmentId</variable>
7 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
7 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
8 </data>
8 </data>
9 <data>
9 <data>
10 <variable>ProjectExplorer.Project.ActiveTarget</variable>
10 <variable>ProjectExplorer.Project.ActiveTarget</variable>
11 <value type="int">0</value>
11 <value type="int">0</value>
12 </data>
12 </data>
13 <data>
13 <data>
14 <variable>ProjectExplorer.Project.EditorSettings</variable>
14 <variable>ProjectExplorer.Project.EditorSettings</variable>
15 <valuemap type="QVariantMap">
15 <valuemap type="QVariantMap">
16 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
16 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
17 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
17 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
18 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
18 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
19 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
19 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
20 <value type="QString" key="language">Cpp</value>
20 <value type="QString" key="language">Cpp</value>
21 <valuemap type="QVariantMap" key="value">
21 <valuemap type="QVariantMap" key="value">
22 <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
22 <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
23 </valuemap>
23 </valuemap>
24 </valuemap>
24 </valuemap>
25 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
25 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
26 <value type="QString" key="language">QmlJS</value>
26 <value type="QString" key="language">QmlJS</value>
27 <valuemap type="QVariantMap" key="value">
27 <valuemap type="QVariantMap" key="value">
28 <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
28 <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
29 </valuemap>
29 </valuemap>
30 </valuemap>
30 </valuemap>
31 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
31 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
32 <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
32 <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
33 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
33 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
34 <value type="int" key="EditorConfiguration.IndentSize">4</value>
34 <value type="int" key="EditorConfiguration.IndentSize">4</value>
35 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
35 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
36 <value type="int" key="EditorConfiguration.MarginColumn">80</value>
36 <value type="int" key="EditorConfiguration.MarginColumn">80</value>
37 <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
37 <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
38 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
38 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
39 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
39 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
40 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
40 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
41 <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
41 <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
42 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
42 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
43 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
43 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
44 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
44 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
45 <value type="int" key="EditorConfiguration.TabSize">8</value>
45 <value type="int" key="EditorConfiguration.TabSize">8</value>
46 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
46 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
47 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
47 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
48 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
48 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
49 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
49 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
50 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
50 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
51 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
51 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
52 </valuemap>
52 </valuemap>
53 </data>
53 </data>
54 <data>
54 <data>
55 <variable>ProjectExplorer.Project.PluginSettings</variable>
55 <variable>ProjectExplorer.Project.PluginSettings</variable>
56 <valuemap type="QVariantMap"/>
56 <valuemap type="QVariantMap"/>
57 </data>
57 </data>
58 <data>
58 <data>
59 <variable>ProjectExplorer.Project.Target.0</variable>
59 <variable>ProjectExplorer.Project.Target.0</variable>
60 <valuemap type="QVariantMap">
60 <valuemap type="QVariantMap">
61 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
61 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
64 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
64 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
65 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
65 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
66 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
66 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
67 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
67 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
68 <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value>
68 <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value>
69 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
69 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
71 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
71 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
75 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
75 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
76 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
76 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
77 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
77 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
78 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
78 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
79 </valuemap>
79 </valuemap>
80 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
80 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
81 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
81 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
82 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
82 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
83 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
83 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
84 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
84 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
85 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
85 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
86 <value type="QString">-w</value>
86 <value type="QString">-w</value>
87 <value type="QString">-r</value>
87 <value type="QString">-r</value>
88 </valuelist>
88 </valuelist>
89 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
89 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
91 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
92 </valuemap>
92 </valuemap>
93 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
93 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
96 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
96 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
97 </valuemap>
97 </valuemap>
98 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
98 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
99 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
99 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
100 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
100 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
103 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
103 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
104 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
104 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
105 <value type="QString">-w</value>
105 <value type="QString">-w</value>
106 <value type="QString">-r</value>
106 <value type="QString">-r</value>
107 </valuelist>
107 </valuelist>
108 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
108 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
109 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
109 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
110 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
110 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
111 </valuemap>
111 </valuemap>
112 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
112 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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">ProjectExplorer.BuildSteps.Clean</value>
115 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
116 </valuemap>
116 </valuemap>
117 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
117 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
118 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
118 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
119 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
119 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
120 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
120 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
123 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
123 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
124 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
124 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
125 </valuemap>
125 </valuemap>
126 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
126 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
127 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
127 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
128 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
128 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
129 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
129 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
132 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
132 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
133 </valuemap>
133 </valuemap>
134 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
134 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
138 </valuemap>
138 </valuemap>
139 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
139 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
140 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
140 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
141 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
141 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
142 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
142 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
143 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
143 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
144 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
144 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
145 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
145 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
146 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
146 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
147 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
147 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
148 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
148 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
149 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
149 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
150 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
150 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
151 <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
151 <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
152 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
152 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
153 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
153 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
154 <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
154 <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
155 <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
155 <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
156 <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
156 <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
157 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
157 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
158 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
158 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
159 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
159 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
160 <value type="int">0</value>
160 <value type="int">0</value>
161 <value type="int">1</value>
161 <value type="int">1</value>
162 <value type="int">2</value>
162 <value type="int">2</value>
163 <value type="int">3</value>
163 <value type="int">3</value>
164 <value type="int">4</value>
164 <value type="int">4</value>
165 <value type="int">5</value>
165 <value type="int">5</value>
166 <value type="int">6</value>
166 <value type="int">6</value>
167 <value type="int">7</value>
167 <value type="int">7</value>
168 <value type="int">8</value>
168 <value type="int">8</value>
169 <value type="int">9</value>
169 <value type="int">9</value>
170 <value type="int">10</value>
170 <value type="int">10</value>
171 <value type="int">11</value>
171 <value type="int">11</value>
172 <value type="int">12</value>
172 <value type="int">12</value>
173 <value type="int">13</value>
173 <value type="int">13</value>
174 <value type="int">14</value>
174 <value type="int">14</value>
175 </valuelist>
175 </valuelist>
176 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
176 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
177 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
177 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
178 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">fsw-qt</value>
178 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">fsw-qt</value>
179 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
179 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
180 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/DEV_PLE/FSW-qt/fsw-qt.pro</value>
180 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/DEV_PLE/FSW-qt/fsw-qt.pro</value>
181 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
181 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
182 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">fsw-qt.pro</value>
182 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">fsw-qt.pro</value>
183 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
183 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
184 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">true</value>
184 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">true</value>
185 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
185 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
186 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
186 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
187 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
187 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
188 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
188 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
189 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
189 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
190 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
190 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
191 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
191 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
192 </valuemap>
192 </valuemap>
193 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
193 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
194 </valuemap>
194 </valuemap>
195 </data>
195 </data>
196 <data>
196 <data>
197 <variable>ProjectExplorer.Project.TargetCount</variable>
197 <variable>ProjectExplorer.Project.TargetCount</variable>
198 <value type="int">1</value>
198 <value type="int">1</value>
199 </data>
199 </data>
200 <data>
200 <data>
201 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
201 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
202 <value type="int">16</value>
202 <value type="int">16</value>
203 </data>
203 </data>
204 <data>
204 <data>
205 <variable>Version</variable>
205 <variable>Version</variable>
206 <value type="int">16</value>
206 <value type="int">16</value>
207 </data>
207 </data>
208 </qtcreator>
208 </qtcreator>
@@ -1,46 +1,47
1 #ifndef FSW_MISC_H_INCLUDED
1 #ifndef FSW_MISC_H_INCLUDED
2 #define FSW_MISC_H_INCLUDED
2 #define FSW_MISC_H_INCLUDED
3
3
4 #include <rtems.h>
4 #include <rtems.h>
5 #include <stdio.h>
5 #include <stdio.h>
6 #include <grspw.h>
6 #include <grspw.h>
7 #include <grlib_regs.h>
7
8
8 #include "fsw_params.h"
9 #include "fsw_params.h"
9 #include "fsw_spacewire.h"
10 #include "fsw_spacewire.h"
10 #include "lfr_cpu_usage_report.h"
11 #include "lfr_cpu_usage_report.h"
11
12
12 rtems_name name_hk_rate_monotonic; // name of the HK rate monotonic
13 rtems_name name_hk_rate_monotonic; // name of the HK rate monotonic
13 rtems_id HK_id; // id of the HK rate monotonic period
14 rtems_id HK_id; // id of the HK rate monotonic period
14
15
15 void configure_timer(gptimer_regs_t *gptimer_regs, unsigned char timer, unsigned int clock_divider,
16 void configure_timer(gptimer_regs_t *gptimer_regs, unsigned char timer, unsigned int clock_divider,
16 unsigned char interrupt_level, rtems_isr (*timer_isr)() );
17 unsigned char interrupt_level, rtems_isr (*timer_isr)() );
17 void timer_start( gptimer_regs_t *gptimer_regs, unsigned char timer );
18 void timer_start( gptimer_regs_t *gptimer_regs, unsigned char timer );
18 void timer_stop( gptimer_regs_t *gptimer_regs, unsigned char timer );
19 void timer_stop( gptimer_regs_t *gptimer_regs, unsigned char timer );
19 void timer_set_clock_divider(gptimer_regs_t *gptimer_regs, unsigned char timer, unsigned int clock_divider);
20 void timer_set_clock_divider(gptimer_regs_t *gptimer_regs, unsigned char timer, unsigned int clock_divider);
20
21
21 // SERIAL LINK
22 // SERIAL LINK
22 int send_console_outputs_on_apbuart_port( void );
23 int send_console_outputs_on_apbuart_port( void );
23 int enable_apbuart_transmitter( void );
24 int enable_apbuart_transmitter( void );
24 void set_apbuart_scaler_reload_register(unsigned int regs, unsigned int value);
25 void set_apbuart_scaler_reload_register(unsigned int regs, unsigned int value);
25
26
26 // RTEMS TASKS
27 // RTEMS TASKS
27 rtems_task stat_task( rtems_task_argument argument );
28 rtems_task stat_task( rtems_task_argument argument );
28 rtems_task hous_task( rtems_task_argument argument );
29 rtems_task hous_task( rtems_task_argument argument );
29 rtems_task dumb_task( rtems_task_argument unused );
30 rtems_task dumb_task( rtems_task_argument unused );
30
31
31 void init_housekeeping_parameters( void );
32 void init_housekeeping_parameters( void );
32 void increment_seq_counter(unsigned short *packetSequenceControl);
33 void increment_seq_counter(unsigned short *packetSequenceControl);
33 void getTime( unsigned char *time);
34 void getTime( unsigned char *time);
34 unsigned long long int getTimeAsUnsignedLongLongInt( );
35 unsigned long long int getTimeAsUnsignedLongLongInt( );
35 void send_dumb_hk( void );
36 void send_dumb_hk( void );
36 void get_v_e1_e2_f3(unsigned char *spacecraft_potential);
37 void get_v_e1_e2_f3(unsigned char *spacecraft_potential);
37 void get_cpu_load( unsigned char *resource_statistics );
38 void get_cpu_load( unsigned char *resource_statistics );
38
39
39 extern int sched_yield( void );
40 extern int sched_yield( void );
40 extern void rtems_cpu_usage_reset();
41 extern void rtems_cpu_usage_reset();
41 extern ring_node *current_ring_node_f3;
42 extern ring_node *current_ring_node_f3;
42 extern ring_node *ring_node_to_send_cwf_f3;
43 extern ring_node *ring_node_to_send_cwf_f3;
43 extern ring_node waveform_ring_f3[];
44 extern ring_node waveform_ring_f3[];
44 extern unsigned short sequenceCounterHK;
45 extern unsigned short sequenceCounterHK;
45
46
46 #endif // FSW_MISC_H_INCLUDED
47 #endif // FSW_MISC_H_INCLUDED
@@ -1,266 +1,267
1 #ifndef FSW_PROCESSING_H_INCLUDED
1 #ifndef FSW_PROCESSING_H_INCLUDED
2 #define FSW_PROCESSING_H_INCLUDED
2 #define FSW_PROCESSING_H_INCLUDED
3
3
4 #include <rtems.h>
4 #include <rtems.h>
5 #include <grspw.h>
5 #include <grspw.h>
6 #include <math.h>
6 #include <math.h>
7 #include <stdlib.h> // abs() is in the stdlib
7 #include <stdlib.h> // abs() is in the stdlib
8 #include <stdio.h> // printf()
8 #include <stdio.h> // printf()
9 #include <math.h>
9 #include <math.h>
10 #include <grlib_regs.h>
10
11
11 #include "fsw_params.h"
12 #include "fsw_params.h"
12 #include "fsw_spacewire.h"
13 #include "fsw_spacewire.h"
13
14
14 typedef struct ring_node_asm
15 typedef struct ring_node_asm
15 {
16 {
16 struct ring_node_asm *next;
17 struct ring_node_asm *next;
17 float matrix[ TOTAL_SIZE_SM ];
18 float matrix[ TOTAL_SIZE_SM ];
18 unsigned int status;
19 unsigned int status;
19 } ring_node_asm;
20 } ring_node_asm;
20
21
21 typedef struct
22 typedef struct
22 {
23 {
23 Header_TM_LFR_SCIENCE_BP_t header;
24 Header_TM_LFR_SCIENCE_BP_t header;
24 unsigned char data[ 30 * 22 ]; // MAX size is 22 * 30 [TM_LFR_SCIENCE_BURST_BP2_F1]
25 unsigned char data[ 30 * 22 ]; // MAX size is 22 * 30 [TM_LFR_SCIENCE_BURST_BP2_F1]
25 } bp_packet;
26 } bp_packet;
26
27
27 typedef struct
28 typedef struct
28 {
29 {
29 Header_TM_LFR_SCIENCE_BP_with_spare_t header;
30 Header_TM_LFR_SCIENCE_BP_with_spare_t header;
30 unsigned char data[ 9 * 13 ]; // only for TM_LFR_SCIENCE_NORMAL_BP1_F0 and F1
31 unsigned char data[ 9 * 13 ]; // only for TM_LFR_SCIENCE_NORMAL_BP1_F0 and F1
31 } bp_packet_with_spare;
32 } bp_packet_with_spare;
32
33
33 typedef struct
34 typedef struct
34 {
35 {
35 ring_node_asm *norm;
36 ring_node_asm *norm;
36 ring_node_asm *burst_sbm;
37 ring_node_asm *burst_sbm;
37 rtems_event_set event;
38 rtems_event_set event;
38 unsigned int coarseTime;
39 unsigned int coarseTime;
39 unsigned int fineTime;
40 unsigned int fineTime;
40 } asm_msg;
41 } asm_msg;
41
42
42 extern volatile int sm_f0[ ];
43 extern volatile int sm_f0[ ];
43 extern volatile int sm_f1[ ];
44 extern volatile int sm_f1[ ];
44 extern volatile int sm_f2[ ];
45 extern volatile int sm_f2[ ];
45
46
46 // parameters
47 // parameters
47 extern struct param_local_str param_local;
48 extern struct param_local_str param_local;
48
49
49 // registers
50 // registers
50 extern time_management_regs_t *time_management_regs;
51 extern time_management_regs_t *time_management_regs;
51 extern spectral_matrix_regs_t *spectral_matrix_regs;
52 extern spectral_matrix_regs_t *spectral_matrix_regs;
52
53
53 extern rtems_name misc_name[5];
54 extern rtems_name misc_name[5];
54 extern rtems_id Task_id[20]; /* array of task ids */
55 extern rtems_id Task_id[20]; /* array of task ids */
55
56
56 // ISR
57 // ISR
57 rtems_isr spectral_matrices_isr( rtems_vector_number vector );
58 rtems_isr spectral_matrices_isr( rtems_vector_number vector );
58 rtems_isr spectral_matrices_isr_simu( rtems_vector_number vector );
59 rtems_isr spectral_matrices_isr_simu( rtems_vector_number vector );
59
60
60 //******************
61 //******************
61 // Spectral Matrices
62 // Spectral Matrices
62 void reset_nb_sm( void );
63 void reset_nb_sm( void );
63 // SM
64 // SM
64 void SM_init_rings( void );
65 void SM_init_rings( void );
65 void SM_reset_current_ring_nodes( void );
66 void SM_reset_current_ring_nodes( void );
66 // ASM
67 // ASM
67 void ASM_generic_init_ring(ring_node_asm *ring, unsigned char nbNodes );
68 void ASM_generic_init_ring(ring_node_asm *ring, unsigned char nbNodes );
68
69
69 //*****************
70 //*****************
70 // Basic Parameters
71 // Basic Parameters
71
72
72 void BP_reset_current_ring_nodes( void );
73 void BP_reset_current_ring_nodes( void );
73 void BP_init_header( Header_TM_LFR_SCIENCE_BP_t *header,
74 void BP_init_header( Header_TM_LFR_SCIENCE_BP_t *header,
74 unsigned int apid, unsigned char sid,
75 unsigned int apid, unsigned char sid,
75 unsigned int packetLength , unsigned char blkNr);
76 unsigned int packetLength , unsigned char blkNr);
76 void BP_init_header_with_spare( Header_TM_LFR_SCIENCE_BP_with_spare_t *header,
77 void BP_init_header_with_spare( Header_TM_LFR_SCIENCE_BP_with_spare_t *header,
77 unsigned int apid, unsigned char sid,
78 unsigned int apid, unsigned char sid,
78 unsigned int packetLength, unsigned char blkNr );
79 unsigned int packetLength, unsigned char blkNr );
79 void BP_send( char *data,
80 void BP_send( char *data,
80 rtems_id queue_id ,
81 rtems_id queue_id ,
81 unsigned int nbBytesToSend , unsigned int sid );
82 unsigned int nbBytesToSend , unsigned int sid );
82
83
83 //******************
84 //******************
84 // general functions
85 // general functions
85 void reset_sm_status( void );
86 void reset_sm_status( void );
86 void reset_spectral_matrix_regs( void );
87 void reset_spectral_matrix_regs( void );
87 void set_time(unsigned char *time, unsigned char *timeInBuffer );
88 void set_time(unsigned char *time, unsigned char *timeInBuffer );
88 unsigned long long int get_acquisition_time( unsigned char *timePtr );
89 unsigned long long int get_acquisition_time( unsigned char *timePtr );
89 void close_matrix_actions( unsigned int *nb_sm, unsigned int nb_sm_before_avf, rtems_id avf_task_id,
90 void close_matrix_actions( unsigned int *nb_sm, unsigned int nb_sm_before_avf, rtems_id avf_task_id,
90 ring_node *node_for_averaging, ring_node *ringNode, unsigned long long int time );
91 ring_node *node_for_averaging, ring_node *ringNode, unsigned long long int time );
91 unsigned char getSID( rtems_event_set event );
92 unsigned char getSID( rtems_event_set event );
92
93
93 extern rtems_status_code get_message_queue_id_prc1( rtems_id *queue_id );
94 extern rtems_status_code get_message_queue_id_prc1( rtems_id *queue_id );
94 extern rtems_status_code get_message_queue_id_prc2( rtems_id *queue_id );
95 extern rtems_status_code get_message_queue_id_prc2( rtems_id *queue_id );
95
96
96 //***************************************
97 //***************************************
97 // DEFINITIONS OF STATIC INLINE FUNCTIONS
98 // DEFINITIONS OF STATIC INLINE FUNCTIONS
98 static inline void SM_average(float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
99 static inline void SM_average(float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
99 ring_node *ring_node_tab[],
100 ring_node *ring_node_tab[],
100 unsigned int nbAverageNORM, unsigned int nbAverageSBM );
101 unsigned int nbAverageNORM, unsigned int nbAverageSBM );
101 static inline void SM_average_debug( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
102 static inline void SM_average_debug( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
102 ring_node *ring_node_tab[],
103 ring_node *ring_node_tab[],
103 unsigned int nbAverageNORM, unsigned int nbAverageSBM );
104 unsigned int nbAverageNORM, unsigned int nbAverageSBM );
104 static inline void ASM_reorganize_and_divide(float *averaged_spec_mat, float *averaged_spec_mat_reorganized,
105 static inline void ASM_reorganize_and_divide(float *averaged_spec_mat, float *averaged_spec_mat_reorganized,
105 float divider );
106 float divider );
106 static inline void ASM_compress_reorganize_and_divide(float *averaged_spec_mat, float *compressed_spec_mat,
107 static inline void ASM_compress_reorganize_and_divide(float *averaged_spec_mat, float *compressed_spec_mat,
107 float divider,
108 float divider,
108 unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage , unsigned char ASMIndexStart);
109 unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage , unsigned char ASMIndexStart);
109 static inline void ASM_convert(volatile float *input_matrix, char *output_matrix);
110 static inline void ASM_convert(volatile float *input_matrix, char *output_matrix);
110
111
111 void SM_average( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
112 void SM_average( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
112 ring_node *ring_node_tab[],
113 ring_node *ring_node_tab[],
113 unsigned int nbAverageNORM, unsigned int nbAverageSBM )
114 unsigned int nbAverageNORM, unsigned int nbAverageSBM )
114 {
115 {
115 float sum;
116 float sum;
116 unsigned int i;
117 unsigned int i;
117
118
118 for(i=0; i<TOTAL_SIZE_SM; i++)
119 for(i=0; i<TOTAL_SIZE_SM; i++)
119 {
120 {
120 sum = ( (int *) (ring_node_tab[0]->buffer_address) ) [ i ]
121 sum = ( (int *) (ring_node_tab[0]->buffer_address) ) [ i ]
121 + ( (int *) (ring_node_tab[1]->buffer_address) ) [ i ]
122 + ( (int *) (ring_node_tab[1]->buffer_address) ) [ i ]
122 + ( (int *) (ring_node_tab[2]->buffer_address) ) [ i ]
123 + ( (int *) (ring_node_tab[2]->buffer_address) ) [ i ]
123 + ( (int *) (ring_node_tab[3]->buffer_address) ) [ i ]
124 + ( (int *) (ring_node_tab[3]->buffer_address) ) [ i ]
124 + ( (int *) (ring_node_tab[4]->buffer_address) ) [ i ]
125 + ( (int *) (ring_node_tab[4]->buffer_address) ) [ i ]
125 + ( (int *) (ring_node_tab[5]->buffer_address) ) [ i ]
126 + ( (int *) (ring_node_tab[5]->buffer_address) ) [ i ]
126 + ( (int *) (ring_node_tab[6]->buffer_address) ) [ i ]
127 + ( (int *) (ring_node_tab[6]->buffer_address) ) [ i ]
127 + ( (int *) (ring_node_tab[7]->buffer_address) ) [ i ];
128 + ( (int *) (ring_node_tab[7]->buffer_address) ) [ i ];
128
129
129 if ( (nbAverageNORM == 0) && (nbAverageSBM == 0) )
130 if ( (nbAverageNORM == 0) && (nbAverageSBM == 0) )
130 {
131 {
131 averaged_spec_mat_NORM[ i ] = sum;
132 averaged_spec_mat_NORM[ i ] = sum;
132 averaged_spec_mat_SBM[ i ] = sum;
133 averaged_spec_mat_SBM[ i ] = sum;
133 }
134 }
134 else if ( (nbAverageNORM != 0) && (nbAverageSBM != 0) )
135 else if ( (nbAverageNORM != 0) && (nbAverageSBM != 0) )
135 {
136 {
136 averaged_spec_mat_NORM[ i ] = ( averaged_spec_mat_NORM[ i ] + sum );
137 averaged_spec_mat_NORM[ i ] = ( averaged_spec_mat_NORM[ i ] + sum );
137 averaged_spec_mat_SBM[ i ] = ( averaged_spec_mat_SBM[ i ] + sum );
138 averaged_spec_mat_SBM[ i ] = ( averaged_spec_mat_SBM[ i ] + sum );
138 }
139 }
139 else if ( (nbAverageNORM != 0) && (nbAverageSBM == 0) )
140 else if ( (nbAverageNORM != 0) && (nbAverageSBM == 0) )
140 {
141 {
141 averaged_spec_mat_NORM[ i ] = ( averaged_spec_mat_NORM[ i ] + sum );
142 averaged_spec_mat_NORM[ i ] = ( averaged_spec_mat_NORM[ i ] + sum );
142 averaged_spec_mat_SBM[ i ] = sum;
143 averaged_spec_mat_SBM[ i ] = sum;
143 }
144 }
144 else
145 else
145 {
146 {
146 PRINTF2("ERR *** in SM_average *** unexpected parameters %d %d\n", nbAverageNORM, nbAverageSBM)
147 PRINTF2("ERR *** in SM_average *** unexpected parameters %d %d\n", nbAverageNORM, nbAverageSBM)
147 }
148 }
148 }
149 }
149 }
150 }
150
151
151 void SM_average_debug( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
152 void SM_average_debug( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM,
152 ring_node *ring_node_tab[],
153 ring_node *ring_node_tab[],
153 unsigned int nbAverageNORM, unsigned int nbAverageSBM )
154 unsigned int nbAverageNORM, unsigned int nbAverageSBM )
154 {
155 {
155 float sum;
156 float sum;
156 unsigned int i;
157 unsigned int i;
157
158
158 for(i=0; i<TOTAL_SIZE_SM; i++)
159 for(i=0; i<TOTAL_SIZE_SM; i++)
159 {
160 {
160 sum = ( (int *) (ring_node_tab[0]->buffer_address) ) [ i ];
161 sum = ( (int *) (ring_node_tab[0]->buffer_address) ) [ i ];
161
162
162 if ( (nbAverageNORM == 0) && (nbAverageSBM == 0) )
163 if ( (nbAverageNORM == 0) && (nbAverageSBM == 0) )
163 {
164 {
164 averaged_spec_mat_NORM[ i ] = sum;
165 averaged_spec_mat_NORM[ i ] = sum;
165 averaged_spec_mat_SBM[ i ] = sum;
166 averaged_spec_mat_SBM[ i ] = sum;
166 }
167 }
167 else if ( (nbAverageNORM != 0) && (nbAverageSBM != 0) )
168 else if ( (nbAverageNORM != 0) && (nbAverageSBM != 0) )
168 {
169 {
169 averaged_spec_mat_NORM[ i ] = sum;
170 averaged_spec_mat_NORM[ i ] = sum;
170 averaged_spec_mat_SBM[ i ] = sum;
171 averaged_spec_mat_SBM[ i ] = sum;
171 }
172 }
172 else if ( (nbAverageNORM != 0) && (nbAverageSBM == 0) )
173 else if ( (nbAverageNORM != 0) && (nbAverageSBM == 0) )
173 {
174 {
174 averaged_spec_mat_NORM[ i ] = sum;
175 averaged_spec_mat_NORM[ i ] = sum;
175 averaged_spec_mat_SBM[ i ] = sum;
176 averaged_spec_mat_SBM[ i ] = sum;
176 }
177 }
177 else
178 else
178 {
179 {
179 PRINTF2("ERR *** in SM_average *** unexpected parameters %d %d\n", nbAverageNORM, nbAverageSBM)
180 PRINTF2("ERR *** in SM_average *** unexpected parameters %d %d\n", nbAverageNORM, nbAverageSBM)
180 }
181 }
181 }
182 }
182 }
183 }
183
184
184 void ASM_reorganize_and_divide( float *averaged_spec_mat, float *averaged_spec_mat_reorganized, float divider )
185 void ASM_reorganize_and_divide( float *averaged_spec_mat, float *averaged_spec_mat_reorganized, float divider )
185 {
186 {
186 int frequencyBin;
187 int frequencyBin;
187 int asmComponent;
188 int asmComponent;
188 unsigned int offsetAveragedSpecMatReorganized;
189 unsigned int offsetAveragedSpecMatReorganized;
189 unsigned int offsetAveragedSpecMat;
190 unsigned int offsetAveragedSpecMat;
190
191
191 for (asmComponent = 0; asmComponent < NB_VALUES_PER_SM; asmComponent++)
192 for (asmComponent = 0; asmComponent < NB_VALUES_PER_SM; asmComponent++)
192 {
193 {
193 for( frequencyBin = 0; frequencyBin < NB_BINS_PER_SM; frequencyBin++ )
194 for( frequencyBin = 0; frequencyBin < NB_BINS_PER_SM; frequencyBin++ )
194 {
195 {
195 offsetAveragedSpecMatReorganized =
196 offsetAveragedSpecMatReorganized =
196 frequencyBin * NB_VALUES_PER_SM
197 frequencyBin * NB_VALUES_PER_SM
197 + asmComponent;
198 + asmComponent;
198 offsetAveragedSpecMat =
199 offsetAveragedSpecMat =
199 asmComponent * NB_BINS_PER_SM
200 asmComponent * NB_BINS_PER_SM
200 + frequencyBin;
201 + frequencyBin;
201 averaged_spec_mat_reorganized[offsetAveragedSpecMatReorganized ] =
202 averaged_spec_mat_reorganized[offsetAveragedSpecMatReorganized ] =
202 averaged_spec_mat[ offsetAveragedSpecMat ] / divider;
203 averaged_spec_mat[ offsetAveragedSpecMat ] / divider;
203 }
204 }
204 }
205 }
205 }
206 }
206
207
207 void ASM_compress_reorganize_and_divide(float *averaged_spec_mat, float *compressed_spec_mat , float divider,
208 void ASM_compress_reorganize_and_divide(float *averaged_spec_mat, float *compressed_spec_mat , float divider,
208 unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage, unsigned char ASMIndexStart )
209 unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage, unsigned char ASMIndexStart )
209 {
210 {
210 int frequencyBin;
211 int frequencyBin;
211 int asmComponent;
212 int asmComponent;
212 int offsetASM;
213 int offsetASM;
213 int offsetCompressed;
214 int offsetCompressed;
214 int k;
215 int k;
215
216
216 // build data
217 // build data
217 for (asmComponent = 0; asmComponent < NB_VALUES_PER_SM; asmComponent++)
218 for (asmComponent = 0; asmComponent < NB_VALUES_PER_SM; asmComponent++)
218 {
219 {
219 for( frequencyBin = 0; frequencyBin < nbBinsCompressedMatrix; frequencyBin++ )
220 for( frequencyBin = 0; frequencyBin < nbBinsCompressedMatrix; frequencyBin++ )
220 {
221 {
221 offsetCompressed = // NO TIME OFFSET
222 offsetCompressed = // NO TIME OFFSET
222 frequencyBin * NB_VALUES_PER_SM
223 frequencyBin * NB_VALUES_PER_SM
223 + asmComponent;
224 + asmComponent;
224 offsetASM = // NO TIME OFFSET
225 offsetASM = // NO TIME OFFSET
225 asmComponent * NB_BINS_PER_SM
226 asmComponent * NB_BINS_PER_SM
226 + ASMIndexStart
227 + ASMIndexStart
227 + frequencyBin * nbBinsToAverage;
228 + frequencyBin * nbBinsToAverage;
228 compressed_spec_mat[ offsetCompressed ] = 0;
229 compressed_spec_mat[ offsetCompressed ] = 0;
229 for ( k = 0; k < nbBinsToAverage; k++ )
230 for ( k = 0; k < nbBinsToAverage; k++ )
230 {
231 {
231 compressed_spec_mat[offsetCompressed ] =
232 compressed_spec_mat[offsetCompressed ] =
232 ( compressed_spec_mat[ offsetCompressed ]
233 ( compressed_spec_mat[ offsetCompressed ]
233 + averaged_spec_mat[ offsetASM + k ] ) / (divider * nbBinsToAverage);
234 + averaged_spec_mat[ offsetASM + k ] ) / (divider * nbBinsToAverage);
234 }
235 }
235 }
236 }
236 }
237 }
237 }
238 }
238
239
239 void ASM_convert( volatile float *input_matrix, char *output_matrix)
240 void ASM_convert( volatile float *input_matrix, char *output_matrix)
240 {
241 {
241 unsigned int frequencyBin;
242 unsigned int frequencyBin;
242 unsigned int asmComponent;
243 unsigned int asmComponent;
243 char * pt_char_input;
244 char * pt_char_input;
244 char * pt_char_output;
245 char * pt_char_output;
245 unsigned int offsetInput;
246 unsigned int offsetInput;
246 unsigned int offsetOutput;
247 unsigned int offsetOutput;
247
248
248 pt_char_input = (char*) &input_matrix;
249 pt_char_input = (char*) &input_matrix;
249 pt_char_output = (char*) &output_matrix;
250 pt_char_output = (char*) &output_matrix;
250
251
251 // convert all other data
252 // convert all other data
252 for( frequencyBin=0; frequencyBin<NB_BINS_PER_SM; frequencyBin++)
253 for( frequencyBin=0; frequencyBin<NB_BINS_PER_SM; frequencyBin++)
253 {
254 {
254 for ( asmComponent=0; asmComponent<NB_VALUES_PER_SM; asmComponent++)
255 for ( asmComponent=0; asmComponent<NB_VALUES_PER_SM; asmComponent++)
255 {
256 {
256 offsetInput = (frequencyBin*NB_VALUES_PER_SM) + asmComponent ;
257 offsetInput = (frequencyBin*NB_VALUES_PER_SM) + asmComponent ;
257 offsetOutput = 2 * ( (frequencyBin*NB_VALUES_PER_SM) + asmComponent ) ;
258 offsetOutput = 2 * ( (frequencyBin*NB_VALUES_PER_SM) + asmComponent ) ;
258 pt_char_input = (char*) &input_matrix [ offsetInput ];
259 pt_char_input = (char*) &input_matrix [ offsetInput ];
259 pt_char_output = (char*) &output_matrix[ offsetOutput ];
260 pt_char_output = (char*) &output_matrix[ offsetOutput ];
260 pt_char_output[0] = pt_char_input[0]; // bits 31 downto 24 of the float
261 pt_char_output[0] = pt_char_input[0]; // bits 31 downto 24 of the float
261 pt_char_output[1] = pt_char_input[1]; // bits 23 downto 16 of the float
262 pt_char_output[1] = pt_char_input[1]; // bits 23 downto 16 of the float
262 }
263 }
263 }
264 }
264 }
265 }
265
266
266 #endif // FSW_PROCESSING_H_INCLUDED
267 #endif // FSW_PROCESSING_H_INCLUDED
@@ -1,26 +1,27
1 #ifndef TM_LFR_TC_EXE_H_INCLUDED
1 #ifndef TM_LFR_TC_EXE_H_INCLUDED
2 #define TM_LFR_TC_EXE_H_INCLUDED
2 #define TM_LFR_TC_EXE_H_INCLUDED
3
3
4 #include <rtems.h>
4 #include <rtems.h>
5 #include <stdio.h>
5 #include <stdio.h>
6 #include <ccsds_types.h>
6
7
7 #include "fsw_params.h"
8 #include "fsw_params.h"
8 #include "fsw_spacewire.h"
9 #include "fsw_spacewire.h"
9
10
10 extern unsigned short sequenceCounters_TC_EXE[];
11 extern unsigned short sequenceCounters_TC_EXE[];
11
12
12 int send_tm_lfr_tc_exe_success( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
13 int send_tm_lfr_tc_exe_success( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
13 int send_tm_lfr_tc_exe_inconsistent( ccsdsTelecommandPacket_t *TC, rtems_id queue_id,
14 int send_tm_lfr_tc_exe_inconsistent( ccsdsTelecommandPacket_t *TC, rtems_id queue_id,
14 unsigned char byte_position, unsigned char rcv_value );
15 unsigned char byte_position, unsigned char rcv_value );
15 int send_tm_lfr_tc_exe_not_executable( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
16 int send_tm_lfr_tc_exe_not_executable( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
16 int send_tm_lfr_tc_exe_not_implemented( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time );
17 int send_tm_lfr_tc_exe_not_implemented( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time );
17 int send_tm_lfr_tc_exe_error(ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
18 int send_tm_lfr_tc_exe_error(ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
18 int send_tm_lfr_tc_exe_corrupted( ccsdsTelecommandPacket_t *TC, rtems_id queue_id,
19 int send_tm_lfr_tc_exe_corrupted( ccsdsTelecommandPacket_t *TC, rtems_id queue_id,
19 unsigned char *computed_CRC, unsigned char *currentTC_LEN_RCV, unsigned char destinationID );
20 unsigned char *computed_CRC, unsigned char *currentTC_LEN_RCV, unsigned char destinationID );
20
21
21 void increment_seq_counter_destination_id( unsigned char *packet_sequence_control, unsigned char destination_id );
22 void increment_seq_counter_destination_id( unsigned char *packet_sequence_control, unsigned char destination_id );
22
23
23 #endif // TM_LFR_TC_EXE_H_INCLUDED
24 #endif // TM_LFR_TC_EXE_H_INCLUDED
24
25
25
26
26
27
@@ -1,88 +1,88
1 #ifndef WF_HANDLER_H_INCLUDED
1 #ifndef WF_HANDLER_H_INCLUDED
2 #define WF_HANDLER_H_INCLUDED
2 #define WF_HANDLER_H_INCLUDED
3
3
4 #include <rtems.h>
4 #include <rtems.h>
5 #include <grspw.h>
5 #include <grspw.h>
6 #include <stdio.h>
6 #include <stdio.h>
7 #include <math.h>
7 #include <math.h>
8 #include <fsw_params.h>
8
9
9 #include "fsw_params.h"
10 #include "fsw_spacewire.h"
10 #include "fsw_spacewire.h"
11 #include "fsw_misc.h"
11 #include "fsw_misc.h"
12 #include "fsw_params_wf_handler.h"
12 #include "fsw_params_wf_handler.h"
13
13
14 #define pi 3.1415
14 #define pi 3.1415
15
15
16 extern int fdSPW;
16 extern int fdSPW;
17
17
18 //*****************
18 //*****************
19 // waveform buffers
19 // waveform buffers
20 extern volatile int wf_buffer_f0[ ];
20 extern volatile int wf_buffer_f0[ ];
21 extern volatile int wf_buffer_f1[ ];
21 extern volatile int wf_buffer_f1[ ];
22 extern volatile int wf_buffer_f2[ ];
22 extern volatile int wf_buffer_f2[ ];
23 extern volatile int wf_buffer_f3[ ];
23 extern volatile int wf_buffer_f3[ ];
24 extern char wf_cont_f3_light[ ];
24 extern char wf_cont_f3_light[ ];
25
25
26 extern waveform_picker_regs_0_1_18_t *waveform_picker_regs;
26 extern waveform_picker_regs_0_1_18_t *waveform_picker_regs;
27 extern time_management_regs_t *time_management_regs;
27 extern time_management_regs_t *time_management_regs;
28 extern Packet_TM_LFR_HK_t housekeeping_packet;
28 extern Packet_TM_LFR_HK_t housekeeping_packet;
29 extern Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet;
29 extern Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet;
30 extern struct param_local_str param_local;
30 extern struct param_local_str param_local;
31
31
32 extern unsigned short sequenceCounters_SCIENCE_NORMAL_BURST;
32 extern unsigned short sequenceCounters_SCIENCE_NORMAL_BURST;
33 extern unsigned short sequenceCounters_SCIENCE_SBM1_SBM2;
33 extern unsigned short sequenceCounters_SCIENCE_SBM1_SBM2;
34
34
35 extern rtems_id Task_id[20]; /* array of task ids */
35 extern rtems_id Task_id[20]; /* array of task ids */
36
36
37 extern unsigned char lfrCurrentMode;
37 extern unsigned char lfrCurrentMode;
38
38
39 //**********
39 //**********
40 // RTEMS_ISR
40 // RTEMS_ISR
41 void reset_extractSWF( void );
41 void reset_extractSWF( void );
42 rtems_isr waveforms_isr( rtems_vector_number vector );
42 rtems_isr waveforms_isr( rtems_vector_number vector );
43
43
44 //***********
44 //***********
45 // RTEMS_TASK
45 // RTEMS_TASK
46 rtems_task wfrm_task( rtems_task_argument argument );
46 rtems_task wfrm_task( rtems_task_argument argument );
47 rtems_task cwf3_task( rtems_task_argument argument );
47 rtems_task cwf3_task( rtems_task_argument argument );
48 rtems_task cwf2_task( rtems_task_argument argument );
48 rtems_task cwf2_task( rtems_task_argument argument );
49 rtems_task cwf1_task( rtems_task_argument argument );
49 rtems_task cwf1_task( rtems_task_argument argument );
50 rtems_task swbd_task( rtems_task_argument argument );
50 rtems_task swbd_task( rtems_task_argument argument );
51
51
52 //******************
52 //******************
53 // general functions
53 // general functions
54 void WFP_init_rings( void );
54 void WFP_init_rings( void );
55 void init_ring( ring_node ring[], unsigned char nbNodes, volatile int buffer[] , unsigned int bufferSize );
55 void init_ring( ring_node ring[], unsigned char nbNodes, volatile int buffer[] , unsigned int bufferSize );
56 void WFP_reset_current_ring_nodes( void );
56 void WFP_reset_current_ring_nodes( void );
57 //
57 //
58 int init_header_continuous_cwf3_light_table( Header_TM_LFR_SCIENCE_CWF_t *headerCWF );
58 int init_header_continuous_cwf3_light_table( Header_TM_LFR_SCIENCE_CWF_t *headerCWF );
59 //
59 //
60 int send_waveform_CWF3_light(ring_node *ring_node_to_send, ring_node *ring_node_cwf3_light, rtems_id queue_id );
60 int send_waveform_CWF3_light(ring_node *ring_node_to_send, ring_node *ring_node_cwf3_light, rtems_id queue_id );
61 //
61 //
62 void compute_acquisition_time(unsigned int coarseTime, unsigned int fineTime,
62 void compute_acquisition_time(unsigned int coarseTime, unsigned int fineTime,
63 unsigned int sid, unsigned char pa_lfr_pkt_nr, unsigned char *acquisitionTime );
63 unsigned int sid, unsigned char pa_lfr_pkt_nr, unsigned char *acquisitionTime );
64 void build_snapshot_from_ring(ring_node *ring_node_to_send , unsigned char frequencyChannel );
64 void build_snapshot_from_ring(ring_node *ring_node_to_send , unsigned char frequencyChannel );
65 void snapshot_resynchronization( unsigned char *timePtr );
65 void snapshot_resynchronization( unsigned char *timePtr );
66 //
66 //
67 rtems_id get_pkts_queue_id( void );
67 rtems_id get_pkts_queue_id( void );
68
68
69 //**************
69 //**************
70 // wfp registers
70 // wfp registers
71 // RESET
71 // RESET
72 void reset_wfp_burst_enable( void );
72 void reset_wfp_burst_enable( void );
73 void reset_wfp_status( void );
73 void reset_wfp_status( void );
74 void reset_wfp_buffer_addresses( void );
74 void reset_wfp_buffer_addresses( void );
75 void reset_waveform_picker_regs( void );
75 void reset_waveform_picker_regs( void );
76 // SET
76 // SET
77 void set_wfp_data_shaping(void);
77 void set_wfp_data_shaping(void);
78 void set_wfp_burst_enable_register( unsigned char mode );
78 void set_wfp_burst_enable_register( unsigned char mode );
79 void set_wfp_delta_snapshot( void );
79 void set_wfp_delta_snapshot( void );
80 void set_wfp_delta_f0_f0_2( void );
80 void set_wfp_delta_f0_f0_2( void );
81 void set_wfp_delta_f1( void );
81 void set_wfp_delta_f1( void );
82 void set_wfp_delta_f2( void );
82 void set_wfp_delta_f2( void );
83
83
84 //*****************
84 //*****************
85 // local parameters
85 // local parameters
86 void increment_seq_counter_source_id( unsigned char *packet_sequence_control, unsigned int sid );
86 void increment_seq_counter_source_id( unsigned char *packet_sequence_control, unsigned int sid );
87
87
88 #endif // WF_HANDLER_H_INCLUDED
88 #endif // WF_HANDLER_H_INCLUDED
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now