##// END OF EJS Templates
Last commit before installation on pc-alison
leroy -
r12:84d45620e577 default
parent child
Show More
@@ -1,142 +1,142
1 #############################################################################
1 #############################################################################
2 # Makefile for building: PAULs_LPPMON_PLUGINS
2 # Makefile for building: PAULs_LPPMON_PLUGINS
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Tue Mar 5 08:11:23 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Mon Mar 25 13:19:51 2013
4 # Project: PAULs_LPPMON_PLUGINS.pro
4 # Project: PAULs_LPPMON_PLUGINS.pro
5 # Template: subdirs
5 # Template: subdirs
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
7 #############################################################################
7 #############################################################################
8
8
9 first: make_default
9 first: make_default
10 MAKEFILE = Makefile
10 MAKEFILE = Makefile
11 QMAKE = /usr/bin/qmake-qt4
11 QMAKE = /usr/bin/qmake-qt4
12 DEL_FILE = rm -f
12 DEL_FILE = rm -f
13 CHK_DIR_EXISTS= test -d
13 CHK_DIR_EXISTS= test -d
14 MKDIR = mkdir -p
14 MKDIR = mkdir -p
15 COPY = cp -f
15 COPY = cp -f
16 COPY_FILE = $(COPY)
16 COPY_FILE = $(COPY)
17 COPY_DIR = $(COPY) -r
17 COPY_DIR = $(COPY) -r
18 INSTALL_FILE = install -m 644 -p
18 INSTALL_FILE = install -m 644 -p
19 INSTALL_PROGRAM = install -m 755 -p
19 INSTALL_PROGRAM = install -m 755 -p
20 INSTALL_DIR = $(COPY_DIR)
20 INSTALL_DIR = $(COPY_DIR)
21 DEL_FILE = rm -f
21 DEL_FILE = rm -f
22 SYMLINK = ln -f -s
22 SYMLINK = ln -f -s
23 DEL_DIR = rmdir
23 DEL_DIR = rmdir
24 MOVE = mv -f
24 MOVE = mv -f
25 CHK_DIR_EXISTS= test -d
25 CHK_DIR_EXISTS= test -d
26 MKDIR = mkdir -p
26 MKDIR = mkdir -p
27 SUBTARGETS = \
27 SUBTARGETS = \
28 sub-rmapplugin
28 sub-rmapplugin
29
29
30 rmapplugin/$(MAKEFILE):
30 rmapplugin/$(MAKEFILE):
31 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
31 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
32 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
32 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
33 sub-rmapplugin-qmake_all: FORCE
33 sub-rmapplugin-qmake_all: FORCE
34 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
34 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
35 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
35 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
36 sub-rmapplugin: rmapplugin/$(MAKEFILE) FORCE
36 sub-rmapplugin: rmapplugin/$(MAKEFILE) FORCE
37 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
37 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
38 sub-rmapplugin-make_default-ordered: rmapplugin/$(MAKEFILE) FORCE
38 sub-rmapplugin-make_default-ordered: rmapplugin/$(MAKEFILE) FORCE
39 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
39 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
40 sub-rmapplugin-make_default: rmapplugin/$(MAKEFILE) FORCE
40 sub-rmapplugin-make_default: rmapplugin/$(MAKEFILE) FORCE
41 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
41 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
42 sub-rmapplugin-make_first-ordered: rmapplugin/$(MAKEFILE) FORCE
42 sub-rmapplugin-make_first-ordered: rmapplugin/$(MAKEFILE) FORCE
43 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
43 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
44 sub-rmapplugin-make_first: rmapplugin/$(MAKEFILE) FORCE
44 sub-rmapplugin-make_first: rmapplugin/$(MAKEFILE) FORCE
45 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
45 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
46 sub-rmapplugin-all-ordered: rmapplugin/$(MAKEFILE) FORCE
46 sub-rmapplugin-all-ordered: rmapplugin/$(MAKEFILE) FORCE
47 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
47 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
48 sub-rmapplugin-all: rmapplugin/$(MAKEFILE) FORCE
48 sub-rmapplugin-all: rmapplugin/$(MAKEFILE) FORCE
49 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
49 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
50 sub-rmapplugin-clean-ordered: rmapplugin/$(MAKEFILE) FORCE
50 sub-rmapplugin-clean-ordered: rmapplugin/$(MAKEFILE) FORCE
51 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
51 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
52 sub-rmapplugin-clean: rmapplugin/$(MAKEFILE) FORCE
52 sub-rmapplugin-clean: rmapplugin/$(MAKEFILE) FORCE
53 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
53 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
54 sub-rmapplugin-distclean-ordered: rmapplugin/$(MAKEFILE) FORCE
54 sub-rmapplugin-distclean-ordered: rmapplugin/$(MAKEFILE) FORCE
55 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
55 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
56 sub-rmapplugin-distclean: rmapplugin/$(MAKEFILE) FORCE
56 sub-rmapplugin-distclean: rmapplugin/$(MAKEFILE) FORCE
57 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
57 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
58 sub-rmapplugin-install_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
58 sub-rmapplugin-install_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
59 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
59 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
60 sub-rmapplugin-install_subtargets: rmapplugin/$(MAKEFILE) FORCE
60 sub-rmapplugin-install_subtargets: rmapplugin/$(MAKEFILE) FORCE
61 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
61 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
62 sub-rmapplugin-uninstall_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
62 sub-rmapplugin-uninstall_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
63 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
63 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
64 sub-rmapplugin-uninstall_subtargets: rmapplugin/$(MAKEFILE) FORCE
64 sub-rmapplugin-uninstall_subtargets: rmapplugin/$(MAKEFILE) FORCE
65 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
65 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
66
66
67 Makefile: PAULs_LPPMON_PLUGINS.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
67 Makefile: PAULs_LPPMON_PLUGINS.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
68 /usr/lib64/qt4/mkspecs/common/linux.conf \
68 /usr/lib64/qt4/mkspecs/common/linux.conf \
69 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
69 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
70 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
70 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
71 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
71 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
72 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
72 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
73 /usr/lib64/qt4/mkspecs/qconfig.pri \
73 /usr/lib64/qt4/mkspecs/qconfig.pri \
74 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
74 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
75 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
75 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
76 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
76 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
77 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
77 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
78 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
78 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
79 /usr/lib64/qt4/mkspecs/features/release.prf \
79 /usr/lib64/qt4/mkspecs/features/release.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/unix/gdb_dwarf_index.prf \
81 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
82 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
82 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
83 /usr/lib64/qt4/mkspecs/features/qt.prf \
83 /usr/lib64/qt4/mkspecs/features/qt.prf \
84 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
84 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
85 /usr/lib64/qt4/mkspecs/features/moc.prf \
85 /usr/lib64/qt4/mkspecs/features/moc.prf \
86 /usr/lib64/qt4/mkspecs/features/resources.prf \
86 /usr/lib64/qt4/mkspecs/features/resources.prf \
87 /usr/lib64/qt4/mkspecs/features/uic.prf \
87 /usr/lib64/qt4/mkspecs/features/uic.prf \
88 /usr/lib64/qt4/mkspecs/features/yacc.prf \
88 /usr/lib64/qt4/mkspecs/features/yacc.prf \
89 /usr/lib64/qt4/mkspecs/features/lex.prf \
89 /usr/lib64/qt4/mkspecs/features/lex.prf \
90 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
90 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
91 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
91 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
92 /usr/lib64/qt4/mkspecs/common/unix.conf:
92 /usr/lib64/qt4/mkspecs/common/unix.conf:
93 /usr/lib64/qt4/mkspecs/common/linux.conf:
93 /usr/lib64/qt4/mkspecs/common/linux.conf:
94 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
94 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
95 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
95 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
96 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
96 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
97 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
97 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
98 /usr/lib64/qt4/mkspecs/qconfig.pri:
98 /usr/lib64/qt4/mkspecs/qconfig.pri:
99 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
99 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
100 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
100 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
101 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
101 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
102 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
102 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
103 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
103 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
104 /usr/lib64/qt4/mkspecs/features/release.prf:
104 /usr/lib64/qt4/mkspecs/features/release.prf:
105 /usr/lib64/qt4/mkspecs/features/default_post.prf:
105 /usr/lib64/qt4/mkspecs/features/default_post.prf:
106 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
106 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
107 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
107 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
108 /usr/lib64/qt4/mkspecs/features/qt.prf:
108 /usr/lib64/qt4/mkspecs/features/qt.prf:
109 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
109 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
110 /usr/lib64/qt4/mkspecs/features/moc.prf:
110 /usr/lib64/qt4/mkspecs/features/moc.prf:
111 /usr/lib64/qt4/mkspecs/features/resources.prf:
111 /usr/lib64/qt4/mkspecs/features/resources.prf:
112 /usr/lib64/qt4/mkspecs/features/uic.prf:
112 /usr/lib64/qt4/mkspecs/features/uic.prf:
113 /usr/lib64/qt4/mkspecs/features/yacc.prf:
113 /usr/lib64/qt4/mkspecs/features/yacc.prf:
114 /usr/lib64/qt4/mkspecs/features/lex.prf:
114 /usr/lib64/qt4/mkspecs/features/lex.prf:
115 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
115 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
116 qmake: qmake_all FORCE
116 qmake: qmake_all FORCE
117 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
117 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
118
118
119 qmake_all: sub-rmapplugin-qmake_all FORCE
119 qmake_all: sub-rmapplugin-qmake_all FORCE
120
120
121 make_default: sub-rmapplugin-make_default-ordered FORCE
121 make_default: sub-rmapplugin-make_default-ordered FORCE
122 make_first: sub-rmapplugin-make_first-ordered FORCE
122 make_first: sub-rmapplugin-make_first-ordered FORCE
123 all: sub-rmapplugin-all-ordered FORCE
123 all: sub-rmapplugin-all-ordered FORCE
124 clean: sub-rmapplugin-clean-ordered FORCE
124 clean: sub-rmapplugin-clean-ordered FORCE
125 distclean: sub-rmapplugin-distclean-ordered FORCE
125 distclean: sub-rmapplugin-distclean-ordered FORCE
126 -$(DEL_FILE) Makefile
126 -$(DEL_FILE) Makefile
127 install_subtargets: sub-rmapplugin-install_subtargets-ordered FORCE
127 install_subtargets: sub-rmapplugin-install_subtargets-ordered FORCE
128 uninstall_subtargets: sub-rmapplugin-uninstall_subtargets-ordered FORCE
128 uninstall_subtargets: sub-rmapplugin-uninstall_subtargets-ordered FORCE
129
129
130 sub-rmapplugin-check_ordered: rmapplugin/$(MAKEFILE)
130 sub-rmapplugin-check_ordered: rmapplugin/$(MAKEFILE)
131 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) check
131 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) check
132 check: sub-rmapplugin-check_ordered
132 check: sub-rmapplugin-check_ordered
133
133
134 mocclean: compiler_moc_header_clean compiler_moc_source_clean
134 mocclean: compiler_moc_header_clean compiler_moc_source_clean
135
135
136 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
136 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
137 install: install_subtargets FORCE
137 install: install_subtargets FORCE
138
138
139 uninstall: uninstall_subtargets FORCE
139 uninstall: uninstall_subtargets FORCE
140
140
141 FORCE:
141 FORCE:
142
142
@@ -1,264 +1,264
1 <?xml version="1.0" encoding="UTF-8"?>
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE QtCreatorProject>
2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-03-21T08:38:26. -->
3 <!-- Written by Qt Creator 2.4.1, 2013-03-26T13:29:01. -->
4 <qtcreator>
4 <qtcreator>
5 <data>
5 <data>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 <value type="int">0</value>
7 <value type="int">0</value>
8 </data>
8 </data>
9 <data>
9 <data>
10 <variable>ProjectExplorer.Project.EditorSettings</variable>
10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 <valuemap type="QVariantMap">
11 <valuemap type="QVariantMap">
12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
14 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 <value type="QString" key="language">Cpp</value>
15 <value type="QString" key="language">Cpp</value>
16 <valuemap type="QVariantMap" key="value">
16 <valuemap type="QVariantMap" key="value">
17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
17 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 </valuemap>
18 </valuemap>
19 </valuemap>
19 </valuemap>
20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
20 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 <value type="QString" key="language">QmlJS</value>
21 <value type="QString" key="language">QmlJS</value>
22 <valuemap type="QVariantMap" key="value">
22 <valuemap type="QVariantMap" key="value">
23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
23 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 </valuemap>
24 </valuemap>
25 </valuemap>
25 </valuemap>
26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
26 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
27 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
28 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
29 <value type="int" key="EditorConfiguration.IndentSize">4</value>
30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
30 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
31 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
32 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
33 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
34 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
35 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 <value type="int" key="EditorConfiguration.TabSize">8</value>
36 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
37 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
38 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
39 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
40 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
41 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
42 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 </valuemap>
43 </valuemap>
44 </data>
44 </data>
45 <data>
45 <data>
46 <variable>ProjectExplorer.Project.PluginSettings</variable>
46 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 <valuemap type="QVariantMap"/>
47 <valuemap type="QVariantMap"/>
48 </data>
48 </data>
49 <data>
49 <data>
50 <variable>ProjectExplorer.Project.Target.0</variable>
50 <variable>ProjectExplorer.Project.Target.0</variable>
51 <valuemap type="QVariantMap">
51 <valuemap type="QVariantMap">
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
53 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Target.DesktopTarget</value>
55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
55 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
56 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
57 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
58 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
60 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
62 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
63 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
65 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
66 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
67 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
68 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 </valuemap>
69 </valuemap>
70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
70 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
71 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
72 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
73 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
74 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
75 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
76 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 </valuemap>
77 </valuemap>
78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
78 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
79 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
80 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
81 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 </valuemap>
82 </valuemap>
83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
83 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
84 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
85 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
88 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
89 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
90 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 </valuemap>
91 </valuemap>
92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
92 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 </valuemap>
96 </valuemap>
97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
97 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
98 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
99 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
100 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
101 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
102 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
103 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
104 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
106 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 </valuemap>
107 </valuemap>
108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
108 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
109 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
110 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
111 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
115 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
116 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
117 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
118 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 </valuemap>
119 </valuemap>
120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
121 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
122 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
124 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
125 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
126 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 </valuemap>
127 </valuemap>
128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
128 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
131 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 </valuemap>
132 </valuemap>
133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
133 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
134 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
136 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
137 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
138 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
139 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
140 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 </valuemap>
141 </valuemap>
142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
142 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
143 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
144 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 </valuemap>
146 </valuemap>
147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
147 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
148 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
149 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
150 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
151 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
153 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
154 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
156 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 </valuemap>
157 </valuemap>
158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
158 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
159 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
160 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
161 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
162 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
163 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 </valuemap>
165 </valuemap>
166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
166 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
167 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 </valuemap>
170 </valuemap>
171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
171 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
172 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
173 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
174 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
175 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
176 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
177 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
178 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
179 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
180 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
181 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
182 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
183 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
185 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
187 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
188 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
189 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
190 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
191 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
192 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
193 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
194 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
195 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
197 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
198 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
199 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
200 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
201 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 <value type="int">0</value>
202 <value type="int">0</value>
203 <value type="int">1</value>
203 <value type="int">1</value>
204 <value type="int">2</value>
204 <value type="int">2</value>
205 <value type="int">3</value>
205 <value type="int">3</value>
206 <value type="int">4</value>
206 <value type="int">4</value>
207 <value type="int">5</value>
207 <value type="int">5</value>
208 <value type="int">6</value>
208 <value type="int">6</value>
209 <value type="int">7</value>
209 <value type="int">7</value>
210 <value type="int">8</value>
210 <value type="int">8</value>
211 <value type="int">9</value>
211 <value type="int">9</value>
212 <value type="int">10</value>
212 <value type="int">10</value>
213 <value type="int">11</value>
213 <value type="int">11</value>
214 <value type="int">12</value>
214 <value type="int">12</value>
215 <value type="int">13</value>
215 <value type="int">13</value>
216 <value type="int">14</value>
216 <value type="int">14</value>
217 </valuelist>
217 </valuelist>
218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 <value type="int">0</value>
219 <value type="int">0</value>
220 <value type="int">1</value>
220 <value type="int">1</value>
221 <value type="int">2</value>
221 <value type="int">2</value>
222 <value type="int">3</value>
222 <value type="int">3</value>
223 <value type="int">4</value>
223 <value type="int">4</value>
224 <value type="int">5</value>
224 <value type="int">5</value>
225 <value type="int">6</value>
225 <value type="int">6</value>
226 <value type="int">7</value>
226 <value type="int">7</value>
227 <value type="int">8</value>
227 <value type="int">8</value>
228 <value type="int">9</value>
228 <value type="int">9</value>
229 <value type="int">10</value>
229 <value type="int">10</value>
230 <value type="int">11</value>
230 <value type="int">11</value>
231 <value type="int">12</value>
231 <value type="int">12</value>
232 <value type="int">13</value>
232 <value type="int">13</value>
233 <value type="int">14</value>
233 <value type="int">14</value>
234 </valuelist>
234 </valuelist>
235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
235 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
236 <value type="int" key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase">2</value>
237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
237 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
238 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
239 <valuelist type="QVariantList" key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges"/>
240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
240 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
241 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
242 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
243 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
244 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
245 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
246 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
247 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
248 </valuemap>
248 </valuemap>
249 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
249 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
250 </valuemap>
250 </valuemap>
251 </data>
251 </data>
252 <data>
252 <data>
253 <variable>ProjectExplorer.Project.TargetCount</variable>
253 <variable>ProjectExplorer.Project.TargetCount</variable>
254 <value type="int">1</value>
254 <value type="int">1</value>
255 </data>
255 </data>
256 <data>
256 <data>
257 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
257 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
258 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
258 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
259 </data>
259 </data>
260 <data>
260 <data>
261 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
261 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
262 <value type="int">10</value>
262 <value type="int">10</value>
263 </data>
263 </data>
264 </qtcreator>
264 </qtcreator>
@@ -1,444 +1,446
1 #############################################################################
1 #############################################################################
2 # Makefile for building: librmapplugin.so.1.0.0
2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Tue Mar 19 07:43:19 2013
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Mon Mar 25 13:19:51 2013
4 # Project: rmapplugin.pro
4 # Project: rmapplugin.pro
5 # Template: lib
5 # Template: lib
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
7 #############################################################################
7 #############################################################################
8
8
9 ####### Compiler, tools and options
9 ####### Compiler, tools and options
10
10
11 CC = gcc
11 CC = gcc
12 CXX = g++
12 CXX = g++
13 DEFINES = -DPLUGIN=rmapplugin -DPLUGINHEADER="\"rmapplugin.h\"" -Ddriver_Name="\"RMAPPlugin\"" -Ddriver_Author="\"Paul Leroy paul.leroy@lpp.polytechnique.fr\"" -Ddriver_Version="\"1.1.2\"" -Ddriver_Description="\"AHB bus controler, works with Gaisler's AHB plugn' play bus.\"" -Ddriver_can_be_root=1 -Ddriver_can_be_child=0 -Ddriver_VID=0 -Ddriver_PID=0 -DUNIXTRANSLATIONPATH -DLPPMON_PLUGINS_INSTALL_PATH="QDir::homePath()+\"/.lppmon/plugins\"" -DLPPMON_CONFIG_PATH="QDir::homePath()+\"/.lppmon/config\"" -DLPPMON_TRANSLATION_PATH="\"/etc/lppmon/translations\"" -DLPPMONPLUGIN_LIBRARY -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
13 DEFINES = -DPLUGIN=rmapplugin -DPLUGINHEADER="\"rmapplugin.h\"" -Ddriver_Name="\"RMAPPlugin\"" -Ddriver_Author="\"Paul Leroy paul.leroy@lpp.polytechnique.fr\"" -Ddriver_Version="\"1.1.2\"" -Ddriver_Description="\"AHB bus controler, works with Gaisler's AHB plugn' play bus.\"" -Ddriver_can_be_root=1 -Ddriver_can_be_child=0 -Ddriver_VID=0 -Ddriver_PID=0 -DLPPMON_VERSION="\"0.0.1\"" -DUNIXTRANSLATIONPATH -DLPPMON_PLUGINS_INSTALL_PATH="QDir::homePath()+\"/.lppmon/plugins\"" -DLPPMON_CONFIG_PATH="QDir::homePath()+\"/.lppmon/config\"" -DLPPMON_TRANSLATION_PATH="\"/etc/lppmon/translations\"" -DLPPMONPLUGIN_LIBRARY -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../spw_usb_driver_v2.61/inc -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../spw_usb_driver_v2.61/inc -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
17 LINK = g++
17 LINK = g++
18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.61/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.61/lib/x86_64/libConfigLibraryUSB.so -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.62/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.62/lib/x86_64/libConfigLibraryUSB.so -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 AR = ar cqs
20 AR = ar cqs
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 =
29 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 = rmapplugin.cpp \
46 SOURCES = rmapplugin.cpp \
47 rmappluginui.cpp \
47 rmappluginui.cpp \
48 rmapoperations.cpp \
48 rmapoperations.cpp \
49 ccsds.cpp \
49 ccsds.cpp \
50 ../common_PLE/qipdialogbox.cpp \
50 ../common_PLE/qipdialogbox.cpp \
51 ../common_PLE/gresbstatusenquiry.cpp \
51 ../common_PLE/gresbstatusenquiry.cpp \
52 spectralmatricesdmasimulator.cpp \
52 spectralmatricesdmasimulator.cpp \
53 rmappluginpythonwrapper.cpp \
53 rmappluginpythonwrapper.cpp \
54 stardundee.cpp \
54 stardundee.cpp \
55 gresb.cpp \
55 gresb.cpp \
56 tcpackettosend.cpp \
56 tcpackettosend.cpp \
57 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
57 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
58 moc/moc_rmapplugin.cpp \
58 moc/moc_rmapplugin.cpp \
59 moc/moc_qipdialogbox.cpp \
59 moc/moc_qipdialogbox.cpp \
60 moc/moc_gresbstatusenquiry.cpp \
60 moc/moc_gresbstatusenquiry.cpp \
61 moc/moc_spectralmatricesdmasimulator.cpp \
61 moc/moc_spectralmatricesdmasimulator.cpp \
62 moc/moc_rmappluginpythonwrapper.cpp \
62 moc/moc_rmappluginpythonwrapper.cpp \
63 moc/moc_stardundee.cpp \
63 moc/moc_stardundee.cpp \
64 moc/moc_gresb.cpp \
64 moc/moc_gresb.cpp \
65 moc/moc_tcpackettosend.cpp \
65 moc/moc_tcpackettosend.cpp \
66 moc/moc_genericPySysdriver.cpp \
66 moc/moc_genericPySysdriver.cpp \
67 moc/moc_lppmonplugin.cpp
67 moc/moc_lppmonplugin.cpp
68 OBJECTS = obj/rmapplugin.o \
68 OBJECTS = obj/rmapplugin.o \
69 obj/rmappluginui.o \
69 obj/rmappluginui.o \
70 obj/rmapoperations.o \
70 obj/rmapoperations.o \
71 obj/ccsds.o \
71 obj/ccsds.o \
72 obj/qipdialogbox.o \
72 obj/qipdialogbox.o \
73 obj/gresbstatusenquiry.o \
73 obj/gresbstatusenquiry.o \
74 obj/spectralmatricesdmasimulator.o \
74 obj/spectralmatricesdmasimulator.o \
75 obj/rmappluginpythonwrapper.o \
75 obj/rmappluginpythonwrapper.o \
76 obj/stardundee.o \
76 obj/stardundee.o \
77 obj/gresb.o \
77 obj/gresb.o \
78 obj/tcpackettosend.o \
78 obj/tcpackettosend.o \
79 obj/lppmonplugininterface.o \
79 obj/lppmonplugininterface.o \
80 obj/moc_rmappluginui.o \
80 obj/moc_rmappluginui.o \
81 obj/moc_rmapplugin.o \
81 obj/moc_rmapplugin.o \
82 obj/moc_qipdialogbox.o \
82 obj/moc_qipdialogbox.o \
83 obj/moc_gresbstatusenquiry.o \
83 obj/moc_gresbstatusenquiry.o \
84 obj/moc_spectralmatricesdmasimulator.o \
84 obj/moc_spectralmatricesdmasimulator.o \
85 obj/moc_rmappluginpythonwrapper.o \
85 obj/moc_rmappluginpythonwrapper.o \
86 obj/moc_stardundee.o \
86 obj/moc_stardundee.o \
87 obj/moc_gresb.o \
87 obj/moc_gresb.o \
88 obj/moc_tcpackettosend.o \
88 obj/moc_tcpackettosend.o \
89 obj/moc_genericPySysdriver.o \
89 obj/moc_genericPySysdriver.o \
90 obj/moc_lppmonplugin.o
90 obj/moc_lppmonplugin.o
91 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
91 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
92 /usr/lib64/qt4/mkspecs/common/linux.conf \
92 /usr/lib64/qt4/mkspecs/common/linux.conf \
93 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
93 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
94 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
94 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
95 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
95 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
96 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
96 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
97 /usr/lib64/qt4/mkspecs/qconfig.pri \
97 /usr/lib64/qt4/mkspecs/qconfig.pri \
98 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
98 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
99 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
99 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
100 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
100 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
101 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
101 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
102 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
102 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
103 /usr/lib64/qt4/mkspecs/features/release.prf \
103 /usr/lib64/qt4/mkspecs/features/release.prf \
104 /usr/lib64/qt4/mkspecs/features/default_post.prf \
104 /usr/lib64/qt4/mkspecs/features/default_post.prf \
105 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
105 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
106 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
106 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
107 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
107 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
108 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
108 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
109 /usr/lib64/qt4/mkspecs/features/qt.prf \
109 /usr/lib64/qt4/mkspecs/features/qt.prf \
110 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
110 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
111 /usr/lib64/qt4/mkspecs/features/moc.prf \
111 /usr/lib64/qt4/mkspecs/features/moc.prf \
112 /usr/lib64/qt4/mkspecs/features/resources.prf \
112 /usr/lib64/qt4/mkspecs/features/resources.prf \
113 /usr/lib64/qt4/mkspecs/features/uic.prf \
113 /usr/lib64/qt4/mkspecs/features/uic.prf \
114 /usr/lib64/qt4/mkspecs/features/yacc.prf \
114 /usr/lib64/qt4/mkspecs/features/yacc.prf \
115 /usr/lib64/qt4/mkspecs/features/lex.prf \
115 /usr/lib64/qt4/mkspecs/features/lex.prf \
116 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
116 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
117 rmapplugin.pro
117 rmapplugin.pro
118 QMAKE_TARGET = rmapplugin
118 QMAKE_TARGET = rmapplugin
119 DESTDIR = bin/
119 DESTDIR = bin/
120 TARGET = librmapplugin.so.1.0.0
120 TARGET = librmapplugin.so.1.0.0
121 TARGETA = bin/librmapplugin.a
121 TARGETA = bin/librmapplugin.a
122 TARGETD = librmapplugin.so.1.0.0
122 TARGETD = librmapplugin.so.1.0.0
123 TARGET0 = librmapplugin.so
123 TARGET0 = librmapplugin.so
124 TARGET1 = librmapplugin.so.1
124 TARGET1 = librmapplugin.so.1
125 TARGET2 = librmapplugin.so.1.0
125 TARGET2 = librmapplugin.so.1.0
126
126
127 first: all
127 first: all
128 ####### Implicit rules
128 ####### Implicit rules
129
129
130 .SUFFIXES: .o .c .cpp .cc .cxx .C
130 .SUFFIXES: .o .c .cpp .cc .cxx .C
131
131
132 .cpp.o:
132 .cpp.o:
133 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
133 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
134
134
135 .cc.o:
135 .cc.o:
136 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
136 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
137
137
138 .cxx.o:
138 .cxx.o:
139 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
139 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
140
140
141 .C.o:
141 .C.o:
142 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
142 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
143
143
144 .c.o:
144 .c.o:
145 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
145 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
146
146
147 ####### Build rules
147 ####### Build rules
148
148
149 all: Makefile bin/$(TARGET)
149 all: Makefile bin/$(TARGET)
150
150
151 bin/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
151 bin/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
152 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
152 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
153 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
153 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
154 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
154 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
155 -ln -s $(TARGET) $(TARGET0)
155 -ln -s $(TARGET) $(TARGET0)
156 -ln -s $(TARGET) $(TARGET1)
156 -ln -s $(TARGET) $(TARGET1)
157 -ln -s $(TARGET) $(TARGET2)
157 -ln -s $(TARGET) $(TARGET2)
158 -$(DEL_FILE) bin/$(TARGET)
158 -$(DEL_FILE) bin/$(TARGET)
159 -$(DEL_FILE) bin/$(TARGET0)
159 -$(DEL_FILE) bin/$(TARGET0)
160 -$(DEL_FILE) bin/$(TARGET1)
160 -$(DEL_FILE) bin/$(TARGET1)
161 -$(DEL_FILE) bin/$(TARGET2)
161 -$(DEL_FILE) bin/$(TARGET2)
162 -$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) bin/
162 -$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) bin/
163
163
164
164
165
165
166 staticlib: $(TARGETA)
166 staticlib: $(TARGETA)
167
167
168 $(TARGETA): $(OBJECTS) $(OBJCOMP)
168 $(TARGETA): $(OBJECTS) $(OBJCOMP)
169 -$(DEL_FILE) $(TARGETA)
169 -$(DEL_FILE) $(TARGETA)
170 $(AR) $(TARGETA) $(OBJECTS)
170 $(AR) $(TARGETA) $(OBJECTS)
171
171
172 Makefile: rmapplugin.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
172 Makefile: rmapplugin.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
173 /usr/lib64/qt4/mkspecs/common/linux.conf \
173 /usr/lib64/qt4/mkspecs/common/linux.conf \
174 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
174 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
175 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
175 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
176 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
176 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
177 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
177 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
178 /usr/lib64/qt4/mkspecs/qconfig.pri \
178 /usr/lib64/qt4/mkspecs/qconfig.pri \
179 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
179 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
180 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
180 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
181 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
181 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
182 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
182 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
183 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
183 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
184 /usr/lib64/qt4/mkspecs/features/release.prf \
184 /usr/lib64/qt4/mkspecs/features/release.prf \
185 /usr/lib64/qt4/mkspecs/features/default_post.prf \
185 /usr/lib64/qt4/mkspecs/features/default_post.prf \
186 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
186 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
187 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
187 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
188 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
188 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
189 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
189 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
190 /usr/lib64/qt4/mkspecs/features/qt.prf \
190 /usr/lib64/qt4/mkspecs/features/qt.prf \
191 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
191 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
192 /usr/lib64/qt4/mkspecs/features/moc.prf \
192 /usr/lib64/qt4/mkspecs/features/moc.prf \
193 /usr/lib64/qt4/mkspecs/features/resources.prf \
193 /usr/lib64/qt4/mkspecs/features/resources.prf \
194 /usr/lib64/qt4/mkspecs/features/uic.prf \
194 /usr/lib64/qt4/mkspecs/features/uic.prf \
195 /usr/lib64/qt4/mkspecs/features/yacc.prf \
195 /usr/lib64/qt4/mkspecs/features/yacc.prf \
196 /usr/lib64/qt4/mkspecs/features/lex.prf \
196 /usr/lib64/qt4/mkspecs/features/lex.prf \
197 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
197 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
198 /usr/lib64/libQtXml.prl \
198 /usr/lib64/libQtXml.prl \
199 /usr/lib64/libQtCore.prl \
199 /usr/lib64/libQtCore.prl \
200 /usr/lib64/libQtGui.prl \
200 /usr/lib64/libQtGui.prl \
201 /usr/lib64/libQtNetwork.prl
201 /usr/lib64/libQtNetwork.prl
202 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
202 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
203 /usr/lib64/qt4/mkspecs/common/unix.conf:
203 /usr/lib64/qt4/mkspecs/common/unix.conf:
204 /usr/lib64/qt4/mkspecs/common/linux.conf:
204 /usr/lib64/qt4/mkspecs/common/linux.conf:
205 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
205 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
206 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
206 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
207 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
207 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
208 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
208 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
209 /usr/lib64/qt4/mkspecs/qconfig.pri:
209 /usr/lib64/qt4/mkspecs/qconfig.pri:
210 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
210 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
211 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
211 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
212 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
212 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
213 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
213 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
214 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
214 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
215 /usr/lib64/qt4/mkspecs/features/release.prf:
215 /usr/lib64/qt4/mkspecs/features/release.prf:
216 /usr/lib64/qt4/mkspecs/features/default_post.prf:
216 /usr/lib64/qt4/mkspecs/features/default_post.prf:
217 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf:
217 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf:
218 /usr/lib64/qt4/mkspecs/features/pythonqt.prf:
218 /usr/lib64/qt4/mkspecs/features/pythonqt.prf:
219 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
219 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
220 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
220 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
221 /usr/lib64/qt4/mkspecs/features/qt.prf:
221 /usr/lib64/qt4/mkspecs/features/qt.prf:
222 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
222 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
223 /usr/lib64/qt4/mkspecs/features/moc.prf:
223 /usr/lib64/qt4/mkspecs/features/moc.prf:
224 /usr/lib64/qt4/mkspecs/features/resources.prf:
224 /usr/lib64/qt4/mkspecs/features/resources.prf:
225 /usr/lib64/qt4/mkspecs/features/uic.prf:
225 /usr/lib64/qt4/mkspecs/features/uic.prf:
226 /usr/lib64/qt4/mkspecs/features/yacc.prf:
226 /usr/lib64/qt4/mkspecs/features/yacc.prf:
227 /usr/lib64/qt4/mkspecs/features/lex.prf:
227 /usr/lib64/qt4/mkspecs/features/lex.prf:
228 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
228 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
229 /usr/lib64/libQtXml.prl:
229 /usr/lib64/libQtXml.prl:
230 /usr/lib64/libQtCore.prl:
230 /usr/lib64/libQtCore.prl:
231 /usr/lib64/libQtGui.prl:
231 /usr/lib64/libQtGui.prl:
232 /usr/lib64/libQtNetwork.prl:
232 /usr/lib64/libQtNetwork.prl:
233 qmake: FORCE
233 qmake: FORCE
234 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
234 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
235
235
236 dist:
236 dist:
237 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
237 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
238 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h spectralmatricesdmasimulator.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h tcpackettosend.h /usr/include/genericPySysdriver.h /usr/include/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp spectralmatricesdmasimulator.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
238 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h spectralmatricesdmasimulator.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h tcpackettosend.h /usr/include/lppmon/genericPySysdriver.h /usr/include/lppmon/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp spectralmatricesdmasimulator.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
239
239
240
240
241 clean:compiler_clean
241 clean:compiler_clean
242 -$(DEL_FILE) $(OBJECTS)
242 -$(DEL_FILE) $(OBJECTS)
243 -$(DEL_FILE) *~ core *.core
243 -$(DEL_FILE) *~ core *.core
244
244
245
245
246 ####### Sub-libraries
246 ####### Sub-libraries
247
247
248 distclean: clean
248 distclean: clean
249 -$(DEL_FILE) bin/$(TARGET)
249 -$(DEL_FILE) bin/$(TARGET)
250 -$(DEL_FILE) bin/$(TARGET0) bin/$(TARGET1) bin/$(TARGET2) $(TARGETA)
250 -$(DEL_FILE) bin/$(TARGET0) bin/$(TARGET1) bin/$(TARGET2) $(TARGETA)
251 -$(DEL_FILE) Makefile
251 -$(DEL_FILE) Makefile
252
252
253
253
254 check: first
254 check: first
255
255
256 mocclean: compiler_moc_header_clean compiler_moc_source_clean
256 mocclean: compiler_moc_header_clean compiler_moc_source_clean
257
257
258 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
258 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
259
259
260 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
260 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
261 compiler_moc_header_clean:
261 compiler_moc_header_clean:
262 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
262 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
263 moc/moc_rmappluginui.cpp: rmapoperations.h \
263 moc/moc_rmappluginui.cpp: rmapoperations.h \
264 spectralmatricesdmasimulator.h \
264 spectralmatricesdmasimulator.h \
265 stardundee.h \
265 stardundee.h \
266 ccsds.h \
266 ccsds.h \
267 gresb.h \
267 gresb.h \
268 rmappluginui.h
268 rmappluginui.h
269 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
269 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
270
270
271 moc/moc_rmapplugin.cpp: rmappluginui.h \
271 moc/moc_rmapplugin.cpp: rmappluginui.h \
272 rmapoperations.h \
272 rmapoperations.h \
273 spectralmatricesdmasimulator.h \
273 spectralmatricesdmasimulator.h \
274 stardundee.h \
274 stardundee.h \
275 ccsds.h \
275 ccsds.h \
276 gresb.h \
276 gresb.h \
277 rmapplugin.h
277 rmapplugin.h
278 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmapplugin.h -o moc/moc_rmapplugin.cpp
278 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmapplugin.h -o moc/moc_rmapplugin.cpp
279
279
280 moc/moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
280 moc/moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
281 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc/moc_qipdialogbox.cpp
281 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc/moc_qipdialogbox.cpp
282
282
283 moc/moc_gresbstatusenquiry.cpp: ../common_PLE/gresbstatusenquiry.h
283 moc/moc_gresbstatusenquiry.cpp: ../common_PLE/gresbstatusenquiry.h
284 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/gresbstatusenquiry.h -o moc/moc_gresbstatusenquiry.cpp
284 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/gresbstatusenquiry.h -o moc/moc_gresbstatusenquiry.cpp
285
285
286 moc/moc_spectralmatricesdmasimulator.cpp: spectralmatricesdmasimulator.h
286 moc/moc_spectralmatricesdmasimulator.cpp: spectralmatricesdmasimulator.h
287 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) spectralmatricesdmasimulator.h -o moc/moc_spectralmatricesdmasimulator.cpp
287 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) spectralmatricesdmasimulator.h -o moc/moc_spectralmatricesdmasimulator.cpp
288
288
289 moc/moc_rmappluginpythonwrapper.cpp: rmapoperations.h \
289 moc/moc_rmappluginpythonwrapper.cpp: rmapoperations.h \
290 ccsds.h \
290 ccsds.h \
291 tcpackettosend.h \
291 rmappluginpythonwrapper.h
292 rmappluginpythonwrapper.h
292 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
293 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
293
294
294 moc/moc_stardundee.cpp: rmapoperations.h \
295 moc/moc_stardundee.cpp: rmapoperations.h \
295 ccsds.h \
296 ccsds.h \
296 stardundee.h
297 stardundee.h
297 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
298 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
298
299
299 moc/moc_gresb.cpp: rmapoperations.h \
300 moc/moc_gresb.cpp: rmapoperations.h \
300 ccsds.h \
301 ccsds.h \
301 gresb.h
302 gresb.h
302 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
303 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
303
304
304 moc/moc_tcpackettosend.cpp: tcpackettosend.h
305 moc/moc_tcpackettosend.cpp: tcpackettosend.h
305 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tcpackettosend.h -o moc/moc_tcpackettosend.cpp
306 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tcpackettosend.h -o moc/moc_tcpackettosend.cpp
306
307
307 moc/moc_genericPySysdriver.cpp: /usr/include/genericPySysdriver.h
308 moc/moc_genericPySysdriver.cpp: /usr/include/lppmon/genericPySysdriver.h
308 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
309 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
309
310
310 moc/moc_lppmonplugin.cpp: /usr/include/lppmonplugin.h
311 moc/moc_lppmonplugin.cpp: /usr/include/lppmon/lppmonplugin.h
311 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmonplugin.h -o moc/moc_lppmonplugin.cpp
312 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/lppmonplugin.h -o moc/moc_lppmonplugin.cpp
312
313
313 compiler_rcc_make_all:
314 compiler_rcc_make_all:
314 compiler_rcc_clean:
315 compiler_rcc_clean:
315 compiler_image_collection_make_all: qmake_image_collection.cpp
316 compiler_image_collection_make_all: qmake_image_collection.cpp
316 compiler_image_collection_clean:
317 compiler_image_collection_clean:
317 -$(DEL_FILE) qmake_image_collection.cpp
318 -$(DEL_FILE) qmake_image_collection.cpp
318 compiler_moc_source_make_all:
319 compiler_moc_source_make_all:
319 compiler_moc_source_clean:
320 compiler_moc_source_clean:
320 compiler_uic_make_all:
321 compiler_uic_make_all:
321 compiler_uic_clean:
322 compiler_uic_clean:
322 compiler_yacc_decl_make_all:
323 compiler_yacc_decl_make_all:
323 compiler_yacc_decl_clean:
324 compiler_yacc_decl_clean:
324 compiler_yacc_impl_make_all:
325 compiler_yacc_impl_make_all:
325 compiler_yacc_impl_clean:
326 compiler_yacc_impl_clean:
326 compiler_lex_make_all:
327 compiler_lex_make_all:
327 compiler_lex_clean:
328 compiler_lex_clean:
328 compiler_clean: compiler_moc_header_clean
329 compiler_clean: compiler_moc_header_clean
329
330
330 ####### Compile
331 ####### Compile
331
332
332 obj/rmapplugin.o: rmapplugin.cpp rmapplugin.h \
333 obj/rmapplugin.o: rmapplugin.cpp rmapplugin.h \
333 rmappluginui.h \
334 rmappluginui.h \
334 rmapoperations.h \
335 rmapoperations.h \
335 spectralmatricesdmasimulator.h \
336 spectralmatricesdmasimulator.h \
336 stardundee.h \
337 stardundee.h \
337 ccsds.h \
338 ccsds.h \
338 gresb.h \
339 gresb.h \
339 rmappluginpythonwrapper.h
340 rmappluginpythonwrapper.h \
341 tcpackettosend.h
340 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapplugin.o rmapplugin.cpp
342 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapplugin.o rmapplugin.cpp
341
343
342 obj/rmappluginui.o: rmappluginui.cpp rmapplugin.h \
344 obj/rmappluginui.o: rmappluginui.cpp rmapplugin.h \
343 rmappluginui.h \
345 rmappluginui.h \
344 rmapoperations.h \
346 rmapoperations.h \
345 spectralmatricesdmasimulator.h \
347 spectralmatricesdmasimulator.h \
346 stardundee.h \
348 stardundee.h \
347 ccsds.h \
349 ccsds.h \
348 gresb.h
350 gresb.h
349 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
351 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
350
352
351 obj/rmapoperations.o: rmapoperations.cpp rmapoperations.h
353 obj/rmapoperations.o: rmapoperations.cpp rmapoperations.h
352 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapoperations.o rmapoperations.cpp
354 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapoperations.o rmapoperations.cpp
353
355
354 obj/ccsds.o: ccsds.cpp ccsds.h
356 obj/ccsds.o: ccsds.cpp ccsds.h
355 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
357 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
356
358
357 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
359 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
358 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qipdialogbox.o ../common_PLE/qipdialogbox.cpp
360 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qipdialogbox.o ../common_PLE/qipdialogbox.cpp
359
361
360 obj/gresbstatusenquiry.o: ../common_PLE/gresbstatusenquiry.cpp ../common_PLE/gresbstatusenquiry.h
362 obj/gresbstatusenquiry.o: ../common_PLE/gresbstatusenquiry.cpp ../common_PLE/gresbstatusenquiry.h
361 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresbstatusenquiry.o ../common_PLE/gresbstatusenquiry.cpp
363 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresbstatusenquiry.o ../common_PLE/gresbstatusenquiry.cpp
362
364
363 obj/spectralmatricesdmasimulator.o: spectralmatricesdmasimulator.cpp spectralmatricesdmasimulator.h
365 obj/spectralmatricesdmasimulator.o: spectralmatricesdmasimulator.cpp spectralmatricesdmasimulator.h
364 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/spectralmatricesdmasimulator.o spectralmatricesdmasimulator.cpp
366 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/spectralmatricesdmasimulator.o spectralmatricesdmasimulator.cpp
365
367
366 obj/rmappluginpythonwrapper.o: rmappluginpythonwrapper.cpp rmappluginpythonwrapper.h \
368 obj/rmappluginpythonwrapper.o: rmappluginpythonwrapper.cpp rmappluginpythonwrapper.h \
367 rmapoperations.h \
369 rmapoperations.h \
368 ccsds.h \
370 ccsds.h \
369 tcpackettosend.h
371 tcpackettosend.h
370 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginpythonwrapper.o rmappluginpythonwrapper.cpp
372 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginpythonwrapper.o rmappluginpythonwrapper.cpp
371
373
372 obj/stardundee.o: stardundee.cpp stardundee.h \
374 obj/stardundee.o: stardundee.cpp stardundee.h \
373 rmapoperations.h \
375 rmapoperations.h \
374 ccsds.h
376 ccsds.h
375 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/stardundee.o stardundee.cpp
377 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/stardundee.o stardundee.cpp
376
378
377 obj/gresb.o: gresb.cpp gresb.h \
379 obj/gresb.o: gresb.cpp gresb.h \
378 rmapoperations.h \
380 rmapoperations.h \
379 ccsds.h
381 ccsds.h
380 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
382 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
381
383
382 obj/tcpackettosend.o: tcpackettosend.cpp tcpackettosend.h
384 obj/tcpackettosend.o: tcpackettosend.cpp tcpackettosend.h
383 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
385 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
384
386
385 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
387 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
386 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
388 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
387 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
389 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
388
390
389 obj/moc_rmappluginui.o: moc/moc_rmappluginui.cpp
391 obj/moc_rmappluginui.o: moc/moc_rmappluginui.cpp
390 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginui.o moc/moc_rmappluginui.cpp
392 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginui.o moc/moc_rmappluginui.cpp
391
393
392 obj/moc_rmapplugin.o: moc/moc_rmapplugin.cpp
394 obj/moc_rmapplugin.o: moc/moc_rmapplugin.cpp
393 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmapplugin.o moc/moc_rmapplugin.cpp
395 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmapplugin.o moc/moc_rmapplugin.cpp
394
396
395 obj/moc_qipdialogbox.o: moc/moc_qipdialogbox.cpp
397 obj/moc_qipdialogbox.o: moc/moc_qipdialogbox.cpp
396 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_qipdialogbox.o moc/moc_qipdialogbox.cpp
398 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_qipdialogbox.o moc/moc_qipdialogbox.cpp
397
399
398 obj/moc_gresbstatusenquiry.o: moc/moc_gresbstatusenquiry.cpp
400 obj/moc_gresbstatusenquiry.o: moc/moc_gresbstatusenquiry.cpp
399 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresbstatusenquiry.o moc/moc_gresbstatusenquiry.cpp
401 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresbstatusenquiry.o moc/moc_gresbstatusenquiry.cpp
400
402
401 obj/moc_spectralmatricesdmasimulator.o: moc/moc_spectralmatricesdmasimulator.cpp
403 obj/moc_spectralmatricesdmasimulator.o: moc/moc_spectralmatricesdmasimulator.cpp
402 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_spectralmatricesdmasimulator.o moc/moc_spectralmatricesdmasimulator.cpp
404 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_spectralmatricesdmasimulator.o moc/moc_spectralmatricesdmasimulator.cpp
403
405
404 obj/moc_rmappluginpythonwrapper.o: moc/moc_rmappluginpythonwrapper.cpp
406 obj/moc_rmappluginpythonwrapper.o: moc/moc_rmappluginpythonwrapper.cpp
405 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginpythonwrapper.o moc/moc_rmappluginpythonwrapper.cpp
407 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginpythonwrapper.o moc/moc_rmappluginpythonwrapper.cpp
406
408
407 obj/moc_stardundee.o: moc/moc_stardundee.cpp
409 obj/moc_stardundee.o: moc/moc_stardundee.cpp
408 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_stardundee.o moc/moc_stardundee.cpp
410 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_stardundee.o moc/moc_stardundee.cpp
409
411
410 obj/moc_gresb.o: moc/moc_gresb.cpp
412 obj/moc_gresb.o: moc/moc_gresb.cpp
411 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
413 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
412
414
413 obj/moc_tcpackettosend.o: moc/moc_tcpackettosend.cpp
415 obj/moc_tcpackettosend.o: moc/moc_tcpackettosend.cpp
414 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tcpackettosend.o moc/moc_tcpackettosend.cpp
416 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tcpackettosend.o moc/moc_tcpackettosend.cpp
415
417
416 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
418 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
417 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
419 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
418
420
419 obj/moc_lppmonplugin.o: moc/moc_lppmonplugin.cpp
421 obj/moc_lppmonplugin.o: moc/moc_lppmonplugin.cpp
420 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lppmonplugin.o moc/moc_lppmonplugin.cpp
422 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lppmonplugin.o moc/moc_lppmonplugin.cpp
421
423
422 ####### Install
424 ####### Install
423
425
424 install_target: first FORCE
426 install_target: first FORCE
425 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
427 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
426 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
428 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
427 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
429 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
428 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
430 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
429 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
431 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
430
432
431 uninstall_target: FORCE
433 uninstall_target: FORCE
432 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
434 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
433 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
435 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
434 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
436 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
435 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
437 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
436 -$(DEL_DIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
438 -$(DEL_DIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
437
439
438
440
439 install: install_target FORCE
441 install: install_target FORCE
440
442
441 uninstall: uninstall_target FORCE
443 uninstall: uninstall_target FORCE
442
444
443 FORCE:
445 FORCE:
444
446
@@ -1,390 +1,416
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the LPPMON Software
2 -- This file is a part of the LPPMON Software
3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Paul LEROY
19 /*-- Author : Paul LEROY
20 -- Mail : paul.leroy@lpp.polytechnique.fr
20 -- Mail : paul.leroy@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
21 ----------------------------------------------------------------------------*/
22 #include "rmapplugin.h"
22 #include "rmapplugin.h"
23 #include <QHostAddress>
23 #include <QHostAddress>
24 #include <QIODevice>
24 #include <QIODevice>
25 #include <QApplication>
25 #include <QApplication>
26 #include <rmappluginpythonwrapper.h>
26 #include <rmappluginpythonwrapper.h>
27 #include <PythonQt.h>
27 #include <PythonQt.h>
28 #include <QTimer>
28 #include <QTimer>
29
29
30 rmapplugin::rmapplugin(QWidget *parent)
30 rmapplugin::rmapplugin(QWidget *parent)
31 :lppmonplugin(parent,false)
31 :lppmonplugin(parent,false)
32 {
32 {
33 this->UI = new rmapPluginUI();
33 this->UI = new rmapPluginUI();
34 this->setWindowTitle(tr("RMAP and SPW Communication"));
34 this->setWindowTitle(tr("RMAP and SPW Communication"));
35 this->setWidget((QWidget*)this->UI);
35 this->setWidget((QWidget*)this->UI);
36
36
37 timeCode = 0;
37 timeCode = 0;
38 time_COARSE = 0;
38 time_COARSE = 0;
39 time_FINE = 0;
39 time_FINE = 0;
40 currentBridge = selectedBridgeIsUnknown;
40 currentBridge = selectedBridgeIsUnknown;
41
41
42 //**************
42 //**************
43 //Python wrapper
43 //Python wrapper
44 this->pyObject = new rmappluginPythonWrapper();
44 this->pyObject = new rmappluginPythonWrapper();
45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
47 //**
47 //**
48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
50 //**
50 //**
51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
52 this, SLOT( setValueTargetAddress(unsigned char)) );
52 this, SLOT( setValueTargetAddress(unsigned char)) );
53 //**
53 //**
54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
55 this, SLOT( setValueSourceAddress(unsigned char)) );
55 this, SLOT( setValueSourceAddress(unsigned char)) );
56 //**
56 //**
57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
58 this, SLOT(displayOnConsole(QString)) );
58 this, SLOT(displayOnConsole(QString)) );
59 //**
60 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
61 this, SLOT(fetchPacket()), Qt::DirectConnection );
59 //**************
62 //**************
60
63
61 //**************
64 //**************
62 // get a smart pointer to the __main__ module of the Python interpreter
65 // get a smart pointer to the __main__ module of the Python interpreter
63 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
66 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
64 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
67 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
65 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
68 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
66 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
69 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
67 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
70 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
68 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
71 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
69 context.addObject("GRESB_Bridge", UI->gresbBridge);
72 context.addObject("GRESB_Bridge", UI->gresbBridge);
70 //**************
73 //**************
71
74
72 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
75 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
73 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
76 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
74
77
75 // CCSDS
78 // CCSDS
76 connect(this->UI->sendCCSDSCommandButton, SIGNAL(clicked()), this, SLOT(sendCCSDS()));
79 connect(this->UI->sendCCSDSCommandButton, SIGNAL(clicked()), this, SLOT(sendCCSDS()));
77 connect(this->UI->send_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(send_TC_LFR_UPDATE_TIME()));
80 connect(this->UI->send_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(send_TC_LFR_UPDATE_TIME()));
78 connect(this->UI->reset_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(reset_TC_LFR_UPDATE_TIME()));
81 connect(this->UI->reset_TC_LFR_UPDATE_TIME_Button, SIGNAL(clicked()), this, SLOT(reset_TC_LFR_UPDATE_TIME()));
79
82
80 // spectralMAtricesDMASimulator
83 // spectralMAtricesDMASimulator
81 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginRead(uint*,uint,uint)), this, SLOT(Read(uint*,uint,uint)));
84 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginRead(uint*,uint,uint)), this, SLOT(Read(uint*,uint,uint)));
82 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginWrite(uint*,uint,uint)), this, SLOT(Write(uint*,uint,uint)));
85 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(rmapplugginWrite(uint*,uint,uint)), this, SLOT(Write(uint*,uint,uint)));
83 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
86 connect(this->UI->spectralMatricesDMASimulator, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
84
87
85 // GRESB
88 // GRESB
86 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
87 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
88 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
89 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
90 connect(this->UI->gresbBridge, SIGNAL(ccsdsPacketAvailable(unsigned char*,uint)),
93 connect(this->UI->gresbBridge, SIGNAL(ccsdsPacketAvailable(unsigned char*,uint)),
91 this, SLOT(processCCSDSPacket(unsigned char*,uint)));
94 this, SLOT(processCCSDSPacket(unsigned char*,uint)));
92 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
95 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
93 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
96 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
94 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
97 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
95 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
98 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
96 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
99 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
97 connect(this->UI->gresbBridge, SIGNAL(packetStoreNotEmpty()),
100 connect(this->UI->gresbBridge, SIGNAL(packetStoreNotEmpty()),
98 this, SLOT(processPacketStore()));
101 this, SLOT(processPacketStore()));
99
102
100 // Star Dundee
103 // Star Dundee
101 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
104 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
102 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
105 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
103 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
106 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
104 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
107 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
105 connect(this->UI->starDundee, SIGNAL(ccsdsPacketAvailable(unsigned char*,uint)),
108 connect(this->UI->starDundee, SIGNAL(ccsdsPacketAvailable(unsigned char*,uint)),
106 this, SLOT(processCCSDSPacket(unsigned char*,uint)));
109 this, SLOT(processCCSDSPacket(unsigned char*,uint)));
107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
110 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
109 this->UI->starDundee, SLOT(targetHasChanged(int)));
112 this->UI->starDundee, SLOT(targetHasChanged(int)));
110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
113 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
114 this->UI->starDundee, SLOT(sourceHasChanged(int)));
112 connect(this->UI->starDundee, SIGNAL(packetStoreNotEmpty()),
115 connect(this->UI->starDundee, SIGNAL(packetStoreNotEmpty()),
113 this, SLOT(processPacketStore()));
116 this, SLOT(processPacketStore()));
114
117
115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
118 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
119 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(updatePacketStore()));
116
120
117 }
121 }
118
122
119 rmapplugin::~rmapplugin()
123 rmapplugin::~rmapplugin()
120 {
124 {
121 switch(currentBridge)
125 switch(currentBridge)
122 {
126 {
123 case selectedBridgeIsGRESB :
127 case selectedBridgeIsGRESB :
124 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
128 if (RMAPSend_SOCKET->isOpen()) RMAPSend_SOCKET->disconnectFromHost();
125 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
129 if (RMAPReceive_SOCKET->isOpen()) RMAPReceive_SOCKET->disconnectFromHost();
126 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
130 if (GRESBStatusQuery_SOCKET->isOpen()) GRESBStatusQuery_SOCKET->disconnectFromHost();
127 break;
131 break;
128 case selectedBridgeIsStarDundee :
132 case selectedBridgeIsStarDundee :
129 break;
133 break;
130 default:
134 default:
131 break;
135 break;
132 }
136 }
133 }
137 }
134
138
135 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
139 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
136 {
140 {
137 unsigned int result;
141 unsigned int result;
138 switch(currentBridge)
142 switch(currentBridge)
139 {
143 {
140 case selectedBridgeIsGRESB :
144 case selectedBridgeIsGRESB :
141 result = UI->gresbBridge->Write(Value, count, address);
145 result = UI->gresbBridge->Write(Value, count, address);
142 break;
146 break;
143 case selectedBridgeIsStarDundee :
147 case selectedBridgeIsStarDundee :
144 result = UI->starDundee->Write(Value, count, address);
148 result = UI->starDundee->Write(Value, count, address);
145 break;
149 break;
146 default:
150 default:
147 result = 1;
151 result = 1;
148 break;
152 break;
149 }
153 }
150 return result;
154 return result;
151 }
155 }
152
156
153 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
157 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
154 {
158 {
155 unsigned int result;
159 unsigned int result;
156 switch(currentBridge)
160 switch(currentBridge)
157 {
161 {
158 case selectedBridgeIsGRESB :
162 case selectedBridgeIsGRESB :
159 result = UI->gresbBridge->Read(Value, count, address);
163 result = UI->gresbBridge->Read(Value, count, address);
160 break;
164 break;
161 case selectedBridgeIsStarDundee :
165 case selectedBridgeIsStarDundee :
162 result = UI->starDundee->Read(Value, count, address);
166 result = UI->starDundee->Read(Value, count, address);
163 break;
167 break;
164 default:
168 default:
165 result = 1;
169 result = 1;
166 break;
170 break;
167 }
171 }
168 return result;
172 return result;
169 }
173 }
170
174
171 ////////
175 ////////
172 // SLOTS
176 // SLOTS
173
177
174 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
178 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
175 {
179 {
176 unsigned int result;
180 unsigned int result;
177 switch(currentBridge)
181 switch(currentBridge)
178 {
182 {
179 case selectedBridgeIsGRESB :
183 case selectedBridgeIsGRESB :
180 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
184 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
181 break;
185 break;
182 case selectedBridgeIsStarDundee :
186 case selectedBridgeIsStarDundee :
183 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
187 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
184 break;
188 break;
185 default:
189 default:
186 result = 1;
190 result = 1;
187 break;
191 break;
188 }
192 }
189 return result;
193 return result;
190 }
194 }
191
195
192 void rmapplugin::sendCCSDS() // SLOT
196 void rmapplugin::sendCCSDS() // SLOT
193 {
197 {
194 unsigned int nbBYTES_application_data = 8;
198 unsigned int nbBYTES_application_data = 8;
195 unsigned int count;
199 unsigned int count;
196 char *tab;
200 char *tab;
197 unsigned char packetErrorControl1 = 0xaa;
201 unsigned char packetErrorControl1 = 0xaa;
198 unsigned char packetErrorControl0 = 0xbb;
202 unsigned char packetErrorControl0 = 0xbb;
199
203
200 ccsds_command = new ccsds(1, 0, 0, nbBYTES_application_data+12, 0, 0, 0, 0, 0); // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
204 ccsds_command = new ccsds(1, 0, 0, nbBYTES_application_data+12, 0, 0, 0, 0, 0); // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
201 /* unsigned char data_field_header,
205 /* unsigned char data_field_header,
202 unsigned char processID,
206 unsigned char processID,
203 unsigned int sequence_count,
207 unsigned int sequence_count,
204 unsigned int packet_length,
208 unsigned int packet_length,
205 unsigned char acceptance,
209 unsigned char acceptance,
206 unsigned int completion,
210 unsigned int completion,
207 unsigned char service_type,
211 unsigned char service_type,
208 unsigned char service_subtype,
212 unsigned char service_subtype,
209 unsigned char sourceID*/
213 unsigned char sourceID*/
210
214
211 count = nbBYTES_application_data+12; // 12 is the size in bytes of the header
215 count = nbBYTES_application_data+12; // 12 is the size in bytes of the header
212 tab = (char*) malloc(count);
216 tab = (char*) malloc(count);
213 tab[0] = ccsds_command->ccsds_header->packetId1;
217 tab[0] = ccsds_command->ccsds_header->packetId1;
214 tab[1] = ccsds_command->ccsds_header->packetId0;
218 tab[1] = ccsds_command->ccsds_header->packetId0;
215 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
219 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
216 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
220 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
217 tab[4] = ccsds_command->ccsds_header->packetLength1;
221 tab[4] = ccsds_command->ccsds_header->packetLength1;
218 tab[5] = ccsds_command->ccsds_header->packetLength0;
222 tab[5] = ccsds_command->ccsds_header->packetLength0;
219 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
223 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
220 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
224 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
221 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
225 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
222 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
226 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
223 tab[10]=0x00;
227 tab[10]=0x00;
224 tab[11]=0x00;
228 tab[11]=0x00;
225 tab[12]=0x00;
229 tab[12]=0x00;
226 tab[13]=0x00;
230 tab[13]=0x00;
227 tab[14]=0x00;
231 tab[14]=0x00;
228 tab[15]=0x00;
232 tab[15]=0x00;
229 tab[nbBYTES_application_data+10] = packetErrorControl1;
233 tab[nbBYTES_application_data+10] = packetErrorControl1;
230 tab[nbBYTES_application_data+11] = packetErrorControl0;
234 tab[nbBYTES_application_data+11] = packetErrorControl0;
231
235
232 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
236 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
233
237
234 free(tab);
238 free(tab);
235 }
239 }
236
240
237 void rmapplugin::openBridge()
241 void rmapplugin::openBridge()
238 {
242 {
239 switch(currentBridge)
243 switch(currentBridge)
240 {
244 {
241 case selectedBridgeIsGRESB :
245 case selectedBridgeIsGRESB :
242 this->UI->gresbBridge->Open();
246 this->UI->gresbBridge->Open();
243 break;
247 break;
244 case selectedBridgeIsStarDundee :
248 case selectedBridgeIsStarDundee :
245 this->UI->starDundee->Open();
249 this->UI->starDundee->Open();
246 break;
250 break;
247 default:
251 default:
248 break;
252 break;
249 }
253 }
250 }
254 }
251
255
252 void rmapplugin::closeBridge()
256 void rmapplugin::closeBridge()
253 {
257 {
254 switch(currentBridge)
258 switch(currentBridge)
255 {
259 {
256 case selectedBridgeIsGRESB :
260 case selectedBridgeIsGRESB :
257 this->UI->gresbBridge->Close();
261 this->UI->gresbBridge->Close();
258 break;
262 break;
259 case selectedBridgeIsStarDundee :
263 case selectedBridgeIsStarDundee :
260 this->UI->starDundee->Close();
264 this->UI->starDundee->Close();
261 break;
265 break;
262 default:
266 default:
263 break;
267 break;
264 }
268 }
265 }
269 }
266
270
267 void rmapplugin::send_TC_LFR_UPDATE_TIME()
271 void rmapplugin::send_TC_LFR_UPDATE_TIME()
268 {
272 {
269 unsigned int nbBYTES_application_data = 6; // Time at CUC format is on 48 bits / 6 bytes
273 unsigned int nbBYTES_application_data = 6; // Time at CUC format is on 48 bits / 6 bytes
270 unsigned int count;
274 unsigned int count;
271 char *tab;
275 char *tab;
272 unsigned char packetErrorControl1 = 0xaa;
276 unsigned char packetErrorControl1 = 0xaa;
273 unsigned char packetErrorControl0 = 0xbb;
277 unsigned char packetErrorControl0 = 0xbb;
274
278
275 ccsds_command = new ccsds(1, 11, 0, nbBYTES_application_data, 1, 1, 9, 129, 0);
279 ccsds_command = new ccsds(1, 11, 0, nbBYTES_application_data, 1, 1, 9, 129, 0);
276 /* unsigned char data_field_header,
280 /* unsigned char data_field_header,
277 unsigned char processID,
281 unsigned char processID,
278 unsigned int sequence_count,
282 unsigned int sequence_count,
279 unsigned int packet_length,
283 unsigned int packet_length,
280 unsigned char acceptance,
284 unsigned char acceptance,
281 unsigned int completion,
285 unsigned int completion,
282 unsigned char service_type,
286 unsigned char service_type,
283 unsigned char service_subtype,
287 unsigned char service_subtype,
284 unsigned char sourceID*/
288 unsigned char sourceID*/
285
289
286 count = nbBYTES_application_data+12; // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
290 count = nbBYTES_application_data+12; // +12 => packet header 6 bytes + data field header 4 bytes + packet error control 2 bytes
287 tab = (char*) malloc(count);
291 tab = (char*) malloc(count);
288 tab[0] = ccsds_command->ccsds_header->packetId1;
292 tab[0] = ccsds_command->ccsds_header->packetId1;
289 tab[1] = ccsds_command->ccsds_header->packetId0;
293 tab[1] = ccsds_command->ccsds_header->packetId0;
290 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
294 tab[2] = ccsds_command->ccsds_header->packetSequenceControl1;
291 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
295 tab[3] = ccsds_command->ccsds_header->packetSequenceControl0;
292 tab[4] = ccsds_command->ccsds_header->packetLength1;
296 tab[4] = ccsds_command->ccsds_header->packetLength1;
293 tab[5] = ccsds_command->ccsds_header->packetLength0;
297 tab[5] = ccsds_command->ccsds_header->packetLength0;
294 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
298 tab[6] = ccsds_command->ccsds_header->dataFieldHeader3;
295 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
299 tab[7] = ccsds_command->ccsds_header->dataFieldHeader2;
296 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
300 tab[8] = ccsds_command->ccsds_header->dataFieldHeader1;
297 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
301 tab[9] = ccsds_command->ccsds_header->dataFieldHeader0;
298 tab[10] = (unsigned char) (time_COARSE>>24);
302 tab[10] = (unsigned char) (time_COARSE>>24);
299 tab[11] = (unsigned char) (time_COARSE>>18);
303 tab[11] = (unsigned char) (time_COARSE>>18);
300 tab[12] = (unsigned char) (time_COARSE>>8);
304 tab[12] = (unsigned char) (time_COARSE>>8);
301 tab[13] = (unsigned char) (time_COARSE);
305 tab[13] = (unsigned char) (time_COARSE);
302 tab[14] = (unsigned char) (time_FINE>>8);
306 tab[14] = (unsigned char) (time_FINE>>8);
303 tab[15] = (unsigned char) (time_FINE);
307 tab[15] = (unsigned char) (time_FINE);
304 tab[nbBYTES_application_data+10] = packetErrorControl1;
308 tab[nbBYTES_application_data+10] = packetErrorControl1;
305 tab[nbBYTES_application_data+11] = packetErrorControl0;
309 tab[nbBYTES_application_data+11] = packetErrorControl0;
306
310
307 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
311 WriteSPW(tab, count, UI->CCSDSTargetLogicalAddressSpinBox->value(), 0x00);
308
312
309 time_COARSE = time_COARSE+1;
313 time_COARSE = time_COARSE+1;
310
314
311 free(tab);
315 free(tab);
312 }
316 }
313
317
314 void rmapplugin::reset_TC_LFR_UPDATE_TIME()
318 void rmapplugin::reset_TC_LFR_UPDATE_TIME()
315 {
319 {
316 time_COARSE = 0;
320 time_COARSE = 0;
317 time_FINE = 0;
321 time_FINE = 0;
318 }
322 }
319
323
320 void rmapplugin::RMAP_write_reply_setText(QString text)
324 void rmapplugin::RMAP_write_reply_setText(QString text)
321 {
325 {
322 this->UI->RMAP_write_reply->setText(text);
326 this->UI->RMAP_write_reply->setText(text);
323 }
327 }
324
328
325 void rmapplugin::appendToLog(QString text)
329 void rmapplugin::appendToLog(QString text)
326 {
330 {
327 APPENDTOLOG(text);
331 APPENDTOLOG(text);
328 }
332 }
329
333
330 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
334 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
331 {
335 {
332 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
336 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
333 }
337 }
334
338
335 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
339 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
336 {
340 {
337 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
341 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
338 }
342 }
339
343
340 /////////////////////
344 /////////////////////
341 // INTERNAL FUNCTIONS
345 // INTERNAL FUNCTIONS
342
346
343 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
347 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
344 {
348 {
345 QString message;
349 QString message;
346 unsigned int fine_time_value = 0;
350 unsigned int fine_time_value = 0;
347 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
351 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
348 + ((unsigned int) ccsdsPacket[6]<<16)
352 + ((unsigned int) ccsdsPacket[6]<<16)
349 + ((unsigned int) ccsdsPacket[5]<<8)
353 + ((unsigned int) ccsdsPacket[5]<<8)
350 + ((unsigned int) ccsdsPacket[4]);
354 + ((unsigned int) ccsdsPacket[4]);
351 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
355 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
352 message.append("size "
356 message.append("size "
353 + QString::number(size)
357 + QString::number(size)
354 +" *** header "
358 +" *** header "
355 + QString::number(ccsdsPacket[0], 16)
359 + QString::number(ccsdsPacket[0], 16)
356 + " "
360 + " "
357 + QString::number(ccsdsPacket[1], 16)
361 + QString::number(ccsdsPacket[1], 16)
358 + " "
362 + " "
359 + QString::number(ccsdsPacket[2], 16)
363 + QString::number(ccsdsPacket[2], 16)
360 + " "
364 + " "
361 + QString::number(ccsdsPacket[3], 16)
365 + QString::number(ccsdsPacket[3], 16)
362 + " *** coarse time "
366 + " *** coarse time "
363 + QString::number(fine_time_value));
367 + QString::number(fine_time_value));
364 //+ QString::number(ccsdsPacket[4], 16)
368 //+ QString::number(ccsdsPacket[4], 16)
365 //+" "
369 //+" "
366 //+ QString::number(ccsdsPacket[5], 16)
370 //+ QString::number(ccsdsPacket[5], 16)
367 //+" "
371 //+" "
368 //+ QString::number(ccsdsPacket[6], 16)
372 //+ QString::number(ccsdsPacket[6], 16)
369 //+" "
373 //+" "
370 //+ QString::number(ccsdsPacket[7], 16));
374 //+ QString::number(ccsdsPacket[7], 16));
371 displayOnConsole(message);
375 displayOnConsole(message);
372 ((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
376 ((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
373 emit ccsdsPacketIsProcessed();
377 emit ccsdsPacketIsProcessed();
374 }
378 }
375
379
376 void rmapplugin::processPacketStore()
380 void rmapplugin::processPacketStore()
377 {
381 {
382 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
383 }
384
385 void rmapplugin::updatePacketStore()
386 {
378 switch(currentBridge)
387 switch(currentBridge)
379 {
388 {
380 case selectedBridgeIsGRESB :
389 case selectedBridgeIsGRESB :
381 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->UI->gresbBridge->ccsdsPacketStore);
390 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->UI->gresbBridge->ccsdsPacketStore);
382 break;
391 break;
383 case selectedBridgeIsStarDundee :
392 case selectedBridgeIsStarDundee :
384 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->UI->starDundee->ccsdsPacketStore);
393 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->UI->starDundee->ccsdsPacketStore);
385 break;
394 break;
386 default:
395 default:
387 break;
396 break;
388 }
397 }
389 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
390 }
398 }
399
400 int rmapplugin::fetchPacket()
401 {
402 int ret = 0;
403
404 switch(currentBridge)
405 {
406 case selectedBridgeIsGRESB :
407 break;
408 case selectedBridgeIsStarDundee :
409 ret = this->UI->starDundee->receiveSPWPacketLoop();
410 break;
411 default:
412 break;
413 }
414
415 return ret;
416 }
@@ -1,91 +1,93
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the LPPMON Software
2 -- This file is a part of the LPPMON Software
3 -- Copyright (C) 2011, Laboratory of Plasmas Physic - CNRS
3 -- Copyright (C) 2011, Laboratory of Plasmas Physic - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
21 ----------------------------------------------------------------------------*/
22 #ifndef DRIVER1_H
22 #ifndef DRIVER1_H
23 #define DRIVER1_H
23 #define DRIVER1_H
24 #include <rmappluginui.h>
24 #include <rmappluginui.h>
25 #include <rmapoperations.h>
25 #include <rmapoperations.h>
26 #include <QMenuBar>
26 #include <QMenuBar>
27 #include <QMenu>
27 #include <QMenu>
28 #include <QAction>
28 #include <QAction>
29 #include <QMainWindow>
29 #include <QMainWindow>
30 #include <QTcpSocket>
30 #include <QTcpSocket>
31 #include <QTime>
31 #include <QTime>
32 #include <ccsds.h>
32 #include <ccsds.h>
33 #include <QSemaphore>
33 #include <QSemaphore>
34
34
35 #include <lppmonplugin.h>
35 #include <lppmonplugin.h>
36
36
37 #define APPENDTOLOG(message) this->UI->appendToLogFile(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": " + message)
37 #define APPENDTOLOG(message) this->UI->appendToLogFile(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": " + message)
38
38
39 #define READ_WRITE_MAX_COUNTS 4096 // in words
39 #define READ_WRITE_MAX_COUNTS 4096 // in words
40 #define RMAP_MAX_DATA_LENGTH 4*READ_WRITE_MAX_COUNTS // in bytes, shall be lower than the limit size of SPW packet of the GRESB bridge
40 #define RMAP_MAX_DATA_LENGTH 4*READ_WRITE_MAX_COUNTS // in bytes, shall be lower than the limit size of SPW packet of the GRESB bridge
41 #define RMAP_READ_REPLY_HEADER_LENGTH 12 // in bytes => ECSS
41 #define RMAP_READ_REPLY_HEADER_LENGTH 12 // in bytes => ECSS
42 #define RMAP_READ_COMMAND_HEADER_LENGTH 16 // in bytes => ECSS
42 #define RMAP_READ_COMMAND_HEADER_LENGTH 16 // in bytes => ECSS
43 #define RMAP_DATA_CRC_LENGTH 1 // in bytes => ECSS
43 #define RMAP_DATA_CRC_LENGTH 1 // in bytes => ECSS
44 #define CCSDS_MAX_PACKET_LENGTH 4412 // in bytes, specified in the LFR Software Requirements Specification
44 #define CCSDS_MAX_PACKET_LENGTH 4412 // in bytes, specified in the LFR Software Requirements Specification
45
45
46 class rmapplugin : public lppmonplugin
46 class rmapplugin : public lppmonplugin
47 {
47 {
48 Q_OBJECT
48 Q_OBJECT
49 public:
49 public:
50 explicit rmapplugin(QWidget *parent = 0);
50 explicit rmapplugin(QWidget *parent = 0);
51 ~rmapplugin();
51 ~rmapplugin();
52
52
53 public slots:
53 public slots:
54 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
54 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
55 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
55 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
56 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
56 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
57 void setValueTargetAddress(unsigned char newAddress);
57 void setValueTargetAddress(unsigned char newAddress);
58 void setValueSourceAddress(unsigned char newAddress);
58 void setValueSourceAddress(unsigned char newAddress);
59 void openBridge();
59 void openBridge();
60 void closeBridge();
60 void closeBridge();
61 void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
61 void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
62 void processPacketStore();
62 void processPacketStore();
63 void updatePacketStore();
64 int fetchPacket();
63 //
65 //
64 void sendCCSDS();
66 void sendCCSDS();
65 void send_TC_LFR_UPDATE_TIME();
67 void send_TC_LFR_UPDATE_TIME();
66 void reset_TC_LFR_UPDATE_TIME();
68 void reset_TC_LFR_UPDATE_TIME();
67 void displayOnConsole(QString message) {this->UI->console->append(message);}
69 void displayOnConsole(QString message) {this->UI->console->append(message);}
68 //
70 //
69 void RMAP_write_reply_setText(QString text);
71 void RMAP_write_reply_setText(QString text);
70 void appendToLog(QString text);
72 void appendToLog(QString text);
71 //
73 //
72 void activatePlugin(bool flag) {emit activateSig(flag);}
74 void activatePlugin(bool flag) {emit activateSig(flag);}
73 void bridgeHasChanged(selectedBridge bridge) {currentBridge = bridge;}
75 void bridgeHasChanged(selectedBridge bridge) {currentBridge = bridge;}
74
76
75 signals:
77 signals:
76 void ccsdsPacketIsProcessed();
78 void ccsdsPacketIsProcessed();
77
79
78 private:
80 private:
79 selectedBridge currentBridge;
81 selectedBridge currentBridge;
80 rmapPluginUI* UI;
82 rmapPluginUI* UI;
81 QTcpSocket* GRESBStatusQuery_SOCKET;
83 QTcpSocket* GRESBStatusQuery_SOCKET;
82 QTcpSocket* RMAPSend_SOCKET;
84 QTcpSocket* RMAPSend_SOCKET;
83 QTcpSocket* RMAPReceive_SOCKET;
85 QTcpSocket* RMAPReceive_SOCKET;
84 ccsds* ccsds_command;
86 ccsds* ccsds_command;
85 unsigned int rmapPacketSize;
87 unsigned int rmapPacketSize;
86 unsigned int time_COARSE;
88 unsigned int time_COARSE;
87 unsigned int time_FINE;
89 unsigned int time_FINE;
88 char timeCode;
90 char timeCode;
89 };
91 };
90
92
91 #endif // DRIVER1_H
93 #endif // DRIVER1_H
@@ -1,70 +1,70
1 #
1 #
2 # Project created by QtCreator 2011-09-20T08:15:30
2 # Project created by QtCreator 2011-09-20T08:15:30
3 #
3 #
4 #-------------------------------------------------
4 #-------------------------------------------------
5
5
6 #include(/etc/lppmon/lppmonplugin.prf)
6 #include(/etc/lppmon/lppmonplugin.prf)
7 CONFIG += lppmonplugin
7 CONFIG += lppmonplugin
8 TARGET = rmapplugin
8 TARGET = rmapplugin
9
9
10 DEFINES += PLUGIN=rmapplugin
10 DEFINES += PLUGIN=rmapplugin
11 DEFINES += PLUGINHEADER="\"\\\"rmapplugin.h"\\\"\"
11 DEFINES += PLUGINHEADER="\"\\\"rmapplugin.h"\\\"\"
12 DEFINES += driver_Name="\"\\\"RMAPPlugin"\\\"\"
12 DEFINES += driver_Name="\"\\\"RMAPPlugin"\\\"\"
13 DEFINES += driver_Author="\"\\\"Paul Leroy paul.leroy@lpp.polytechnique.fr"\\\"\"
13 DEFINES += driver_Author="\"\\\"Paul Leroy paul.leroy@lpp.polytechnique.fr"\\\"\"
14 DEFINES += driver_Version="\"\\\"1.1.2"\\\"\"
14 DEFINES += driver_Version="\"\\\"1.1.2"\\\"\"
15 DEFINES += driver_Description="\"\\\"AHB bus controler, works with Gaisler's AHB plugn' play bus."\\\"\"
15 DEFINES += driver_Description="\"\\\"AHB bus controler, works with Gaisler's AHB plugn' play bus."\\\"\"
16 DEFINES += driver_can_be_root=1
16 DEFINES += driver_can_be_root=1
17 DEFINES += driver_can_be_child=0
17 DEFINES += driver_can_be_child=0
18 DEFINES += driver_VID=0
18 DEFINES += driver_VID=0
19 DEFINES += driver_PID=0
19 DEFINES += driver_PID=0
20
20
21 QT += network
21 QT += network
22
22
23 LIBS += ../spw_usb_driver_v2.61/lib/x86_64/libSpaceWireUSBAPI.so \
23 LIBS += ../spw_usb_driver_v2.62/lib/x86_64/libSpaceWireUSBAPI.so \
24 ../spw_usb_driver_v2.61/lib/x86_64/libConfigLibraryUSB.so
24 ../spw_usb_driver_v2.62/lib/x86_64/libConfigLibraryUSB.so
25
25
26
26
27 INCLUDEPATH += \
27 INCLUDEPATH += \
28 $${PWD} \
28 $${PWD} \
29 ../common_PLE \
29 ../common_PLE \
30 ../spw_usb_driver_v2.61/inc
30 ../spw_usb_driver_v2.61/inc
31
31
32
32
33 HEADERS += \
33 HEADERS += \
34 rmappluginui.h \
34 rmappluginui.h \
35 rmapplugin.h \
35 rmapplugin.h \
36 rmapoperations.h \
36 rmapoperations.h \
37 ccsds.h \
37 ccsds.h \
38 ../common_PLE/qipdialogbox.h \
38 ../common_PLE/qipdialogbox.h \
39 ../common_PLE/gresbstatusenquiry.h \
39 ../common_PLE/gresbstatusenquiry.h \
40 spectralmatricesdmasimulator.h \
40 spectralmatricesdmasimulator.h \
41 rmappluginpythonwrapper.h \
41 rmappluginpythonwrapper.h \
42 stardundee.h \
42 stardundee.h \
43 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
43 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
44 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
44 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
45 gresb.h \
45 gresb.h \
46 tcpackettosend.h
46 tcpackettosend.h
47
47
48
48
49 SOURCES += \
49 SOURCES += \
50 rmapplugin.cpp \
50 rmapplugin.cpp \
51 rmappluginui.cpp \
51 rmappluginui.cpp \
52 rmapoperations.cpp \
52 rmapoperations.cpp \
53 ccsds.cpp \
53 ccsds.cpp \
54 ../common_PLE/qipdialogbox.cpp \
54 ../common_PLE/qipdialogbox.cpp \
55 ../common_PLE/gresbstatusenquiry.cpp \
55 ../common_PLE/gresbstatusenquiry.cpp \
56 spectralmatricesdmasimulator.cpp \
56 spectralmatricesdmasimulator.cpp \
57 rmappluginpythonwrapper.cpp \
57 rmappluginpythonwrapper.cpp \
58 stardundee.cpp \
58 stardundee.cpp \
59 gresb.cpp \
59 gresb.cpp \
60 tcpackettosend.cpp
60 tcpackettosend.cpp
61
61
62
62
63
63
64
64
65
65
66
66
67
67
68
68
69
69
70
70
@@ -1,174 +1,163
1 #include "rmappluginpythonwrapper.h"
1 #include "rmappluginpythonwrapper.h"
2 #include <math.h>
2 #include <math.h>
3 #include <QApplication>
3 #include <QApplication>
4
4
5 rmappluginPythonWrapper::rmappluginPythonWrapper(QObject *parent) :
5 rmappluginPythonWrapper::rmappluginPythonWrapper(QObject *parent) :
6 genericPySysdriver(parent)
6 genericPySysdriver(parent)
7 {
7 {
8 timer = new QTimer;
8 timer = new QTimer;
9 timer->setSingleShot(true);
9 timer->setSingleShot(true);
10 connect(timer, SIGNAL(timeout()), this, SLOT(sendTC()));
10 connect(timer, SIGNAL(timeout()), this, SLOT(sendTC()));
11 connect(this, SIGNAL(activateTCLoopSig()), this, SLOT(sendTCLoop()));
11 connect(this, SIGNAL(activateTCLoopSig()), this, SLOT(sendTCLoop()));
12 }
12 }
13
13
14 QList<QVariant> rmappluginPythonWrapper::getData()
14 QList<QVariant> rmappluginPythonWrapper::ReadSPW(unsigned int size) // size is not used
15 {
16 QList<QVariant> data;
17 for (int i = 0; i<1024; i++)
18 {
19 QVariant t(1000*cos(0.1*i));
20 data.append(t);
21 }
22 return data;
23 }
24
25 QList<QVariant> rmappluginPythonWrapper::ReadSPW(unsigned int size)
26 {
15 {
27 QList<QVariant> result;
16 QList<QVariant> result;
28 ccsdsPacketToProcess_t ccsdsPacket;
17 ccsdsPacketToProcess_t ccsdsPacket;
29
18
30 if (!ccsdsPacketStore->isEmpty())
19 if (!ccsdsPacketStore->isEmpty())
31 {
20 {
32 ccsdsPacket = ccsdsPacketStore->takeFirst();
21 ccsdsPacket = ccsdsPacketStore->takeFirst();
33 for(unsigned int i = 0;i<size;i++)
22 for(unsigned int i = 0;i<ccsdsPacket.size;i++)
34 {
23 {
35 result.append((QVariant)ccsdsPacket.data[i]);
24 result.append((QVariant)ccsdsPacket.data[i]);
36 }
25 }
37 }
26 }
38 return result;
27 return result;
39 }
28 }
40
29
41 void rmappluginPythonWrapper::WriteSPW(QList<int> dataList)
30 void rmappluginPythonWrapper::WriteSPW(QList<int> dataList)
42 {
31 {
43 char targetLogicalAddress;
32 char targetLogicalAddress;
44 char userApplication;
33 char userApplication;
45 unsigned int count;
34 unsigned int count;
46 char *Value;
35 char *Value;
47
36
48 unsigned char data[dataList.count()];
37 unsigned char data[dataList.count()];
49
38
50 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
39 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
51 {
40 {
52 data[i] = (unsigned char)dataList.at(i);
41 data[i] = (unsigned char)dataList.at(i);
53 }
42 }
54 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
43 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
55 targetLogicalAddress = data[0];
44 targetLogicalAddress = data[0];
56 userApplication = data[3];
45 userApplication = data[3];
57
46
58 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
47 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
59 Value = (char*) &data[4];
48 Value = (char*) &data[4];
60
49
61 emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);
50 emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);
62 }
51 }
63
52
64 void rmappluginPythonWrapper::WriteSPWDelay(QList<int> dataList, unsigned int delay)
53 void rmappluginPythonWrapper::WriteSPWDelay(QList<int> dataList, unsigned int delay)
65 {
54 {
66 char targetLogicalAddress;
55 char targetLogicalAddress;
67 char userApplication;
56 char userApplication;
68 unsigned int count;
57 unsigned int count;
69 char *Value;
58 char *Value;
70 TCPacketToSend *packet;
59 TCPacketToSend *packet;
71
60
72 unsigned char data[dataList.count()];
61 unsigned char data[dataList.count()];
73
62
74 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
63 for(int i = 0; i<dataList.count(); i++) // get the data as unsigned char
75 {
64 {
76 data[i] = (unsigned char)dataList.at(i);
65 data[i] = (unsigned char)dataList.at(i);
77 }
66 }
78 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
67 // read the first bytes of the data to get the targetLogicalAddress and the userApplication parameters
79 targetLogicalAddress = data[0];
68 targetLogicalAddress = data[0];
80 userApplication = data[3];
69 userApplication = data[3];
81
70
82 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
71 count = dataList.count() - 4; // the CCSDS header (4 bytes) is added by LPPMON
83 Value = (char*) &data[4];
72 Value = (char*) &data[4];
84
73
85 packet = new TCPacketToSend(Value, count, targetLogicalAddress, userApplication, delay);
74 packet = new TCPacketToSend(Value, count, targetLogicalAddress, userApplication, delay);
86 TCPacketStore.append(packet);
75 TCPacketStore.append(packet);
87
76
88 emit(activateTCLoopSig());
77 emit(activateTCLoopSig());
89
78
90 }
79 }
91
80
92 void rmappluginPythonWrapper::processPacketStoreLater(unsigned int delay)
81 void rmappluginPythonWrapper::processPacketStoreLater(unsigned int delay)
93 {
82 {
94 emit sendMessage(
83 emit sendMessage(
95 "*** process packet store in " + QString::number(delay) + " ms"
84 "*** process packet store in " + QString::number(delay) + " ms"
96 );
85 );
97 QTimer::singleShot(delay, this, SLOT(sendProcessPacketStoreNowSig()));
86 QTimer::singleShot(delay, this, SLOT(sendProcessPacketStoreNowSig()));
98 }
87 }
99
88
100 void rmappluginPythonWrapper::sendTCLoop()
89 void rmappluginPythonWrapper::sendTCLoop()
101 {
90 {
102 unsigned int delay;
91 unsigned int delay;
103
92
104 if (!timer->isActive())
93 if (!timer->isActive())
105 {
94 {
106 if (!TCPacketStore.isEmpty())
95 if (!TCPacketStore.isEmpty())
107 {
96 {
108 delay = TCPacketStore.at(0)->delay;
97 delay = TCPacketStore.at(0)->delay;
109 timer->setInterval(delay);
98 timer->setInterval(delay);
110 timer->start();
99 timer->start();
111 }
100 }
112 }
101 }
113 }
102 }
114
103
115 void rmappluginPythonWrapper::sendTC()
104 void rmappluginPythonWrapper::sendTC()
116 {
105 {
117 TCPacketToSend *packet;
106 TCPacketToSend *packet;
118 unsigned int delay;
107 unsigned int delay;
119
108
120 packet = TCPacketStore.takeFirst();
109 packet = TCPacketStore.takeFirst();
121 // the signal is connected with the option Qt::DirectConnection, thus it is processed immediately
110 // the signal is connected with the option Qt::DirectConnection, thus it is processed immediately
122 emit(WriteSPWSig(packet->Value, packet->count,packet->targetLogicalAddress, packet->userApplication));
111 emit(WriteSPWSig(packet->Value, packet->count,packet->targetLogicalAddress, packet->userApplication));
123 delete(packet);
112 delete(packet);
124 if (!TCPacketStore.isEmpty())
113 if (!TCPacketStore.isEmpty())
125 {
114 {
126 delay = TCPacketStore.at(0)->delay;
115 delay = TCPacketStore.at(0)->delay;
127 timer->setInterval(delay);
116 timer->setInterval(delay);
128 timer->start();
117 timer->start();
129 }
118 }
130 }
119 }
131
120
132 unsigned int rmappluginPythonWrapper::storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size)
121 unsigned int rmappluginPythonWrapper::storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size)
133 {
122 {
134 unsigned int i;
123 unsigned int i;
135 ccsdsPacketToProcess_t ccsdsPacketToStore;
124 ccsdsPacketToProcess_t ccsdsPacketToStore;
136
125
137 ccsdsPacketToStore.size = size;
126 ccsdsPacketToStore.size = size;
138 for(i=0; i<size; i++)
127 for(i=0; i<size; i++)
139 {
128 {
140 //ccsdsPacket0[i] = ccsdsPacket[i];
129 //ccsdsPacket0[i] = ccsdsPacket[i];
141 ccsdsPacketToStore.data[i] = ccsdsPacket[i];
130 ccsdsPacketToStore.data[i] = ccsdsPacket[i];
142 }
131 }
143 ccsdsPacketStore->append(ccsdsPacketToStore);
132 ccsdsPacketStore->append(ccsdsPacketToStore);
144 emit ccsdsPacketIsAvailable(size);
133 emit ccsdsPacketIsAvailable(size);
145 return 1;
134 return 1;
146 }
135 }
147
136
148 void rmappluginPythonWrapper::processPacketStore()
137 void rmappluginPythonWrapper::processPacketStore()
149 {
138 {
150 while (!ccsdsPacketStore->isEmpty())
139 if (!ccsdsPacketStore->isEmpty())
151 {
140 {
152 emit ccsdsPacketIsAvailable(ccsdsPacketStore->at(0).size);
141 emit ccsdsPacketIsAvailable(ccsdsPacketStore->at(0).size);
153 ProcessPendingEvents();
154 }
142 }
155 }
143 }
156
144
157 void rmappluginPythonWrapper::setTargetAddressValue(unsigned int address)
145 void rmappluginPythonWrapper::setTargetAddressValue(unsigned int address)
158 {
146 {
159 unsigned char newAddress;
147 unsigned char newAddress;
160 newAddress = (unsigned char) address;
148 newAddress = (unsigned char) address;
161 emit updateTargetAddress(newAddress);
149 emit updateTargetAddress(newAddress);
162 }
150 }
163
151
164 void rmappluginPythonWrapper::setSourceAddressValue(unsigned int address)
152 void rmappluginPythonWrapper::setSourceAddressValue(unsigned int address)
165 {
153 {
166 unsigned char newAddress;
154 unsigned char newAddress;
167 newAddress = (unsigned char) address;
155 newAddress = (unsigned char) address;
168 emit updateSourceAddress(newAddress);
156 emit updateSourceAddress(newAddress);
169 }
157 }
170
158
171 void rmappluginPythonWrapper::ProcessPendingEvents()
159 void rmappluginPythonWrapper::ProcessPendingEvents()
172 {
160 {
173 QCoreApplication::processEvents();
161 QCoreApplication::processEvents();
174 }
162 }
163
@@ -1,55 +1,56
1 #ifndef RMAPPLUGINPYTHONWRAPPER_H
1 #ifndef RMAPPLUGINPYTHONWRAPPER_H
2 #define RMAPPLUGINPYTHONWRAPPER_H
2 #define RMAPPLUGINPYTHONWRAPPER_H
3
3
4 #include <QObject>
4 #include <QObject>
5 #include <genericPySysdriver.h>
5 #include <genericPySysdriver.h>
6 #include <QList>
6 #include <QList>
7 #include <QVariant>
7 #include <QVariant>
8 #include "rmapoperations.h"
8 #include "rmapoperations.h"
9 #include "ccsds.h"
9 #include "ccsds.h"
10 #include <tcpackettosend.h>
10 #include <tcpackettosend.h>
11 #include <QTimer>
11 #include <QTimer>
12
12
13 class rmappluginPythonWrapper : public genericPySysdriver
13 class rmappluginPythonWrapper : public genericPySysdriver
14 {
14 {
15 Q_OBJECT
15 Q_OBJECT
16 public:
16 public:
17 explicit rmappluginPythonWrapper(QObject *parent = 0);
17 explicit rmappluginPythonWrapper(QObject *parent = 0);
18
18
19 QList<ccsdsPacketToProcess_t> *ccsdsPacketStore;
19 QList<ccsdsPacketToProcess_t> *ccsdsPacketStore;
20 void processPacketStore();
20 void processPacketStore();
21 unsigned int storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
21 unsigned int storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
22
22
23 QList<TCPacketToSend*> TCPacketStore;
23 QList<TCPacketToSend*> TCPacketStore;
24 QTimer *timer;
24 QTimer *timer;
25
25
26 signals:
26 signals:
27 void ccsdsPacketIsAvailable(unsigned int size);
27 void ccsdsPacketIsAvailable(unsigned int size);
28 void wakeUpCallingThread();
28 void wakeUpCallingThread();
29 unsigned int WriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
29 unsigned int WriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
30 void updateTargetAddress(unsigned char newAddress);
30 void updateTargetAddress(unsigned char newAddress);
31 void updateSourceAddress(unsigned char newAddress);
31 void updateSourceAddress(unsigned char newAddress);
32 void activateTCLoopSig();
32 void activateTCLoopSig();
33 void processPacketStoreNowSig();
33 void processPacketStoreNowSig();
34 void sendMessage(QString message);
34 void sendMessage(QString message);
35 int fetchPacketSig();
35
36
36 public slots:
37 public slots:
37 QList<QVariant> getData();
38 QList<QVariant> ReadSPW(unsigned int size=0);
38
39 int fetchPacket() {return emit fetchPacketSig();}
39 QList<QVariant> ReadSPW(unsigned int size);
40 void WriteSPW(QList<int> dataList);
40 void WriteSPW(QList<int> dataList);
41 void WriteSPWDelay(QList<int> dataList, unsigned int delay=0);
41 void WriteSPWDelay(QList<int> dataList, unsigned int delay=0);
42 void processPacketStoreLater(unsigned int delay);
42 void processPacketStoreLater(unsigned int delay);
43 void sendProcessPacketStoreNowSig(){emit processPacketStoreNowSig();}
43 void sendProcessPacketStoreNowSig(){emit processPacketStoreNowSig();}
44 void sendTCLoop();
44 void sendTCLoop();
45 void sendTC();
45 void sendTC();
46 void reEmitWriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
46 void reEmitWriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
47 {emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);}
47 {emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);}
48
48
49 void setTargetAddressValue(unsigned int address);
49 void setTargetAddressValue(unsigned int address);
50 void setSourceAddressValue(unsigned int address);
50 void setSourceAddressValue(unsigned int address);
51 void ProcessPendingEvents();
51 void ProcessPendingEvents();
52 void BlockAllSignals();
52
53
53 };
54 };
54
55
55 #endif // RMAPPLUGINPYTHONWRAPPER_H
56 #endif // RMAPPLUGINPYTHONWRAPPER_H
@@ -1,855 +1,856
1 #include "stardundee.h"
1 #include "stardundee.h"
2 #include <QTime>
2 #include <QTime>
3 #include <math.h>
3 #include <math.h>
4 #include "ccsds.h"
4 #include "ccsds.h"
5
5
6 StarDundee::StarDundee(QWidget *parent) :
6 StarDundee::StarDundee(QWidget *parent) :
7 QWidget(parent)
7 QWidget(parent)
8 {
8 {
9 // Packet receiver
9 // Packet receiver
10 timer = new QTimer;
10 timer = new QTimer;
11 rmapPacketSEMAPHORE = new QSemaphore;
11 rmapPacketSEMAPHORE = new QSemaphore;
12 ccsdsPacketSEMAPHORE = new QSemaphore;
12 ccsdsPacketSEMAPHORE = new QSemaphore;
13 rmapPacket = (char*) malloc(RMAP_MAX_PACKET_LENGTH);
13 rmapPacket = (char*) malloc(RMAP_MAX_PACKET_LENGTH);
14 ccsdsPacket = (unsigned char*) malloc(CCSDS_MAX_PACKET_LENGTH);
14 ccsdsPacket = (unsigned char*) malloc(CCSDS_MAX_PACKET_LENGTH);
15 spwPacket = (char*) malloc( qMax(RMAP_MAX_PACKET_LENGTH, CCSDS_MAX_PACKET_LENGTH) );
15 spwPacket = (char*) malloc( qMax(RMAP_MAX_PACKET_LENGTH, CCSDS_MAX_PACKET_LENGTH) );
16
16
17 starDundeeStatusQueryDialog = new QDialog;
17 starDundeeStatusQueryDialog = new QDialog;
18
18
19 commandCode = invalid0; // initialization of the cmmand code for the RMAP transfers
19 commandCode = invalid0; // initialization of the cmmand code for the RMAP transfers
20 rmapTargetLogicalAddress = DEFAULT_TARGET;
20 rmapTargetLogicalAddress = DEFAULT_TARGET;
21 rmapSourceLogicalAddress = DEFAULT_SOURCE;
21 rmapSourceLogicalAddress = DEFAULT_SOURCE;
22
22
23 connection_LAYOUT = new QGridLayout;
23 connection_LAYOUT = new QGridLayout;
24
24
25 usbDeviceNumber_LABEL = new QLabel(tr("USB device number: "));
25 usbDeviceNumber_LABEL = new QLabel(tr("USB device number: "));
26 linkNumber_LABEL = new QLabel(tr("SpaceWire link number: "));
26 linkNumber_LABEL = new QLabel(tr("SpaceWire link number: "));
27 starDundeeStatusQueryDialogLabel = new QLabel(tr("SpaceWire link not running"));
27 starDundeeStatusQueryDialogLabel = new QLabel(tr("SpaceWire link not running"));
28
28
29 //*** QPUSHBUTTON ***//
29 //*** QPUSHBUTTON ***//
30 starDundeeStatusQueryRetryButton = new QPushButton(tr("Retry"));
30 starDundeeStatusQueryRetryButton = new QPushButton(tr("Retry"));
31 starDundeeStatusQueryAbortButton = new QPushButton(tr("Abort"));
31 starDundeeStatusQueryAbortButton = new QPushButton(tr("Abort"));
32
32
33 usbDeviceNumber_SPINBOX = new QSpinBox;
33 usbDeviceNumber_SPINBOX = new QSpinBox;
34 usbDeviceNumber_SPINBOX->setRange(0,32);
34 usbDeviceNumber_SPINBOX->setRange(0,32);
35 usbDeviceNumber_SPINBOX->setValue(0);
35 usbDeviceNumber_SPINBOX->setValue(0);
36 linkNumber_SPINBOX = new QSpinBox;
36 linkNumber_SPINBOX = new QSpinBox;
37 linkNumber_SPINBOX->setRange(1,2);
37 linkNumber_SPINBOX->setRange(1,2);
38 linkNumber_SPINBOX->setValue(1);
38 linkNumber_SPINBOX->setValue(1);
39
39
40 // STAR DUNDEE STATUS QUERY DIALOG
40 // STAR DUNDEE STATUS QUERY DIALOG
41 starDundeeStatusQueryDialogLayout = new QGridLayout;
41 starDundeeStatusQueryDialogLayout = new QGridLayout;
42 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryDialogLabel, 0, 0, 1, 2);
42 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryDialogLabel, 0, 0, 1, 2);
43 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryRetryButton, 1, 0, 0);
43 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryRetryButton, 1, 0, 0);
44 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryAbortButton, 1, 1, 0);
44 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryAbortButton, 1, 1, 0);
45 starDundeeStatusQueryDialog->setLayout(starDundeeStatusQueryDialogLayout);
45 starDundeeStatusQueryDialog->setLayout(starDundeeStatusQueryDialogLayout);
46
46
47 connection_LAYOUT->addWidget(usbDeviceNumber_LABEL, 0, 0, 1, 1);
47 connection_LAYOUT->addWidget(usbDeviceNumber_LABEL, 0, 0, 1, 1);
48 connection_LAYOUT->addWidget(usbDeviceNumber_SPINBOX, 0, 1, 1, 1);
48 connection_LAYOUT->addWidget(usbDeviceNumber_SPINBOX, 0, 1, 1, 1);
49 connection_LAYOUT->addWidget(linkNumber_LABEL, 1, 0, 1, 1);
49 connection_LAYOUT->addWidget(linkNumber_LABEL, 1, 0, 1, 1);
50 connection_LAYOUT->addWidget(linkNumber_SPINBOX, 1, 1, 1, 1);
50 connection_LAYOUT->addWidget(linkNumber_SPINBOX, 1, 1, 1, 1);
51
51
52 connection_LAYOUT->setRowStretch(2, 1);
52 connection_LAYOUT->setRowStretch(2, 1);
53 connection_LAYOUT->setColumnStretch(2, 1);
53 connection_LAYOUT->setColumnStretch(2, 1);
54
54
55 this->setLayout(connection_LAYOUT);
55 this->setLayout(connection_LAYOUT);
56
56
57 connect(starDundeeStatusQueryRetryButton, SIGNAL(clicked()), this, SLOT(reTestSPWLink()));
57 connect(starDundeeStatusQueryRetryButton, SIGNAL(clicked()), this, SLOT(reTestSPWLink()));
58 connect(starDundeeStatusQueryAbortButton, SIGNAL(clicked()), starDundeeStatusQueryDialog, SLOT(reject()));
58 connect(starDundeeStatusQueryAbortButton, SIGNAL(clicked()), starDundeeStatusQueryDialog, SLOT(reject()));
59
59
60 connect(this->timer, SIGNAL(timeout()), this, SLOT(receivePollingLoop()));
60 connect(this->timer, SIGNAL(timeout()), this, SLOT(receivePollingLoop()));
61 timer->start(100); // starts the periodical timer, period = 100ms
61 timer->start(100); // starts the periodical timer, period = 100ms
62 }
62 }
63
63
64 StarDundee::~StarDundee()
64 StarDundee::~StarDundee()
65 {
65 {
66 free(rmapPacket);
66 free(rmapPacket);
67 free(ccsdsPacket);
67 free(ccsdsPacket);
68 free(spwPacket);
68 free(spwPacket);
69 USBSpaceWire_Close(hDevice); // Close the device
69 USBSpaceWire_Close(hDevice); // Close the device
70 }
70 }
71
71
72 void StarDundee::Open()
72 void StarDundee::Open()
73 {
73 {
74 int status;
74 int status;
75 U32 statusControl;
75 U32 statusControl;
76
76
77 if (!USBSpaceWire_Open(&hDevice, usbDeviceNumber_SPINBOX->value())) // Open the USB device
77 if (!USBSpaceWire_Open(&hDevice, usbDeviceNumber_SPINBOX->value())) // Open the USB device
78 {
78 {
79 emit sendMessage("stardundee *** Open *** ERROR: USBSpaceWire_Open(&hDevice, 0))");
79 emit sendMessage("stardundee *** Open *** ERROR: USBSpaceWire_Open(&hDevice, 0))");
80 return;
80 return;
81 }
81 }
82 emit sendMessage("stardundee *** Open *** USBSpaceWire_Open successful, device number: "
82 emit sendMessage("stardundee *** Open *** USBSpaceWire_Open successful, device number: "
83 + QString::number(usbDeviceNumber_SPINBOX->value()));
83 + QString::number(usbDeviceNumber_SPINBOX->value()));
84
84
85 USBSpaceWire_EnableNetworkMode(hDevice, 0); // deactivate the network mode
85 USBSpaceWire_EnableNetworkMode(hDevice, 0); // deactivate the network mode
86 CFGSpaceWire_EnableRMAP(1); // Enable the use of RMAP for the StarDundee brick configuration
86 CFGSpaceWire_EnableRMAP(1); // Enable the use of RMAP for the StarDundee brick configuration
87 CFGSpaceWire_SetRMAPDestinationKey(0x20); // Set the destination key expected by STAR-Dundee devices
87 CFGSpaceWire_SetRMAPDestinationKey(0x20); // Set the destination key expected by STAR-Dundee devices
88
88
89 // Set the path and return path to the device
89 // Set the path and return path to the device
90 CFGSpaceWire_StackClear();
90 CFGSpaceWire_StackClear();
91 CFGSpaceWire_AddrStackPush(0);
91 CFGSpaceWire_AddrStackPush(0);
92 CFGSpaceWire_AddrStackPush(254);
92 CFGSpaceWire_AddrStackPush(254);
93 CFGSpaceWire_RetAddrStackPush(254);
93 CFGSpaceWire_RetAddrStackPush(254);
94
94
95 // set the base transmit rate to 100 MHz
95 // set the base transmit rate to 100 MHz
96 status = CFGSpaceWire_SetBrickBaseTransmitRate( hDevice, CFG_BRK_CLK_100_MHZ, CFG_BRK_DVDR_1, 0xff);
96 status = CFGSpaceWire_SetBrickBaseTransmitRate( hDevice, CFG_BRK_CLK_100_MHZ, CFG_BRK_DVDR_1, 0xff);
97 if (status != CFG_TRANSFER_SUCCESS)
97 if (status != CFG_TRANSFER_SUCCESS)
98 {
98 {
99 emit sendMessage("ERROR CFGSpaceWire_SetBrickBaseTransmitRate");
99 emit sendMessage("ERROR CFGSpaceWire_SetBrickBaseTransmitRate");
100 }
100 }
101 else emit sendMessage("OK CFGSpaceWire_SetBrickBaseTransmitRate, base rate = 100 MHz");
101 else emit sendMessage("OK CFGSpaceWire_SetBrickBaseTransmitRate, base rate = 100 MHz");
102 // read the link status
102 // read the link status
103 if (CFGSpaceWire_GetLinkStatusControl(hDevice, linkNumber_SPINBOX->value(), &statusControl) != CFG_TRANSFER_SUCCESS)
103 if (CFGSpaceWire_GetLinkStatusControl(hDevice, linkNumber_SPINBOX->value(), &statusControl) != CFG_TRANSFER_SUCCESS)
104 {
104 {
105 emit sendMessage("Could not read link status control for link " + QString::number(linkNumber_SPINBOX->value()));
105 emit sendMessage("Could not read link status control for link " + QString::number(linkNumber_SPINBOX->value()));
106 }
106 }
107 else
107 else
108 {
108 {
109 emit sendMessage("OK CFGSpaceWire_GetLinkStatusControl of link " + QString::number(linkNumber_SPINBOX->value()));
109 emit sendMessage("OK CFGSpaceWire_GetLinkStatusControl of link " + QString::number(linkNumber_SPINBOX->value()));
110
110
111 // Set the link status control register properties
111 // Set the link status control register properties
112 CFGSpaceWire_LSEnableAutoStart(&statusControl, 1);
112 CFGSpaceWire_LSEnableAutoStart(&statusControl, 1);
113 CFGSpaceWire_LSEnableStart(&statusControl, 1);
113 CFGSpaceWire_LSEnableStart(&statusControl, 1);
114 CFGSpaceWire_LSEnableDisabled(&statusControl, 0);
114 CFGSpaceWire_LSEnableDisabled(&statusControl, 0);
115 CFGSpaceWire_LSEnableTristate(&statusControl, 0);
115 CFGSpaceWire_LSEnableTristate(&statusControl, 0);
116 CFGSpaceWire_LSSetOperatingSpeed(&statusControl, 9); // sets the link speed to ( 100 MHz / (9+1) ) = 10 MHz
116 CFGSpaceWire_LSSetOperatingSpeed(&statusControl, 9); // sets the link speed to ( 100 MHz / (9+1) ) = 10 MHz
117
117
118 // Set the link status control register
118 // Set the link status control register
119 if (CFGSpaceWire_SetLinkStatusControl(hDevice, linkNumber_SPINBOX->value(), statusControl) != CFG_TRANSFER_SUCCESS)
119 if (CFGSpaceWire_SetLinkStatusControl(hDevice, linkNumber_SPINBOX->value(), statusControl) != CFG_TRANSFER_SUCCESS)
120 {
120 {
121 emit sendMessage("Could not set the link status control for link " + QString::number(linkNumber_SPINBOX->value()));
121 emit sendMessage("Could not set the link status control for link " + QString::number(linkNumber_SPINBOX->value()));
122 }
122 }
123 else emit sendMessage("Set the link status control for link " + QString::number(linkNumber_SPINBOX->value()));
123 else emit sendMessage("Set the link status control for link " + QString::number(linkNumber_SPINBOX->value()));
124 }
124 }
125
125
126 if (CFGSpaceWire_SetAsInterface(hDevice, 1, 0) != CFG_TRANSFER_SUCCESS)
126 if (CFGSpaceWire_SetAsInterface(hDevice, 1, 0) != CFG_TRANSFER_SUCCESS)
127 {
127 {
128 emit sendMessage("Could not set the device to be an interface");
128 emit sendMessage("Could not set the device to be an interface");
129 }
129 }
130 else
130 else
131 {
131 {
132 emit sendMessage("Device set to be an interface");
132 emit sendMessage("Device set to be an interface");
133 }
133 }
134
134
135 //setRoutingTableEntry(rmapTargetLogicalAddress, (1<<linkNumber_SPINBOX->value()));
135 //setRoutingTableEntry(rmapTargetLogicalAddress, (1<<linkNumber_SPINBOX->value()));
136 //setRoutingTableEntry(rmapSourceLogicalAddress, (1<<3));
136 //setRoutingTableEntry(rmapSourceLogicalAddress, (1<<3));
137 //GetRoutingTableEntry(rmapTargetLogicalAddress);
137 //GetRoutingTableEntry(rmapTargetLogicalAddress);
138 //GetRoutingTableEntry(rmapSourceLogicalAddress);
138 //GetRoutingTableEntry(rmapSourceLogicalAddress);
139
139
140 USBSpaceWire_RegisterReceiveOnAllPorts(hDevice); // Register to receive on all ports
140 USBSpaceWire_RegisterReceiveOnAllPorts(hDevice); // Register to receive on all ports
141 USBSpaceWire_ClearEndpoints(hDevice); // clear the USB endpoints
141 USBSpaceWire_ClearEndpoints(hDevice); // clear the USB endpoints
142
142
143 emit sendMessage("The driver's current send buffer size is " + QString::number(USBSpaceWire_GetDriverSendBufferSize(hDevice)) + " bytes");
143 emit sendMessage("The driver's current send buffer size is " + QString::number(USBSpaceWire_GetDriverSendBufferSize(hDevice)) + " bytes");
144 emit sendMessage("The driver's current read buffer size is " + QString::number(USBSpaceWire_GetDriverReadBufferSize(hDevice)) + " bytes");
144 emit sendMessage("The driver's current read buffer size is " + QString::number(USBSpaceWire_GetDriverReadBufferSize(hDevice)) + " bytes");
145 emit sendMessage("USBSpaceWire_IsReadThrottling is " + QString::number(USBSpaceWire_IsReadThrottling(hDevice)));
145 emit sendMessage("USBSpaceWire_IsReadThrottling is " + QString::number(USBSpaceWire_IsReadThrottling(hDevice)));
146
146
147 // initialize SPW packet semaphores
147 // initialize SPW packet semaphores
148 while (rmapPacketSEMAPHORE->available()!=0) rmapPacketSEMAPHORE->acquire();
148 while (rmapPacketSEMAPHORE->available()!=0) rmapPacketSEMAPHORE->acquire();
149 while (ccsdsPacketSEMAPHORE->available()!=0) ccsdsPacketSEMAPHORE->acquire();
149 while (ccsdsPacketSEMAPHORE->available()!=0) ccsdsPacketSEMAPHORE->acquire();
150
150
151 if (getLinkStatus(linkNumber_SPINBOX->value()))
151 if (getLinkStatus(linkNumber_SPINBOX->value()))
152 {
152 {
153 emit isOpen(true);
153 emit isOpen(true);
154 }
154 }
155 else
155 else
156 {
156 {
157 starDundeeStatusQueryDialog->exec();
157 starDundeeStatusQueryDialog->exec();
158 }
158 }
159 }
159 }
160
160
161 void StarDundee::Close()
161 void StarDundee::Close()
162 {
162 {
163 USBSpaceWire_Close(hDevice); // Close the device
163 USBSpaceWire_Close(hDevice); // Close the device
164 emit sendMessage("stardundee *** Close *** USBSpaceWire_Close, device: " + QString::number(usbDeviceNumber_SPINBOX->value()));
164 emit sendMessage("stardundee *** Close *** USBSpaceWire_Close, device: " + QString::number(usbDeviceNumber_SPINBOX->value()));
165
165
166 USBSpaceWire_UnregisterReceiveOnAllPorts(hDevice); // Stop receiving on all ports
166 USBSpaceWire_UnregisterReceiveOnAllPorts(hDevice); // Stop receiving on all ports
167
167
168 emit isOpen(false);
168 emit isOpen(false);
169 }
169 }
170
170
171 unsigned char StarDundee::setRoutingTableEntry(int tableEntry, U32 dwOutputPorts)
171 unsigned char StarDundee::setRoutingTableEntry(int tableEntry, U32 dwOutputPorts)
172 {
172 {
173 U32 routingTableEntry;
173 U32 routingTableEntry;
174 // SET THE ROUTING TABLE ENTRY FOR LOGICAL ADDRESSING, TARGET entryNumber
174 // SET THE ROUTING TABLE ENTRY FOR LOGICAL ADDRESSING, TARGET entryNumber
175 if (CFGSpaceWire_ClearRoutingTableEntry(hDevice, tableEntry) != CFG_TRANSFER_SUCCESS)
175 if (CFGSpaceWire_ClearRoutingTableEntry(hDevice, tableEntry) != CFG_TRANSFER_SUCCESS)
176 {
176 {
177 emit sendMessage("Could not clear routing table entry " + QString::number(tableEntry));
177 emit sendMessage("Could not clear routing table entry " + QString::number(tableEntry));
178 }
178 }
179 // Build the routing table entry
179 // Build the routing table entry
180 CFGSpaceWire_RTBuildRoutingTableEntry(&routingTableEntry,
180 CFGSpaceWire_RTBuildRoutingTableEntry(&routingTableEntry,
181 dwOutputPorts, // route out of port dwOutputPorts
181 dwOutputPorts, // route out of port dwOutputPorts
182 0, // header deletion disabled
182 0, // header deletion disabled
183 0); // priority normal
183 0); // priority normal
184 // Set the routing table entry for logical address tableEntry
184 // Set the routing table entry for logical address tableEntry
185 if (CFGSpaceWire_SetRoutingTableEntry(hDevice, tableEntry, routingTableEntry) != CFG_TRANSFER_SUCCESS)
185 if (CFGSpaceWire_SetRoutingTableEntry(hDevice, tableEntry, routingTableEntry) != CFG_TRANSFER_SUCCESS)
186 {
186 {
187 emit sendMessage("Could not set routing table entry [" + QString::number(tableEntry) + "]");
187 emit sendMessage("Could not set routing table entry [" + QString::number(tableEntry) + "]");
188 }
188 }
189 else emit sendMessage("Routing table entry [" + QString::number(tableEntry) + "] set" );
189 else emit sendMessage("Routing table entry [" + QString::number(tableEntry) + "] set" );
190 return 1;
190 return 1;
191 }
191 }
192
192
193 unsigned int StarDundee::GetRoutingTableEntry(int tableEntry)
193 unsigned int StarDundee::GetRoutingTableEntry(int tableEntry)
194 {
194 {
195 U32 routingTableEntry, outputPorts;
195 U32 routingTableEntry, outputPorts;
196 char enabled, delHead, priority;
196 char enabled, delHead, priority;
197 int portNum;
197 int portNum;
198
198
199 emit sendMessage("GetRoutingTableEntry [" + QString::number(tableEntry) + "]");
199 emit sendMessage("GetRoutingTableEntry [" + QString::number(tableEntry) + "]");
200 // Read the routing table entry
200 // Read the routing table entry
201 if (CFGSpaceWire_GetRoutingTableEntry(hDevice, tableEntry, &routingTableEntry) != CFG_TRANSFER_SUCCESS)
201 if (CFGSpaceWire_GetRoutingTableEntry(hDevice, tableEntry, &routingTableEntry) != CFG_TRANSFER_SUCCESS)
202 {
202 {
203 emit sendMessage("Could not read routing table entry [" + QString::number(tableEntry) + "]");
203 emit sendMessage("Could not read routing table entry [" + QString::number(tableEntry) + "]");
204 }
204 }
205 else
205 else
206 {
206 {
207 // Display the routing table entry properties
207 // Display the routing table entry properties
208 CFGSpaceWire_RTIsEnabled(routingTableEntry, &enabled);
208 CFGSpaceWire_RTIsEnabled(routingTableEntry, &enabled);
209 CFGSpaceWire_RTIsDelHead(routingTableEntry, &delHead);
209 CFGSpaceWire_RTIsDelHead(routingTableEntry, &delHead);
210 CFGSpaceWire_RTIsPriority(routingTableEntry, &priority);
210 CFGSpaceWire_RTIsPriority(routingTableEntry, &priority);
211 CFGSpaceWire_RTGetOutputPorts(routingTableEntry, &outputPorts);
211 CFGSpaceWire_RTGetOutputPorts(routingTableEntry, &outputPorts);
212 emit sendMessage("CFGSpaceWire_RTIsEnabled : " + QString::number(enabled));
212 emit sendMessage("CFGSpaceWire_RTIsEnabled : " + QString::number(enabled));
213 emit sendMessage("CFGSpaceWire_RTIsDelHead : " + QString::number(delHead));
213 emit sendMessage("CFGSpaceWire_RTIsDelHead : " + QString::number(delHead));
214 emit sendMessage("CFGSpaceWire_RTIsPriority : " + QString::number(priority));
214 emit sendMessage("CFGSpaceWire_RTIsPriority : " + QString::number(priority));
215 emit sendMessage("CFGSpaceWire_RTGetOutputPorts : ");
215 emit sendMessage("CFGSpaceWire_RTGetOutputPorts : ");
216 for (portNum = 0; portNum < 32; portNum++)
216 for (portNum = 0; portNum < 32; portNum++)
217 {
217 {
218 if (outputPorts & (1 << portNum))
218 if (outputPorts & (1 << portNum))
219 {
219 {
220 emit sendMessage(QString::number(portNum));
220 emit sendMessage(QString::number(portNum));
221 }
221 }
222 }
222 }
223 }
223 }
224
224
225 return 1;
225 return 1;
226 }
226 }
227
227
228 unsigned int StarDundee::Write(unsigned int *Value, unsigned int count, unsigned int address)
228 unsigned int StarDundee::Write(unsigned int *Value, unsigned int count, unsigned int address)
229 {
229 {
230 unsigned int remainingCount = count;
230 unsigned int remainingCount = count;
231 unsigned int iOffset = 0;
231 unsigned int iOffset = 0;
232 QString console_message;
232 QString console_message;
233 char* data;
233 char* data;
234
234
235 if(rmapPacketSEMAPHORE->available()!=0)
235 if(rmapPacketSEMAPHORE->available()!=0)
236 {
236 {
237 emit appendToLog("WARNING === in function WRITE of rmapplugin *** RMAP request already running, WRITE access stopped");
237 emit appendToLog("WARNING === in function WRITE of rmapplugin *** RMAP request already running, WRITE access stopped");
238 return 1;
238 return 1;
239 }
239 }
240
240
241 emit this->RMAP_write_reply_setText("reply to the write command required\nlast reply status: unavailable");
241 emit this->RMAP_write_reply_setText("reply to the write command required\nlast reply status: unavailable");
242
242
243 data = (char*) malloc(READ_WRITE_MAX_COUNTS*4);
243 data = (char*) malloc(READ_WRITE_MAX_COUNTS*4);
244
244
245 emit appendToLog(QString("*** START *** WRITE ")+ QString::number(count) + QString(" word(s) @0x")+ QString::number(address,16));
245 emit appendToLog(QString("*** START *** WRITE ")+ QString::number(count) + QString(" word(s) @0x")+ QString::number(address,16));
246
246
247 while (remainingCount > READ_WRITE_MAX_COUNTS)
247 while (remainingCount > READ_WRITE_MAX_COUNTS)
248 {
248 {
249 for (int i = 0; i<READ_WRITE_MAX_COUNTS; i++)
249 for (int i = 0; i<READ_WRITE_MAX_COUNTS; i++)
250 {
250 {
251 data[i*4+3] = (char) ((unsigned int) Value[i+iOffset]);
251 data[i*4+3] = (char) ((unsigned int) Value[i+iOffset]);
252 data[i*4+2] = (char) ((unsigned int) Value[i+iOffset]>>8);
252 data[i*4+2] = (char) ((unsigned int) Value[i+iOffset]>>8);
253 data[i*4+1] = (char) ((unsigned int) Value[i+iOffset]>>16);
253 data[i*4+1] = (char) ((unsigned int) Value[i+iOffset]>>16);
254 data[i*4+0] = (char) ((unsigned int) Value[i+iOffset]>>24);
254 data[i*4+0] = (char) ((unsigned int) Value[i+iOffset]>>24);
255 }
255 }
256
256
257 console_message.sprintf("remainingCount: %d => ", remainingCount);
257 console_message.sprintf("remainingCount: %d => ", remainingCount);
258 emit appendToLog(console_message + QString("Write ")+ QString::number(READ_WRITE_MAX_COUNTS*4) + QString(" byte(s) @0x")+ QString::number(address,16));
258 emit appendToLog(console_message + QString("Write ")+ QString::number(READ_WRITE_MAX_COUNTS*4) + QString(" byte(s) @0x")+ QString::number(address,16));
259
259
260 if(WriteBLOCK(data, READ_WRITE_MAX_COUNTS*4, address)==0)
260 if(WriteBLOCK(data, READ_WRITE_MAX_COUNTS*4, address)==0)
261 {
261 {
262 emit appendToLog("WARNING === in function WRITE of rmapplugin *** RMAP write command failed");
262 emit appendToLog("WARNING === in function WRITE of rmapplugin *** RMAP write command failed");
263 return 1;
263 return 1;
264 }
264 }
265
265
266 remainingCount = remainingCount - READ_WRITE_MAX_COUNTS;
266 remainingCount = remainingCount - READ_WRITE_MAX_COUNTS;
267 address = address + READ_WRITE_MAX_COUNTS * 4;
267 address = address + READ_WRITE_MAX_COUNTS * 4;
268 iOffset = iOffset + READ_WRITE_MAX_COUNTS;
268 iOffset = iOffset + READ_WRITE_MAX_COUNTS;
269 }
269 }
270
270
271 if (remainingCount > 0)
271 if (remainingCount > 0)
272 {
272 {
273 for (unsigned int i = 0; i<remainingCount; i++)
273 for (unsigned int i = 0; i<remainingCount; i++)
274 {
274 {
275 data[i*4+3] = (char) ((unsigned int) Value[i+iOffset]);
275 data[i*4+3] = (char) ((unsigned int) Value[i+iOffset]);
276 data[i*4+2] = (char) ((unsigned int) Value[i+iOffset]>>8);
276 data[i*4+2] = (char) ((unsigned int) Value[i+iOffset]>>8);
277 data[i*4+1] = (char) ((unsigned int) Value[i+iOffset]>>16);
277 data[i*4+1] = (char) ((unsigned int) Value[i+iOffset]>>16);
278 data[i*4+0] = (char) ((unsigned int) Value[i+iOffset]>>24);
278 data[i*4+0] = (char) ((unsigned int) Value[i+iOffset]>>24);
279 }
279 }
280
280
281 console_message.sprintf("remainingCount: %d => ", remainingCount);
281 console_message.sprintf("remainingCount: %d => ", remainingCount);
282 emit appendToLog(console_message + QString("Write ")+ QString::number(remainingCount*4) + QString(" byte(s) @0x")+ QString::number(address,16));
282 emit appendToLog(console_message + QString("Write ")+ QString::number(remainingCount*4) + QString(" byte(s) @0x")+ QString::number(address,16));
283
283
284 if (WriteBLOCK(data, remainingCount*4, address)==0)
284 if (WriteBLOCK(data, remainingCount*4, address)==0)
285 {
285 {
286 emit appendToLog("WARNING === in function WRITE of rmapplugin *** RMAP write command failed");
286 emit appendToLog("WARNING === in function WRITE of rmapplugin *** RMAP write command failed");
287 return 1;
287 return 1;
288 }
288 }
289 }
289 }
290
290
291 emit appendToLog(QString("*** STOP *** WRITE"));
291 emit appendToLog(QString("*** STOP *** WRITE"));
292 free(data);
292 free(data);
293 return count;
293 return count;
294 }
294 }
295
295
296 unsigned int StarDundee::Read(unsigned int *Value, unsigned int count, unsigned int address)
296 unsigned int StarDundee::Read(unsigned int *Value, unsigned int count, unsigned int address)
297 {
297 {
298 unsigned int remainingCount = count;
298 unsigned int remainingCount = count;
299 unsigned int iOffset = 0;
299 unsigned int iOffset = 0;
300 QString console_message;
300 QString console_message;
301
301
302 if(rmapPacketSEMAPHORE->available()!=0)
302 if(rmapPacketSEMAPHORE->available()!=0)
303 {
303 {
304 emit appendToLog("WARNING === in function READ of rmapplugin *** RMAP request already running, READ access stopped");
304 emit appendToLog("WARNING === in function READ of rmapplugin *** RMAP request already running, READ access stopped");
305 return 1;
305 return 1;
306 }
306 }
307 emit appendToLog(QString("*** START *** READ ")+ QString::number(count) + QString(" word(s) @0x")+ QString::number(address,16));
307 emit appendToLog(QString("*** START *** READ ")+ QString::number(count) + QString(" word(s) @0x")+ QString::number(address,16));
308
308
309 while (remainingCount > READ_WRITE_MAX_COUNTS)
309 while (remainingCount > READ_WRITE_MAX_COUNTS)
310 {
310 {
311 console_message.sprintf("remainingCount: %d => ", remainingCount);
311 console_message.sprintf("remainingCount: %d => ", remainingCount);
312 emit appendToLog(console_message + QString("Read ")+ QString::number(4*READ_WRITE_MAX_COUNTS) + QString(" byte(s) @0x")+ QString::number(address,16));
312 emit appendToLog(console_message + QString("Read ")+ QString::number(4*READ_WRITE_MAX_COUNTS) + QString(" byte(s) @0x")+ QString::number(address,16));
313
313
314 if (this->ReadBLOCK(READ_WRITE_MAX_COUNTS*4, address)==0)
314 if (this->ReadBLOCK(READ_WRITE_MAX_COUNTS*4, address)==0)
315 {
315 {
316 emit appendToLog("WARNING === in function READ of rmapplugin *** RMAP packet not received");
316 emit appendToLog("WARNING === in function READ of rmapplugin *** RMAP packet not received");
317 return 1;
317 return 1;
318 }
318 }
319
319
320 for(int i=0;i<READ_WRITE_MAX_COUNTS;i++)
320 for(int i=0;i<READ_WRITE_MAX_COUNTS;i++)
321 {
321 {
322 Value[i+iOffset] = (unsigned char) rmapPacket[i*4+RMAP_READ_REPLY_HEADER_LENGTH];
322 Value[i+iOffset] = (unsigned char) rmapPacket[i*4+RMAP_READ_REPLY_HEADER_LENGTH];
323 for(int j=1;j<4;j++)
323 for(int j=1;j<4;j++)
324 {
324 {
325 Value[i+iOffset]= ((unsigned char) (rmapPacket[i*4+j+RMAP_READ_REPLY_HEADER_LENGTH]))
325 Value[i+iOffset]= ((unsigned char) (rmapPacket[i*4+j+RMAP_READ_REPLY_HEADER_LENGTH]))
326 + Value[i+iOffset]*256;
326 + Value[i+iOffset]*256;
327 }
327 }
328 }
328 }
329
329
330 remainingCount = remainingCount - READ_WRITE_MAX_COUNTS;
330 remainingCount = remainingCount - READ_WRITE_MAX_COUNTS;
331 address = address + READ_WRITE_MAX_COUNTS * 4;
331 address = address + READ_WRITE_MAX_COUNTS * 4;
332 iOffset = iOffset + READ_WRITE_MAX_COUNTS;
332 iOffset = iOffset + READ_WRITE_MAX_COUNTS;
333 this->acquireRMAPSemaphore();
333 this->acquireRMAPSemaphore();
334 }
334 }
335
335
336 if (remainingCount > 0)
336 if (remainingCount > 0)
337 {
337 {
338 console_message.sprintf("remainingCount: %d => ", remainingCount);
338 console_message.sprintf("remainingCount: %d => ", remainingCount);
339 emit appendToLog(console_message + QString("Read ")+ QString::number(4*remainingCount) + QString(" byte(s) @0x")+ QString::number(address,16));
339 emit appendToLog(console_message + QString("Read ")+ QString::number(4*remainingCount) + QString(" byte(s) @0x")+ QString::number(address,16));
340
340
341 if (this->ReadBLOCK(4*remainingCount, address)==0)
341 if (this->ReadBLOCK(4*remainingCount, address)==0)
342 {
342 {
343 emit appendToLog("WARNING === in function READ of rmapplugin *** RMAP packet not received");
343 emit appendToLog("WARNING === in function READ of rmapplugin *** RMAP packet not received");
344 return 1;
344 return 1;
345 }
345 }
346
346
347 for(unsigned int i=0;i<remainingCount;i++)
347 for(unsigned int i=0;i<remainingCount;i++)
348 {
348 {
349 Value[i+iOffset] = (unsigned char) rmapPacket[i*4+RMAP_READ_REPLY_HEADER_LENGTH];
349 Value[i+iOffset] = (unsigned char) rmapPacket[i*4+RMAP_READ_REPLY_HEADER_LENGTH];
350 for(int j=1;j<4;j++)
350 for(int j=1;j<4;j++)
351 {
351 {
352 Value[i+iOffset]= ((unsigned char)(rmapPacket[i*4+j+RMAP_READ_REPLY_HEADER_LENGTH])) + Value[i+iOffset]*256;
352 Value[i+iOffset]= ((unsigned char)(rmapPacket[i*4+j+RMAP_READ_REPLY_HEADER_LENGTH])) + Value[i+iOffset]*256;
353 }
353 }
354 }
354 }
355 this->acquireRMAPSemaphore();
355 this->acquireRMAPSemaphore();
356 }
356 }
357
357
358 emit appendToLog(QString("*** STOP *** READ "));
358 emit appendToLog(QString("*** STOP *** READ "));
359 return count;
359 return count;
360 }
360 }
361
361
362 unsigned int StarDundee::WriteBLOCK(char *data, unsigned int nbBytes, unsigned int address)
362 unsigned int StarDundee::WriteBLOCK(char *data, unsigned int nbBytes, unsigned int address)
363 {
363 {
364 RMAP *RMAPCommand;
364 RMAP *RMAPCommand;
365 char * packet;
365 char * packet;
366 char* aux;
366 char* aux;
367 unsigned char offset, headerSize, CRCSize;
367 unsigned char offset, headerSize, CRCSize;
368 unsigned int totalSize;
368 unsigned int totalSize;
369 int errorCode;
369 int errorCode;
370 QString console_message;
370 QString console_message;
371
371
372 if (getLinkStatus(this->linkNumber_SPINBOX->value()) == 0)
372 if (getLinkStatus(this->linkNumber_SPINBOX->value()) == 0)
373 {
373 {
374 this->Close();
374 this->Close();
375 return 1;
375 return 1;
376 }
376 }
377
377
378 RMAPCommand = new RMAP(this->commandCode,
378 RMAPCommand = new RMAP(this->commandCode,
379 rmapTargetLogicalAddress,
379 rmapTargetLogicalAddress,
380 rmapSourceLogicalAddress,
380 rmapSourceLogicalAddress,
381 address,
381 address,
382 nbBytes,
382 nbBytes,
383 data);
383 data);
384 headerSize = sizeof(RMAPCommand->RMAPHeader);
384 headerSize = sizeof(RMAPCommand->RMAPHeader);
385 CRCSize = 1;
385 CRCSize = 1;
386
386
387 //*************************
387 //*************************
388 // BUILD THE PACKET TO SEND
388 // BUILD THE PACKET TO SEND
389 totalSize = headerSize + nbBytes + CRCSize + PATH_ADDRESSING_OFFSET;
389 totalSize = headerSize + nbBytes + CRCSize + PATH_ADDRESSING_OFFSET;
390 packet = (char*) malloc( totalSize );
390 packet = (char*) malloc( totalSize );
391 aux = (char*) ((void*) &RMAPCommand->RMAPHeader);
391 aux = (char*) ((void*) &RMAPCommand->RMAPHeader);
392 packet[0] = this->linkNumber_SPINBOX->value();
392 packet[0] = this->linkNumber_SPINBOX->value();
393 for(unsigned int i = 0; i<headerSize; i++) packet[i+PATH_ADDRESSING_OFFSET] = aux[i];
393 for(unsigned int i = 0; i<headerSize; i++) packet[i+PATH_ADDRESSING_OFFSET] = aux[i];
394 offset = headerSize;
394 offset = headerSize;
395 for(unsigned int i = 0; i<nbBytes; i++)
395 for(unsigned int i = 0; i<nbBytes; i++)
396 {
396 {
397 packet[i+offset+PATH_ADDRESSING_OFFSET] = data[i];
397 packet[i+offset+PATH_ADDRESSING_OFFSET] = data[i];
398 }
398 }
399 packet[nbBytes+offset+PATH_ADDRESSING_OFFSET] = RMAPCommand->dataCRC;
399 packet[nbBytes+offset+PATH_ADDRESSING_OFFSET] = RMAPCommand->dataCRC;
400
400
401 //****************
401 //****************
402 // SEND THE PACKET
402 // SEND THE PACKET
403 result = USBSpaceWire_SendPacket(hDevice,
403 result = USBSpaceWire_SendPacket(hDevice,
404 packet,
404 packet,
405 totalSize,
405 totalSize,
406 BWAIT_1, &pIdentifier);
406 BWAIT_1, &pIdentifier);
407 if (result != TRANSFER_SUCCESS)
407 if (result != TRANSFER_SUCCESS)
408 {
408 {
409 emit sendMessage("ERROR *** WriteStarDundee when sending packet of size "
409 emit sendMessage("ERROR *** WriteStarDundee when sending packet of size "
410 + QString::number(totalSize) +", with code: " + QString::number(result));
410 + QString::number(totalSize) +", with code: " + QString::number(result));
411 USBSpaceWire_FreeSend(hDevice, pIdentifier);
411 USBSpaceWire_FreeSend(hDevice, pIdentifier);
412 free(data);
412 free(data);
413 return 1;
413 return 1;
414 }
414 }
415 else emit sendMessage("OK *** WriteStarDundee when sending packet of size " + QString::number(totalSize));
415 else emit sendMessage("OK *** WriteStarDundee when sending packet of size " + QString::number(totalSize));
416
416
417 //**************
417 //**************
418 // Free the send
418 // Free the send
419 USBSpaceWire_FreeSend(hDevice, pIdentifier);
419 USBSpaceWire_FreeSend(hDevice, pIdentifier);
420 free(packet);
420 free(packet);
421
421
422 if ( (commandCode == writeSingle_noVer_Rep) | (commandCode == writeInc_noVer_Rep) |
422 if ( (commandCode == writeSingle_noVer_Rep) | (commandCode == writeInc_noVer_Rep) |
423 (commandCode == writeSingle_ver_rep) | (commandCode == writeInc_ver_rep) )
423 (commandCode == writeSingle_ver_rep) | (commandCode == writeInc_ver_rep) )
424 {
424 {
425 // WAIT FOR THE RMAP REPLY PACKET
425 // WAIT FOR THE RMAP REPLY PACKET
426 errorCode = this->receiveSPWPacket(1);
426 errorCode = this->receiveSPWPacket(1);
427 if (errorCode<=0)
427 if (errorCode<=0)
428 {
428 {
429 emit appendToLog("WARNING === in function WriteBLOCK of rmapplugin *** RMAP packet reception failed with code " + QString::number(errorCode));
429 emit appendToLog("WARNING === in function WriteBLOCK of rmapplugin *** RMAP packet reception failed with code " + QString::number(errorCode));
430 return 0;
430 return 0;
431 }
431 }
432 if(rmapPacketSize != 8)
432 if(rmapPacketSize != 8)
433 {
433 {
434 console_message.sprintf("WARNING === in function WRITE (with reply) of rmapplugin *** write reply format not compliant\n");
434 console_message.sprintf("WARNING === in function WRITE (with reply) of rmapplugin *** write reply format not compliant\n");
435 emit appendToLog(console_message);
435 emit appendToLog(console_message);
436 return 0;
436 return 0;
437 }
437 }
438 switch (this->rmapPacket[3]) // byte 4 is the status byte in the reply
438 switch (this->rmapPacket[3]) // byte 4 is the status byte in the reply
439 {
439 {
440 case 0:
440 case 0:
441 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 0 Successfull");
441 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 0 Successfull");
442 break;
442 break;
443 case 1:
443 case 1:
444 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** General error code");
444 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** General error code");
445 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 1 General error code");
445 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 1 General error code");
446 break;
446 break;
447 case 2:
447 case 2:
448 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Unused RMAP packet type or command code");
448 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Unused RMAP packet type or command code");
449 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 2 Unused RMAP packet type or command code");
449 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 2 Unused RMAP packet type or command code");
450 break;
450 break;
451 case 3:
451 case 3:
452 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Invalid key");
452 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Invalid key");
453 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 3 Invalid key");
453 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 3 Invalid key");
454 break;
454 break;
455 case 4:
455 case 4:
456 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Invalid data CRC");
456 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Invalid data CRC");
457 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 4 Invalid data CRC");
457 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 4 Invalid data CRC");
458 break;
458 break;
459 case 5:
459 case 5:
460 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Early EOP");
460 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Early EOP");
461 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 5 Early EOP");
461 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 5 Early EOP");
462 break;
462 break;
463 case 6:
463 case 6:
464 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Too much data");
464 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Too much data");
465 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 6 Too much data");
465 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 6 Too much data");
466 break;
466 break;
467 case 7:
467 case 7:
468 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** EEP");
468 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** EEP");
469 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 7 EEP");
469 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 7 EEP");
470 break;
470 break;
471 case 8:
471 case 8:
472 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Reserved");
472 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Reserved");
473 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 8 Reserved");
473 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 8 Reserved");
474 break;
474 break;
475 case 9:
475 case 9:
476 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Verify buffer overrun");
476 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Verify buffer overrun");
477 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 9 Verify buffer overrun");
477 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 9 Verify buffer overrun");
478 break;
478 break;
479 case 10:
479 case 10:
480 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** RMAP command not implemented or not authorised");
480 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** RMAP command not implemented or not authorised");
481 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 10 RMAP command not implemented or not authorised");
481 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 10 RMAP command not implemented or not authorised");
482 break;
482 break;
483 case 11:
483 case 11:
484 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** RMW data length error");
484 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** RMW data length error");
485 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 11 RMAP RMW data length error");
485 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 11 RMAP RMW data length error");
486 break;
486 break;
487 case 12:
487 case 12:
488 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Invalid target logical address");
488 emit appendToLog("WARNING === in function WRITE (with reply) of rmapplugin *** Invalid target logical address");
489 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 12 Invalid target logical address");
489 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: 12 Invalid target logical address");
490 break;
490 break;
491 }
491 }
492 this->acquireRMAPSemaphore();
492 this->acquireRMAPSemaphore();
493 }
493 }
494 else
494 else
495 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: unavailable");
495 emit RMAP_write_reply_setText("reply to the write command required\nlast reply status: unavailable");
496
496
497 return nbBytes;
497 return nbBytes;
498 }
498 }
499
499
500 unsigned int StarDundee::ReadBLOCK(unsigned int nbBytes, unsigned int address)
500 unsigned int StarDundee::ReadBLOCK(unsigned int nbBytes, unsigned int address)
501 {
501 {
502 int errorCode;
502 int errorCode;
503 RMAP *RMAPCommand;
503 RMAP *RMAPCommand;
504 char *packet;
504 char *packet;
505 char *aux;
505 char *aux;
506 unsigned int dataLength = 0;
506 unsigned int dataLength = 0;
507 unsigned int totalSize = 0;
507 unsigned int totalSize = 0;
508
508
509 //**********************
509 //**********************
510 // Check the link status
510 // Check the link status
511 if ( getLinkStatus( this->linkNumber_SPINBOX->value() ) == 0 )
511 if ( getLinkStatus( this->linkNumber_SPINBOX->value() ) == 0 )
512 {
512 {
513 this->Close();
513 this->Close();
514 emit appendToLog("WARNING === in function WriteSPW of StarDundee *** SPW link not running\n");
514 emit appendToLog("WARNING === in function WriteSPW of StarDundee *** SPW link not running\n");
515 return 0;
515 return 0;
516 }
516 }
517
517
518 //**********************
518 //**********************
519 // SEND THE READ COMMAND
519 // SEND THE READ COMMAND
520 if (nbBytes > 4)
520 if (nbBytes > 4)
521 {
521 {
522 RMAPCommand = new RMAP(read_Inc,
522 RMAPCommand = new RMAP(read_Inc,
523 rmapTargetLogicalAddress,
523 rmapTargetLogicalAddress,
524 rmapSourceLogicalAddress,
524 rmapSourceLogicalAddress,
525 address,
525 address,
526 nbBytes,
526 nbBytes,
527 NULL);
527 NULL);
528 }
528 }
529 else
529 else
530 {
530 {
531 RMAPCommand = new RMAP(read_Single,
531 RMAPCommand = new RMAP(read_Single,
532 rmapTargetLogicalAddress,
532 rmapTargetLogicalAddress,
533 rmapSourceLogicalAddress,
533 rmapSourceLogicalAddress,
534 address,
534 address,
535 nbBytes,
535 nbBytes,
536 NULL);
536 NULL);
537 }
537 }
538
538
539 //*************************
539 //*************************
540 // BUILD THE PACKET TO SEND
540 // BUILD THE PACKET TO SEND
541 totalSize = sizeof(RMAPCommand->RMAPHeader) + PATH_ADDRESSING_OFFSET;
541 totalSize = sizeof(RMAPCommand->RMAPHeader) + PATH_ADDRESSING_OFFSET;
542 packet = (char*) malloc( totalSize );
542 packet = (char*) malloc( totalSize );
543 aux = (char*) ((void*) &RMAPCommand->RMAPHeader);
543 aux = (char*) ((void*) &RMAPCommand->RMAPHeader);
544 packet[0] = this->linkNumber_SPINBOX->value();
544 packet[0] = this->linkNumber_SPINBOX->value();
545 for (unsigned int i = 0; i<sizeof(RMAPCommand->RMAPHeader); i++)
545 for (unsigned int i = 0; i<sizeof(RMAPCommand->RMAPHeader); i++)
546 packet[i+PATH_ADDRESSING_OFFSET] = aux[i];
546 packet[i+PATH_ADDRESSING_OFFSET] = aux[i];
547
547
548 //****************
548 //****************
549 // SEND THE PACKET
549 // SEND THE PACKET
550 result = USBSpaceWire_SendPacket(hDevice,
550 result = USBSpaceWire_SendPacket(hDevice,
551 packet,
551 packet,
552 totalSize,
552 totalSize,
553 BWAIT_1, &pIdentifier);
553 BWAIT_1, &pIdentifier);
554 if (result != TRANSFER_SUCCESS) emit sendMessage("ERR *** ReadStarDundee *** ReadBLOCK *** sending the READ command ");
554 if (result != TRANSFER_SUCCESS) emit sendMessage("ERR *** ReadStarDundee *** ReadBLOCK *** sending the READ command ");
555 else
555 else
556 {
556 {
557 emit sendMessage("OK *** ReadStarDundee *** ReadBLOCK *** sending the READ command");
557 emit sendMessage("OK *** ReadStarDundee *** ReadBLOCK *** sending the READ command");
558 emit appendToLog("packet sent, B0 = " + QString::number(packet[0], 16)
558 emit appendToLog("packet sent, B0 = " + QString::number(packet[0], 16)
559 + " *** B1 = " + QString::number(packet[1], 16)
559 + " *** B1 = " + QString::number(packet[1], 16)
560 + " *** B2 = " + QString::number(packet[2], 16)
560 + " *** B2 = " + QString::number(packet[2], 16)
561 + " *** B3 = " + QString::number(packet[3], 16)
561 + " *** B3 = " + QString::number(packet[3], 16)
562 + " *** B4 = " + QString::number(packet[4], 16)
562 + " *** B4 = " + QString::number(packet[4], 16)
563 + " *** B5 = " + QString::number(packet[5], 16)
563 + " *** B5 = " + QString::number(packet[5], 16)
564 );
564 );
565 }
565 }
566
566
567 //**************
567 //**************
568 // Free the send
568 // Free the send
569 USBSpaceWire_FreeSend(hDevice, pIdentifier);
569 USBSpaceWire_FreeSend(hDevice, pIdentifier);
570 free(packet);
570 free(packet);
571
571
572 //*********************************
572 //*********************************
573 // RECEIVE THE INCOMING RMAP PACKET
573 // RECEIVE THE INCOMING RMAP PACKET
574 errorCode = this->receiveSPWPacket(1); // request ID 1 is for RMAP packet
574 errorCode = this->receiveSPWPacket(1); // request ID 1 is for RMAP packet
575 if (errorCode<=0)
575 if (errorCode<=0)
576 {
576 {
577 emit appendToLog("WARNING === in function ReadBLOCK of StarDundee *** RMAP packet reception failed with code " + QString::number(errorCode));
577 emit appendToLog("WARNING === in function ReadBLOCK of StarDundee *** RMAP packet reception failed with code " + QString::number(errorCode));
578 return 0;
578 return 0;
579 }
579 }
580 dataLength = rmapPacketSize - RMAP_READ_REPLY_HEADER_LENGTH - RMAP_DATA_CRC_LENGTH;
580 dataLength = rmapPacketSize - RMAP_READ_REPLY_HEADER_LENGTH - RMAP_DATA_CRC_LENGTH;
581 if(dataLength != nbBytes)
581 if(dataLength != nbBytes)
582 {
582 {
583 emit appendToLog("WARNING === in function READ of StarDundee *** number of data received ("
583 emit appendToLog("WARNING === in function READ of StarDundee *** number of data received ("
584 +QString::number(dataLength)
584 +QString::number(dataLength)
585 +") not equal to number of data requested ("
585 +") not equal to number of data requested ("
586 +QString::number(nbBytes)
586 +QString::number(nbBytes)
587 +")");
587 +")");
588 return 0;
588 return 0;
589 }
589 }
590 return dataLength;
590 return dataLength;
591 }
591 }
592
592
593 unsigned int StarDundee::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
593 unsigned int StarDundee::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
594 {
594 {
595 char protocoleIdentifier = 0x02;
595 char protocoleIdentifier = 0x02;
596 char reserved = 0x00;
596 char reserved = 0x00;
597 char *SPWData;
597 char *SPWData;
598 unsigned int totalSize;
598 unsigned int totalSize;
599
599
600 if (count>248)
600 if (count>248)
601 {
601 {
602 emit appendToLog("WARNING === in function WRITE of rmapplugin *** CCSDS packet size > 248 bytes\n");
602 emit appendToLog("WARNING === in function WRITE of rmapplugin *** CCSDS packet size > 248 bytes\n");
603 return 1;
603 return 1;
604 }
604 }
605
605
606 emit appendToLog("*** START *** Send CCSDS packet of "+ QString::number(count) + " byte(s)");
606 emit appendToLog("*** START *** Send CCSDS packet of "+ QString::number(count) + " byte(s)");
607
607
608 if ( getLinkStatus( this->linkNumber_SPINBOX->value() ) == 0 )
608 if ( getLinkStatus( this->linkNumber_SPINBOX->value() ) == 0 )
609 {
609 {
610 this->Close();
610 this->Close();
611 emit appendToLog("WARNING === in function WriteSPW of StarDundee *** SPW link not running\n");
611 emit appendToLog("WARNING === in function WriteSPW of StarDundee *** SPW link not running\n");
612 return 1;
612 return 1;
613 }
613 }
614
614
615 totalSize = count + 4 + PATH_ADDRESSING_OFFSET; // The StarDundee brick is in PATH addressing
615 totalSize = count + 4 + PATH_ADDRESSING_OFFSET; // The StarDundee brick is in PATH addressing
616 SPWData = (char*) malloc(totalSize);
616 SPWData = (char*) malloc(totalSize);
617 // SPW HEADER
617 // SPW HEADER
618 SPWData[0] = this->linkNumber_SPINBOX->value(); // 1 by default, value can be 1 or 2
618 SPWData[0] = this->linkNumber_SPINBOX->value(); // 1 by default, value can be 1 or 2
619 SPWData[0+PATH_ADDRESSING_OFFSET] = targetLogicalAddress;
619 SPWData[0+PATH_ADDRESSING_OFFSET] = targetLogicalAddress;
620 SPWData[1+PATH_ADDRESSING_OFFSET] = protocoleIdentifier;
620 SPWData[1+PATH_ADDRESSING_OFFSET] = protocoleIdentifier;
621 SPWData[2+PATH_ADDRESSING_OFFSET] = reserved;
621 SPWData[2+PATH_ADDRESSING_OFFSET] = reserved;
622 SPWData[3+PATH_ADDRESSING_OFFSET] = userApplication;
622 SPWData[3+PATH_ADDRESSING_OFFSET] = userApplication;
623 // CCSDS PACKET
623 // CCSDS PACKET
624 for (unsigned int i = 0; i<count; i++)
624 for (unsigned int i = 0; i<count; i++)
625 {
625 {
626 SPWData[i+4+PATH_ADDRESSING_OFFSET] = Value[i];
626 SPWData[i+4+PATH_ADDRESSING_OFFSET] = Value[i];
627 }
627 }
628
628
629 //****************
629 //****************
630 // SEND THE PACKET
630 // SEND THE PACKET
631 result = USBSpaceWire_SendPacket(hDevice,
631 result = USBSpaceWire_SendPacket(hDevice,
632 SPWData,
632 SPWData,
633 totalSize,
633 totalSize,
634 BWAIT_1, &pIdentifier);
634 BWAIT_1, &pIdentifier);
635 if (result != TRANSFER_SUCCESS)
635 if (result != TRANSFER_SUCCESS)
636 {
636 {
637 emit sendMessage("ERROR *** WriteSPW when sending packet of size "
637 emit sendMessage("ERROR *** WriteSPW when sending packet of size "
638 + QString::number(totalSize) +", with code: " + QString::number(result));
638 + QString::number(totalSize) +", with code: " + QString::number(result));
639 USBSpaceWire_FreeSend(hDevice, pIdentifier);
639 USBSpaceWire_FreeSend(hDevice, pIdentifier);
640 free(SPWData);
640 free(SPWData);
641 return 0;
641 return 0;
642 }
642 }
643 else emit sendMessage("OK *** WriteSPW when sending packet of size " + QString::number(totalSize-1));
643 else emit sendMessage("OK *** WriteSPW when sending packet of size " + QString::number(totalSize-1));
644 emit appendToLog("packet sent, B0 = " + QString::number(SPWData[0])
644 emit appendToLog("packet sent, B0 = " + QString::number(SPWData[0])
645 + " *** B1 = " + QString::number(SPWData[1])
645 + " *** B1 = " + QString::number(SPWData[1])
646 + " *** B2 = " + QString::number(SPWData[2])
646 + " *** B2 = " + QString::number(SPWData[2])
647 + " *** B3 = " + QString::number(SPWData[3])
647 + " *** B3 = " + QString::number(SPWData[3])
648 + " *** B4 = " + QString::number(SPWData[4])
648 + " *** B4 = " + QString::number(SPWData[4])
649 + " *** B5 = " + QString::number(SPWData[5])
649 + " *** B5 = " + QString::number(SPWData[5])
650 + " *** B6 = " + QString::number(SPWData[6])
650 + " *** B6 = " + QString::number(SPWData[6])
651 + " *** B7 = " + QString::number(SPWData[7])
651 + " *** B7 = " + QString::number(SPWData[7])
652 + " *** B8 = " + QString::number(SPWData[8])
652 + " *** B8 = " + QString::number(SPWData[8])
653 + " *** B9 = " + QString::number(SPWData[9])
653 + " *** B9 = " + QString::number(SPWData[9])
654 + " *** B10 = " + QString::number(SPWData[10])
654 + " *** B10 = " + QString::number(SPWData[10])
655 + " *** B11 = " + QString::number(SPWData[11])
655 + " *** B11 = " + QString::number(SPWData[11])
656 + " *** B12 = " + QString::number(SPWData[12])
656 + " *** B12 = " + QString::number(SPWData[12])
657 );
657 );
658
658
659 //**************
659 //**************
660 // Free the send
660 // Free the send
661 USBSpaceWire_FreeSend(hDevice, pIdentifier);
661 USBSpaceWire_FreeSend(hDevice, pIdentifier);
662 free(SPWData);
662 free(SPWData);
663
663
664 emit appendToLog(QString("*** CCSDS packet sent"));
664 emit appendToLog(QString("*** CCSDS packet sent"));
665
665
666 return 1;
666 return 1;
667 }
667 }
668
668
669 unsigned int StarDundee::getLinkStatus(unsigned char link)
669 unsigned int StarDundee::getLinkStatus(unsigned char link)
670 {
670 {
671 U32 statusControl, errorStatus, portType;
671 U32 statusControl, errorStatus, portType;
672 U32 linkStatus, operatingSpeed, outputPortConnection;
672 U32 linkStatus, operatingSpeed, outputPortConnection;
673 char isLinkRunning, isAutoStart, isStart, isDisabled, isTristate;
673 char isLinkRunning, isAutoStart, isStart, isDisabled, isTristate;
674
674
675 // Read the link status control register
675 // Read the link status control register
676 if (CFGSpaceWire_GetLinkStatusControl(hDevice, 1, &statusControl) != CFG_TRANSFER_SUCCESS)
676 if (CFGSpaceWire_GetLinkStatusControl(hDevice, 1, &statusControl) != CFG_TRANSFER_SUCCESS)
677 {
677 {
678 emit appendToLog("Could not read link status control for link" + QString::number(link));
678 emit appendToLog("Could not read link status control for link" + QString::number(link));
679 }
679 }
680 else
680 else
681 {
681 {
682 // Display the link status control register properties
682 // Display the link status control register properties
683 CFGSpaceWire_LSPortType(statusControl, &portType);
683 CFGSpaceWire_LSPortType(statusControl, &portType);
684 if (portType == CFG_CONFIGURATION_PORT)
684 if (portType == CFG_CONFIGURATION_PORT)
685 {
685 {
686 CFGSpaceWire_LSConfigErrorStatus(statusControl, &errorStatus);
686 CFGSpaceWire_LSConfigErrorStatus(statusControl, &errorStatus);
687 //emit appendToLog("Configuration port error status = " + QString::number(errorStatus));
687 //emit appendToLog("Configuration port error status = " + QString::number(errorStatus));
688 }
688 }
689 else if (portType == CFG_SPACEWIRE_EXTERNAL_PORT)
689 else if (portType == CFG_SPACEWIRE_EXTERNAL_PORT)
690 {
690 {
691 CFGSpaceWire_LSExternalErrorStatus(statusControl, &errorStatus);
691 CFGSpaceWire_LSExternalErrorStatus(statusControl, &errorStatus);
692 //emit appendToLog("External port error status = " + QString::number(errorStatus));
692 //emit appendToLog("External port error status = " + QString::number(errorStatus));
693 }
693 }
694 else
694 else
695 {
695 {
696 CFGSpaceWire_LSErrorStatus(statusControl, &errorStatus);
696 CFGSpaceWire_LSErrorStatus(statusControl, &errorStatus);
697 //emit appendToLog("SpaceWire link error status = " + QString::number(errorStatus));
697 //emit appendToLog("SpaceWire link error status = " + QString::number(errorStatus));
698 }
698 }
699 CFGSpaceWire_LSLinkState(statusControl, &linkStatus);
699 CFGSpaceWire_LSLinkState(statusControl, &linkStatus);
700 CFGSpaceWire_LSIsLinkRunning(statusControl, &isLinkRunning);
700 CFGSpaceWire_LSIsLinkRunning(statusControl, &isLinkRunning);
701 CFGSpaceWire_LSIsAutoStart(statusControl, &isAutoStart);
701 CFGSpaceWire_LSIsAutoStart(statusControl, &isAutoStart);
702 CFGSpaceWire_LSIsStart(statusControl, &isStart);
702 CFGSpaceWire_LSIsStart(statusControl, &isStart);
703 CFGSpaceWire_LSIsDisabled(statusControl, &isDisabled);
703 CFGSpaceWire_LSIsDisabled(statusControl, &isDisabled);
704 CFGSpaceWire_LSIsTristate(statusControl, &isTristate);
704 CFGSpaceWire_LSIsTristate(statusControl, &isTristate);
705 CFGSpaceWire_LSOperatingSpeed(statusControl, &operatingSpeed);
705 CFGSpaceWire_LSOperatingSpeed(statusControl, &operatingSpeed);
706 CFGSpaceWire_LSOutputPortConnection(statusControl, &outputPortConnection);
706 CFGSpaceWire_LSOutputPortConnection(statusControl, &outputPortConnection);
707 //emit appendToLog("The link state is = " + QString::number(linkStatus));
707 //emit appendToLog("The link state is = " + QString::number(linkStatus));
708 //emit appendToLog("The link is running = " + QString::number(isLinkRunning));
708 //emit appendToLog("The link is running = " + QString::number(isLinkRunning));
709 //emit appendToLog("The autostart bit is enabled = " + QString::number(isAutoStart));
709 //emit appendToLog("The autostart bit is enabled = " + QString::number(isAutoStart));
710 //emit appendToLog("The start bit is enabled = " + QString::number(isStart));
710 //emit appendToLog("The start bit is enabled = " + QString::number(isStart));
711 //emit appendToLog("The link is disabled = " + QString::number(isDisabled));
711 //emit appendToLog("The link is disabled = " + QString::number(isDisabled));
712 //emit appendToLog("The tri-state bit is enabled = " + QString::number(isAutoStart));
712 //emit appendToLog("The tri-state bit is enabled = " + QString::number(isAutoStart));
713 //emit appendToLog("The operating speed is = " + QString::number(operatingSpeed));
713 //emit appendToLog("The operating speed is = " + QString::number(operatingSpeed));
714 //emit appendToLog("This port is currently connected to output port = " + QString::number(outputPortConnection));
714 //emit appendToLog("This port is currently connected to output port = " + QString::number(outputPortConnection));
715 }
715 }
716 if (linkStatus == 5) return 1;
716 if (linkStatus == 5) return 1;
717 else return 0;
717 else return 0;
718 }
718 }
719
719
720 void StarDundee::receivePollingLoop()
720 void StarDundee::receivePollingLoop()
721 {
721 {
722 timer->blockSignals(true);
722 timer->blockSignals(true);
723 if (USBSpaceWire_WaitOnReadPacketAvailable(hDevice, 0)) receiveSPWPacketLoop(0);
723 if (USBSpaceWire_WaitOnReadPacketAvailable(hDevice, 0)) receiveSPWPacketLoop(0);
724 timer->blockSignals(false);
724 timer->blockSignals(false);
725 }
725 }
726
726
727 int StarDundee::receiveSPWPacketLoop(unsigned char requestID)
727 int StarDundee::receiveSPWPacketLoop(unsigned char requestID)
728 {
728 {
729 int result = 0;
729 int result = 0;
730 emit appendToLog("Number of packets dropped by the driver: " +
730 emit appendToLog("Number of packets dropped by the driver: " +
731 QString::number(USBSpaceWire_GetDriverDroppedPackets(hDevice)));
731 QString::number(USBSpaceWire_GetDriverDroppedPackets(hDevice)));
732
732
733 while (USBSpaceWire_WaitOnReadPacketAvailable(hDevice, 0))
733 while (USBSpaceWire_WaitOnReadPacketAvailable(hDevice, 0))
734 {
734 {
735 //sendMessage("trying to get a packet");
735 //sendMessage("trying to get a packet");
736 result = receiveSPWPacket(requestID);
736 result = receiveSPWPacket(requestID);
737 }
737 }
738 if (!ccsdsPacketStore.isEmpty())
738 if (!ccsdsPacketStore.isEmpty())
739 {
739 {
740 emit packetStoreNotEmpty();
740 emit packetStoreNotEmpty();
741 }
741 }
742 return result;
742 return result;
743 }
743 }
744
744
745 int StarDundee::receiveSPWPacket(unsigned char requestID) // SLOT
745 int StarDundee::receiveSPWPacket(unsigned char requestID) // SLOT
746 {
746 {
747 unsigned int packetLength;
747 unsigned int packetLength;
748 unsigned int nbBytes;
748 unsigned int nbBytes;
749 unsigned nPacketNum;
749 unsigned nPacketNum;
750 USB_SPACEWIRE_PACKET_PROPERTIES properties; // The properties of the read
750 USB_SPACEWIRE_PACKET_PROPERTIES properties; // The properties of the read
751
751
752 if (requestID==1)
752 if (requestID==1)
753 {
753 {
754 if (rmapPacketSEMAPHORE->available())
754 if (rmapPacketSEMAPHORE->available())
755 {
755 {
756 return rmapPacketSize;
756 return rmapPacketSize;
757 }
757 }
758 }
758 }
759
759
760 //********************
760 //********************
761 // TRY TO RECEIVE DATA
761 // TRY TO RECEIVE DATA
762 nbBytes = qMax(RMAP_MAX_PACKET_LENGTH, CCSDS_MAX_PACKET_LENGTH); // maximum size of the packet to receive
762 nbBytes = qMax(RMAP_MAX_PACKET_LENGTH, CCSDS_MAX_PACKET_LENGTH); // maximum size of the packet to receive
763 nPacketNum = 1;
763 nPacketNum = 1;
764 result = USBSpaceWire_ReadPackets(hDevice, spwPacket, nbBytes, nPacketNum, BWAIT_1, &properties, &pIdentifierRead);
764 result = USBSpaceWire_ReadPackets(hDevice, spwPacket, nbBytes, nPacketNum, BWAIT_1, &properties, &pIdentifierRead);
765 if (result != TRANSFER_SUCCESS)
765 if (result != TRANSFER_SUCCESS)
766 {
766 {
767 emit sendMessage("Error: Could not receive the packet");
767 emit sendMessage("Error: Could not receive the packet");
768 return 0;
768 return 0;
769 }
769 }
770 else
770 else
771 {
771 {
772 packetLength = properties.len;
772 packetLength = properties.len;
773 if (properties.eop == SPACEWIRE_USB_NO_EOP)
773 if (properties.eop == SPACEWIRE_USB_NO_EOP)
774 {
774 {
775 emit appendToLog("No end of packet marker received");
775 emit appendToLog("No end of packet marker received");
776 }
776 }
777 else if (properties.eop == SPACEWIRE_USB_EOP)
777 else if (properties.eop == SPACEWIRE_USB_EOP)
778 {
778 {
779 emit appendToLog("Normal end of packet marker received");
779 emit appendToLog("Normal end of packet marker received");
780 }
780 }
781 else if (properties.eop == SPACEWIRE_USB_EEP)
781 else if (properties.eop == SPACEWIRE_USB_EEP)
782 {
782 {
783 emit appendToLog("Error end of packet marker received");
783 emit appendToLog("Error end of packet marker received");
784 }
784 }
785
785
786 USBSpaceWire_FreeRead(hDevice, pIdentifierRead); // Free the read buffer
786 USBSpaceWire_FreeRead(hDevice, pIdentifierRead); // Free the read buffer
787 }
787 }
788
788
789 switch(spwPacket[1]) // byte 1 is the protocole identifier in the SPW packet
789 switch(spwPacket[1]) // byte 1 is the protocole identifier in the SPW packet
790 {
790 {
791 case 1: // 0x01 is the protocole identifier for RMAP packets
791 case 1: // 0x01 is the protocole identifier for RMAP packets
792 if (rmapPacketSEMAPHORE->available()!=0) return -3; // ERROR === previous RMAP packet not processed yet
792 if (rmapPacketSEMAPHORE->available()!=0) return -3; // ERROR === previous RMAP packet not processed yet
793 for(unsigned int i=0; i<packetLength; i++) rmapPacket[i] = spwPacket[i];
793 for(unsigned int i=0; i<packetLength; i++) rmapPacket[i] = spwPacket[i];
794 rmapPacketSize = packetLength;
794 rmapPacketSize = packetLength;
795 rmapPacketSEMAPHORE->release();
795 rmapPacketSEMAPHORE->release();
796 emit appendToLog("RMAP packet of size " + QString::number(packetLength) + " received");
796 emit appendToLog("RMAP packet of size " + QString::number(packetLength) + " received");
797 emit appendToLog("packet received, B0 = " + QString::number(spwPacket[0], 16)
797 emit appendToLog("packet received, B0 = " + QString::number(spwPacket[0], 16)
798 + " *** B1 = " + QString::number(spwPacket[1], 16)
798 + " *** B1 = " + QString::number(spwPacket[1], 16)
799 + " *** B2 = " + QString::number(spwPacket[2], 16)
799 + " *** B2 = " + QString::number(spwPacket[2], 16)
800 + " *** B3 = " + QString::number(spwPacket[3], 16)
800 + " *** B3 = " + QString::number(spwPacket[3], 16)
801 + " *** B4 = " + QString::number(spwPacket[4], 16)
801 + " *** B4 = " + QString::number(spwPacket[4], 16)
802 + " *** B5 = " + QString::number(spwPacket[5], 16)
802 + " *** B5 = " + QString::number(spwPacket[5], 16)
803 );
803 );
804 return packetLength;
804 return packetLength;
805
805
806 case 2: // 0x02 is the protocole identifier for CCSDS packets
806 case 2: // 0x02 is the protocole identifier for CCSDS packets
807 if (ccsdsPacketSEMAPHORE->available()!=0)
807 if (ccsdsPacketSEMAPHORE->available()!=0)
808 {
808 {
809 emit sendMessage("in function [receiveSPWPacket] === ERROR === previous CCSDS packet not processed yet");
809 emit sendMessage("in function [receiveSPWPacket] === ERROR === previous CCSDS packet not processed yet");
810 return -4; // ERROR === previous CCSDS packet not processed yet
810 return -4; // ERROR === previous CCSDS packet not processed yet
811 }
811 }
812 for(unsigned int i=0; i<packetLength; i++) ccsdsPacket[i] = spwPacket[i];
812 for(unsigned int i=0; i<packetLength; i++) ccsdsPacket[i] = spwPacket[i];
813 ccsdsPacketSize = packetLength;
813 ccsdsPacketSize = packetLength;
814 //ccsdsPacketSEMAPHORE->release();
814 //ccsdsPacketSEMAPHORE->release();
815 //emit(ccsdsPacketAvailable(ccsdsPacket, packetLength));
815 //emit(ccsdsPacketAvailable(ccsdsPacket, packetLength));
816 emit appendToLog("CCSDS packet of size " + QString::number(packetLength) + " received");
816 emit appendToLog("CCSDS packet of size " + QString::number(packetLength) + " received");
817 emit appendToLog("packet received, byte0 " + QString::number(spwPacket[0], 16)
817 emit appendToLog("packet received, byte0 " + QString::number(spwPacket[0], 16)
818 + " *** byte1 " + QString::number(spwPacket[1], 16)
818 + " *** byte1 " + QString::number(spwPacket[1], 16)
819 + " *** byte2 " + QString::number(spwPacket[2], 16)
819 + " *** byte2 " + QString::number(spwPacket[2], 16)
820 + " *** byte3 " + QString::number(spwPacket[3], 16));
820 + " *** byte3 " + QString::number(spwPacket[3], 16));
821 storeCCSDSPacket(ccsdsPacket, packetLength);
821 storeCCSDSPacket(ccsdsPacket, packetLength);
822 return packetLength;
822 return packetLength;
823 default:
823 default:
824 emit appendToLog("packet received, byte0 " + QString::number(spwPacket[0], 16)
824 emit appendToLog("packet received, byte0 " + QString::number(spwPacket[0], 16)
825 + " *** byte1 " + QString::number(spwPacket[1], 16)
825 + " *** byte1 " + QString::number(spwPacket[1], 16)
826 + " *** byte2 " + QString::number(spwPacket[2], 16)
826 + " *** byte2 " + QString::number(spwPacket[2], 16)
827 + " *** byte3 " + QString::number(spwPacket[3], 16));
827 + " *** byte3 " + QString::number(spwPacket[3], 16));
828 return 0;
828 }
829 }
829 return 0;
830 return 0;
830 }
831 }
831
832
832 unsigned int StarDundee::storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size)
833 unsigned int StarDundee::storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size)
833 {
834 {
834 unsigned int i;
835 unsigned int i;
835 ccsdsPacketToProcess_t ccsdsPacketToStore;
836 ccsdsPacketToProcess_t ccsdsPacketToStore;
836
837
837 ccsdsPacketToStore.size = size;
838 ccsdsPacketToStore.size = size;
838 for(i=0; i<size; i++)
839 for(i=0; i<size; i++)
839 {
840 {
840 ccsdsPacketToStore.data[i] = ccsdsPacket[i];
841 ccsdsPacketToStore.data[i] = ccsdsPacket[i];
841 }
842 }
842 ccsdsPacketStore << ccsdsPacketToStore;
843 ccsdsPacketStore << ccsdsPacketToStore;
843 //emit(ccsdsPacketAvailable(ccsdsPacket, packetLength));
844 //emit(ccsdsPacketAvailable(ccsdsPacket, packetLength));
844 //emit ccsdsPacketIsAvailable(size);
845 //emit ccsdsPacketIsAvailable(size);
845 return 1;
846 return 1;
846 }
847 }
847
848
848 void StarDundee::reTestSPWLink() // SLOT
849 void StarDundee::reTestSPWLink() // SLOT
849 {
850 {
850 if (getLinkStatus(linkNumber_SPINBOX->value()))
851 if (getLinkStatus(linkNumber_SPINBOX->value()))
851 {
852 {
852 emit isOpen(true);
853 emit isOpen(true);
853 starDundeeStatusQueryDialog->accept();
854 starDundeeStatusQueryDialog->accept();
854 }
855 }
855 }
856 }
General Comments 0
You need to be logged in to leave comments. Login now