##// END OF EJS Templates
Last comit before installation on pc-coillot
leroy -
r50:47b677d190ee default
parent child
Show More
@@ -0,0 +1,80
1 #include "arbitrarytime.h"
2
3 ArbitraryTime::ArbitraryTime(char option, QWidget *parent) :
4 QWidget(parent)
5 {
6 QRegExp timeToSendRegExp("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]");
7 validator = new QRegExpValidator(timeToSendRegExp);
8
9 packetToSend = new TCPacketToSend();
10
11 timeToSend = new QLineEdit();
12 main_HLAYOUT = new QHBoxLayout;
13 main_VLAYOUT = new QVBoxLayout;
14
15 timeToSend_LABEL = new QLabel("Arbitrary Time: 0x");
16 timeToSend_LABEL->setAlignment(Qt::AlignRight);
17
18 timeToSend->setMaxLength(8);
19 timeToSend->setValidator(validator);
20 timeToSend->setText("80000000");
21 currentTimeToSend = 0x80000000;
22
23 if (option == 1)
24 {
25 main_HLAYOUT->addWidget(timeToSend_LABEL);
26 main_HLAYOUT->addWidget(timeToSend);
27 main_HLAYOUT->addStretch();
28 this->setLayout(main_HLAYOUT);
29 }
30 else
31 {
32 main_VLAYOUT->addWidget(timeToSend_LABEL);
33 main_VLAYOUT->addWidget(timeToSend);
34 main_VLAYOUT->addStretch();
35 this->setLayout(main_VLAYOUT);
36 }
37
38 connect(this->timeToSend, SIGNAL(editingFinished()),
39 this, SLOT(editingFinishedSLOT()));
40 }
41
42 void ArbitraryTime::editingFinishedSLOT()
43 {
44 currentTimeToSend = timeToSend->text().toLong(0, 16);
45 emit (
46 timeToSendChanged( currentTimeToSend)
47 );
48 }
49
50 void ArbitraryTime::sendCurrentTimeToSend()
51 {
52 Packet_TC_LFR_UPDATE_TIME_t packet;
53 unsigned char crcAsTwoBytes[2];
54
55 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
56 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
57 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
58 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
59 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME >> 8);
60 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME );
61
62 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
63 packet.serviceType = TC_TYPE_LFR_UPDATE_TIME;
64 packet.serviceSubType = TC_SUBTYPE_UPDATE_TIME;
65 packet.sourceID = SID_DEFAULT;
66 packet.cp_rpw_time[0] = (unsigned char) (currentTimeToSend >> 24);
67 packet.cp_rpw_time[1] = (unsigned char) (currentTimeToSend >> 16);
68 packet.cp_rpw_time[2] = (unsigned char) (currentTimeToSend >> 8);
69 packet.cp_rpw_time[3] = (unsigned char) (currentTimeToSend);
70 packet.cp_rpw_time[4] = 0; // fine time MSB
71 packet.cp_rpw_time[5] = 0; // fine time LSB
72
73 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
74 PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET - 2);
75 packet.crc[0] = crcAsTwoBytes[0];
76 packet.crc[1] = crcAsTwoBytes[1];
77
78 emit WriteSPW((char*) &packet, PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET,
79 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
80 }
@@ -0,0 +1,43
1 #ifndef ARBITRARYTIME_H
2 #define ARBITRARYTIME_H
3
4 #include "paulcommon_global.h"
5
6 #include <QWidget>
7 #include <QLabel>
8 #include <QHBoxLayout>
9 #include <QVBoxLayout>
10 #include <QLineEdit>
11 #include <QRegExpValidator>
12 #include <tcpackettosend.h>
13
14 class PAULCOMMONSHARED_EXPORT ArbitraryTime : public QWidget
15 {
16 Q_OBJECT
17 public:
18 explicit ArbitraryTime(char option, QWidget *parent = 0);
19
20 long currentTimeToSend;
21
22 TCPacketToSend *packetToSend;
23
24 QLabel *timeToSend_LABEL;
25
26 QHBoxLayout *main_HLAYOUT;
27 QVBoxLayout *main_VLAYOUT;
28
29 QLineEdit *timeToSend;
30
31 QRegExpValidator *validator;
32
33 signals:
34 void timeToSendChanged(long timeToSend);
35 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
36
37 public slots:
38 void editingFinishedSLOT();
39 void sendCurrentTimeToSend();
40
41 };
42
43 #endif // ARBITRARYTIME_H
@@ -0,0 +1,38
1 #-------------------------------------------------
2 #
3 # Project created by QtCreator 2013-09-20T14:01:20
4 #
5 #-------------------------------------------------
6
7 TARGET = paulcommon
8 TEMPLATE = lib
9
10 INCLUDEPATH += \
11 $${PWD} \
12 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump \
13 ../../DEV_PLE/header
14
15 DEFINES += PAULCOMMON_LIBRARY
16
17 SOURCES += systemtime.cpp \
18 arbitrarytime.cpp
19
20 HEADERS += systemtime.h\
21 paulcommon_global.h \
22 arbitrarytime.h \
23 ../../DEV_PLE/header/TC_types.h
24
25 header.path = $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
26 header.files = \
27 systemtime.h\
28 paulcommon_global.h \
29 arbitrarytime.h
30
31 target.path = $$[QT_INSTALL_LIBS]
32 isEmpty(target.path) {
33 target.path = $(QTDIR)/lib
34 }
35
36 LIBS += -lparameterdump
37
38 INSTALLS += header target
@@ -0,0 +1,12
1 #ifndef PAULCOMMON_GLOBAL_H
2 #define PAULCOMMON_GLOBAL_H
3
4 #include <QtCore/qglobal.h>
5
6 #if defined(PAULCOMMON_LIBRARY)
7 # define PAULCOMMONSHARED_EXPORT Q_DECL_EXPORT
8 #else
9 # define PAULCOMMONSHARED_EXPORT Q_DECL_IMPORT
10 #endif
11
12 #endif // PAULCOMMON_GLOBAL_H
@@ -0,0 +1,40
1 #include "systemtime.h"
2
3 SystemTime::SystemTime(QWidget *parent) :
4 QWidget(parent)
5 {
6 main_LAYOUT = new QGridLayout;
7
8 arbitraryTime = new ArbitraryTime(1);
9
10 currentTimePrefix_LABEL = new QLabel(tr("Current System Time: 0x"));
11 currentTime_LABEL = new QLabel(tr("-"));
12
13 currentTimePrefix_LABEL->setAlignment(Qt::AlignRight);
14 currentTime = 0x80000000;
15 currentTime_LABEL->setText(QString::number(currentTime, 16));
16
17 main_LAYOUT->addWidget(currentTimePrefix_LABEL, 0, 0, 1, 1);
18 main_LAYOUT->addWidget(currentTime_LABEL, 0, 1, 1, 1);
19 main_LAYOUT->addWidget(arbitraryTime, 1, 0, 1, 2);
20 main_LAYOUT->setColumnStretch(2, 1);
21 main_LAYOUT->setRowStretch(2, 1);
22
23 this->setLayout(main_LAYOUT);
24
25 connect(this->arbitraryTime, SIGNAL(timeToSendChanged(long)),
26 this, SLOT(editingFinishedSLOT(long)));
27 }
28
29 void SystemTime::editingFinishedSLOT(long time)
30 {
31 emit (
32 timeToSendChanged(time)
33 );
34 }
35
36 void SystemTime::systemTimeHasChanged(long time)
37 {
38 currentTime = time;
39 currentTime_LABEL->setText(QString::number(currentTime, 16));
40 }
@@ -0,0 +1,37
1 #ifndef SYSTEMTIME_H
2 #define SYSTEMTIME_H
3
4 #include "paulcommon_global.h"
5
6 #include <QLabel>
7 #include <QGridLayout>
8 #include <QLineEdit>
9 #include <QRegExpValidator>
10
11 #include "arbitrarytime.h"
12
13 class PAULCOMMONSHARED_EXPORT SystemTime : public QWidget
14 {
15 Q_OBJECT
16 public:
17 explicit SystemTime(QWidget *parent = 0);
18
19 signals:
20 void timeToSendChanged(long timeToSend);
21
22 public slots:
23 void editingFinishedSLOT(long time);
24 void systemTimeHasChanged(long time);
25
26 private:
27 long currentTime;
28
29 QLabel *currentTimePrefix_LABEL;
30 QLabel *currentTime_LABEL;
31
32 QGridLayout *main_LAYOUT;
33
34 ArbitraryTime *arbitraryTime;
35 };
36
37 #endif // SYSTEMTIME_H
@@ -0,0 +1,48
1 #include "systemtime.h"
2
3 SystemTime::SystemTime(QWidget *parent) :
4 QWidget(parent)
5 {
6 QRegExp timeToSendRegExp("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]");
7 validator = new QRegExpValidator(timeToSendRegExp);
8
9 timeToSend = new QLineEdit();
10 main_LAYOUT = new QGridLayout;
11
12 currentTimePrefix_LABEL = new QLabel(tr("Current System Time: 0x"));
13 currentTime_LABEL = new QLabel(tr("-"));
14 timeToSend_LABEL = new QLabel("Arbitrary Time: 0x");
15
16 timeToSend_LABEL->setAlignment(Qt::AlignRight);
17 currentTimePrefix_LABEL->setAlignment(Qt::AlignRight);
18 currentTime = 0x80000000;
19 currentTime_LABEL->setText(QString::number(currentTime, 16));
20 timeToSend->setMaxLength(8);
21 timeToSend->setValidator(validator);
22 timeToSend->setText("80000000");
23
24 main_LAYOUT->addWidget(currentTimePrefix_LABEL, 0, 0, 1, 1);
25 main_LAYOUT->addWidget(currentTime_LABEL, 0, 1, 1, 1);
26 main_LAYOUT->addWidget(timeToSend_LABEL, 1, 0, 1, 1);
27 main_LAYOUT->addWidget(timeToSend, 1, 1, 1, 1);
28 main_LAYOUT->setColumnStretch(3, 1);
29 main_LAYOUT->setRowStretch(2, 1);
30
31 this->setLayout(main_LAYOUT);
32
33 connect(this->timeToSend, SIGNAL(editingFinished()),
34 this, SLOT(editingFinishedSLOT()));
35 }
36
37 void SystemTime::editingFinishedSLOT()
38 {
39 emit (
40 timeToSendChanged(timeToSend->text().toLong(0, 16))
41 );
42 }
43
44 void SystemTime::systemTimeHasChanged(long time)
45 {
46 currentTime = time;
47 currentTime_LABEL->setText(QString::number(currentTime, 16));
48 }
@@ -0,0 +1,37
1 #ifndef SYSTEMTIME_H
2 #define SYSTEMTIME_H
3
4 #include <QWidget>
5 #include <QLabel>
6 #include <QGridLayout>
7 #include <QLineEdit>
8 #include <QRegExpValidator>
9
10 class SystemTime : public QWidget
11 {
12 Q_OBJECT
13 public:
14 explicit SystemTime(QWidget *parent = 0);
15
16 signals:
17 void timeToSendChanged(long timeToSend);
18
19 public slots:
20 void editingFinishedSLOT();
21 void systemTimeHasChanged(long time);
22
23 private:
24 long currentTime;
25
26 QLabel *currentTimePrefix_LABEL;
27 QLabel *currentTime_LABEL;
28 QLabel *timeToSend_LABEL;
29
30 QGridLayout *main_LAYOUT;
31
32 QLineEdit *timeToSend;
33
34 QRegExpValidator *validator;
35 };
36
37 #endif // SYSTEMTIME_H
@@ -1,142 +1,144
1 1 #############################################################################
2 2 # Makefile for building: PAULs_LPPMON_PLUGINS
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 31 09:19:17 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri Sep 27 14:11:49 2013
4 4 # Project: PAULs_LPPMON_PLUGINS.pro
5 5 # Template: subdirs
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
7 7 #############################################################################
8 8
9 9 first: make_default
10 10 MAKEFILE = Makefile
11 11 QMAKE = /usr/bin/qmake-qt4
12 12 DEL_FILE = rm -f
13 13 CHK_DIR_EXISTS= test -d
14 14 MKDIR = mkdir -p
15 15 COPY = cp -f
16 16 COPY_FILE = $(COPY)
17 17 COPY_DIR = $(COPY) -r
18 18 INSTALL_FILE = install -m 644 -p
19 19 INSTALL_PROGRAM = install -m 755 -p
20 20 INSTALL_DIR = $(COPY_DIR)
21 21 DEL_FILE = rm -f
22 22 SYMLINK = ln -f -s
23 23 DEL_DIR = rmdir
24 24 MOVE = mv -f
25 25 CHK_DIR_EXISTS= test -d
26 26 MKDIR = mkdir -p
27 27 SUBTARGETS = \
28 28 sub-rmapplugin
29 29
30 30 rmapplugin/$(MAKEFILE):
31 31 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
32 32 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
33 33 sub-rmapplugin-qmake_all: FORCE
34 34 @$(CHK_DIR_EXISTS) rmapplugin/ || $(MKDIR) rmapplugin/
35 35 cd rmapplugin/ && $(QMAKE) /opt/LPPMON_PLUGINS_PAUL/rmapplugin/rmapplugin.pro -spec /usr/lib64/qt4/mkspecs/linux-g++ -o $(MAKEFILE)
36 36 sub-rmapplugin: rmapplugin/$(MAKEFILE) FORCE
37 37 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
38 38 sub-rmapplugin-make_default-ordered: rmapplugin/$(MAKEFILE) FORCE
39 39 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
40 40 sub-rmapplugin-make_default: rmapplugin/$(MAKEFILE) FORCE
41 41 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE)
42 42 sub-rmapplugin-make_first-ordered: rmapplugin/$(MAKEFILE) FORCE
43 43 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
44 44 sub-rmapplugin-make_first: rmapplugin/$(MAKEFILE) FORCE
45 45 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) first
46 46 sub-rmapplugin-all-ordered: rmapplugin/$(MAKEFILE) FORCE
47 47 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
48 48 sub-rmapplugin-all: rmapplugin/$(MAKEFILE) FORCE
49 49 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) all
50 50 sub-rmapplugin-clean-ordered: rmapplugin/$(MAKEFILE) FORCE
51 51 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
52 52 sub-rmapplugin-clean: rmapplugin/$(MAKEFILE) FORCE
53 53 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) clean
54 54 sub-rmapplugin-distclean-ordered: rmapplugin/$(MAKEFILE) FORCE
55 55 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
56 56 sub-rmapplugin-distclean: rmapplugin/$(MAKEFILE) FORCE
57 57 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) distclean
58 58 sub-rmapplugin-install_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
59 59 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
60 60 sub-rmapplugin-install_subtargets: rmapplugin/$(MAKEFILE) FORCE
61 61 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) install
62 62 sub-rmapplugin-uninstall_subtargets-ordered: rmapplugin/$(MAKEFILE) FORCE
63 63 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
64 64 sub-rmapplugin-uninstall_subtargets: rmapplugin/$(MAKEFILE) FORCE
65 65 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) uninstall
66 66
67 67 Makefile: PAULs_LPPMON_PLUGINS.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
68 68 /usr/lib64/qt4/mkspecs/common/linux.conf \
69 69 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
70 70 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
71 71 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
72 72 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
73 73 /usr/lib64/qt4/mkspecs/qconfig.pri \
74 74 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
75 75 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
76 76 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
77 77 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
78 78 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
79 79 /usr/lib64/qt4/mkspecs/features/release.prf \
80 80 /usr/lib64/qt4/mkspecs/features/default_post.prf \
81 /usr/lib64/qt4/mkspecs/features/shared.prf \
81 82 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
82 83 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
83 84 /usr/lib64/qt4/mkspecs/features/qt.prf \
84 85 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
85 86 /usr/lib64/qt4/mkspecs/features/moc.prf \
86 87 /usr/lib64/qt4/mkspecs/features/resources.prf \
87 88 /usr/lib64/qt4/mkspecs/features/uic.prf \
88 89 /usr/lib64/qt4/mkspecs/features/yacc.prf \
89 90 /usr/lib64/qt4/mkspecs/features/lex.prf \
90 91 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf
91 92 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
92 93 /usr/lib64/qt4/mkspecs/common/unix.conf:
93 94 /usr/lib64/qt4/mkspecs/common/linux.conf:
94 95 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
95 96 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
96 97 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
97 98 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
98 99 /usr/lib64/qt4/mkspecs/qconfig.pri:
99 100 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
100 101 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
101 102 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
102 103 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
103 104 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
104 105 /usr/lib64/qt4/mkspecs/features/release.prf:
105 106 /usr/lib64/qt4/mkspecs/features/default_post.prf:
107 /usr/lib64/qt4/mkspecs/features/shared.prf:
106 108 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
107 109 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
108 110 /usr/lib64/qt4/mkspecs/features/qt.prf:
109 111 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
110 112 /usr/lib64/qt4/mkspecs/features/moc.prf:
111 113 /usr/lib64/qt4/mkspecs/features/resources.prf:
112 114 /usr/lib64/qt4/mkspecs/features/uic.prf:
113 115 /usr/lib64/qt4/mkspecs/features/yacc.prf:
114 116 /usr/lib64/qt4/mkspecs/features/lex.prf:
115 117 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
116 118 qmake: qmake_all FORCE
117 119 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
118 120
119 121 qmake_all: sub-rmapplugin-qmake_all FORCE
120 122
121 123 make_default: sub-rmapplugin-make_default-ordered FORCE
122 124 make_first: sub-rmapplugin-make_first-ordered FORCE
123 125 all: sub-rmapplugin-all-ordered FORCE
124 126 clean: sub-rmapplugin-clean-ordered FORCE
125 127 distclean: sub-rmapplugin-distclean-ordered FORCE
126 128 -$(DEL_FILE) Makefile
127 129 install_subtargets: sub-rmapplugin-install_subtargets-ordered FORCE
128 130 uninstall_subtargets: sub-rmapplugin-uninstall_subtargets-ordered FORCE
129 131
130 132 sub-rmapplugin-check_ordered: rmapplugin/$(MAKEFILE)
131 133 cd rmapplugin/ && $(MAKE) -f $(MAKEFILE) check
132 134 check: sub-rmapplugin-check_ordered
133 135
134 136 mocclean: compiler_moc_header_clean compiler_moc_source_clean
135 137
136 138 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
137 139 install: install_subtargets FORCE
138 140
139 141 uninstall: uninstall_subtargets FORCE
140 142
141 143 FORCE:
142 144
@@ -1,197 +1,197
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 2.8.0, 2013-09-10T10:37:22. -->
3 <!-- Written by QtCreator 2.8.0, 2013-10-01T11:19:54. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 14 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
15 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
16 16 <value type="QString" key="language">Cpp</value>
17 17 <valuemap type="QVariantMap" key="value">
18 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
19 19 </valuemap>
20 20 </valuemap>
21 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
22 22 <value type="QString" key="language">QmlJS</value>
23 23 <valuemap type="QVariantMap" key="value">
24 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
25 25 </valuemap>
26 26 </valuemap>
27 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
28 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
29 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
30 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
32 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
33 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
34 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
35 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
36 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
37 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
38 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
39 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
40 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
41 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
42 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
43 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
44 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
45 45 </valuemap>
46 46 </data>
47 47 <data>
48 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
49 49 <valuemap type="QVariantMap"/>
50 50 </data>
51 51 <data>
52 52 <variable>ProjectExplorer.Project.Target.0</variable>
53 53 <valuemap type="QVariantMap">
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
62 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
65 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
66 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
67 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
69 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
70 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
71 71 </valuemap>
72 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
74 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
75 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
76 76 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 78 <value type="QString">-w</value>
79 79 <value type="QString">-r</value>
80 80 </valuelist>
81 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
82 82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
83 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
84 84 </valuemap>
85 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
88 88 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
89 89 </valuemap>
90 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
91 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 97 <value type="QString">-w</value>
98 98 <value type="QString">-r</value>
99 99 </valuelist>
100 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
101 101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
102 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
103 103 </valuemap>
104 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
105 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
106 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
107 107 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
108 108 </valuemap>
109 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
110 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
111 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
115 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
116 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL</value>
117 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
118 118 </valuemap>
119 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
121 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
122 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
124 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
125 125 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
126 126 </valuemap>
127 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
128 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
131 131 </valuemap>
132 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
135 135 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
136 136 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
137 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
138 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
139 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
140 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
141 141 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
142 142 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
143 143 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
144 144 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
145 145 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
146 146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 148 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
149 149 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
150 150 <value type="int">0</value>
151 151 <value type="int">1</value>
152 152 <value type="int">2</value>
153 153 <value type="int">3</value>
154 154 <value type="int">4</value>
155 155 <value type="int">5</value>
156 156 <value type="int">6</value>
157 157 <value type="int">7</value>
158 158 <value type="int">8</value>
159 159 <value type="int">9</value>
160 160 <value type="int">10</value>
161 161 <value type="int">11</value>
162 162 <value type="int">12</value>
163 163 <value type="int">13</value>
164 164 <value type="int">14</value>
165 165 </valuelist>
166 166 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
167 167 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
168 168 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
169 169 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">lppmon</value>
170 170 <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
171 171 <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
172 172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run lppmon</value>
173 173 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
174 174 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
175 175 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
176 176 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
177 177 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
178 178 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
179 179 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
180 180 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
181 181 </valuemap>
182 182 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
183 183 </valuemap>
184 184 </data>
185 185 <data>
186 186 <variable>ProjectExplorer.Project.TargetCount</variable>
187 187 <value type="int">1</value>
188 188 </data>
189 189 <data>
190 190 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
191 191 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
192 192 </data>
193 193 <data>
194 194 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
195 195 <value type="int">14</value>
196 196 </data>
197 197 </qtcreator>
@@ -1,198 +1,198
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 2.8.0, 2013-08-01T09:16:13. -->
3 <!-- Written by QtCreator 2.8.0, 2013-09-23T12:59:08. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 14 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
15 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
16 16 <value type="QString" key="language">Cpp</value>
17 17 <valuemap type="QVariantMap" key="value">
18 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
19 19 </valuemap>
20 20 </valuemap>
21 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
22 22 <value type="QString" key="language">QmlJS</value>
23 23 <valuemap type="QVariantMap" key="value">
24 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
25 25 </valuemap>
26 26 </valuemap>
27 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
28 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
29 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
30 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
32 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
33 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
34 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
35 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
36 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
37 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
38 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
39 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
40 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
41 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
42 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
43 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
44 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
45 45 </valuemap>
46 46 </data>
47 47 <data>
48 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
49 49 <valuemap type="QVariantMap"/>
50 50 </data>
51 51 <data>
52 52 <variable>ProjectExplorer.Project.Target.0</variable>
53 53 <valuemap type="QVariantMap">
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
61 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
62 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
64 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
65 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
66 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
67 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
68 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">false</value>
69 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
70 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
71 71 </valuemap>
72 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
74 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
75 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
76 76 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 78 <value type="QString">-w</value>
79 79 <value type="QString">-r</value>
80 80 </valuelist>
81 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
82 82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w </value>
83 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
84 84 </valuemap>
85 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
86 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
87 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
88 88 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
89 89 </valuemap>
90 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
91 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
93 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
94 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 97 <value type="QString">-w</value>
98 98 <value type="QString">-r</value>
99 99 </valuelist>
100 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
101 101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">-r -w clean</value>
102 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
103 103 </valuemap>
104 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
105 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
106 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
107 107 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
108 108 </valuemap>
109 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
110 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
111 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
112 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
113 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
115 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
116 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/gse_lesia</value>
117 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
118 118 </valuemap>
119 119 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
120 120 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
121 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
122 122 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
123 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
124 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
125 125 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
126 126 </valuemap>
127 127 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
128 128 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
129 129 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
130 130 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
131 131 </valuemap>
132 132 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
133 133 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
134 134 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
135 135 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
136 136 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
137 137 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
138 138 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
139 139 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
140 140 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
141 141 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
142 142 <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
143 143 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
144 144 <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
145 145 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
146 146 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
147 147 <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
148 148 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
149 149 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
150 150 <value type="int">0</value>
151 151 <value type="int">1</value>
152 152 <value type="int">2</value>
153 153 <value type="int">3</value>
154 154 <value type="int">4</value>
155 155 <value type="int">5</value>
156 156 <value type="int">6</value>
157 157 <value type="int">7</value>
158 158 <value type="int">8</value>
159 159 <value type="int">9</value>
160 160 <value type="int">10</value>
161 161 <value type="int">11</value>
162 162 <value type="int">12</value>
163 163 <value type="int">13</value>
164 164 <value type="int">14</value>
165 165 </valuelist>
166 166 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
167 167 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
168 168 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">gselesia</value>
169 169 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
170 170 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/LPPMON_PLUGINS_PAUL/gse_lesia/gselesia.pro</value>
171 171 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
172 172 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">gselesia.pro</value>
173 173 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
174 174 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
175 175 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
176 176 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
177 177 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
178 178 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
179 179 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
180 180 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
181 181 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
182 182 </valuemap>
183 183 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
184 184 </valuemap>
185 185 </data>
186 186 <data>
187 187 <variable>ProjectExplorer.Project.TargetCount</variable>
188 188 <value type="int">1</value>
189 189 </data>
190 190 <data>
191 191 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
192 192 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
193 193 </data>
194 194 <data>
195 195 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
196 196 <value type="int">14</value>
197 197 </data>
198 198 </qtcreator>
1 NO CONTENT: modified file, binary diff hidden
@@ -1,471 +1,471
1 1 #include "parameterdump.h"
2 2
3 3 ParameterDump::ParameterDump(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 this->buildTabParameterDump();
7 7
8 8 packetToSend = new TCPacketToSend();
9 9
10 10 this->setLayout(layout_parameterDump);
11 11 }
12 12
13 13 void ParameterDump::buildTabParameterDump()
14 14 {
15 15 buildCOMM();
16 16 buildNORM();
17 17 buildBURST();
18 18 buildSBM1();
19 19 buildSBM2();
20 20 buildActions();
21 21
22 22 layout_parameterDump = new QGridLayout();
23 23
24 24 layout_parameterDump->addWidget(groupbox_COMM, 0, 0, 1, 1);
25 25 layout_parameterDump->addWidget(groupbox_NORM, 0, 1, 1, 1);
26 26 layout_parameterDump->addWidget(groupbox_BURST, 1, 0, 1, 1);
27 27 layout_parameterDump->addWidget(groupbox_ACTIONS, 1, 1, 1, 1);
28 28 layout_parameterDump->addWidget(groupbox_SBM1,2 , 0, 1, 1);
29 29 layout_parameterDump->addWidget(groupbox_SBM2, 2, 1, 1, 1);
30 30
31 31 layout_parameterDump->setRowStretch(3, 1);
32 32 layout_parameterDump->setColumnStretch(2, 1);
33 33
34 34 layout_parameterDump->setRowStretch(3, 1);
35 35 layout_parameterDump->setColumnStretch(2, 1);
36 36 }
37 37
38 38 void ParameterDump::buildCOMM()
39 39 {
40 40 groupbox_COMM = new QGroupBox(tr("COMMON_PAR"));
41 41 layout_COMM = new QGridLayout();
42 42
43 43 sy_lfr_bw = new QLabel("sy_lfr_bw ");
44 44 sy_lfr_sp0 = new QLabel("sy_lfr_sp0 ");
45 45 sy_lfr_sp1 = new QLabel("sy_lfr_sp1 ");
46 46 sy_lfr_r0 = new QLabel("sy_lfr_r0 ");
47 47 sy_lfr_r1 = new QLabel("sy_lfr_r1 ");
48 48
49 49 spinbox_sy_lfr_bw = new QSpinBox();
50 50 spinbox_sy_lfr_sp0 = new QSpinBox();
51 51 spinbox_sy_lfr_sp1 = new QSpinBox();
52 52 spinbox_sy_lfr_r0 = new QSpinBox();
53 53 spinbox_sy_lfr_r1 = new QSpinBox();
54 54
55 55 spinbox_sy_lfr_bw->setRange(0, 1);
56 56 spinbox_sy_lfr_sp0->setRange(0, 1);
57 57 spinbox_sy_lfr_sp1->setRange(0, 1);
58 58 spinbox_sy_lfr_r0->setRange(0, 1);
59 59 spinbox_sy_lfr_r1->setRange(0, 1);
60 60
61 61 spinbox_sy_lfr_bw->setValue(1);
62 62 spinbox_sy_lfr_sp0->setValue(0);
63 63 spinbox_sy_lfr_sp1->setValue(0);
64 64 spinbox_sy_lfr_r0->setValue(0);
65 65 spinbox_sy_lfr_r1->setValue(0);
66 66
67 67 layout_COMM->addWidget(sy_lfr_bw, 0, 0, 1, 1);
68 68 layout_COMM->addWidget(sy_lfr_sp0, 1, 0, 1, 1);
69 69 layout_COMM->addWidget(sy_lfr_sp1, 2, 0, 1, 1);
70 70 layout_COMM->addWidget(sy_lfr_r0, 3, 0, 1, 1);
71 71 layout_COMM->addWidget(sy_lfr_r1, 4, 0, 1, 1);
72 72
73 73 layout_COMM->addWidget(spinbox_sy_lfr_bw, 0, 1, 1, 1);
74 74 layout_COMM->addWidget(spinbox_sy_lfr_sp0, 1, 1, 1, 1);
75 75 layout_COMM->addWidget(spinbox_sy_lfr_sp1, 2, 1, 1, 1);
76 76 layout_COMM->addWidget(spinbox_sy_lfr_r0, 3, 1, 1, 1);
77 77 layout_COMM->addWidget(spinbox_sy_lfr_r1, 4, 1, 1, 1);
78 78
79 79 layout_COMM->setColumnStretch(2, 1);
80 80 layout_COMM->setRowStretch(5, 1);
81 81
82 82 groupbox_COMM->setLayout(layout_COMM);
83 83 }
84 84
85 85 void ParameterDump::buildNORM()
86 86 {
87 87 groupbox_NORM = new QGroupBox(tr("NORMAL_PAR"));
88 88 layout_NORM = new QGridLayout();
89 89
90 90 sy_lfr_n_swf_l = new QLabel("sy_lfr_n_swf_l ");
91 91 sy_lfr_n_swf_p = new QLabel("sy_lfr_n_swf_p ");
92 92 sy_lfr_n_asm_p = new QLabel("sy_lfr_n_asm_p ");
93 93 sy_lfr_n_bp_p0 = new QLabel("sy_lfr_n_bp_p0 ");
94 94 sy_lfr_n_bp_p1 = new QLabel("sy_lfr_n_bp_p1 ");
95 95
96 96 spinbox_sy_lfr_n_swf_l = new QSpinBox();
97 97 spinbox_sy_lfr_n_swf_p = new QSpinBox();
98 98 spinbox_sy_lfr_n_asm_p = new QSpinBox();
99 99 spinbox_sy_lfr_n_bp_p0 = new QSpinBox();
100 100 spinbox_sy_lfr_n_bp_p1 = new QSpinBox();
101 101
102 102 spinbox_sy_lfr_n_swf_l->setRange(256, 65535);
103 103 spinbox_sy_lfr_n_swf_p->setRange(16, 65535);
104 104 spinbox_sy_lfr_n_asm_p->setRange(2, 65535);
105 105 spinbox_sy_lfr_n_bp_p0->setRange(4, 255);
106 106 spinbox_sy_lfr_n_bp_p1->setRange(20, 255);
107 107
108 108 spinbox_sy_lfr_n_swf_l->setValue(2048);
109 109 spinbox_sy_lfr_n_swf_p->setValue(300);
110 110 spinbox_sy_lfr_n_asm_p->setValue(3600);
111 111 spinbox_sy_lfr_n_bp_p0->setValue(4);
112 112 spinbox_sy_lfr_n_bp_p1->setValue(20);
113 113
114 114 layout_NORM->addWidget(sy_lfr_n_swf_l, 0, 0, 1, 1);
115 115 layout_NORM->addWidget(sy_lfr_n_swf_p, 1, 0, 1, 1);
116 116 layout_NORM->addWidget(sy_lfr_n_asm_p, 2, 0, 1, 1);
117 117 layout_NORM->addWidget(sy_lfr_n_bp_p0, 3, 0, 1, 1);
118 118 layout_NORM->addWidget(sy_lfr_n_bp_p1, 4, 0, 1, 1);
119 119
120 120 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_l, 0, 1, 1, 1);
121 121 layout_NORM->addWidget(spinbox_sy_lfr_n_swf_p, 1, 1, 1, 1);
122 122 layout_NORM->addWidget(spinbox_sy_lfr_n_asm_p, 2, 1, 1, 1);
123 123 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p0, 3, 1, 1, 1);
124 124 layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p1, 4, 1, 1, 1);
125 125
126 126 layout_NORM->setColumnStretch(2, 1);
127 127 layout_NORM->setRowStretch(5, 1);
128 128
129 129 groupbox_NORM->setLayout(layout_NORM);
130 130 }
131 131
132 132 void ParameterDump::buildBURST()
133 133 {
134 134 groupbox_BURST = new QGroupBox(tr("BURST_PAR"));
135 135 layout_BURST = new QGridLayout();
136 136
137 137 sy_lfr_b_bp_p0 = new QLabel("sy_lfr_b_bp_p0 ");
138 138 sy_lfr_b_bp_p1 = new QLabel("sy_lfr_b_bp_p1 ");
139 139
140 140 spinbox_sy_lfr_b_bp_p0 = new QSpinBox();
141 141 spinbox_sy_lfr_b_bp_p1 = new QSpinBox();
142 142
143 143 spinbox_sy_lfr_b_bp_p0->setRange(1, 255);
144 144 spinbox_sy_lfr_b_bp_p1->setRange(5, 255);
145 145
146 146 layout_BURST->addWidget(sy_lfr_b_bp_p0, 0, 0, 1, 1);
147 147 layout_BURST->addWidget(sy_lfr_b_bp_p1, 1, 0, 1, 1);
148 148 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p0, 0, 1, 1, 1);
149 149 layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p1, 1, 1, 1, 1);
150 150
151 151 layout_BURST->setColumnStretch(2, 1);
152 152 layout_BURST->setRowStretch(3, 1);
153 153
154 154 groupbox_BURST->setLayout(layout_BURST);
155 155 }
156 156
157 157 void ParameterDump::buildSBM1()
158 158 {
159 159 groupbox_SBM1 = new QGroupBox(tr("SBM1_PAR"));
160 160 layout_SBM1 = new QGridLayout();
161 161
162 162 sy_lfr_s1_bp_p0 = new QLabel("sy_lfr_s1_bp_p0 ");
163 163 sy_lfr_s1_bp_p1 = new QLabel("sy_lfr_s1_bp_p1 ");
164 164
165 165 spinbox_sy_lfr_s1_bp_p0 = new QDoubleSpinBox();
166 166 spinbox_sy_lfr_s1_bp_p1 = new QSpinBox();
167 167
168 168 spinbox_sy_lfr_s1_bp_p0->setRange(0.25, 0.25*256);
169 169 spinbox_sy_lfr_b_bp_p0->setValue(0.25);
170 170 spinbox_sy_lfr_s1_bp_p1->setRange(1, 255);
171 171 spinbox_sy_lfr_b_bp_p1->setValue(1);
172 172
173 173 layout_SBM1->addWidget(sy_lfr_s1_bp_p0, 0, 0, 1, 1);
174 174 layout_SBM1->addWidget(sy_lfr_s1_bp_p1, 1, 0, 1, 1);
175 175 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p0, 0, 1, 1, 1);
176 176 layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p1, 1, 1, 1, 1);
177 177
178 178 layout_SBM1->setColumnStretch(2, 1);
179 179 layout_SBM1->setRowStretch(3, 1);
180 180
181 181 groupbox_SBM1->setLayout(layout_SBM1);
182 182 }
183 183
184 184 void ParameterDump::buildSBM2()
185 185 {
186 186 groupbox_SBM2 = new QGroupBox(tr("SBM2_PAR"));
187 187 layout_SBM2 = new QGridLayout();
188 188
189 189 sy_lfr_s2_bp_p0 = new QLabel("sy_lfr_s2_bp_p0 ");
190 190 sy_lfr_s2_bp_p1 = new QLabel("sy_lfr_s2_bp_p1 ");
191 191
192 192 spinbox_sy_lfr_s2_bp_p0 = new QSpinBox();
193 193 spinbox_sy_lfr_s2_bp_p1 = new QSpinBox();
194 194
195 195 spinbox_sy_lfr_s2_bp_p0->setRange(1, 255);
196 196 spinbox_sy_lfr_s2_bp_p1->setRange(5, 255);
197 197
198 198 layout_SBM2->addWidget(sy_lfr_s2_bp_p0, 0, 0, 1, 1);
199 199 layout_SBM2->addWidget(sy_lfr_s2_bp_p1, 1, 0, 1, 1);
200 200 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p0, 0, 1, 1, 1);
201 201 layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p1, 1, 1, 1, 1);
202 202
203 203 layout_SBM2->setColumnStretch(2, 1);
204 204 layout_SBM2->setRowStretch(3, 1);
205 205
206 206 groupbox_SBM2->setLayout(layout_SBM2);
207 207 }
208 208
209 209 void ParameterDump::buildActions()
210 210 {
211 groupbox_ACTIONS = new QGroupBox(tr("Actions"));
211 groupbox_ACTIONS = new QGroupBox(tr("LOAD / DUMP"));
212 212 layout_ACTIONS = new QGridLayout;
213 213
214 214 button_loadCommon = new QPushButton(tr("LOAD_COMM"));
215 215 button_loadNormal = new QPushButton(tr("LOAD_NORM"));
216 216 button_loadBurst = new QPushButton(tr("LOAD_BURST"));
217 217 button_loadSBM1 = new QPushButton(tr("LOAD_SBM1"));
218 218 button_loadSBM2 = new QPushButton(tr("LOAD_SBM2"));
219 219 button_parameterDump = new QPushButton(tr("DUMP_PAR"));
220 220
221 221 button_loadCommon->setEnabled(false);
222 222 button_loadNormal->setEnabled(false);
223 223 button_loadBurst->setEnabled(false);
224 224 button_loadSBM1->setEnabled(false);
225 225 button_loadSBM2->setEnabled(false);
226 226 button_parameterDump->setEnabled(false);
227 227
228 228 layout_ACTIONS->addWidget(button_loadCommon, 0, 0, 1, 1);
229 229 layout_ACTIONS->addWidget(button_loadNormal, 0, 1, 1, 1);
230 230 layout_ACTIONS->addWidget(button_loadBurst, 1, 0, 1, 1);
231 231 layout_ACTIONS->addWidget(button_parameterDump, 1, 1, 1, 1);
232 232 layout_ACTIONS->addWidget(button_loadSBM1, 2, 0, 1, 1);
233 233 layout_ACTIONS->addWidget(button_loadSBM2, 2, 1, 1, 1);
234 234
235 235 groupbox_ACTIONS->setLayout(layout_ACTIONS);
236 236
237 237 connect(this->button_parameterDump, SIGNAL(clicked()), this, SLOT(sendParameterDump()));
238 238 connect(this->button_loadCommon, SIGNAL(clicked()), this, SLOT(sendLoadCommon()));
239 239 connect(this->button_loadNormal, SIGNAL(clicked()), this, SLOT(sendLoadNormal()));
240 240 connect(this->button_loadBurst, SIGNAL(clicked()), this, SLOT(sendLoadBurst()));
241 241 connect(this->button_loadSBM1, SIGNAL(clicked()), this, SLOT(sendLoadSBM1()));
242 242 connect(this->button_loadSBM2, SIGNAL(clicked()), this, SLOT(sendLoadSBM2()));
243 243 }
244 244
245 245 void ParameterDump::updateParameterDump(TMPacketToRead *tmPacketToRead)
246 246 {
247 247
248 248 Packet_TM_LFR_PARAMETER_DUMP_t *parameterPacket;
249 249
250 250 parameterPacket = (Packet_TM_LFR_PARAMETER_DUMP_t *) tmPacketToRead->Value;
251 251
252 252 // COMMON
253 253 spinbox_sy_lfr_bw->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x10 ) >> 4 );
254 254 spinbox_sy_lfr_sp0->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x08 ) >> 3 );
255 255 spinbox_sy_lfr_sp1->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x04 ) >> 2 );
256 256 spinbox_sy_lfr_r0->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x02 ) >> 1 );
257 257 spinbox_sy_lfr_r1->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x01 ) );
258 258
259 259 // NORMAL
260 260 spinbox_sy_lfr_n_swf_l->setValue(parameterPacket->sy_lfr_n_swf_l[0] * 256
261 261 + parameterPacket->sy_lfr_n_swf_l[1]);
262 262 spinbox_sy_lfr_n_swf_p->setValue(parameterPacket->sy_lfr_n_swf_p[0] * 256
263 263 + parameterPacket->sy_lfr_n_swf_p[1]);
264 264 spinbox_sy_lfr_n_asm_p->setValue(parameterPacket->sy_lfr_n_asm_p[0] * 256
265 265 + parameterPacket->sy_lfr_n_asm_p[1]);
266 266 spinbox_sy_lfr_n_bp_p0->setValue(parameterPacket->sy_lfr_n_bp_p0);
267 267 spinbox_sy_lfr_n_bp_p1->setValue(parameterPacket->sy_lfr_n_bp_p1);
268 268
269 269 // BURST
270 270 spinbox_sy_lfr_b_bp_p0->setValue(parameterPacket->sy_lfr_b_bp_p0);
271 271 spinbox_sy_lfr_b_bp_p1->setValue(parameterPacket->sy_lfr_b_bp_p1);
272 272
273 273 // SBM1
274 274 spinbox_sy_lfr_s1_bp_p0->setValue(parameterPacket->sy_lfr_s1_bp_p0);
275 275 spinbox_sy_lfr_s1_bp_p1->setValue(parameterPacket->sy_lfr_s1_bp_p1);
276 276
277 277 // SBM2
278 278 spinbox_sy_lfr_s2_bp_p0->setValue(parameterPacket->sy_lfr_s2_bp_p0);
279 279 spinbox_sy_lfr_s2_bp_p1->setValue(parameterPacket->sy_lfr_s2_bp_p1);
280 280 }
281 281
282 282 void ParameterDump::sendParameterDump()
283 283 {
284 284 Packet_TC_LFR_DUMP_PAR_t packet;
285 285 unsigned char crcAsTwoBytes[2];
286 286
287 287 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
288 288 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
289 289 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
290 290 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
291 291 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_DUMP_PAR >> 8);
292 292 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_DUMP_PAR );
293 293
294 294 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
295 295 packet.serviceType = TC_TYPE_DEFAULT;
296 296 packet.serviceSubType = TC_SUBTYPE_DUMP;
297 297 packet.sourceID = SID_DEFAULT;
298 298
299 299 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
300 300 PACKET_LENGTH_TC_LFR_DUMP_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
301 301 packet.crc[0] = crcAsTwoBytes[0];
302 302 packet.crc[1] = crcAsTwoBytes[1];
303 303
304 304 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_DUMP_PAR + CCSDS_TC_TM_PACKET_OFFSET,
305 305 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
306 306 }
307 307
308 308 void ParameterDump::sendLoadCommon()
309 309 {
310 310 Packet_TC_LFR_LOAD_COMMON_PAR_t packet;
311 311 unsigned char crcAsTwoBytes[2];
312 312
313 313 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
314 314 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
315 315 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
316 316 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
317 317 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR >> 8);
318 318 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR );
319 319
320 320 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
321 321 packet.serviceType = TC_TYPE_DEFAULT;
322 322 packet.serviceSubType = TC_SUBTYPE_LOAD_COMMON_PAR;
323 323 packet.sourceID = SID_DEFAULT;
324 324 packet.spare = TC_LFR_LOAD_COMMON_PAR_SPARE;
325 325 packet.bw_sp0_sp1_r0_r1 = (spinbox_sy_lfr_bw->value() << 4)
326 326 + (spinbox_sy_lfr_sp0->value() << 3)
327 327 + (spinbox_sy_lfr_sp1->value() << 2)
328 328 + (spinbox_sy_lfr_r0->value() << 1)
329 329 + (spinbox_sy_lfr_r1->value() );
330 330
331 331 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
332 332 PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
333 333 packet.crc[0] = crcAsTwoBytes[0];
334 334 packet.crc[1] = crcAsTwoBytes[1];
335 335
336 336 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR + CCSDS_TC_TM_PACKET_OFFSET,
337 337 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
338 338 }
339 339
340 340 void ParameterDump::sendLoadNormal()
341 341 {
342 342 Packet_TC_LFR_LOAD_NORMAL_PAR_t packet;
343 343 unsigned char crcAsTwoBytes[2];
344 344
345 345 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
346 346 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
347 347 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
348 348 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
349 349 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR >> 8);
350 350 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR );
351 351
352 352 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
353 353 packet.serviceType = TC_TYPE_DEFAULT;
354 354 packet.serviceSubType = TC_SUBTYPE_LOAD_NORMAL_PAR;
355 355 packet.sourceID = SID_DEFAULT;
356 356 packet.sy_lfr_n_swf_l[0] = (unsigned char) (spinbox_sy_lfr_n_swf_l->value() >> 8);
357 357 packet.sy_lfr_n_swf_l[1] = (unsigned char) (spinbox_sy_lfr_n_swf_l->value() );
358 358 packet.sy_lfr_n_swf_p[0] = (unsigned char) (spinbox_sy_lfr_n_swf_p->value() >> 8);
359 359 packet.sy_lfr_n_swf_p[1] = (unsigned char) (spinbox_sy_lfr_n_swf_p->value() );
360 360 packet.sy_lfr_n_asm_p[0] = (unsigned char) (spinbox_sy_lfr_n_asm_p->value() >> 8);
361 361 packet.sy_lfr_n_asm_p[1] = (unsigned char) (spinbox_sy_lfr_n_asm_p->value() );
362 362 packet.sy_lfr_n_bp_p0 = (unsigned char) (spinbox_sy_lfr_n_bp_p0->value() );
363 363 packet.sy_lfr_n_bp_p1 = (unsigned char) (spinbox_sy_lfr_n_bp_p1->value() );
364 364
365 365 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
366 366 PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
367 367 packet.crc[0] = crcAsTwoBytes[0];
368 368 packet.crc[1] = crcAsTwoBytes[1];
369 369
370 370 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR + CCSDS_TC_TM_PACKET_OFFSET,
371 371 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
372 372 }
373 373
374 374 void ParameterDump::sendLoadBurst()
375 375 {
376 376 Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
377 377 unsigned char crcAsTwoBytes[2];
378 378
379 379 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
380 380 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
381 381 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
382 382 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
383 383 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR >> 8);
384 384 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR );
385 385
386 386 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
387 387 packet.serviceType = TC_TYPE_DEFAULT;
388 388 packet.serviceSubType = TC_SUBTYPE_LOAD_BURST_PAR;
389 389 packet.sourceID = SID_DEFAULT;
390 390 packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_b_bp_p0->value() );
391 391 packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_b_bp_p1->value() );
392 392
393 393 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
394 394 PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
395 395 packet.crc[0] = crcAsTwoBytes[0];
396 396 packet.crc[1] = crcAsTwoBytes[1];
397 397
398 398 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR + CCSDS_TC_TM_PACKET_OFFSET,
399 399 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
400 400 }
401 401
402 402 void ParameterDump::sendLoadSBM1()
403 403 {
404 404 Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
405 405 unsigned char crcAsTwoBytes[2];
406 406
407 407 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
408 408 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
409 409 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
410 410 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
411 411 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR >> 8);
412 412 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR );
413 413
414 414 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
415 415 packet.serviceType = TC_TYPE_DEFAULT;
416 416 packet.serviceSubType = TC_SUBTYPE_LOAD_SBM1_PAR;
417 417 packet.sourceID = SID_DEFAULT;
418 418 packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_s1_bp_p0->value() );
419 419 packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_s1_bp_p1->value() );
420 420
421 421 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
422 422 PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
423 423 packet.crc[0] = crcAsTwoBytes[0];
424 424 packet.crc[1] = crcAsTwoBytes[1];
425 425
426 426 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR + CCSDS_TC_TM_PACKET_OFFSET,
427 427 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
428 428 }
429 429
430 430 void ParameterDump::sendLoadSBM2()
431 431 {
432 432 Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
433 433 unsigned char crcAsTwoBytes[2];
434 434
435 435 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
436 436 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
437 437 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
438 438 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
439 439 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR >> 8);
440 440 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR );
441 441
442 442 packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
443 443 packet.serviceType = TC_TYPE_DEFAULT;
444 444 packet.serviceSubType = TC_SUBTYPE_LOAD_SBM2_PAR;
445 445 packet.sourceID = SID_DEFAULT;
446 446 packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_s2_bp_p0->value() );
447 447 packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_s2_bp_p1->value() );
448 448
449 449 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
450 450 PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
451 451 packet.crc[0] = crcAsTwoBytes[0];
452 452 packet.crc[1] = crcAsTwoBytes[1];
453 453
454 454 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR + CCSDS_TC_TM_PACKET_OFFSET,
455 455 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
456 456 }
457 457
458 458 void ParameterDump::actionsSetEnabled(bool state)
459 459 {
460 460 button_parameterDump->setEnabled(state);
461 461 button_loadCommon->setEnabled(state);
462 462 button_loadNormal->setEnabled(state);
463 463 button_loadBurst->setEnabled(state);
464 464 button_loadSBM1->setEnabled(state);
465 465 button_loadSBM2->setEnabled(state);
466 466 }
467 467
468 468 void ParameterDump::GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData)
469 469 {
470 470 packetToSend->GetCRCAsTwoBytes( data, crcAsTwoBytes, sizeOfData );
471 471 }
@@ -1,38 +1,39
1 1 #-------------------------------------------------
2 2 #
3 3 # Project created by QtCreator 2013-07-29T11:18:13
4 4 #
5 5 #-------------------------------------------------
6 6
7 7 TARGET = parameterdump
8 8 TEMPLATE = lib
9 9
10 10 INCLUDEPATH += \
11 11 ../../DEV_PLE/header \
12 12 ../rmapplugin \
13 13 $${PWD}
14 14
15 15 DEFINES += PARAMETERDUMP_LIBRARY
16 16
17 17 SOURCES += parameterdump.cpp \
18 18 tcpackettosend.cpp \
19 19 ../rmapplugin/tmpackettoread.cpp
20 20
21 21 HEADERS += parameterdump.h \
22 22 parameterdump_global.h \
23 23 tcpackettosend.h \
24 24 ../../DEV_PLE/header/ccsds_types.h \
25 25 ../../DEV_PLE/header/TC_types.h \
26 26 ../rmapplugin/tmpackettoread.h
27 27
28 28 header.path = $$[QT_INSTALL_HEADERS]/lppmon/parameterdump
29 29 header.files = \
30 30 parameterdump.h \
31 parameterdump_global.h
31 parameterdump_global.h \
32 tcpackettosend.h
32 33
33 34 target.path = $$[QT_INSTALL_LIBS]
34 35 isEmpty(target.path) {
35 36 target.path = $(QTDIR)/lib
36 37 }
37 38
38 39 INSTALLS += header target
@@ -1,27 +1,28
1 1 #ifndef TCPACKETTOSEND_H
2 2 #define TCPACKETTOSEND_H
3 3
4 4 #include <QObject>
5 5
6 #include "parameterdump_global.h"
6 7 #include <TC_types.h>
7 8
8 class TCPacketToSend : public QObject
9 class PARAMETERDUMPSHARED_EXPORT TCPacketToSend : public QObject
9 10 {
10 11 Q_OBJECT
11 12 public:
12 13 explicit TCPacketToSend(QObject *parent = 0);
13 14
14 15 unsigned char calculateDataCRC(char *data, int nbBytes);
15 16 void initLookUpTableForCRC( void );
16 17
17 18 void GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData);
18 19 unsigned int Crc_opt( unsigned char D, unsigned int Chk);
19 20 unsigned int lookUpTableForCRC[256];
20 21
21 22 signals:
22 23
23 24 public slots:
24 25
25 26 };
26 27
27 28 #endif // TCPACKETTOSEND_H
@@ -1,555 +1,561
1 1 #############################################################################
2 2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 31 09:19:17 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri Sep 20 14:37:48 2013
4 4 # Project: rmapplugin.pro
5 5 # Template: lib
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 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 -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
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.2\"" -DUNIX -DUNIXTRANSLATIONPATH -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 14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -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../../DEV_PLE/header -I../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/parameterdump -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../../DEV_PLE/header -I../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/parameterdump -I/usr/include/lppmon/paulcommon -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so -llppmoncommon -lwfdisplay -lqwt5-qt4 -lparameterdump -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so -llppmoncommon -lpaulcommon -lwfdisplay -lqwt5-qt4 -lparameterdump -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = obj/
43 43
44 44 ####### Files
45 45
46 46 SOURCES = rmapplugin.cpp \
47 47 rmappluginui.cpp \
48 48 rmapoperations.cpp \
49 49 ccsds.cpp \
50 50 ../common_PLE/qipdialogbox.cpp \
51 51 ../common_PLE/gresbstatusenquiry.cpp \
52 52 rmappluginpythonwrapper.cpp \
53 53 stardundee.cpp \
54 54 gresb.cpp \
55 55 tcpackettosend.cpp \
56 56 tmpackettoread.cpp \
57 57 tmstatistics.cpp \
58 58 wfpacket.cpp \
59 59 tmechobridge.cpp \
60 60 entermode.cpp \
61 61 lfractions.cpp \
62 62 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
63 63 moc/moc_rmapplugin.cpp \
64 64 moc/moc_qipdialogbox.cpp \
65 65 moc/moc_gresbstatusenquiry.cpp \
66 66 moc/moc_rmappluginpythonwrapper.cpp \
67 67 moc/moc_stardundee.cpp \
68 68 moc/moc_gresb.cpp \
69 69 moc/moc_tcpackettosend.cpp \
70 70 moc/moc_tmpackettoread.cpp \
71 71 moc/moc_tmstatistics.cpp \
72 72 moc/moc_wfpacket.cpp \
73 73 moc/moc_tmechobridge.cpp \
74 74 moc/moc_entermode.cpp \
75 75 moc/moc_lfractions.cpp \
76 76 moc/moc_genericPySysdriver.cpp \
77 77 moc/moc_lppmonplugin.cpp
78 78 OBJECTS = obj/rmapplugin.o \
79 79 obj/rmappluginui.o \
80 80 obj/rmapoperations.o \
81 81 obj/ccsds.o \
82 82 obj/qipdialogbox.o \
83 83 obj/gresbstatusenquiry.o \
84 84 obj/rmappluginpythonwrapper.o \
85 85 obj/stardundee.o \
86 86 obj/gresb.o \
87 87 obj/tcpackettosend.o \
88 88 obj/tmpackettoread.o \
89 89 obj/tmstatistics.o \
90 90 obj/wfpacket.o \
91 91 obj/tmechobridge.o \
92 92 obj/entermode.o \
93 93 obj/lfractions.o \
94 94 obj/lppmonplugininterface.o \
95 95 obj/moc_rmappluginui.o \
96 96 obj/moc_rmapplugin.o \
97 97 obj/moc_qipdialogbox.o \
98 98 obj/moc_gresbstatusenquiry.o \
99 99 obj/moc_rmappluginpythonwrapper.o \
100 100 obj/moc_stardundee.o \
101 101 obj/moc_gresb.o \
102 102 obj/moc_tcpackettosend.o \
103 103 obj/moc_tmpackettoread.o \
104 104 obj/moc_tmstatistics.o \
105 105 obj/moc_wfpacket.o \
106 106 obj/moc_tmechobridge.o \
107 107 obj/moc_entermode.o \
108 108 obj/moc_lfractions.o \
109 109 obj/moc_genericPySysdriver.o \
110 110 obj/moc_lppmonplugin.o
111 111 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
112 112 /usr/lib64/qt4/mkspecs/common/linux.conf \
113 113 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
114 114 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
115 115 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
116 116 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
117 117 /usr/lib64/qt4/mkspecs/qconfig.pri \
118 118 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
119 119 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
120 120 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
121 121 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
122 122 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
123 123 /usr/lib64/qt4/mkspecs/features/release.prf \
124 124 /usr/lib64/qt4/mkspecs/features/default_post.prf \
125 125 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
126 126 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
127 /usr/lib64/qt4/mkspecs/features/shared.prf \
128 /usr/lib64/qt4/mkspecs/features/dll.prf \
127 129 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
128 130 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
129 131 /usr/lib64/qt4/mkspecs/features/qt.prf \
130 132 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
131 133 /usr/lib64/qt4/mkspecs/features/moc.prf \
132 134 /usr/lib64/qt4/mkspecs/features/resources.prf \
133 135 /usr/lib64/qt4/mkspecs/features/uic.prf \
134 136 /usr/lib64/qt4/mkspecs/features/yacc.prf \
135 137 /usr/lib64/qt4/mkspecs/features/lex.prf \
136 138 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
137 139 rmapplugin.pro
138 140 QMAKE_TARGET = rmapplugin
139 141 DESTDIR = bin/
140 142 TARGET = librmapplugin.so.1.0.0
141 143 TARGETA = bin/librmapplugin.a
142 144 TARGETD = librmapplugin.so.1.0.0
143 145 TARGET0 = librmapplugin.so
144 146 TARGET1 = librmapplugin.so.1
145 147 TARGET2 = librmapplugin.so.1.0
146 148
147 149 first: all
148 150 ####### Implicit rules
149 151
150 152 .SUFFIXES: .o .c .cpp .cc .cxx .C
151 153
152 154 .cpp.o:
153 155 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
154 156
155 157 .cc.o:
156 158 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
157 159
158 160 .cxx.o:
159 161 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
160 162
161 163 .C.o:
162 164 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
163 165
164 166 .c.o:
165 167 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
166 168
167 169 ####### Build rules
168 170
169 171 all: Makefile bin/$(TARGET)
170 172
171 173 bin/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
172 174 @$(CHK_DIR_EXISTS) bin/ || $(MKDIR) bin/
173 175 -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
174 176 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
175 177 -ln -s $(TARGET) $(TARGET0)
176 178 -ln -s $(TARGET) $(TARGET1)
177 179 -ln -s $(TARGET) $(TARGET2)
178 180 -$(DEL_FILE) bin/$(TARGET)
179 181 -$(DEL_FILE) bin/$(TARGET0)
180 182 -$(DEL_FILE) bin/$(TARGET1)
181 183 -$(DEL_FILE) bin/$(TARGET2)
182 184 -$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) bin/
183 185
184 186
185 187
186 188 staticlib: $(TARGETA)
187 189
188 190 $(TARGETA): $(OBJECTS) $(OBJCOMP)
189 191 -$(DEL_FILE) $(TARGETA)
190 192 $(AR) $(TARGETA) $(OBJECTS)
191 193
192 194 Makefile: rmapplugin.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
193 195 /usr/lib64/qt4/mkspecs/common/linux.conf \
194 196 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
195 197 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
196 198 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
197 199 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
198 200 /usr/lib64/qt4/mkspecs/qconfig.pri \
199 201 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
200 202 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
201 203 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
202 204 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
203 205 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
204 206 /usr/lib64/qt4/mkspecs/features/release.prf \
205 207 /usr/lib64/qt4/mkspecs/features/default_post.prf \
206 208 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf \
207 209 /usr/lib64/qt4/mkspecs/features/pythonqt.prf \
210 /usr/lib64/qt4/mkspecs/features/shared.prf \
211 /usr/lib64/qt4/mkspecs/features/dll.prf \
208 212 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
209 213 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
210 214 /usr/lib64/qt4/mkspecs/features/qt.prf \
211 215 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
212 216 /usr/lib64/qt4/mkspecs/features/moc.prf \
213 217 /usr/lib64/qt4/mkspecs/features/resources.prf \
214 218 /usr/lib64/qt4/mkspecs/features/uic.prf \
215 219 /usr/lib64/qt4/mkspecs/features/yacc.prf \
216 220 /usr/lib64/qt4/mkspecs/features/lex.prf \
217 221 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
218 222 /usr/lib64/libQtXml.prl \
219 223 /usr/lib64/libQtCore.prl \
220 224 /usr/lib64/libQtGui.prl \
221 225 /usr/lib64/libQtNetwork.prl
222 226 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
223 227 /usr/lib64/qt4/mkspecs/common/unix.conf:
224 228 /usr/lib64/qt4/mkspecs/common/linux.conf:
225 229 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
226 230 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
227 231 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
228 232 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
229 233 /usr/lib64/qt4/mkspecs/qconfig.pri:
230 234 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
231 235 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
232 236 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
233 237 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
234 238 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
235 239 /usr/lib64/qt4/mkspecs/features/release.prf:
236 240 /usr/lib64/qt4/mkspecs/features/default_post.prf:
237 241 /usr/lib64/qt4/mkspecs/features/lppmonplugin.prf:
238 242 /usr/lib64/qt4/mkspecs/features/pythonqt.prf:
243 /usr/lib64/qt4/mkspecs/features/shared.prf:
244 /usr/lib64/qt4/mkspecs/features/dll.prf:
239 245 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
240 246 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
241 247 /usr/lib64/qt4/mkspecs/features/qt.prf:
242 248 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
243 249 /usr/lib64/qt4/mkspecs/features/moc.prf:
244 250 /usr/lib64/qt4/mkspecs/features/resources.prf:
245 251 /usr/lib64/qt4/mkspecs/features/uic.prf:
246 252 /usr/lib64/qt4/mkspecs/features/yacc.prf:
247 253 /usr/lib64/qt4/mkspecs/features/lex.prf:
248 254 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
249 255 /usr/lib64/libQtXml.prl:
250 256 /usr/lib64/libQtCore.prl:
251 257 /usr/lib64/libQtGui.prl:
252 258 /usr/lib64/libQtNetwork.prl:
253 259 qmake: FORCE
254 260 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
255 261
256 262 dist:
257 263 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
258 264 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents ../../DEV_PLE/header/ccsds_types.h rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.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 tmpackettoread.h tmstatistics.h wfpacket.h params.h tmechobridge.h entermode.h lfractions.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 rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp tcpackettosend.cpp tmpackettoread.cpp tmstatistics.cpp wfpacket.cpp tmechobridge.cpp entermode.cpp lfractions.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
259 265
260 266
261 267 clean:compiler_clean
262 268 -$(DEL_FILE) $(OBJECTS)
263 269 -$(DEL_FILE) *~ core *.core
264 270
265 271
266 272 ####### Sub-libraries
267 273
268 274 distclean: clean
269 275 -$(DEL_FILE) bin/$(TARGET)
270 276 -$(DEL_FILE) bin/$(TARGET0) bin/$(TARGET1) bin/$(TARGET2) $(TARGETA)
271 277 -$(DEL_FILE) Makefile
272 278
273 279
274 280 check: first
275 281
276 282 mocclean: compiler_moc_header_clean compiler_moc_source_clean
277 283
278 284 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
279 285
280 286 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_tmpackettoread.cpp moc/moc_tmstatistics.cpp moc/moc_wfpacket.cpp moc/moc_tmechobridge.cpp moc/moc_entermode.cpp moc/moc_lfractions.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
281 287 compiler_moc_header_clean:
282 288 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_tcpackettosend.cpp moc/moc_tmpackettoread.cpp moc/moc_tmstatistics.cpp moc/moc_wfpacket.cpp moc/moc_tmechobridge.cpp moc/moc_entermode.cpp moc/moc_lfractions.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
283 289 moc/moc_rmappluginui.cpp: rmapoperations.h \
284 290 params.h \
285 291 stardundee.h \
286 292 ccsds.h \
287 293 tmpackettoread.h \
288 294 gresb.h \
289 295 tmstatistics.h \
290 296 tmechobridge.h \
291 297 entermode.h \
292 298 lfractions.h \
293 299 rmappluginui.h
294 300 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
295 301
296 302 moc/moc_rmapplugin.cpp: rmappluginui.h \
297 303 rmapoperations.h \
298 304 params.h \
299 305 stardundee.h \
300 306 ccsds.h \
301 307 tmpackettoread.h \
302 308 gresb.h \
303 309 tmstatistics.h \
304 310 tmechobridge.h \
305 311 entermode.h \
306 312 lfractions.h \
307 313 wfpacket.h \
308 314 rmapplugin.h
309 315 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmapplugin.h -o moc/moc_rmapplugin.cpp
310 316
311 317 moc/moc_qipdialogbox.cpp: ../common_PLE/qipdialogbox.h
312 318 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/qipdialogbox.h -o moc/moc_qipdialogbox.cpp
313 319
314 320 moc/moc_gresbstatusenquiry.cpp: ../common_PLE/gresbstatusenquiry.h
315 321 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../common_PLE/gresbstatusenquiry.h -o moc/moc_gresbstatusenquiry.cpp
316 322
317 323 moc/moc_rmappluginpythonwrapper.cpp: rmapoperations.h \
318 324 params.h \
319 325 ccsds.h \
320 326 tcpackettosend.h \
321 327 tmpackettoread.h \
322 328 rmappluginpythonwrapper.h
323 329 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
324 330
325 331 moc/moc_stardundee.cpp: rmapoperations.h \
326 332 params.h \
327 333 ccsds.h \
328 334 tmpackettoread.h \
329 335 stardundee.h
330 336 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
331 337
332 338 moc/moc_gresb.cpp: rmapoperations.h \
333 339 params.h \
334 340 ccsds.h \
335 341 tmpackettoread.h \
336 342 gresb.h
337 343 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
338 344
339 345 moc/moc_tcpackettosend.cpp: tcpackettosend.h
340 346 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tcpackettosend.h -o moc/moc_tcpackettosend.cpp
341 347
342 348 moc/moc_tmpackettoread.cpp: tmpackettoread.h
343 349 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmpackettoread.h -o moc/moc_tmpackettoread.cpp
344 350
345 351 moc/moc_tmstatistics.cpp: tmpackettoread.h \
346 352 tmstatistics.h
347 353 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmstatistics.h -o moc/moc_tmstatistics.cpp
348 354
349 355 moc/moc_wfpacket.cpp: params.h \
350 356 wfpacket.h
351 357 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpacket.h -o moc/moc_wfpacket.cpp
352 358
353 359 moc/moc_tmechobridge.cpp: tmpackettoread.h \
354 360 tmechobridge.h
355 361 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) tmechobridge.h -o moc/moc_tmechobridge.cpp
356 362
357 363 moc/moc_entermode.cpp: entermode.h
358 364 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) entermode.h -o moc/moc_entermode.cpp
359 365
360 366 moc/moc_lfractions.cpp: entermode.h \
361 367 lfractions.h
362 368 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) lfractions.h -o moc/moc_lfractions.cpp
363 369
364 370 moc/moc_genericPySysdriver.cpp: /usr/include/lppmon/genericPySysdriver.h
365 371 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
366 372
367 373 moc/moc_lppmonplugin.cpp: /usr/include/lppmon/lppmonplugin.h
368 374 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/lppmon/lppmonplugin.h -o moc/moc_lppmonplugin.cpp
369 375
370 376 compiler_rcc_make_all:
371 377 compiler_rcc_clean:
372 378 compiler_image_collection_make_all: qmake_image_collection.cpp
373 379 compiler_image_collection_clean:
374 380 -$(DEL_FILE) qmake_image_collection.cpp
375 381 compiler_moc_source_make_all:
376 382 compiler_moc_source_clean:
377 383 compiler_uic_make_all:
378 384 compiler_uic_clean:
379 385 compiler_yacc_decl_make_all:
380 386 compiler_yacc_decl_clean:
381 387 compiler_yacc_impl_make_all:
382 388 compiler_yacc_impl_clean:
383 389 compiler_lex_make_all:
384 390 compiler_lex_clean:
385 391 compiler_clean: compiler_moc_header_clean
386 392
387 393 ####### Compile
388 394
389 395 obj/rmapplugin.o: rmapplugin.cpp rmapplugin.h \
390 396 rmappluginui.h \
391 397 rmapoperations.h \
392 398 params.h \
393 399 stardundee.h \
394 400 ccsds.h \
395 401 tmpackettoread.h \
396 402 gresb.h \
397 403 tmstatistics.h \
398 404 tmechobridge.h \
399 405 entermode.h \
400 406 lfractions.h \
401 407 wfpacket.h \
402 408 rmappluginpythonwrapper.h \
403 409 tcpackettosend.h
404 410 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapplugin.o rmapplugin.cpp
405 411
406 412 obj/rmappluginui.o: rmappluginui.cpp rmapplugin.h \
407 413 rmappluginui.h \
408 414 rmapoperations.h \
409 415 params.h \
410 416 stardundee.h \
411 417 ccsds.h \
412 418 tmpackettoread.h \
413 419 gresb.h \
414 420 tmstatistics.h \
415 421 tmechobridge.h \
416 422 entermode.h \
417 423 lfractions.h \
418 424 wfpacket.h
419 425 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
420 426
421 427 obj/rmapoperations.o: rmapoperations.cpp rmapoperations.h \
422 428 params.h
423 429 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmapoperations.o rmapoperations.cpp
424 430
425 431 obj/ccsds.o: ccsds.cpp ccsds.h
426 432 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
427 433
428 434 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
429 435 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qipdialogbox.o ../common_PLE/qipdialogbox.cpp
430 436
431 437 obj/gresbstatusenquiry.o: ../common_PLE/gresbstatusenquiry.cpp ../common_PLE/gresbstatusenquiry.h
432 438 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresbstatusenquiry.o ../common_PLE/gresbstatusenquiry.cpp
433 439
434 440 obj/rmappluginpythonwrapper.o: rmappluginpythonwrapper.cpp rmappluginpythonwrapper.h \
435 441 rmapoperations.h \
436 442 params.h \
437 443 ccsds.h \
438 444 tcpackettosend.h \
439 445 tmpackettoread.h
440 446 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginpythonwrapper.o rmappluginpythonwrapper.cpp
441 447
442 448 obj/stardundee.o: stardundee.cpp stardundee.h \
443 449 rmapoperations.h \
444 450 params.h \
445 451 ccsds.h \
446 452 tmpackettoread.h
447 453 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/stardundee.o stardundee.cpp
448 454
449 455 obj/gresb.o: gresb.cpp gresb.h \
450 456 rmapoperations.h \
451 457 params.h \
452 458 ccsds.h \
453 459 tmpackettoread.h
454 460 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
455 461
456 462 obj/tcpackettosend.o: tcpackettosend.cpp tcpackettosend.h
457 463 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
458 464
459 465 obj/tmpackettoread.o: tmpackettoread.cpp tmpackettoread.h
460 466 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmpackettoread.o tmpackettoread.cpp
461 467
462 468 obj/tmstatistics.o: tmstatistics.cpp tmstatistics.h \
463 469 tmpackettoread.h
464 470 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmstatistics.o tmstatistics.cpp
465 471
466 472 obj/wfpacket.o: wfpacket.cpp wfpacket.h \
467 473 params.h
468 474 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpacket.o wfpacket.cpp
469 475
470 476 obj/tmechobridge.o: tmechobridge.cpp tmechobridge.h \
471 477 tmpackettoread.h
472 478 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmechobridge.o tmechobridge.cpp
473 479
474 480 obj/entermode.o: entermode.cpp entermode.h
475 481 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/entermode.o entermode.cpp
476 482
477 483 obj/lfractions.o: lfractions.cpp lfractions.h \
478 484 entermode.h
479 485 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lfractions.o lfractions.cpp
480 486
481 487 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
482 488 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
483 489 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
484 490
485 491 obj/moc_rmappluginui.o: moc/moc_rmappluginui.cpp
486 492 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginui.o moc/moc_rmappluginui.cpp
487 493
488 494 obj/moc_rmapplugin.o: moc/moc_rmapplugin.cpp
489 495 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmapplugin.o moc/moc_rmapplugin.cpp
490 496
491 497 obj/moc_qipdialogbox.o: moc/moc_qipdialogbox.cpp
492 498 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_qipdialogbox.o moc/moc_qipdialogbox.cpp
493 499
494 500 obj/moc_gresbstatusenquiry.o: moc/moc_gresbstatusenquiry.cpp
495 501 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresbstatusenquiry.o moc/moc_gresbstatusenquiry.cpp
496 502
497 503 obj/moc_rmappluginpythonwrapper.o: moc/moc_rmappluginpythonwrapper.cpp
498 504 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_rmappluginpythonwrapper.o moc/moc_rmappluginpythonwrapper.cpp
499 505
500 506 obj/moc_stardundee.o: moc/moc_stardundee.cpp
501 507 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_stardundee.o moc/moc_stardundee.cpp
502 508
503 509 obj/moc_gresb.o: moc/moc_gresb.cpp
504 510 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
505 511
506 512 obj/moc_tcpackettosend.o: moc/moc_tcpackettosend.cpp
507 513 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tcpackettosend.o moc/moc_tcpackettosend.cpp
508 514
509 515 obj/moc_tmpackettoread.o: moc/moc_tmpackettoread.cpp
510 516 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmpackettoread.o moc/moc_tmpackettoread.cpp
511 517
512 518 obj/moc_tmstatistics.o: moc/moc_tmstatistics.cpp
513 519 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmstatistics.o moc/moc_tmstatistics.cpp
514 520
515 521 obj/moc_wfpacket.o: moc/moc_wfpacket.cpp
516 522 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_wfpacket.o moc/moc_wfpacket.cpp
517 523
518 524 obj/moc_tmechobridge.o: moc/moc_tmechobridge.cpp
519 525 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_tmechobridge.o moc/moc_tmechobridge.cpp
520 526
521 527 obj/moc_entermode.o: moc/moc_entermode.cpp
522 528 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_entermode.o moc/moc_entermode.cpp
523 529
524 530 obj/moc_lfractions.o: moc/moc_lfractions.cpp
525 531 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lfractions.o moc/moc_lfractions.cpp
526 532
527 533 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
528 534 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
529 535
530 536 obj/moc_lppmonplugin.o: moc/moc_lppmonplugin.cpp
531 537 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_lppmonplugin.o moc/moc_lppmonplugin.cpp
532 538
533 539 ####### Install
534 540
535 541 install_target: first FORCE
536 542 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/ || $(MKDIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
537 543 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
538 544 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
539 545 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
540 546 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
541 547
542 548 uninstall_target: FORCE
543 549 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
544 550 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
545 551 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
546 552 -$(DEL_FILE) "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
547 553 -$(DEL_DIR) $(INSTALL_ROOT)/home/paul/.lppmon/plugins/
548 554
549 555
550 556 install: install_target FORCE
551 557
552 558 uninstall: uninstall_target FORCE
553 559
554 560 FORCE:
555 561
@@ -1,95 +1,270
1 1 #include "entermode.h"
2 2
3 3 EnterMode::EnterMode(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 button_enterModeStandby = new QPushButton(tr("STANDBY"));
7 7 button_enterModeNormal = new QPushButton(tr("NORMAL"));
8 8 button_enterModeBurst = new QPushButton(tr("BURST"));
9 9 button_enterModeSBM1 = new QPushButton(tr("SBM1"));
10 10 button_enterModeSBM2 = new QPushButton(tr("SBM2"));
11 11
12 button_reset = new QPushButton(tr("RESET"));
13 button_updateInfo = new QPushButton(tr("UPDATE_INFO"));
14 button_enableCalibration = new QPushButton(tr("ENABLE_CAL"));
15 button_disableCalibration = new QPushButton(tr("DISABLE_CAL"));
16 button_updateTime = new QPushButton(tr("UPDATE_TIME"));
17
12 18 mainLayout = new QGridLayout();
13 19 overallLayout = new QGridLayout();
14 20
21 layout_updateTime = new QVBoxLayout();
22 layout_otherTC = new QVBoxLayout();
23
24 arbitraryTime = new ArbitraryTime(0);
25
26 layout_otherTC->addWidget(button_reset);
27 layout_otherTC->addWidget(button_updateInfo);
28 layout_otherTC->addWidget(button_enableCalibration);
29 layout_otherTC->addWidget(button_disableCalibration);
30 layout_otherTC->addStretch();
31
32 layout_updateTime->addWidget(button_updateTime);
33 layout_updateTime->addWidget(arbitraryTime);
34 layout_updateTime->addStretch();
35
15 36 groupBox = new QGroupBox(tr("ENTER_MODE"));
37 groupBox_updateTime = new QGroupBox(tr("UPDATE_TIME"));
38 groupBox_otherTC = new QGroupBox(tr("OTHER TC"));
16 39
17 40 mainLayout->addWidget(button_enterModeStandby, 0, 0, 1, 1);
18 41 mainLayout->addWidget(button_enterModeNormal, 1, 0, 1, 1);
19 42 mainLayout->addWidget(button_enterModeBurst, 2, 0, 1, 1);
20 43 mainLayout->addWidget(button_enterModeSBM1, 3, 0, 1, 1);
21 44 mainLayout->addWidget(button_enterModeSBM2, 4, 0, 1, 1);
22 45
23 46 mainLayout->setColumnStretch(1, 1);
24 47 mainLayout->setRowStretch(5, 1);
25 48
26 49 groupBox->setLayout(mainLayout);
50 groupBox_otherTC->setLayout(layout_otherTC);
51 groupBox_updateTime->setLayout(layout_updateTime);
27 52
28 53 parameterDump = new ParameterDump();
29 54
55 connect(this->button_reset, SIGNAL(clicked()), this, SLOT(sendReset()));
56
30 57 connect(this->button_enterModeStandby, SIGNAL(clicked()), this, SLOT(enterModeStandby()));
31 58 connect(this->button_enterModeNormal, SIGNAL(clicked()), this, SLOT(enterModeNormal()));
32 59 connect(this->button_enterModeBurst, SIGNAL(clicked()), this, SLOT(enterModeBurst()));
33 60 connect(this->button_enterModeSBM1, SIGNAL(clicked()), this, SLOT(enterModeSBM1()));
34 61 connect(this->button_enterModeSBM2, SIGNAL(clicked()), this, SLOT(enterModeSBM2()));
35 62
63 connect(this->button_updateInfo, SIGNAL(clicked()), this, SLOT(sendUpdateInfo()));
64 connect(this->button_enableCalibration, SIGNAL(clicked()), this, SLOT(sendEnableCalibration()));
65 connect(this->button_disableCalibration, SIGNAL(clicked()), this, SLOT(sendDisableCalibration()));
66 connect(this->button_updateTime, SIGNAL(clicked()), this->arbitraryTime, SLOT(sendCurrentTimeToSend()));
67
36 68 overallLayout->addWidget(groupBox, 0, 0, 1, 1);
69 overallLayout->addWidget(groupBox_updateTime, 1, 0, 1, 1);
70 overallLayout->addWidget(groupBox_otherTC, 2, 0, 1, 1);
37 71
38 72 this->setLayout(overallLayout);
39 73 }
40 74
41 75 void EnterMode::sendEnterMode( unsigned char mode)
42 76 {
43 77 Packet_TC_LFR_ENTER_MODE_t packet;
44 78 unsigned char crcAsTwoBytes[2];
45 79
46 80 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
47 81 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
48 82 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
49 83 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
50 84 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_ENTER_MODE >> 8);
51 85 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_ENTER_MODE );
52 86
53 87 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
54 88 packet.serviceType = TC_TYPE_DEFAULT;
55 89 packet.serviceSubType = TC_SUBTYPE_ENTER_MODE;
56 90 packet.sourceID = SID_DEFAULT;
57 91 packet.spare = 0x00;
58 92 packet.mode = mode;
59 93 packet.enterModeTime[0] = 0x00;
60 94 packet.enterModeTime[1] = 0x00;
61 95 packet.enterModeTime[2] = 0x00;
62 96 packet.enterModeTime[3] = 0x00;
63 97 packet.enterModeTime[4] = 0x00;
64 98 packet.enterModeTime[5] = 0x00;
65 99
66 100 parameterDump->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
67 101 PACKET_LENGTH_TC_LFR_ENTER_MODE + CCSDS_TC_TM_PACKET_OFFSET - 2);
68 102 packet.crc[0] = crcAsTwoBytes[0];
69 103 packet.crc[1] = crcAsTwoBytes[1];
70 104
71 105 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_ENTER_MODE + CCSDS_TC_TM_PACKET_OFFSET,
72 106 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
73 107 }
74 108
75 109 void EnterMode::enterModeStandby()
76 110 {
77 111 sendEnterMode( 0 );
78 112 }
79 113
80 114 void EnterMode::enterModeNormal()
81 115 {
82 116 sendEnterMode( 1 );
83 117 }
118
84 119 void EnterMode::enterModeBurst()
85 120 {
86 121 sendEnterMode( 2 );
87 122 }
123
88 124 void EnterMode::enterModeSBM1()
89 125 {
90 126 sendEnterMode( 3 );
91 127 }
128
92 129 void EnterMode::enterModeSBM2()
93 130 {
94 131 sendEnterMode( 4 );
95 132 }
133
134 void EnterMode::sendReset()
135 {
136 Packet_TC_LFR_RESET_t packet;
137 unsigned char crcAsTwoBytes[2];
138
139 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
140 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
141 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
142 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
143 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_RESET >> 8);
144 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_RESET );
145
146 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
147 packet.serviceType = TC_TYPE_DEFAULT;
148 packet.serviceSubType = TC_SUBTYPE_RESET;
149 packet.sourceID = SID_DEFAULT;
150
151 parameterDump->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
152 PACKET_LENGTH_TC_LFR_RESET + CCSDS_TC_TM_PACKET_OFFSET - 2);
153 packet.crc[0] = crcAsTwoBytes[0];
154 packet.crc[1] = crcAsTwoBytes[1];
155
156 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_RESET + CCSDS_TC_TM_PACKET_OFFSET,
157 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
158 }
159
160 void EnterMode::sendUpdateInfo()
161 {
162 Packet_TC_LFR_UPDATE_INFO_t packet;
163 unsigned char crcAsTwoBytes[2];
164
165 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
166 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
167 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
168 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
169 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_INFO >> 8);
170 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_INFO );
171
172 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
173 packet.serviceType = TC_TYPE_DEFAULT;
174 packet.serviceSubType = TC_SUBTYPE_UPDATE_INFO;
175 packet.sourceID = SID_DEFAULT;
176
177 packet.set1 = 0x00;
178 packet.set2 = 0x00;
179 packet.set3_bias_setting_set1[0] = 0x00;
180 packet.set3_bias_setting_set1[1] = 0x00;
181 packet.set3_bias_setting_set1[2] = 0x00;
182 packet.set3_bias_setting_set1[3] = 0x00;
183 packet.set3_bias_setting_set1[4] = 0x00;
184 packet.set3_bias_setting_set2[5] = 0x00;
185 packet.set3_bias_voltage[0] = 0x00;
186 packet.set3_bias_voltage[1] = 0x00;
187 packet.set3_bias_voltage[2] = 0x00;
188 packet.set3_bias_voltage[3] = 0x00;
189 packet.set4[0] = 0x00;
190 packet.set4[1] = 0x00;
191 packet.set4[2] = 0x00;
192 packet.set4[3] = 0x00;
193 packet.set4[4] = 0x00;
194 packet.set4[5] = 0x00;
195 packet.set4[6] = 0x00;
196 packet.set4[7] = 0x00;
197 packet.set5 = 0x00;
198 packet.set6 = 0x00;
199 packet.set7[0] = 0x00;
200 packet.set7[1] = 0x00;
201 packet.set7[2] = 0x00;
202 packet.set7[3] = 0x00;
203 packet.set7[4] = 0x00;
204 packet.set7[5] = 0x00;
205 packet.set7[6] = 0x00;
206 packet.set7[7] = 0x00;
207
208 parameterDump->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
209 PACKET_LENGTH_TC_LFR_UPDATE_INFO + CCSDS_TC_TM_PACKET_OFFSET - 2);
210 packet.crc[0] = crcAsTwoBytes[0];
211 packet.crc[1] = crcAsTwoBytes[1];
212
213 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_UPDATE_INFO + CCSDS_TC_TM_PACKET_OFFSET,
214 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
215 }
216
217 void EnterMode::sendEnableCalibration()
218 {
219 Packet_TC_LFR_ENABLE_DISABLE_CALIBRATION_t packet;
220 unsigned char crcAsTwoBytes[2];
221
222 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
223 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
224 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
225 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
226 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_ENABLE_CALIBRATION >> 8);
227 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_ENABLE_CALIBRATION );
228
229 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
230 packet.serviceType = TC_TYPE_DEFAULT;
231 packet.serviceSubType = TC_SUBTYPE_ENABLE_CALIBRATION;
232 packet.sourceID = SID_DEFAULT;
233
234 parameterDump->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
235 PACKET_LENGTH_TC_LFR_ENABLE_CALIBRATION + CCSDS_TC_TM_PACKET_OFFSET - 2);
236 packet.crc[0] = crcAsTwoBytes[0];
237 packet.crc[1] = crcAsTwoBytes[1];
238
239 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_ENABLE_CALIBRATION + CCSDS_TC_TM_PACKET_OFFSET,
240 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
241 }
242
243 void EnterMode::sendDisableCalibration()
244 {
245 Packet_TC_LFR_ENABLE_DISABLE_CALIBRATION_t packet;
246 unsigned char crcAsTwoBytes[2];
247
248 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
249 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
250 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
251 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
252 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_DISABLE_CALIBRATION >> 8);
253 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_DISABLE_CALIBRATION );
254
255 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
256 packet.serviceType = TC_TYPE_DEFAULT;
257 packet.serviceSubType = TC_SUBTYPE_DISABLE_CALIBRATION;
258 packet.sourceID = SID_DEFAULT;
259
260 parameterDump->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
261 PACKET_LENGTH_TC_LFR_DISABLE_CALIBRATION + CCSDS_TC_TM_PACKET_OFFSET - 2);
262 packet.crc[0] = crcAsTwoBytes[0];
263 packet.crc[1] = crcAsTwoBytes[1];
264
265 emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_DISABLE_CALIBRATION + CCSDS_TC_TM_PACKET_OFFSET,
266 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
267 }
268
269
270
@@ -1,45 +1,67
1 1 #ifndef ENTERMODE_H
2 2 #define ENTERMODE_H
3 3
4 4 #include <QWidget>
5 5 #include <QPushButton>
6 6 #include <QGridLayout>
7 7 #include <QGroupBox>
8 #include <QVBoxLayout>
8 9
9 10 #include <TC_types.h>
10 11 #include <parameterdump.h>
12 #include <arbitrarytime.h>
11 13
12 14 class EnterMode : public QWidget
13 15 {
14 16 Q_OBJECT
15 17 public:
16 18 explicit EnterMode(QWidget *parent = 0);
17 19
18 20 void sendEnterMode(unsigned char mode);
19 21
20 22 QPushButton *button_enterModeStandby;
21 23 QPushButton *button_enterModeNormal;
22 24 QPushButton *button_enterModeBurst;
23 25 QPushButton *button_enterModeSBM1;
24 26 QPushButton *button_enterModeSBM2;
25 27
28 QPushButton *button_reset;
29 QPushButton *button_updateInfo;
30 QPushButton *button_enableCalibration;
31 QPushButton *button_disableCalibration;
32 QPushButton *button_updateTime;
33
26 34 QGridLayout *mainLayout;
27 35 QGridLayout *overallLayout;
28 36
37 QVBoxLayout *layout_updateTime;
38 QVBoxLayout *layout_otherTC;
39
29 40 QGroupBox *groupBox;
41 QGroupBox *groupBox_updateTime;
42 QGroupBox *groupBox_otherTC;
30 43
31 44 ParameterDump *parameterDump;
32 45
46 ArbitraryTime *arbitraryTime;
47
33 48 signals:
34 49 unsigned int WriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
35 50
36 51 public slots:
37 52 void enterModeStandby();
38 53 void enterModeNormal();
39 54 void enterModeBurst();
40 55 void enterModeSBM1();
41 56 void enterModeSBM2();
42 57
58 void sendUpdateTime();
59
60 void sendReset();
61 void sendUpdateInfo();
62 void sendEnableCalibration();
63 void sendDisableCalibration();
64
43 65 };
44 66
45 67 #endif // ENTERMODE_H
@@ -1,28 +1,30
1 1 #include "lfractions.h"
2 2
3 3 LFRActions::LFRActions(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 mainLayout = new QGridLayout();
7 7 enterMode = new EnterMode();
8 8 parameterDump = new ParameterDump();
9 9
10 10 parameterDump->actionsSetEnabled(true);
11 11
12 12 mainLayout->addWidget(parameterDump, 0, 0, 1, 1);
13 13 mainLayout->addWidget(enterMode, 0, 1, 1, 1);
14 14
15 15 mainLayout->setColumnStretch(2, 1);
16 16 mainLayout->setRowStretch(1, 1);
17 17
18 18 this->setLayout(mainLayout);
19 19
20 20 connect(this->enterMode, SIGNAL(WriteSPWSig(char*,uint,char,char)),
21 21 this, SLOT(reEmitWriteSPWSig(char*,uint,char,char)));
22 22 connect(this->parameterDump, SIGNAL(WriteSPWSig(char*,uint,char,char)),
23 23 this, SLOT(reEmitWriteSPWSig(char*,uint,char,char)));
24 connect(this->enterMode->arbitraryTime, SIGNAL(WriteSPW(char*,uint,char,char)),
25 this, SLOT(reEmitWriteSPWSig(char*,uint,char,char)));
24 26 }
25 27
26 28 void LFRActions::reEmitWriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication){
27 29 emit WriteSPWSig( Value, count, targetLogicalAddress, userApplication);
28 30 }
@@ -1,411 +1,391
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 2012, Laboratory of Plasma Physics - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Paul LEROY
20 20 -- Mail : paul.leroy@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #include "rmapplugin.h"
23 23 #include <QHostAddress>
24 24 #include <QIODevice>
25 25 #include <QApplication>
26 26 #include <rmappluginpythonwrapper.h>
27 27 #include <PythonQt.h>
28 28 #include <QTimer>
29 29
30 30 rmapplugin::rmapplugin(QWidget *parent)
31 31 :lppmonplugin(parent,false)
32 32 {
33 33 this->UI = new rmapPluginUI();
34 34 this->setWindowTitle(tr("RMAP and SPW Communication"));
35 35 this->setWidget((QWidget*)this->UI);
36 36
37 37 timeCode = 0;
38 38 time_COARSE = 0;
39 39 time_FINE = 0;
40 40 currentBridge = selectedBridgeIsUnknown;
41 41
42 42 //**************
43 43 //Python wrapper
44 44 this->pyObject = new rmappluginPythonWrapper();
45 45 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
46 46 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
47 47 //**
48 48 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
49 49 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
50 50 //**
51 51 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
52 52 this, SLOT( setValueTargetAddress(unsigned char)) );
53 53 //**
54 54 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
55 55 this, SLOT( setValueSourceAddress(unsigned char)) );
56 56 //**
57 57 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
58 58 this, SLOT(displayOnConsole(QString)) );
59 59 //**
60 60 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
61 61 this, SLOT(fetchPacket()), Qt::DirectConnection );
62 62 //***
63 63 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
64 64 this, SLOT(nbPacketHasChanged(int)));
65 65 //**************
66 66
67 67 //**************
68 68 // get a smart pointer to the __main__ module of the Python interpreter
69 69 PythonQtObjectPtr context = PythonQt::self()->getMainModule();
70 70 // add a QObject as variable of name "BUTTON_rmapOpenCommunication" to the namespace of the __main__ module
71 71 context.addObject("BUTTON_rmapOpenCommunication", UI->rmapOpenCommunicationButton);
72 72 context.addObject("BUTTON_rmapCloseCommunication", UI->rmapCloseCommunicationButton);
73 73 context.addObject("BUTTON_selectStarDundee", UI->selectStarDundee_BUTTON);
74 74 context.addObject("BUTTON_selectGRESB", UI->selectGRESB_BUTTON);
75 75 context.addObject("GRESB_Bridge", UI->gresbBridge);
76 76 //**************
77 77
78 78 connect(UI->rmapOpenCommunicationButton, SIGNAL(clicked()), this, SLOT(openBridge()));
79 79 connect(UI->rmapCloseCommunicationButton, SIGNAL(clicked()), this, SLOT(closeBridge()));
80 80 connect(this, SIGNAL(
81 81 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
82 82 ),
83 83 this->UI->tmStatistics, SLOT(
84 84 updateStatistics(unsigned char,unsigned char,unsigned char,unsigned char,uint,uint,uint,uint)
85 85 ));
86 86
87 87 //******
88 88 // GRESB
89 89 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
90 90 connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
91 91 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
92 92 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
93 93 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
94 94 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
95 95 this->UI->gresbBridge, SLOT(targetHasChanged(int)));
96 96 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
97 97 this->UI->gresbBridge, SLOT(sourceHasChanged(int)));
98 98 connect(this->UI->gresbBridge, SIGNAL(sendPacket(TMPacketToRead*)),
99 99 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
100 100
101 101 //************
102 102 // Star Dundee
103 103 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
104 104 connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
105 105 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
106 106 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
107 107 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
108 108 connect(this->UI->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
109 109 this->UI->starDundee, SLOT(targetHasChanged(int)));
110 110 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
111 111 this->UI->starDundee, SLOT(sourceHasChanged(int)));
112 112 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
113 113 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
114 114
115 115 connect(this->UI, SIGNAL(bridgeHasChanged(selectedBridge)), this, SLOT(bridgeHasChanged(selectedBridge)));
116 116
117 117 ((rmappluginPythonWrapper*)this->pyObject)->ccsdsPacketStore = &(this->generalCCSDSPacketStore);
118 118
119 119 //************
120 120 // LFR ACtions
121 121 connect(this->UI->lfrActions, SIGNAL(WriteSPWSig(char*,uint,char,char)),
122 122 this, SLOT(WriteSPW(char*,uint,char,char)));
123 123
124 124 }
125 125
126 126 rmapplugin::~rmapplugin()
127 127 {
128 128 switch(currentBridge)
129 129 {
130 130 case selectedBridgeIsGRESB :
131 131 this->UI->gresbBridge->writeSettings();
132 132 break;
133 133 case selectedBridgeIsStarDundee :
134 134 break;
135 135 default:
136 136 break;
137 137 }
138 this->UI->tmStatistics->writeSettings();
138 139 }
139 140
140 141 unsigned int rmapplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
141 142 {
142 143 unsigned int result;
143 144 switch(currentBridge)
144 145 {
145 146 case selectedBridgeIsGRESB :
146 147 result = UI->gresbBridge->Write(Value, count, address);
147 148 break;
148 149 case selectedBridgeIsStarDundee :
149 150 result = UI->starDundee->Write(Value, count, address);
150 151 break;
151 152 default:
152 153 result = 1;
153 154 break;
154 155 }
155 156 return result;
156 157 }
157 158
158 159 unsigned int rmapplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
159 160 {
160 161 unsigned int result;
161 162 switch(currentBridge)
162 163 {
163 164 case selectedBridgeIsGRESB :
164 165 result = UI->gresbBridge->Read(Value, count, address);
165 166 break;
166 167 case selectedBridgeIsStarDundee :
167 168 result = UI->starDundee->Read(Value, count, address);
168 169 break;
169 170 default:
170 171 result = 1;
171 172 break;
172 173 }
173 174 return result;
174 175 }
175 176
176 177 ////////
177 178 // SLOTS
178 179
179 180 unsigned int rmapplugin::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication) // SLOT
180 181 {
181 182 unsigned int result;
182 183 switch(currentBridge)
183 184 {
184 185 case selectedBridgeIsGRESB :
185 186 result = UI->gresbBridge->WriteSPW(Value, count, targetLogicalAddress, userApplication);
186 187 break;
187 188 case selectedBridgeIsStarDundee :
188 189 result = UI->starDundee->WriteSPW(Value, count, targetLogicalAddress, userApplication);
189 190 break;
190 191 default:
191 192 result = 1;
192 193 break;
193 194 }
194 195 return result;
195 196 }
196 197
197 198 void rmapplugin::openBridge()
198 199 {
199 200 switch(currentBridge)
200 201 {
201 202 case selectedBridgeIsGRESB :
202 203 this->UI->gresbBridge->Open();
203 204 break;
204 205 case selectedBridgeIsStarDundee :
205 206 this->UI->starDundee->Open();
206 207 break;
207 208 default:
208 209 break;
209 210 }
210 211 }
211 212
212 213 void rmapplugin::closeBridge()
213 214 {
214 215 switch(currentBridge)
215 216 {
216 217 case selectedBridgeIsGRESB :
217 218 this->UI->gresbBridge->Close();
218 219 break;
219 220 case selectedBridgeIsStarDundee :
220 221 this->UI->starDundee->Close();
221 222 break;
222 223 default:
223 224 break;
224 225 }
225 226 }
226 227
227 228 void rmapplugin::RMAP_write_reply_setText(QString text)
228 229 {
229 230 this->UI->RMAP_write_reply->setText(text);
230 231 }
231 232
232 233 void rmapplugin::appendToLog(QString text)
233 234 {
234 235 APPENDTOLOG(text);
235 236 }
236 237
237 238 void rmapplugin::setValueTargetAddress(unsigned char newAddress)
238 239 {
239 240 this->UI->rmapTargetLogicalAddressSpinBox->setValue(newAddress);
240 241 }
241 242
242 243 void rmapplugin::setValueSourceAddress(unsigned char newAddress)
243 244 {
244 245 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
245 246 }
246 247
247 248 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
248 249 {
249 250 preProcessPacket(packet);
250 251
251 252 // Send the packet to the TM echo bridge for processing
252 253 this->UI->tmEchoBridge->sendTMPacketLESIA(packet);
253 254
254 255 this->generalCCSDSPacketStore.append(packet);
255 if (this->generalCCSDSPacketStore.size() > 1000)
256 if (this->generalCCSDSPacketStore.size() > 200)
256 257 {
257 258 this->generalCCSDSPacketStore.erase(generalCCSDSPacketStore.begin(),
258 generalCCSDSPacketStore.begin() + 500);
259 generalCCSDSPacketStore.begin() + 100);
259 260 }
260 261 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
261 262 processPacketStore();
262 263 }
263 264
264 265 void rmapplugin::preProcessPacket(TMPacketToRead *packet)
265 266 {
266 267 unsigned char pid = 0;
267 268 unsigned char cat = 0;
268 269 unsigned char typ = 0;
269 270 unsigned char sub = 0;
270 271 unsigned int sid = 0;
271 272 unsigned int length = 0;
272 273 unsigned int coarse_t = 0;
273 274 unsigned int fine_t = 0;
274 275
275 276 //*********************************
276 277 // get the parameters of the packet
277 278 pid = this->UI->tmStatistics->getPID( packet );
278 279 cat = this->UI->tmStatistics->getCAT( packet );
279 280 typ = this->UI->tmStatistics->getTYPE( packet );
280 281 sub = this->UI->tmStatistics->getSUBTYPE( packet );
281 282 length = this->UI->tmStatistics->getLENGTH( packet );
282 283 coarse_t = this->UI->tmStatistics->getCoarseTime( packet );
283 284 fine_t = this->UI->tmStatistics->getFineTime( packet );
284 285 sid = this->UI->tmStatistics->getSID( packet, pid, cat, typ, sub );
285 286
286 287 emit updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t);
287 288
288 289 //**********************************************
289 290 // if the packet is a parameter dump, display it
290 291 if ( (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP) & (sid == SID_PARAMETER_DUMP) )
291 292 {
292 293 this->UI->lfrActions->parameterDump->updateParameterDump(packet);
293 294 }
294
295 //****************************************
296 // if the packet is a waveform, display it
297 /*if ( (typ == 21) & (sub == 3) )
298 {
299 sid = packet->Value[20]; // SID
300 switch (sid){
301 case SID_NORMAL_SWF_F0:
302 buildWFAndDisplay(packet, &wfPacketNormal[0], 0);
303 break;
304 case SID_NORMAL_SWF_F1:
305 buildWFAndDisplay(packet, &wfPacketNormal[1], 1);
306 break;
307 case SID_NORMAL_SWF_F2:
308 buildWFAndDisplay(packet, &wfPacketNormal[2], 2);
309 break;
310 case SID_NORMAL_CWF_F3:
311 buildWFAndDisplay(packet, &wfPacketNormal[3], 3);
312 break;
313 }
314 }*/
315 295 }
316 296
317 297 void rmapplugin::nbPacketHasChanged(int nb)
318 298 {
319 299 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(nb));
320 300 }
321 301
322 302 void rmapplugin::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
323 303 {
324 304 unsigned int i = 0;
325 305 unsigned int j = 0;
326 306 unsigned char *data;
327 307 unsigned char pkt_nr = 0;
328 308 unsigned int blk_nr = 0;
329 309
330 310 pkt_nr = packet->Value[23]; // PKT_NR
331 311 blk_nr = packet->Value[24] * 256 + packet->Value[25];
332 312 data = &packet->Value[26]; // start of the first data block;
333 313 j = (pkt_nr-1) * 340;
334 314 for ( i=0; i<blk_nr; i++ ){
335 315 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
336 316 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
337 317 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
338 318 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
339 319 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
340 320 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
341 321 }
342 322 if (pkt_nr == 7)
343 323 {
344 324 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0);
345 325 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1);
346 326 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2);
347 327 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3);
348 328 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4);
349 329 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5);
350 330 }
351 331 }
352 332
353 333 /////////////////////
354 334 // INTERNAL FUNCTIONS
355 335
356 336 void rmapplugin::processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size) // SLOT
357 337 {
358 338 QString message;
359 339 unsigned int fine_time_value = 0;
360 340 fine_time_value = ((unsigned int) ccsdsPacket[7]<<24)
361 341 + ((unsigned int) ccsdsPacket[6]<<16)
362 342 + ((unsigned int) ccsdsPacket[5]<<8)
363 343 + ((unsigned int) ccsdsPacket[4]);
364 344 message.append(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": ");
365 345 message.append("size "
366 346 + QString::number(size)
367 347 +" *** header "
368 348 + QString::number(ccsdsPacket[0], 16)
369 349 + " "
370 350 + QString::number(ccsdsPacket[1], 16)
371 351 + " "
372 352 + QString::number(ccsdsPacket[2], 16)
373 353 + " "
374 354 + QString::number(ccsdsPacket[3], 16)
375 355 + " *** coarse time "
376 356 + QString::number(fine_time_value));
377 357 //+ QString::number(ccsdsPacket[4], 16)
378 358 //+" "
379 359 //+ QString::number(ccsdsPacket[5], 16)
380 360 //+" "
381 361 //+ QString::number(ccsdsPacket[6], 16)
382 362 //+" "
383 363 //+ QString::number(ccsdsPacket[7], 16));
384 364 displayOnConsole(message);
385 365 //((rmappluginPythonWrapper*)this->pyObject)->storeCCSDSPacket(ccsdsPacket, size);
386 366 emit ccsdsPacketIsProcessed();
387 367 }
388 368
389 369 void rmapplugin::processPacketStore()
390 370 {
391 371 ((rmappluginPythonWrapper*)this->pyObject)->processPacketStore();
392 372 }
393 373
394 374 int rmapplugin::fetchPacket()
395 375 {
396 376 int ret = 0;
397 377
398 378 switch(currentBridge)
399 379 {
400 380 case selectedBridgeIsGRESB :
401 381 break;
402 382 case selectedBridgeIsStarDundee :
403 383 ret = this->UI->starDundee->receiveSPWPacketLoop();
404 384 break;
405 385 default:
406 386 break;
407 387 }
408 388
409 389 return ret;
410 390 }
411 391
@@ -1,89 +1,90
1 1 #
2 2 # Project created by QtCreator 2011-09-20T08:15:30
3 3 #
4 4 #-------------------------------------------------
5 5
6 6 #include(/etc/lppmon/lppmonplugin.prf)
7 7 CONFIG += lppmonplugin
8 8 TARGET = rmapplugin
9 9
10 10 DEFINES += PLUGIN=rmapplugin
11 11 DEFINES += PLUGINHEADER="\"\\\"rmapplugin.h"\\\"\"
12 12 DEFINES += driver_Name="\"\\\"RMAPPlugin"\\\"\"
13 13 DEFINES += driver_Author="\"\\\"Paul Leroy paul.leroy@lpp.polytechnique.fr"\\\"\"
14 14 DEFINES += driver_Version="\"\\\"1.1.2"\\\"\"
15 15 DEFINES += driver_Description="\"\\\"AHB bus controler, works with Gaisler's AHB plugn' play bus."\\\"\"
16 16 DEFINES += driver_can_be_root=1
17 17 DEFINES += driver_can_be_child=0
18 18 DEFINES += driver_VID=0
19 19 DEFINES += driver_PID=0
20 20
21 21 QT += network
22 22
23 23 LIBS += ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so \
24 24 ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so
25 25
26 26
27 27 INCLUDEPATH += \
28 28 $${PWD} \
29 29 ../common_PLE \
30 30 ../../DEV_PLE/header \
31 31 ../spw_usb_driver_v2.63/inc \
32 32 $${QT_INSTALL_HEADER} \
33 33 $$[QT_INSTALL_HEADERS]/lppmon/common \
34 34 $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay \
35 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump
35 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump \
36 $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
36 37
37 LIBS += -llppmoncommon -lwfdisplay -lqwt5-qt4 -lparameterdump
38 LIBS += -llppmoncommon -lpaulcommon -lwfdisplay -lqwt5-qt4 -lparameterdump
38 39
39 40
40 41 HEADERS += \
41 42 ../../DEV_PLE/header/ccsds_types.h \
42 43 rmappluginui.h \
43 44 rmapplugin.h \
44 45 rmapoperations.h \
45 46 ccsds.h \
46 47 ../common_PLE/qipdialogbox.h \
47 48 ../common_PLE/gresbstatusenquiry.h \
48 49 rmappluginpythonwrapper.h \
49 50 stardundee.h \
50 51 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
51 52 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
52 53 gresb.h \
53 54 tcpackettosend.h \
54 55 tmpackettoread.h \
55 56 tmstatistics.h \
56 57 wfpacket.h \
57 58 params.h \
58 59 tmechobridge.h \
59 60 entermode.h \
60 61 lfractions.h
61 62
62 63
63 64 SOURCES += \
64 65 rmapplugin.cpp \
65 66 rmappluginui.cpp \
66 67 rmapoperations.cpp \
67 68 ccsds.cpp \
68 69 ../common_PLE/qipdialogbox.cpp \
69 70 ../common_PLE/gresbstatusenquiry.cpp \
70 71 rmappluginpythonwrapper.cpp \
71 72 stardundee.cpp \
72 73 gresb.cpp \
73 74 tcpackettosend.cpp \
74 75 tmpackettoread.cpp \
75 76 tmstatistics.cpp \
76 77 wfpacket.cpp \
77 78 tmechobridge.cpp \
78 79 entermode.cpp \
79 80 lfractions.cpp
80 81
81 82
82 83
83 84
84 85
85 86
86 87
87 88
88 89
89 90
@@ -1,298 +1,299
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPPMON Software
3 3 -- Copyright (C) 2011, Laboratory of Plasmas Physic - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #include "rmapplugin.h"
23 23
24 24 rmapPluginUI::rmapPluginUI(QWidget *parent) :
25 25 QWidget(parent)
26 26 {
27 27 spwTabWidget = new QTabWidget;
28 28 //
29 29 QWidget* spwTabWidgetPage0 = new QWidget;
30 30 QWidget* spwTabWidgetPage2 = new QWidget;
31 31 QWidget* spwTabWidgetPage3 = new QWidget;
32 32 QWidget* spwTabWidgetPage4 = new QWidget;
33 33 QWidget* spwTabWidgetPage5 = new QWidget;
34 34 QWidget* spwTabWidgetPage6 = new QWidget;
35 35 //
36 36 bridgeWidget = new QWidget;
37 37 mainLayout = new QVBoxLayout;
38 38 ccsdsLayout = new QVBoxLayout;
39 39 consoleLayout = new QVBoxLayout;
40 40 selectionLayout = new QVBoxLayout;
41 41 connectionLayout = new QGridLayout;
42 42 bridgeSelection_LAYOUT = new QGridLayout;
43 43 generalParameters_LAYOUT = new QGridLayout;
44 44
45 45 gresb_GROUPBOX = new QGroupBox(tr("GRESB bridge parameters"));
46 46 stardundee_GROUPBOX = new QGroupBox(tr("Star Dundee brick parameters"));
47 47 selection_GROUPBOX = new QGroupBox(tr("Bridge selection"));
48 48 generalParameters_GROUPBOX = new QGroupBox(tr("General parameters"));
49 49
50 50 //*** QLABEL ***//
51 51 gresbBridgeIPLabel = new QLabel(tr("Bridge IP: "));
52 52 gresbVirtualLinkLabel = new QLabel(tr("Virtual Link: "));
53 53 spwLinkLabel = new QLabel(tr("SPW Link: "));
54 54 rmapSourceLogicalAddressLabel = new QLabel(tr("RMAP Source Logical Address: "));
55 55 rmapTargetLogicalAddressLabel = new QLabel(tr("RMAP Target Logical Address: "));
56 56 logFileName = new QLabel;
57 57 gresbStatusQueryLabel = new QLabel(tr("Status query socket (port 3010): waiting for connection"));
58 58 gresbStatusQueryDialogLabel = new QLabel(tr("sockets opened but SpaceWire link not running"));
59 59 nbPacketInStore = new QLabel(tr("nb packets in store: -"));
60 60
61 61 //*** QPUSHBUTTON ***//
62 62 rmapOpenCommunicationButton = new QPushButton(tr("Open selected bridge"));
63 63 rmapCloseCommunicationButton = new QPushButton(tr("Close selected bridge"));
64 64 rmapOpenCommunicationButton->setEnabled(false);
65 65 rmapCloseCommunicationButton->setEnabled(false);
66 66 logFileChooseButton = new QPushButton(tr("Choose file"));
67 67 gresbStatusQueryRetryButton = new QPushButton(tr("Retry"));
68 68 gresbStatusQueryAbortButton = new QPushButton(tr("Abort"));
69 69 clearConsoleButton = new QPushButton(tr("Clear"));
70 70
71 71 selectGRESB_BUTTON = new QRadioButton(tr("GRESB"));
72 72 selectStarDundee_BUTTON = new QRadioButton(tr("Star Dundee"));
73 73
74 74 //*** SPINBOX ***//
75 75 gresbVirtualLinkSpinBox = new QSpinBox;
76 76 rmapSourceLogicalAddressSpinBox = new QSpinBox;
77 77 rmapTargetLogicalAddressSpinBox = new QSpinBox;
78 78 spwLinkSpinBox = new QSpinBox;;
79 79 CCSDSTargetLogicalAddressSpinBox = new QSpinBox;
80 80 gresbVirtualLinkSpinBox->setRange(0, 4);
81 81 gresbVirtualLinkSpinBox->setValue(1);
82 82 rmapSourceLogicalAddressSpinBox->setRange(0, 255);
83 83 rmapTargetLogicalAddressSpinBox->setRange(0, 255);
84 84 spwLinkSpinBox->setRange(0, 2);
85 85 spwLinkSpinBox->setValue(0);
86 86
87 87 //*** MISC **//
88 88 starDundee = new StarDundee;
89 89 gresbBridge = new gresb;
90 90 tmEchoBridge = new TMEchoBridge();
91 91 console = new QTextEdit;
92 92 gresbStatusQueryDialog = new QDialog;
93 93 logEnableCheckBox = new QCheckBox(tr("Enable Logs"));
94 94 RMAP_write_verify = new QCheckBox(tr("data checked before write\nlimited to 4 bytes\nNOT IMPLEMENTED"));
95 95 RMAP_write_reply = new QCheckBox(tr("reply to the write command required\nlast reply status: unavailable"));
96 96 logFile = new QFile();
97 97 wfDisplay = new WFDisplay();
98 98 tmStatistics = new TMStatistics();
99 99 lfrActions = new LFRActions();
100 100
101 101 logFileEn = false;
102 102
103 103 connectionLayout->setRowStretch(7, 1);
104 104 connectionLayout->setColumnStretch(2, 1);
105 105
106 106 bridgeSelection_LAYOUT->addWidget(selectGRESB_BUTTON, 0, 0, 1, 1);
107 107 bridgeSelection_LAYOUT->addWidget(selectStarDundee_BUTTON, 0, 1, 1, 1);
108 108
109 109 bridgeSelection_LAYOUT->setRowStretch(1, 1);
110 110 bridgeSelection_LAYOUT->setColumnStretch(2, 1);
111 111
112 112 generalParameters_LAYOUT->addWidget(logEnableCheckBox, 0, 0, 1, 1);
113 113 generalParameters_LAYOUT->addWidget(logFileChooseButton, 0, 1, 1, 1);
114 114 generalParameters_LAYOUT->addWidget(rmapSourceLogicalAddressLabel, 1, 0, 0);
115 115 generalParameters_LAYOUT->addWidget(rmapSourceLogicalAddressSpinBox, 1, 1, 0);
116 116 generalParameters_LAYOUT->addWidget(rmapTargetLogicalAddressLabel, 2, 0, 0);
117 117 generalParameters_LAYOUT->addWidget(rmapTargetLogicalAddressSpinBox, 2, 1, 0);
118 118 generalParameters_LAYOUT->addWidget(rmapOpenCommunicationButton, 3, 0, 1, 1);
119 119 generalParameters_LAYOUT->addWidget(rmapCloseCommunicationButton, 3, 1, 1, 1);
120 120 generalParameters_LAYOUT->addWidget(RMAP_write_verify, 4, 0, 1, 2);
121 121 generalParameters_LAYOUT->addWidget(RMAP_write_reply, 5, 0, 1, 2);
122 122
123 123 generalParameters_LAYOUT->setRowStretch(6, 1);
124 124 generalParameters_LAYOUT->setColumnStretch(2, 1);
125 125
126 126 gresb_GROUPBOX->setLayout(gresbBridge->layout());
127 127 gresb_GROUPBOX->setVisible(false);
128 128 stardundee_GROUPBOX->setLayout(starDundee->layout());
129 129 stardundee_GROUPBOX->setVisible(false);
130 130 selection_GROUPBOX->setLayout(bridgeSelection_LAYOUT);
131 131 generalParameters_GROUPBOX->setLayout(generalParameters_LAYOUT);
132 132 selectionLayout->addWidget(selection_GROUPBOX);
133 133 selectionLayout->addWidget(generalParameters_GROUPBOX);
134 134 selectionLayout->addWidget(gresb_GROUPBOX);
135 135 selectionLayout->addWidget(stardundee_GROUPBOX);
136 selectionLayout->addStretch(1);
136 137
137 138 //********
138 139 // CONSOLE
139 140 consoleLayout->addWidget(console);
140 141 consoleLayout->addWidget(clearConsoleButton);
141 142 consoleLayout->addWidget(nbPacketInStore);
142 143
143 144 connect(this->logFileChooseButton, SIGNAL(clicked()), this, SLOT(chooseLogFile()));
144 145 connect(this, SIGNAL(setLogFileName(QString)), this->logFileName, SLOT(setText(QString)));
145 146 connect(this->logEnableCheckBox, SIGNAL(stateChanged(int)), this, SLOT(logFileEnDisable(int)));
146 147
147 148 spwTabWidget->addTab(spwTabWidgetPage0, tr("connection"));
148 149 //spwTabWidget->addTab(spwTabWidgetPage2, tr("status"));
149 150 spwTabWidget->addTab(spwTabWidgetPage3, tr("console"));
150 151 spwTabWidget->addTab(spwTabWidgetPage4, tr("TM statistics"));
151 152 spwTabWidget->addTab(lfrActions, tr("dashboard"));
152 153 //spwTabWidget->addTab(spwTabWidgetPage5, tr("waveforms"));
153 154 spwTabWidget->addTab(spwTabWidgetPage6, tr("TM Echo Bridge"));
154 155
155 156 spwTabWidgetPage0->setLayout(selectionLayout);
156 157 spwTabWidgetPage2->setLayout(this->gresbBridge->spwLinkStatusEnquiry->mainLayout);
157 158 spwTabWidgetPage3->setLayout(consoleLayout);
158 159 spwTabWidgetPage4->setLayout(tmStatistics->layout());
159 160 spwTabWidgetPage5->setLayout(wfDisplay->layout());
160 161 spwTabWidgetPage6->setLayout(tmEchoBridge->layout());
161 162
162 163 mainLayout->addWidget(spwTabWidget);
163 164 setLayout(mainLayout);
164 165
165 166 connect(this->clearConsoleButton, SIGNAL(clicked()), this->console, SLOT(clear()));
166 167
167 168 // briges
168 169 connect(this->selectGRESB_BUTTON, SIGNAL(clicked()), this, SLOT(selectionBetweenGresbAndStarDundee()));
169 170 connect(this->selectStarDundee_BUTTON, SIGNAL(clicked()), this, SLOT(selectionBetweenGresbAndStarDundee()));
170 171 connect(this->starDundee, SIGNAL(isOpen(bool)), this, SLOT(isOpen(bool)));
171 172 connect(this->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(isOpen(bool)));
172 173
173 174 connect(this->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->gresbBridge, SLOT(sourceHasChanged(int)));
174 175 connect(this->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->gresbBridge, SLOT(targetHasChanged(int)));
175 176 connect(this->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->starDundee, SLOT(sourceHasChanged(int)));
176 177 connect(this->rmapTargetLogicalAddressSpinBox, SIGNAL(valueChanged(int)), this->starDundee, SLOT(targetHasChanged(int)));
177 178
178 179 // command code
179 180 connect(this->RMAP_write_reply, SIGNAL(clicked()), this, SLOT(getCommandCode()));
180 181 connect(this->RMAP_write_verify, SIGNAL(clicked()), this, SLOT(getCommandCode()));
181 182 connect(this, SIGNAL(commandCodeHasChanged(RMAP_command_codes)),
182 183 this->starDundee, SLOT(commandCodeHasChanged(RMAP_command_codes)));
183 184 connect(this, SIGNAL(commandCodeHasChanged(RMAP_command_codes)),
184 185 this->gresbBridge, SLOT(commandCodeHasChanged(RMAP_command_codes)));
185 186
186 187 getCommandCode(); // init the command code value
187 188 rmapSourceLogicalAddressSpinBox->setValue(DEFAULT_SOURCE);
188 189 rmapTargetLogicalAddressSpinBox->setValue(DEFAULT_TARGET);
189 190 }
190 191
191 192 rmapPluginUI::~rmapPluginUI()
192 193 {
193 194 //delete ui;
194 195 }
195 196
196 197 void rmapPluginUI::chooseLogFile()
197 198 {
198 199 if(this->logFile->isOpen())
199 200 this->logFile->close();
200 201 this->logFile->setFileName(QFileDialog::getSaveFileName(this,tr("Open Log file"),
201 202 QDir::homePath()
202 203 + "/"
203 204 + QDate::currentDate().toString()
204 205 + "_"
205 206 + QTime::currentTime().toString()
206 207 + "_rmapPluginUI.log",
207 208 tr("Log Files (*.txt *.log)")));
208 209 if(this->logFile->open(QIODevice::WriteOnly))
209 210 {
210 211 this->logFileStrm = new QTextStream(this->logFile);
211 212 emit this->setLogFileName(this->logFile->fileName());
212 213 }
213 214 }
214 215
215 216 void rmapPluginUI::logFileEnDisable(int state)
216 217 {
217 218 if(state==Qt::Checked)
218 219 {
219 220 this->logFileEn = true;
220 221 }
221 222 else if(state==Qt::Unchecked)
222 223 {
223 224 this->logFileEn = false;
224 225 }
225 226 }
226 227
227 228 bool rmapPluginUI::islogfileenable()
228 229 {
229 230 return this->logFileEn;
230 231 }
231 232
232 233 void rmapPluginUI::appendToLogFile(const QString & text)
233 234 {
234 235 if(this->logFileEn && this->logFile->isOpen())
235 236 {
236 237 *(this->logFileStrm) << text << endl;
237 238 }
238 239 }
239 240
240 241 void rmapPluginUI::closeEvent(QCloseEvent *event)
241 242 {
242 243 if(this->logFile->isOpen())
243 244 {
244 245 this->logFileStrm->flush();
245 246 this->logFile->waitForBytesWritten(3000);
246 247 this->logFile->close();
247 248 }
248 249 event->accept();
249 250 }
250 251
251 252 RMAP_command_codes rmapPluginUI::getCommandCode()
252 253 {
253 254 RMAP_command_codes commandCode = invalid0;
254 255 if (RMAP_write_verify->isChecked() and RMAP_write_reply->isChecked()) commandCode = writeSingle_ver_rep;
255 256 if (RMAP_write_verify->isChecked() and !RMAP_write_reply->isChecked()) commandCode = writeSingle_ver_noRep;
256 257 if (!RMAP_write_verify->isChecked() and RMAP_write_reply->isChecked()) commandCode = writeSingle_noVer_Rep;
257 258 if (!RMAP_write_verify->isChecked() and !RMAP_write_reply->isChecked()) commandCode = writeSingle_noVer_noRep;
258 259 emit commandCodeHasChanged(commandCode);
259 260 return commandCode;
260 261 }
261 262
262 263 // SLOT
263 264
264 265 void rmapPluginUI::selectionBetweenGresbAndStarDundee() //SLOT
265 266 {
266 267 if (selectGRESB_BUTTON->isChecked())
267 268 {
268 269 gresb_GROUPBOX->setVisible(true);
269 270 stardundee_GROUPBOX->setVisible(false);
270 271 rmapOpenCommunicationButton->setEnabled(true);
271 272 emit bridgeHasChanged(selectedBridgeIsGRESB);
272 273 }
273 274 if (selectStarDundee_BUTTON->isChecked())
274 275 {
275 276 stardundee_GROUPBOX->setVisible(true);
276 277 gresb_GROUPBOX->setVisible(false);
277 278 rmapOpenCommunicationButton->setEnabled(true);
278 279 emit bridgeHasChanged(selectedBridgeIsStarDundee);
279 280 }
280 281 }
281 282
282 283 void rmapPluginUI::isOpen(bool flag)
283 284 {
284 285 if (flag == true)
285 286 {
286 287 selection_GROUPBOX->setEnabled(false);
287 288 this->rmapOpenCommunicationButton->setEnabled(false);
288 289 this->rmapCloseCommunicationButton->setEnabled(true);
289 290 }
290 291 if (flag == false)
291 292 {
292 293 selection_GROUPBOX->setEnabled(true);
293 294 this->rmapOpenCommunicationButton->setEnabled(true);
294 295 this->rmapCloseCommunicationButton->setEnabled(false);
295 296 }
296 297 }
297 298
298 299
@@ -1,749 +1,874
1 1 #include "tmstatistics.h"
2 2 #include <QtGui>
3 3 #include <QFontInfo>
4 4 #include <stdio.h>
5 5
6 6 TMStatistics::TMStatistics(QWidget *parent) :
7 7 QWidget(parent)
8 8 {
9 9 // Create Fonts
10 10 QFont font;
11 11 font = QFont(this->fontInfo().family(), STATISTICS_FONT_SIZE, QFont::Light);
12 12
13 13 label_UNKNOWN = new QLabel("UNKNOWN");
14 14 label_UNKNOWN_nb = new QLabel("-");
15 15
16 16 mainLayout = new QGridLayout();
17 17 layout_stat = new QGridLayout(); // TM stastictics
18 18 layout_NORM = new QGridLayout(); // TM_LFR_SCIENCE_NORMAL_
19 19 layout_BURST = new QGridLayout(); // TM_LFR_SCIENCE_BURST_
20 20 layout_SBM1 = new QGridLayout(); // TM_LFR_SCIENCE_SBM1_
21 21 layout_SBM2 = new QGridLayout(); // TM_LFR_SCIENCE_SBM2_
22 22 layout_last = new QGridLayout(); // last TM description
23 23 layout_record = new QVBoxLayout();
24 24
25 25 //***************
26 26 // TM_LFR_TC_EXE_
27 27 label_SUCC = new QLabel("SUCCESS");
28 28 label_INCO = new QLabel("INCONSISTENT");
29 29 label_NOTE = new QLabel("NOT_EXECUTABLE");
30 30 label_NOTI = new QLabel("NOT_IMPLEMENTED");
31 31 label_ERRO = new QLabel("ERROR");
32 32 label_CORR = new QLabel("CORRUPTED");
33 33 label_HK = new QLabel("TM_LFR_HK");
34 34 label_DUMP = new QLabel("TM_LFR_PARAMETER_DUMP");
35 35 //
36 36 label_SUCC_nb = new QLabel("-");
37 37 label_INCO_nb = new QLabel("-");
38 38 label_NOTE_nb = new QLabel("-");
39 39 label_NOTI_nb = new QLabel("-");
40 40 label_ERRO_nb = new QLabel("-");
41 41 label_CORR_nb = new QLabel("-");
42 42 label_HK_nb = new QLabel("-");
43 43 label_DUMP_nb = new QLabel("-");
44 44
45 45 //***********************
46 46 // TM_LFR_SCIENCE_NORMAL_
47 47 label_NORM_SWF_F0 = new QLabel("SWF_F0");
48 48 label_NORM_SWF_F1 = new QLabel("SWF_F1");
49 49 label_NORM_SWF_F2 = new QLabel("SWF_F2");
50 50 label_NORM_CWF_F3 = new QLabel("CWF_F3");
51 51 label_NORM_ASM_F0 = new QLabel("ASM_F0");
52 52 label_NORM_ASM_F1 = new QLabel("ASM_F1");
53 53 label_NORM_ASM_F2 = new QLabel("ASM_F2");
54 54 label_NORM_BP1_F0 = new QLabel("BP1_F0");
55 55 label_NORM_BP1_F1 = new QLabel("BP1_F1");
56 56 label_NORM_BP1_F2 = new QLabel("BP1_F2");
57 57 label_NORM_BP2_F0 = new QLabel("BP2_F0");
58 58 label_NORM_BP2_F1 = new QLabel("BP2_F1");
59 59 label_NORM_BP2_F2 = new QLabel("BP2_F2");
60 60 //
61 61 label_NORM_SWF_F0_nb = new QLabel("-");
62 62 label_NORM_SWF_F1_nb = new QLabel("-");
63 63 label_NORM_SWF_F2_nb = new QLabel("-");
64 64 label_NORM_CWF_F3_nb = new QLabel("-");
65 65 label_NORM_ASM_F0_nb = new QLabel("-");
66 66 label_NORM_ASM_F1_nb = new QLabel("-");
67 67 label_NORM_ASM_F2_nb = new QLabel("-");
68 68 label_NORM_BP1_F0_nb = new QLabel("-");
69 69 label_NORM_BP1_F1_nb = new QLabel("-");
70 70 label_NORM_BP1_F2_nb = new QLabel("-");
71 71 label_NORM_BP2_F0_nb = new QLabel("-");
72 72 label_NORM_BP2_F1_nb = new QLabel("-");
73 73 label_NORM_BP2_F2_nb = new QLabel("-");
74 74
75 75 //**********************
76 76 // TM_LFR_SCIENCE_BURST_
77 77 label_BURST_CWF_F2 = new QLabel("CWF_F2");
78 78 label_BURST_BP1_F0 = new QLabel("BP1_F0");
79 79 label_BURST_BP2_F0 = new QLabel("BP2_F0");
80 80 label_BURST_BP1_F1 = new QLabel("BP1_F1");
81 81 label_BURST_BP2_F1 = new QLabel("BP2_F1");
82 82 //
83 83 label_BURST_CWF_F2_nb = new QLabel("-");
84 84 label_BURST_BP1_F0_nb = new QLabel("-");
85 85 label_BURST_BP2_F0_nb = new QLabel("-");
86 86 label_BURST_BP1_F1_nb = new QLabel("-");
87 87 label_BURST_BP2_F1_nb = new QLabel("-");
88 88
89 89 //*********************
90 90 // TM_LFR_SCIENCE_SBM1_
91 91 label_SBM1_CWF_F1 = new QLabel("CWF_F1");
92 92 label_SBM1_BP1_F0 = new QLabel("BP1_F0");
93 93 label_SBM1_BP2_F0 = new QLabel("BP2_F0");
94 94 //
95 95 label_SBM1_CWF_F1_nb = new QLabel("-");
96 96 label_SBM1_BP1_F0_nb = new QLabel("-");
97 97 label_SBM1_BP2_F0_nb = new QLabel("-");
98 98
99 99 //*********************
100 100 // TM_LFR_SCIENCE_SBM2_
101 101 label_SBM2_CWF_F2 = new QLabel("CWF_F2");
102 102 label_SBM2_BP1_F0 = new QLabel("BP1_F0");
103 103 label_SBM2_BP2_F0 = new QLabel("BP2_F0");
104 104 label_SBM2_BP1_F1 = new QLabel("BP1_F1");
105 105 label_SBM2_BP2_F1 = new QLabel("BP2_F1");
106 106 //
107 107 label_SBM2_CWF_F2_nb = new QLabel("-");
108 108 label_SBM2_BP1_F0_nb = new QLabel("-");
109 109 label_SBM2_BP2_F0_nb = new QLabel("-");
110 110 label_SBM2_BP1_F1_nb = new QLabel("-");
111 111 label_SBM2_BP2_F1_nb = new QLabel("-");
112 112
113 113 //********
114 114 // LAST TM
115 115 label_PID = new QLabel("PID");
116 116 label_CAT = new QLabel("CAT");
117 117 label_TYP = new QLabel("Type");
118 118 label_SUB = new QLabel("Subtype");
119 119 label_SID = new QLabel("SID");
120 120 label_SIZ = new QLabel("Length");
121 121 label_coarse_time = new QLabel("Coarse time: ");
122 122 label_fine_time = new QLabel("Fine time: ");
123 123 //
124 124 label_PID_is = new QLabel("-");
125 125 label_CAT_is = new QLabel("-");
126 126 label_TYP_is = new QLabel("-");
127 127 label_SUB_is = new QLabel("-");
128 128 label_SID_is = new QLabel("-");
129 129 label_SIZ_is = new QLabel("-");
130 130 label_coarse_time_val = new QLabel("-");
131 131 label_fine_time_val = new QLabel("-");
132 132
133 133 // QPushButton
134 134 button_reset_stat = new QPushButton("reset stat");
135 button_record = new QPushButton("REC");
136 135 button_chooseDir = new QPushButton("choose dir");
137 136
137 //QCheckBox
138 checkbox_record = new QCheckBox("Record packets");
139 checkbox_packetLog = new QCheckBox("Log packets");
140 label_currentDir = new QLabel("Current Dir: -");
141
138 142 //**********
139 143 // QGroupBox
140 144 this->setStyleSheet("QGroupBox {border: 1px solid black; }");
141 145
142 146 groupbox_stat = new QGroupBox("TM_LFR_TC_EXE_");
143 147 groupbox_NORM = new QGroupBox("TM_LFR_SCIENCE_NORMAL_");
144 148 groupbox_BURST = new QGroupBox("TM_LFR_SCIENCE_BURST_");
145 149 groupbox_SBM1 = new QGroupBox("TM_LFR_SCIENCE_SBM1_");
146 150 groupbox_SBM2 = new QGroupBox("TM_LFR_SCIENCE_SBM2_");
147 151 groupbox_last = new QGroupBox("Last TM received");
148 152 groupbox_record = new QGroupBox("Packet recording");
149 153
150 groupbox_stat->setFont(font);
151 groupbox_NORM->setFont(font);
152 groupbox_BURST->setFont(font);
153 groupbox_SBM1->setFont(font);
154 groupbox_SBM2->setFont(font);
155 groupbox_last->setFont(font);
156 groupbox_record->setFont(font);
157
158 154 readSettings();
159 155 logFile = new QFile();
156 packetLogFile = new QFile();
160 157 logFileEn = false;
158 packetLogFileEn = false;
161 159
162 160 initConstants();
163 161
164 162 buildMonitor_NORM();
165 163 buildMonitor_BURST();
166 164 buildMonitor_SBM1();
167 165 buildMonitor_SBM2();
168 166 buildMonitor();
169 167
168 groupbox_stat->setFont(font);
169 groupbox_NORM->setFont(font);
170 groupbox_BURST->setFont(font);
171 groupbox_SBM1->setFont(font);
172 groupbox_SBM2->setFont(font);
173 groupbox_last->setFont(font);
174 groupbox_record->setFont(font);
175
170 176 connect(this->button_reset_stat, SIGNAL(clicked()), this, SLOT(resetStatistics()));
171 connect(this->button_record, SIGNAL(clicked()), this, SLOT(storePackets()));
172 177 connect(this->button_chooseDir, SIGNAL(clicked()), this, SLOT(chooseDir()));
178
179 connect(this->checkbox_record, SIGNAL(stateChanged(int)), this, SLOT(storePackets(int)));
180 connect(this->checkbox_packetLog, SIGNAL(stateChanged(int)), this, SLOT(logPackets(int)));
173 181 }
174 182
175 183 void TMStatistics::initConstants()
176 184 {
177 185 UNKNOWN_nb = 0;
178 186
179 187 // TM_LFR_TC_EXE_
180 188 SUCC_nb = 0;
181 189 INCO_nb = 0;
182 190 NOTE_nb = 0;
183 191 NOTI_nb = 0;
184 192 ERRO_nb = 0;
185 193 CORR_nb = 0;
186 194 HK_nb = 0;
187 195 DUMP_nb = 0;
188 196
189 197 // TM_LFR_SCIENCE_NORMAL_
190 198 NORM_SWF_F0_nb = 0;
191 199 NORM_SWF_F1_nb = 0;
192 200 NORM_SWF_F2_nb = 0;
193 201 NORM_CWF_F3_nb = 0;
194 202 NORM_ASM_F0_nb = 0;
195 203 NORM_ASM_F1_nb = 0;
196 204 NORM_ASM_F2_nb = 0;
197 205 NORM_BP1_F0_nb = 0;
198 206 NORM_BP1_F1_nb = 0;
199 207 NORM_BP1_F2_nb = 0;
200 208 NORM_BP2_F0_nb = 0;
201 209 NORM_BP2_F1_nb = 0;
202 210 NORM_BP2_F2_nb = 0;
203 211
204 212 BURST_CWF_F2_nb = 0;
205 213 BURST_BP1_F0_nb = 0;
206 214 BURST_BP2_F0_nb = 0;
207 215 BURST_BP1_F1_nb = 0;
208 216 BURST_BP2_F1_nb = 0;
209 217 SBM1_CWF_F1_nb = 0;
210 218 SBM1_BP1_F0_nb = 0;
211 219 SBM1_BP2_F0_nb = 0;
212 220 SBM2_CWF_F2_nb = 0;
213 221 SBM2_BP1_F0_nb = 0;
214 222 SBM2_BP2_F0_nb = 0;
215 223 SBM2_BP1_F1_nb = 0;
216 224 SBM2_BP2_F1_nb = 0;
217 225 }
218 226
219 227 void TMStatistics::buildMonitor_NORM()
220 228 {
221 229 layout_NORM->addWidget(label_NORM_SWF_F0, 0, 0, 1, 1);
222 230 layout_NORM->addWidget(label_NORM_SWF_F1, 1, 0, 1, 1);
223 231 layout_NORM->addWidget(label_NORM_SWF_F2, 2, 0, 1, 1);
224 232 layout_NORM->addWidget(label_NORM_CWF_F3, 3, 0, 1, 1);
225 233 //
226 234 layout_NORM->addWidget(label_NORM_SWF_F0_nb, 0, 1, 1, 1);
227 235 layout_NORM->addWidget(label_NORM_SWF_F1_nb, 1, 1, 1, 1);
228 236 layout_NORM->addWidget(label_NORM_SWF_F2_nb, 2, 1, 1, 1);
229 237 layout_NORM->addWidget(label_NORM_CWF_F3_nb, 3, 1, 1, 1);
230 238 //
231 239 layout_NORM->addWidget(label_NORM_ASM_F0, 4, 0, 1, 1);
232 240 layout_NORM->addWidget(label_NORM_ASM_F1, 5, 0, 1, 1);
233 241 layout_NORM->addWidget(label_NORM_ASM_F2, 6, 0, 1, 1);
234 242 //
235 243 layout_NORM->addWidget(label_NORM_ASM_F0_nb, 4, 1, 1, 1);
236 244 layout_NORM->addWidget(label_NORM_ASM_F1_nb, 5, 1, 1, 1);
237 245 layout_NORM->addWidget(label_NORM_ASM_F2_nb, 6, 1, 1, 1);
238 246 //
239 247 layout_NORM->addWidget(label_NORM_BP1_F0, 0, 2, 1, 1);
240 248 layout_NORM->addWidget(label_NORM_BP1_F1, 1, 2, 1, 1);
241 249 layout_NORM->addWidget(label_NORM_BP1_F2, 2, 2, 1, 1);
242 250 layout_NORM->addWidget(label_NORM_BP2_F0, 3, 2, 1, 1);
243 251 layout_NORM->addWidget(label_NORM_BP2_F1, 4, 2, 1, 1);
244 252 layout_NORM->addWidget(label_NORM_BP2_F2, 5, 2, 1, 1);
245 253 //
246 254 layout_NORM->addWidget(label_NORM_BP1_F0_nb, 0, 3, 1, 1);
247 255 layout_NORM->addWidget(label_NORM_BP1_F1_nb, 1, 3, 1, 1);
248 256 layout_NORM->addWidget(label_NORM_BP1_F2_nb, 2, 3, 1, 1);
249 257 layout_NORM->addWidget(label_NORM_BP2_F0_nb, 3, 3, 1, 1);
250 258 layout_NORM->addWidget(label_NORM_BP2_F1_nb, 4, 3, 1, 1);
251 259 layout_NORM->addWidget(label_NORM_BP2_F2_nb, 5, 3, 1, 1);
252 260 }
253 261
254 262 void TMStatistics::buildMonitor_BURST()
255 263 {
256 264 layout_BURST->addWidget(label_BURST_CWF_F2, 0, 0, 1, 1);
257 265 layout_BURST->addWidget(label_BURST_BP1_F0, 1, 0, 1, 1);
258 266 layout_BURST->addWidget(label_BURST_BP2_F0, 2, 0, 1, 1);
259 267 layout_BURST->addWidget(label_BURST_BP1_F1, 3, 0, 1, 1);
260 268 layout_BURST->addWidget(label_BURST_BP2_F1, 4, 0, 1, 1);
261 269 //
262 270 layout_BURST->addWidget(label_BURST_CWF_F2_nb, 0, 1, 1, 1);
263 271 layout_BURST->addWidget(label_BURST_BP1_F0_nb, 1, 1, 1, 1);
264 272 layout_BURST->addWidget(label_BURST_BP2_F0_nb, 2, 1, 1, 1);
265 273 layout_BURST->addWidget(label_BURST_BP1_F1_nb, 3, 1, 1, 1);
266 274 layout_BURST->addWidget(label_BURST_BP2_F1_nb, 4, 1, 1, 1);
267 275 //
268 276 layout_BURST->setRowStretch(5, 1);
269 277 layout_BURST->setColumnStretch(2,1);
270 278 }
271 279
272 280 void TMStatistics::buildMonitor_SBM1()
273 281 {
274 282 layout_SBM1->addWidget(label_SBM1_CWF_F1, 0, 0, 1, 1);
275 283 layout_SBM1->addWidget(label_SBM1_BP1_F0, 1, 0, 1, 1);
276 284 layout_SBM1->addWidget(label_SBM1_BP2_F0, 2, 0, 1, 1);
277 285 //
278 286 layout_SBM1->addWidget(label_SBM1_CWF_F1_nb, 0, 1, 1, 1);
279 287 layout_SBM1->addWidget(label_SBM1_BP1_F0_nb, 1, 1, 1, 1);
280 288 layout_SBM1->addWidget(label_SBM1_BP2_F0_nb, 2, 1, 1, 1);
281 289 //
282 290 layout_SBM1->setRowStretch(3, 1);
283 291 layout_SBM1->setColumnStretch(2,1);
284 292 }
285 293
286 294 void TMStatistics::buildMonitor_SBM2()
287 295 {
288 296 layout_SBM2->addWidget(label_SBM2_CWF_F2, 0, 0, 1, 1);
289 297 layout_SBM2->addWidget(label_SBM2_BP1_F0, 1, 0, 1, 1);
290 298 layout_SBM2->addWidget(label_SBM2_BP2_F0, 2, 0, 1, 1);
291 299 layout_SBM2->addWidget(label_SBM2_BP1_F1, 3, 0, 1, 1);
292 300 layout_SBM2->addWidget(label_SBM2_BP2_F1, 4, 0, 1, 1);
293 301 //
294 302 layout_SBM2->addWidget(label_SBM2_CWF_F2_nb, 0, 1, 1, 1);
295 303 layout_SBM2->addWidget(label_SBM2_BP1_F0_nb, 1, 1, 1, 1);
296 304 layout_SBM2->addWidget(label_SBM2_BP2_F0_nb, 2, 1, 1, 1);
297 305 layout_SBM2->addWidget(label_SBM2_BP1_F1_nb, 3, 1, 1, 1);
298 306 layout_SBM2->addWidget(label_SBM2_BP2_F1_nb, 4, 1, 1, 1);
299 307 //
300 308 layout_SBM2->setRowStretch(5, 1);
301 309 layout_SBM2->setColumnStretch(2,1);
302 310 }
303 311
304 312 void TMStatistics::buildMonitor()
305 313 {
306 314 //***************
307 315 // TM_LFR_TC_EXE_
308 316 layout_stat->addWidget(label_SUCC, 0, 0, 1, 1);
309 317 layout_stat->addWidget(label_INCO, 1, 0, 1, 1);
310 318 layout_stat->addWidget(label_NOTE, 2, 0, 1, 1);
311 319 layout_stat->addWidget(label_NOTI, 3, 0, 1, 1);
312 320 layout_stat->addWidget(label_ERRO, 4, 0, 1, 1);
313 321 layout_stat->addWidget(label_CORR, 5, 0, 1, 1);
314 322 layout_stat->addWidget(label_HK, 6, 0, 1, 1);
315 323 layout_stat->addWidget(label_DUMP, 7, 0, 1, 1);
316 324 //
317 325 layout_stat->addWidget(label_SUCC_nb, 0, 1, 1, 1);
318 326 layout_stat->addWidget(label_INCO_nb, 1, 1, 1, 1);
319 327 layout_stat->addWidget(label_NOTE_nb, 2, 1, 1, 1);
320 328 layout_stat->addWidget(label_NOTI_nb, 3, 1, 1, 1);
321 329 layout_stat->addWidget(label_ERRO_nb, 4, 1, 1, 1);
322 330 layout_stat->addWidget(label_CORR_nb, 5, 1, 1, 1);
323 331 layout_stat->addWidget(label_HK_nb, 6, 1, 1, 1);
324 332 layout_stat->addWidget(label_DUMP_nb, 7, 1, 1, 1);
325 333
326 334 //********
327 335 // LAST TM
328 336 layout_last->addWidget(label_PID, 0, 0, 1, 1);
329 337 layout_last->addWidget(label_CAT, 0, 1, 1, 1);
330 338 layout_last->addWidget(label_TYP, 0, 2, 1, 1);
331 339 layout_last->addWidget(label_SUB, 0, 3, 1, 1);
332 340 layout_last->addWidget(label_SID, 0, 4, 1, 1);
333 341 layout_last->addWidget(label_SIZ, 0, 5, 1, 1);
334 342 //
335 343 layout_last->addWidget(label_PID_is, 1, 0, 1, 1);
336 344 layout_last->addWidget(label_CAT_is, 1, 1, 1, 1);
337 345 layout_last->addWidget(label_TYP_is, 1, 2, 1, 1);
338 346 layout_last->addWidget(label_SUB_is, 1, 3, 1, 1);
339 347 layout_last->addWidget(label_SID_is, 1, 4, 1, 1);
340 348 layout_last->addWidget(label_SIZ_is, 1, 5, 1, 1);
341 349 //
342 350 layout_last->addWidget(label_coarse_time, 2, 0, 1, 1);
343 351 layout_last->addWidget(label_coarse_time_val, 2, 1, 1, 1);
344 352 layout_last->addWidget(label_fine_time, 2, 2, 1, 1);
345 353 layout_last->addWidget(label_fine_time_val, 2, 3, 1, 1);
346 354 //
347 355 layout_last->addWidget(label_UNKNOWN, 3, 0, 1, 1);
348 356 layout_last->addWidget(label_UNKNOWN_nb, 3, 1, 1, 1);
349 357
350 layout_record->addWidget(button_record);
358 layout_record->addWidget(checkbox_record);
359 layout_record->addWidget(checkbox_packetLog);
351 360 layout_record->addWidget(button_chooseDir);
352 layout_record->insertStretch(2, 1);
361 layout_record->addWidget(label_currentDir);
362 layout_record->insertStretch(4, 1);
353 363
354 364 //***********
355 365 // groupboxes
356 366 groupbox_stat->setLayout(layout_stat);
357 367 groupbox_NORM->setLayout(layout_NORM);
358 368 groupbox_BURST->setLayout(layout_BURST);
359 369 groupbox_SBM1->setLayout(layout_SBM1);
360 370 groupbox_SBM2->setLayout(layout_SBM2);
361 371 groupbox_last->setLayout(layout_last);
362 372 groupbox_record->setLayout(layout_record);
363 373 //
364 374 mainLayout->addWidget(groupbox_stat, 0, 0, 1, 1);
365 375 mainLayout->addWidget(groupbox_NORM, 1, 0, 1, 1);
366 376 mainLayout->addWidget(groupbox_last, 2, 0, 1, 2);
367 377 mainLayout->addWidget(groupbox_SBM1, 0, 1, 1, 1);
368 378 mainLayout->addWidget(groupbox_SBM2, 0, 2, 1, 1);
369 379 mainLayout->addWidget(groupbox_BURST, 1, 1, 1, 1);
370 380 mainLayout->addWidget(groupbox_record, 1, 2, 1, 1);
371 381 mainLayout->addWidget(button_reset_stat, 3, 0, 1, 3);
372 382 mainLayout->setColumnStretch(3, 1);
373 383 mainLayout->setRowStretch(4, 1);
374 384 //
375 385 this->setLayout(mainLayout);
376 386 }
377 387
378 388 void TMStatistics::resetStatistics()
379 389 {
380 390 initConstants();
381 391 //
382 392 label_UNKNOWN_nb->setText("-");
383 393 label_SUCC_nb->setText("-");
384 394 label_INCO_nb->setText("-");
385 395 label_NOTE_nb->setText("-");
386 396 label_NOTI_nb->setText("-");
387 397 label_ERRO_nb->setText("-");
388 398 label_CORR_nb->setText("-");
389 399 label_HK_nb->setText("-");
390 400 label_DUMP_nb->setText("-");
391 401 //
392 402 label_NORM_SWF_F0_nb->setText("-");
393 403 label_NORM_SWF_F1_nb->setText("-");
394 404 label_NORM_SWF_F2_nb->setText("-");
395 405 label_NORM_CWF_F3_nb->setText("-");
396 406 label_NORM_ASM_F0_nb->setText("-");
397 407 //
398 408 label_BURST_CWF_F2_nb->setText("-");
399 409 //
400 410 label_SBM1_CWF_F1_nb->setText("-");
401 411 //
402 412 label_SBM2_CWF_F2_nb->setText("-");
403 413 //
404 414 label_PID_is->setText("-");
405 415 label_CAT_is->setText("-");
406 416 label_TYP_is->setText("-");
407 417 label_SUB_is->setText("-");
408 418 label_SID_is->setText("-");
409 419 label_SIZ_is->setText("-");
410 420 //
411 421 label_coarse_time_val->setText("-");
412 422 label_fine_time_val->setText("-");
413 423 }
414 424
415 425 void TMStatistics::updateStatistics(unsigned char pid, unsigned char cat,
416 426 unsigned char typ, unsigned char sub,
417 427 unsigned int sid, unsigned int length,
418 428 unsigned int coarse_t, unsigned int fine_t)
419 429 {
420 if (cat == 1)
430 if (cat == TM_PACKET_CAT_TC_EXE)
421 431 {
422 432 if (typ == TM_TYPE_TC_EXE)
423 433 {
424 434 if (sub == TM_SUBTYPE_EXE_OK)
425 435 {
426 436 SUCC_nb = SUCC_nb + 1;
427 437 label_SUCC_nb->setText(QString::number(SUCC_nb));
428 438 }
429 439 else if (sub == TM_SUBTYPE_EXE_NOK)
430 440 {
431 441 if (sid == SID_EXE_INC)
432 442 {
433 443 INCO_nb = INCO_nb + 1;
434 444 label_INCO_nb->setText(QString::number(INCO_nb));
435 445 }
436 446 else if (sid == SID_NOT_EXE)
437 447 {
438 448 NOTE_nb = NOTE_nb + 1;
439 449 label_NOTE_nb->setText(QString::number(NOTE_nb));
440 450 }
441 451 else if (sid == SID_NOT_IMP)
442 452 {
443 453 NOTI_nb = NOTI_nb + 1;
444 454 label_NOTI_nb->setText(QString::number(NOTI_nb));
445 455 }
446 456 else if (sid == SID_EXE_ERR)
447 457 {
448 458 ERRO_nb = ERRO_nb + 1;
449 459 label_ERRO_nb->setText(QString::number(ERRO_nb));
450 460 }
451 461 else if (sid == SID_EXE_CORR)
452 462 {
453 463 CORR_nb = CORR_nb + 1;
454 464 label_CORR_nb->setText(QString::number(CORR_nb));
455 465 }
456 466 else incrementUnknown();
457 467 }
458 468 else incrementUnknown();
459 469 }
460 470 else
461 471 incrementUnknown();
462 472 }
463 else if (cat == 4)
473 else if (cat == TM_PACKET_CAT_HK)
464 474 {
465 475 if (typ == TM_TYPE_HK)
466 476 {
467 477 if (sub == TM_SUBTYPE_HK)
468 478 if (sid == SID_HK)
469 479 {
470 480 HK_nb = HK_nb + 1;
471 481 label_HK_nb->setText(QString::number(HK_nb));
472 482 }
473 483 else
474 484 {
475 485 incrementUnknown();
476 486 }
477 487 else
478 488 {
479 489 incrementUnknown();
480 490 }
481 491 }
482 492 else
483 493 {
484 494 incrementUnknown();
485 495 }
486 496 }
487 else if (cat == 9)
497 else if (cat == TM_PACKET_CAT_PARAMETER_DUMP)
488 498 {
489 499 if (typ == TM_TYPE_PARAMETER_DUMP)
490 500 {
491 501 if (sub == TM_SUBTYPE_PARAMETER_DUMP)
492 502 if (sid == SID_PARAMETER_DUMP)
493 503 {
494 504 DUMP_nb = DUMP_nb + 1;
495 505 label_DUMP_nb->setText(QString::number(DUMP_nb));
496 506 }
497 507 else
498 508 {
499 509 incrementUnknown();
500 510 }
501 511 else
502 512 {
503 513 incrementUnknown();
504 514 }
505 515 }
506 516 else
507 517 {
508 518 incrementUnknown();
509 519 }
510 520 }
511 else if (cat == 12)
521 else if (cat == TM_PACKET_CAT_SCIENCE)
512 522 {
513 if (typ == 21)
523 if (typ == TM_TYPE_LFR_SCIENCE)
514 524 {
515 if (sub == 3)
525 if (sub == TM_SUBTYPE_SCIENCE)
516 526 {
517 527 if (sid == SID_NORM_CWF_F3)
518 528 {
519 529 NORM_CWF_F3_nb = NORM_CWF_F3_nb + 1;
520 530 label_NORM_CWF_F3_nb->setText(QString::number(NORM_CWF_F3_nb));
521 531 }
522 532 else if (sid == SID_BURST_CWF_F2)
523 533 {
524 534 BURST_CWF_F2_nb = BURST_CWF_F2_nb + 1;
525 535 label_BURST_CWF_F2_nb->setText(QString::number(BURST_CWF_F2_nb));
526 536 }
527 537 else if (sid == SID_NORM_SWF_F0)
528 538 {
529 539 NORM_SWF_F0_nb = NORM_SWF_F0_nb + 1;
530 540 label_NORM_SWF_F0_nb->setText(QString::number(NORM_SWF_F0_nb));
531 541 }
532 542 else if (sid == SID_NORM_SWF_F1)
533 543 {
534 544 NORM_SWF_F1_nb = NORM_SWF_F1_nb + 1;
535 545 label_NORM_SWF_F1_nb->setText(QString::number(NORM_SWF_F1_nb));
536 546 }
537 547 else if (sid == SID_NORM_SWF_F2)
538 548 {
539 549 NORM_SWF_F2_nb = NORM_SWF_F2_nb + 1;
540 550 label_NORM_SWF_F2_nb->setText(QString::number(NORM_SWF_F2_nb));
541 551 }
542 552 else if (sid == SID_NORM_ASM_F0)
543 553 {
544 554 NORM_ASM_F0_nb = NORM_ASM_F0_nb + 1;
545 555 label_NORM_ASM_F0_nb->setText(QString::number(NORM_ASM_F0_nb));
546 556 }
547 557 else if (sid == SID_SBM1_CWF_F1)
548 558 {
549 559 SBM1_CWF_F1_nb = SBM1_CWF_F1_nb + 1;
550 560 label_SBM1_CWF_F1_nb->setText(QString::number(SBM1_CWF_F1_nb));
551 561 }
552 562 else if (sid == SID_SBM2_CWF_F2)
553 563 {
554 564 SBM2_CWF_F2_nb = SBM2_CWF_F2_nb + 1;
555 565 label_SBM2_CWF_F2_nb->setText(QString::number(SBM2_CWF_F2_nb));
556 566 }
557 567 else
558 568 {
559 569 incrementUnknown();
560 570 }
561 571 }
562 572 }
563 573 else
564 574 {
565 575 incrementUnknown();
566 576 }
567 577 }
568 578 else
569 579 {
570 580 incrementUnknown();
571 581 }
572 582
573 583 label_PID_is->setText(QString::number(pid));
574 584 label_CAT_is->setText(QString::number(cat));
575 585 label_TYP_is->setText(QString::number(typ));
576 586 label_SUB_is->setText(QString::number(sub));
577 587 label_SID_is->setText(QString::number(sid));
578 588 label_SIZ_is->setText(QString::number(length));
579 589 label_coarse_time_val->setText(QString::number(coarse_t, 16));
580 590 label_fine_time_val->setText(QString::number(fine_t, 16));
581 591 }
582 592
583 593 void TMStatistics::incrementUnknown()
584 594 {
585 595 UNKNOWN_nb = UNKNOWN_nb + 1;
586 596 label_UNKNOWN_nb->setText(QString::number(UNKNOWN_nb));
587 597 }
588 598
589 599 unsigned char TMStatistics::getPID(TMPacketToRead *packet)
590 600 {
591 601 unsigned char pid = 0;
592 602
593 603 pid = ((packet->Value[4] & 0x07) << 4) + ((packet->Value[5] & 0xf0) >> 4);
594 604
595 605 return pid;
596 606 }
597 607
598 608 unsigned char TMStatistics::getCAT(TMPacketToRead *packet)
599 609 {
600 610 unsigned char cat = 0;
601 611
602 612 cat = packet->Value[5] & 0x0f;
603 613
604 614 return cat;
605 615 }
606 616
607 617 unsigned char TMStatistics::getTYPE(TMPacketToRead *packet)
608 618 {
609 619 unsigned char typ = 0;
610 620
611 621 typ = packet->Value[11]; // TYPE
612 622
613 623 return typ;
614 624 }
615 625
616 626 unsigned char TMStatistics::getSUBTYPE(TMPacketToRead *packet)
617 627 {
618 628 unsigned char sub = 0;
619 629
620 630 sub = packet->Value[12]; // SUBTYPE
621 631
622 632 return sub;
623 633 }
624 634
625 635 unsigned int TMStatistics::getLENGTH(TMPacketToRead *packet)
626 636 {
627 637 unsigned int length = 0;
628 638
629 639 length = packet->Value[8] * 256 + packet->Value[9];
630 640
631 641 return length;
632 642 }
633 643
634 644 unsigned int TMStatistics::getCoarseTime(TMPacketToRead *packet)
635 645 {
636 646 unsigned int coarse = 0;
637 647
638 648 coarse = packet->Value[14] * pow(2, 24) + packet->Value[15] * pow(2, 16)
639 649 + packet->Value[16] * pow(2, 8) + packet->Value[17];
640 650
641 651 return coarse;
642 652 }
643 653
644 654 unsigned int TMStatistics::getFineTime(TMPacketToRead *packet)
645 655 {
646 656 unsigned int fine = 0;
647 657
648 658 fine = packet->Value[18] * pow(2, 8) + packet->Value[19];
649 659
650 660 return fine;
651 661 }
652 662
653 663 unsigned int TMStatistics::getSID(TMPacketToRead *packet,
654 664 unsigned char pid, unsigned char cat,
655 665 unsigned char typ, unsigned char sub)
656 666 {
657 667 unsigned int sid = 0;
658 668 QByteArray packetAsAnArray;
669 QString packetName;
670 QTime currentTime;
671 QDate currentDate;
659 672
660 if ((pid == 76) & (cat == 1) & (typ == TM_TYPE_TC_EXE) & (sub == TM_SUBTYPE_EXE_NOK))
673 if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_TC_EXE)
674 & (typ == TM_TYPE_TC_EXE) & (sub == TM_SUBTYPE_EXE_NOK))
661 675 sid = packet->Value[20] * 256 + packet->Value[21];
662 else if ((pid == 76) & (cat == 4) & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK))
676 else if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_HK)
677 & (typ == TM_TYPE_HK) & (sub == TM_SUBTYPE_HK))
663 678 sid = SID_HK;
664 else if ((pid == 76) & (cat == 9) & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP))
679 else if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_PARAMETER_DUMP)
680 & (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP))
665 681 sid = SID_PARAMETER_DUMP;
666 else if ((pid == 76) & (cat == 12) & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
682 else if ((pid == TM_PACKET_PID_DEFAULT) & (cat == TM_PACKET_CAT_SCIENCE)
683 & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
667 684 sid = packet->Value[20];
668 else if ((pid == 79) & (cat == 12) & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
685 else if ((pid == TM_PACKET_PID_BURST_SBM1_SBM2) & (cat == TM_PACKET_CAT_SCIENCE)
686 & (typ == TM_TYPE_LFR_SCIENCE) & (sub == TM_SUBTYPE_LFR_SCIENCE))
669 687 sid = packet->Value[20];
670 688
671 689 if (logFileEn == true)
672 690 {
673 691 packetAsAnArray = QByteArray::fromRawData((char *) &packet->Value[4], (packet->size-4)).toHex();
674 692 *(this->logFileStrm)
675 693 << QDate::currentDate().toString() + " "
676 694 << QTime::currentTime().toString() << endl
677 695 << packetAsAnArray
678 696 << endl
679 697 << endl;
680 698 }
681 699
700 if (packetLogFileEn == true)
701 {
702 currentTime = QTime::currentTime();
703 currentDate = QDate::currentDate();
704 packetName = getPacketName( typ, sub, sid);
705
706 *(this->packetLogFileStrm)
707 << QString::number(currentDate.year()) + " "
708 << QString::number(currentDate.month()) + " "
709 << QString::number(currentDate.day()) + " "
710 << QTime::currentTime().toString() + ":"
711 << QString::number(currentTime.msec()) + " "
712 << packetName
713 << " time = 0x " + QString::number(
714 (packet->Value[14] << 24) + (packet->Value[15] << 16) + (packet->Value[16] << 8) + packet->Value[17],
715 16).right(8)
716 << " " + QString::number( (packet->Value[18] << 8) + packet->Value[19], 16)
717 << endl;
718 }
719
682 720 return sid;
683 721 }
684 722
685 723 void TMStatistics::buildFileName()
686 724 {
687 725 QString date;
688 726 QString time;
689 727 QString prefix;
690 728
691 729 date = QDate::currentDate().toString();
692 730 time = QTime::currentTime().toString();
693 731
694 732 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" ;
695 733
696
697 734 if(this->logFile->isOpen()) this->logFile->close();
698 735 this->logFile->setFileName( prefix + "packet_record.data");
699 736 if(this->logFile->open(QIODevice::WriteOnly)) this->logFileStrm = new QTextStream(this->logFile);
700 737 }
701 738
702 void TMStatistics::storePackets()
739 void TMStatistics::buildPacketLogFileName()
703 740 {
704 if (logFileEn == false)
741 QString date;
742 QString time;
743 QString prefix;
744
745 date = QDate::currentDate().toString();
746 time = QTime::currentTime().toString();
747
748 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" ;
749
750 if(this->packetLogFile->isOpen()) this->packetLogFile->close();
751 this->packetLogFile->setFileName( prefix + "packet_log.data");
752 if(this->packetLogFile->open(QIODevice::WriteOnly)) this->packetLogFileStrm = new QTextStream(this->packetLogFile);
753 }
754
755 void TMStatistics::storePackets( int state )
756 {
757 if (state == Qt::Checked)
705 758 {
706 759 buildFileName();
707 button_record->setText(tr("STOP"));
708 760 logFileEn = true;
709 761 }
710 762 else
711 763 {
712 764 if(this->logFile->isOpen()) this->logFile->close();
713 button_record->setText(tr("REC"));
714 765 logFileEn = false;
715 766 }
716 767 }
717 768
769 void TMStatistics::logPackets( int state )
770 {
771 if (state == Qt::Checked)
772 {
773 buildPacketLogFileName();
774 packetLogFileEn = true;
775 }
776 else
777 {
778 if(this->packetLogFile->isOpen()) this->packetLogFile->close();
779 packetLogFileEn = false;
780 }
781 }
782
718 783 void TMStatistics::readSettings()
719 784 {
720 785 QSettings settings("lpp", "lfrsgse");
721 786 defaultStorageDirectory = settings.value("defaultStorageDirectory", QDir::homePath()).toString();
787 label_currentDir->setText(defaultStorageDirectory);
722 788 }
723 789
724 790 void TMStatistics::writeSettings()
725 791 {
726 792 QSettings settings("lpp", "lfrsgse");
727 793 settings.setValue("defaultStorageDirectory", defaultStorageDirectory);
728 794 }
729 795
730 796 void TMStatistics::chooseDir()
731 797 {
732 798 defaultStorageDirectory = QFileDialog::getExistingDirectory(this,
733 799 "choose the directory",
734 800 QDir::homePath(),
735 801 QFileDialog::ShowDirsOnly);
802 label_currentDir->setText(defaultStorageDirectory);
736 803 }
737 804
738 805 void TMStatistics::closeEvent(QCloseEvent *event)
739 806 {
740 807 if(this->logFile->isOpen())
741 808 {
742 809 this->logFileStrm->flush();
743 810 this->logFile->waitForBytesWritten(3000);
744 811 this->logFile->close();
745 812 }
746 813 writeSettings();
747 814 event->accept();
748 815 }
749 816
817 QString TMStatistics::getPacketName(unsigned char type, unsigned char subtype, unsigned int sid)
818 {
819 QString packetName = "default";
820 if (type == TM_TYPE_TC_EXE)
821 {
822 if (subtype== TM_SUBTYPE_EXE_OK) packetName = "TM_LFR_TC_EXE_SUCCESS";
823 if (subtype == TM_SUBTYPE_EXE_NOK)
824 {
825 if (sid == SID_EXE_INC) packetName = "TM_LFR_TC_EXE_INCONSISTENT";
826 if (sid == SID_NOT_EXE) packetName = "TM_LFR_TC_EXE_NOT_EXECUTABLE";
827 if (sid == SID_NOT_IMP) packetName = "TM_LFR_TC_EXE_NOT_IMPLEMENTED";
828 if (sid == SID_EXE_ERR) packetName = "TM_LFR_TC_EXE_ERROR";
829 if (sid == SID_EXE_CORR) packetName = "TM_LFR_TC_EXE_CORRUPTED";
830 }
831 }
832 if (type == TM_TYPE_HK)
833 {
834 if (subtype == TM_SUBTYPE_HK)
835 {
836 if (sid == SID_HK) packetName = "TM_LFR_HK";
837 if (sid == SID_PARAMETER_DUMP) packetName = "TM_LFR_PARAMETER_DUMP";
838 }
839 }
840 if (type == TM_TYPE_LFR_SCIENCE)
841 {
842 if (subtype == TM_SUBTYPE_SCIENCE)
843 {
844 if (sid == SID_NORM_SWF_F0) packetName = "TM_LFR_SCIENCE_NORMAL_SWF_F0";
845 if (sid == SID_NORM_SWF_F1) packetName = "TM_LFR_SCIENCE_NORMAL_SWF_F1";
846 if (sid == SID_NORM_SWF_F2) packetName = "TM_LFR_SCIENCE_NORMAL_SWF_F2";
847 if (sid == SID_NORM_CWF_F3) packetName = "TM_LFR_SCIENCE_NORMAL_CWF_F3";
848 if (sid == SID_BURST_CWF_F2) packetName = "TM_LFR_SCIENCE_BURST_CWF_F2";
849 if (sid == SID_SBM1_CWF_F1) packetName = "TM_LFR_SCIENCE_SBM1_CWF_F1";
850 if (sid == SID_SBM2_CWF_F2) packetName = "TM_LFR_SCIENCE_SBM2_CWF_F2";
851 if (sid == SID_NORM_ASM_F0) packetName = "TM_LFR_SCIENCE_NORMAL_ASM_F0";
852 if (sid == SID_NORM_ASM_F1) packetName = "TM_LFR_SCIENCE_NORMAL_ASM_F1";
853 if (sid == SID_NORM_ASM_F2) packetName = "TM_LFR_SCIENCE_NORMAL_ASM_F2";
854 if (sid == SID_NORM_BP1_F0) packetName = "TM_LFR_SCIENCE_NORMAL_BP1_F0";
855 if (sid == SID_NORM_BP1_F1) packetName = "TM_LFR_SCIENCE_NORMAL_BP1_F1";
856 if (sid == SID_NORM_BP1_F2) packetName = "TM_LFR_SCIENCE_NORMAL_BP1_F2";
857 if (sid == SID_NORM_BP2_F0) packetName = "TM_LFR_SCIENCE_NORMAL_BP2_F0";
858 if (sid == SID_NORM_BP2_F1) packetName = "TM_LFR_SCIENCE_NORMAL_BP2_F1";
859 if (sid == SID_NORM_BP2_F2) packetName = "TM_LFR_SCIENCE_NORMAL_BP2_F2";
860 if (sid == SID_BURST_BP1_F0) packetName = "TM_LFR_SCIENCE_BURST_BP1_F0";
861 if (sid == SID_BURST_BP2_F0) packetName = "TM_LFR_SCIENCE_BURST_BP2_F0";
862 if (sid == SID_BURST_BP1_F1) packetName = "TM_LFR_SCIENCE_BURST_BP1_F1";
863 if (sid == SID_BURST_BP2_F1) packetName = "TM_LFR_SCIENCE_BURST_BP2_F1";
864 if (sid == SID_SBM1_BP1_F0) packetName = "TM_LFR_SCIENCE_SBM1_BP1_F0";
865 if (sid == SID_SBM1_BP2_F0) packetName = "TM_LFR_SCIENCE_SBM1_BP2_F0";
866 if (sid == SID_SBM2_BP1_F0) packetName = "TM_LFR_SCIENCE_SBM2_BP1_F0";
867 if (sid == SID_SBM2_BP2_F0) packetName = "TM_LFR_SCIENCE_SBM2_BP2_F0";
868 if (sid == SID_SBM2_BP1_F1) packetName = "TM_LFR_SCIENCE_SBM2_BP1_F1";
869 if (sid == SID_SBM2_BP2_F1) packetName = "TM_LFR_SCIENCE_SBM2_BP2_F1";
870 }
871 }
872
873 return packetName;
874 }
@@ -1,237 +1,249
1 1 #ifndef TMSTATISTICS_H
2 2 #define TMSTATISTICS_H
3 3
4 4 #include <QWidget>
5 5 #include <QLabel>
6 6 #include <QPushButton>
7 7 #include <QGridLayout>
8 8 #include <QVBoxLayout>
9 9 #include <QGroupBox>
10 10 #include <QFile>
11 11 #include <QTextStream>
12 12 #include <tmpackettoread.h>
13 13 #include <ccsds_types.h>
14 #include <QMap>
15 #include <QCheckBox>
14 16
15 17 #define STATISTICS_FONT_SIZE 9
16 18
17 19 class TMStatistics : public QWidget
18 20 {
19 21 Q_OBJECT
20 22 public:
21 23
22 24 explicit TMStatistics(QWidget *parent = 0);
23 25 void initConstants();
24 26 void buildMonitor_BURST();
25 27 void buildMonitor_SBM1();
26 28 void buildMonitor_SBM2();
27 29 void buildMonitor_NORM();
28 30 void buildMonitor();
29 31 void incrementUnknown();
30 32 //
31 33 void preProcessPacket(TMPacketToRead *packet);
32 34 unsigned char getPID(TMPacketToRead *packet);
33 35 unsigned char getCAT(TMPacketToRead *packet);
34 36 unsigned char getTYPE(TMPacketToRead *packet);
35 37 unsigned char getSUBTYPE(TMPacketToRead *packet);
36 38 unsigned int getLENGTH(TMPacketToRead *packet);
37 39 unsigned int getCoarseTime(TMPacketToRead *packet);
38 40 unsigned int getFineTime(TMPacketToRead *packet);
39 41 unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
42 QString getPacketName(unsigned char type, unsigned char subtype, unsigned int sid);
40 43 void closeEvent(QCloseEvent *event);
41 44
42 45 unsigned int UNKNOWN_nb;
43 46 unsigned int SUCC_nb;
44 47 unsigned int INCO_nb;
45 48 unsigned int NOTE_nb;
46 49 unsigned int NOTI_nb;
47 50 unsigned int ERRO_nb;
48 51 unsigned int CORR_nb;
49 52 unsigned int HK_nb;
50 53 unsigned int DUMP_nb;
51 54 unsigned int NORM_SWF_F0_nb;
52 55 unsigned int NORM_SWF_F1_nb;
53 56 unsigned int NORM_SWF_F2_nb;
54 57 unsigned int NORM_CWF_F3_nb;
55 58 unsigned int NORM_ASM_F0_nb;
56 59 unsigned int NORM_ASM_F1_nb;
57 60 unsigned int NORM_ASM_F2_nb;
58 61 unsigned int NORM_BP1_F0_nb;
59 62 unsigned int NORM_BP1_F1_nb;
60 63 unsigned int NORM_BP1_F2_nb;
61 64 unsigned int NORM_BP2_F0_nb;
62 65 unsigned int NORM_BP2_F1_nb;
63 66 unsigned int NORM_BP2_F2_nb;
64 67 //
65 68 unsigned int BURST_CWF_F2_nb;
66 69 unsigned int BURST_BP1_F0_nb;
67 70 unsigned int BURST_BP2_F0_nb;
68 71 unsigned int BURST_BP1_F1_nb;
69 72 unsigned int BURST_BP2_F1_nb;
70 73 unsigned int SBM1_CWF_F1_nb;
71 74 unsigned int SBM1_BP1_F0_nb;
72 75 unsigned int SBM1_BP2_F0_nb;
73 76 unsigned int SBM2_CWF_F2_nb;
74 77 unsigned int SBM2_BP1_F0_nb;
75 78 unsigned int SBM2_BP2_F0_nb;
76 79 unsigned int SBM2_BP1_F1_nb;
77 80 unsigned int SBM2_BP2_F1_nb;
78 81
79 82 //*******
80 83 // QLabel
81 84 QLabel *label_UNKNOWN;
82 85 QLabel *label_UNKNOWN_nb;
86 QLabel *label_currentDir;
83 87
84 88 //***************
85 89 // TM_LFR_TC_EXE_
86 90 QLabel *label_SUCC;
87 91 QLabel *label_INCO;
88 92 QLabel *label_NOTE;
89 93 QLabel *label_NOTI;
90 94 QLabel *label_ERRO;
91 95 QLabel *label_CORR;
92 96 QLabel *label_HK;
93 97 QLabel *label_DUMP;
94 98 //
95 99 QLabel *label_SUCC_nb;
96 100 QLabel *label_INCO_nb;
97 101 QLabel *label_NOTE_nb;
98 102 QLabel *label_NOTI_nb;
99 103 QLabel *label_ERRO_nb;
100 104 QLabel *label_CORR_nb;
101 105 QLabel *label_HK_nb;
102 106 QLabel *label_DUMP_nb;
103 107
104 108 //***********************
105 109 // TM_LFR_SCIENCE_NORMAL_
106 110 QLabel *label_NORM_SWF_F0;
107 111 QLabel *label_NORM_SWF_F1;
108 112 QLabel *label_NORM_SWF_F2;
109 113 QLabel *label_NORM_CWF_F3;
110 114 QLabel *label_NORM_ASM_F0;
111 115 QLabel *label_NORM_ASM_F1;
112 116 QLabel *label_NORM_ASM_F2;
113 117 QLabel *label_NORM_BP1_F0;
114 118 QLabel *label_NORM_BP1_F1;
115 119 QLabel *label_NORM_BP1_F2;
116 120 QLabel *label_NORM_BP2_F0;
117 121 QLabel *label_NORM_BP2_F1;
118 122 QLabel *label_NORM_BP2_F2;
119 123 //
120 124 QLabel *label_NORM_SWF_F0_nb;
121 125 QLabel *label_NORM_SWF_F1_nb;
122 126 QLabel *label_NORM_SWF_F2_nb;
123 127 QLabel *label_NORM_CWF_F3_nb;
124 128 QLabel *label_NORM_ASM_F0_nb;
125 129 QLabel *label_NORM_ASM_F1_nb;
126 130 QLabel *label_NORM_ASM_F2_nb;
127 131 QLabel *label_NORM_BP1_F0_nb;
128 132 QLabel *label_NORM_BP1_F1_nb;
129 133 QLabel *label_NORM_BP1_F2_nb;
130 134 QLabel *label_NORM_BP2_F0_nb;
131 135 QLabel *label_NORM_BP2_F1_nb;
132 136 QLabel *label_NORM_BP2_F2_nb;
133 137
134 138 //**********************
135 139 // TM_LFR_SCIENCE_BURST_
136 140 QLabel *label_BURST_CWF_F2;
137 141 QLabel *label_BURST_BP1_F0;
138 142 QLabel *label_BURST_BP2_F0;
139 143 QLabel *label_BURST_BP1_F1;
140 144 QLabel *label_BURST_BP2_F1;
141 145 //
142 146 QLabel *label_BURST_CWF_F2_nb;
143 147 QLabel *label_BURST_BP1_F0_nb;
144 148 QLabel *label_BURST_BP2_F0_nb;
145 149 QLabel *label_BURST_BP1_F1_nb;
146 150 QLabel *label_BURST_BP2_F1_nb;
147 151
148 152 //*********************
149 153 // TM_LFR_SCIENCE_SBM1_
150 154 QLabel *label_SBM1_CWF_F1;
151 155 QLabel *label_SBM1_BP1_F0;
152 156 QLabel *label_SBM1_BP2_F0;
153 157 //
154 158 QLabel *label_SBM1_CWF_F1_nb;
155 159 QLabel *label_SBM1_BP1_F0_nb;
156 160 QLabel *label_SBM1_BP2_F0_nb;
157 161
158 162 //*********************
159 163 // TM_LFR_SCIENCE_SBM2_
160 164 QLabel *label_SBM2_CWF_F2;
161 165 QLabel *label_SBM2_BP1_F0;
162 166 QLabel *label_SBM2_BP2_F0;
163 167 QLabel *label_SBM2_BP1_F1;
164 168 QLabel *label_SBM2_BP2_F1;
165 169 //
166 170 QLabel *label_SBM2_CWF_F2_nb;
167 171 QLabel *label_SBM2_BP1_F0_nb;
168 172 QLabel *label_SBM2_BP2_F0_nb;
169 173 QLabel *label_SBM2_BP1_F1_nb;
170 174 QLabel *label_SBM2_BP2_F1_nb;
171 175
172 176 //********
173 177 // LAST TM
174 178 QLabel *label_PID;
175 179 QLabel *label_CAT;
176 180 QLabel *label_TYP;
177 181 QLabel *label_SUB;
178 182 QLabel *label_SID;
179 183 QLabel *label_SIZ;
180 184 QLabel *label_coarse_time;
181 185 QLabel *label_fine_time;
182 186 //
183 187 QLabel *label_PID_is;
184 188 QLabel *label_CAT_is;
185 189 QLabel *label_TYP_is;
186 190 QLabel *label_SUB_is;
187 191 QLabel *label_SID_is;
188 192 QLabel *label_SIZ_is;
189 193 QLabel *label_coarse_time_val;
190 194 QLabel *label_fine_time_val;
191 195
192 196 // Layouts
193 197 QGridLayout *mainLayout;
194 198 QGridLayout *layout_stat; // TM stastictics
195 199 QGridLayout *layout_NORM; // TM_LFR_SCIENCE_NORMAL_
196 200 QGridLayout *layout_BURST; // TM_LFR_SCIENCE_BURST_
197 201 QGridLayout *layout_SBM1; // TM_LFR_SCIENCE_SBM1_
198 202 QGridLayout *layout_SBM2; // TM_LFR_SCIENCE_SBM2_
199 203 QGridLayout *layout_last; // last TM description
200 204 QVBoxLayout *layout_record;
201 205
202 206 // QPushButton
203 207 QPushButton *button_reset_stat;
204 QPushButton *button_record;
205 208 QPushButton *button_chooseDir;
206 209
210 //QCheckBox
211 QCheckBox *checkbox_record;
212 QCheckBox *checkbox_packetLog;
213
207 214 QFile *logFile;
215 QFile *packetLogFile;
208 216 QTextStream *logFileStrm;
217 QTextStream *packetLogFileStrm;
209 218 bool logFileEn;
219 bool packetLogFileEn;
210 220 QString defaultStorageDirectory;
211 221
212 222 // QGroupBox
213 223 QGroupBox *groupbox_stat;
214 224 QGroupBox *groupbox_NORM;
215 225 QGroupBox *groupbox_BURST;
216 226 QGroupBox *groupbox_SBM1;
217 227 QGroupBox *groupbox_SBM2;
218 228 QGroupBox *groupbox_last;
219 229 QGroupBox *groupbox_record;
220 230
221 231 signals:
222 232
223 233 public slots:
224 234 void resetStatistics();
225 235 void updateStatistics(unsigned char pid, unsigned char cat,
226 236 unsigned char typ, unsigned char sub,
227 237 unsigned int sid, unsigned int length,
228 238 unsigned int coarse_t, unsigned int fine_t);
229 void storePackets();
239 void storePackets(int state);
240 void logPackets(int state);
230 241 void buildFileName();
242 void buildPacketLogFileName();
231 243 void readSettings();
232 244 void writeSettings();
233 245 void chooseDir();
234 246
235 247 };
236 248
237 249 #endif // TMSTATISTICS_H
@@ -1,243 +1,264
1 1 #############################################################################
2 2 # Makefile for building: spwtimegenerator
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Mar 29 09:01:03 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri Sep 20 14:17:00 2013
4 4 # Project: spwtimegenerator.pro
5 5 # Template: app
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile spwtimegenerator.pro
7 7 #############################################################################
8 8
9 9 ####### Compiler, tools and options
10 10
11 11 CC = gcc
12 12 CXX = g++
13 13 DEFINES = -DQT_NO_DEBUG -DQT_GUI_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 $(DEFINES)
15 CXXFLAGS = -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 $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I../spw_usb_driver_v2.61/inc -I.
14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I../spw_usb_driver_v2.61/inc -I../parameterdump -I../../DEV_PLE/header -I/usr/include/lppmon/paulcommon -I.
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro
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 -lQtGui -lQtCore -lpthread
19 LIBS = $(SUBLIBS) -L/usr/lib64 -lpaulcommon ../spw_usb_driver_v2.62/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.62/lib/x86_64/libConfigLibraryUSB.so -lQtGui -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
23 23 TAR = tar -cf
24 24 COMPRESS = gzip -9f
25 25 COPY = cp -f
26 26 SED = sed
27 27 COPY_FILE = $(COPY)
28 28 COPY_DIR = $(COPY) -r
29 29 STRIP =
30 30 INSTALL_FILE = install -m 644 -p
31 31 INSTALL_DIR = $(COPY_DIR)
32 32 INSTALL_PROGRAM = install -m 755 -p
33 33 DEL_FILE = rm -f
34 34 SYMLINK = ln -f -s
35 35 DEL_DIR = rmdir
36 36 MOVE = mv -f
37 37 CHK_DIR_EXISTS= test -d
38 38 MKDIR = mkdir -p
39 39
40 40 ####### Output directory
41 41
42 42 OBJECTS_DIR = ./
43 43
44 44 ####### Files
45 45
46 46 SOURCES = main.cpp \
47 47 mainwindow.cpp \
48 mainwindowui.cpp moc_mainwindow.cpp \
49 moc_mainwindowui.cpp
48 mainwindowui.cpp \
49 ../parameterdump/tcpackettosend.cpp moc_mainwindow.cpp \
50 moc_mainwindowui.cpp \
51 moc_tcpackettosend.cpp
50 52 OBJECTS = main.o \
51 53 mainwindow.o \
52 54 mainwindowui.o \
55 tcpackettosend.o \
53 56 moc_mainwindow.o \
54 moc_mainwindowui.o
57 moc_mainwindowui.o \
58 moc_tcpackettosend.o
55 59 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
56 60 /usr/lib64/qt4/mkspecs/common/linux.conf \
57 61 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
58 62 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
59 63 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
60 64 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
61 65 /usr/lib64/qt4/mkspecs/qconfig.pri \
62 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
66 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
63 67 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
64 68 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
65 69 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
66 70 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
67 71 /usr/lib64/qt4/mkspecs/features/release.prf \
68 72 /usr/lib64/qt4/mkspecs/features/default_post.prf \
73 /usr/lib64/qt4/mkspecs/features/shared.prf \
69 74 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
70 75 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
71 76 /usr/lib64/qt4/mkspecs/features/qt.prf \
72 77 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
73 78 /usr/lib64/qt4/mkspecs/features/moc.prf \
74 79 /usr/lib64/qt4/mkspecs/features/resources.prf \
75 80 /usr/lib64/qt4/mkspecs/features/uic.prf \
76 81 /usr/lib64/qt4/mkspecs/features/yacc.prf \
77 82 /usr/lib64/qt4/mkspecs/features/lex.prf \
78 83 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
79 84 spwtimegenerator.pro
80 85 QMAKE_TARGET = spwtimegenerator
81 86 DESTDIR =
82 87 TARGET = spwtimegenerator
83 88
84 89 first: all
85 90 ####### Implicit rules
86 91
87 92 .SUFFIXES: .o .c .cpp .cc .cxx .C
88 93
89 94 .cpp.o:
90 95 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
91 96
92 97 .cc.o:
93 98 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
94 99
95 100 .cxx.o:
96 101 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
97 102
98 103 .C.o:
99 104 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
100 105
101 106 .c.o:
102 107 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
103 108
104 109 ####### Build rules
105 110
106 111 all: Makefile $(TARGET)
107 112
108 113 $(TARGET): $(OBJECTS)
109 114 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
110 115
111 116 Makefile: spwtimegenerator.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \
112 117 /usr/lib64/qt4/mkspecs/common/linux.conf \
113 118 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
114 119 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf \
115 120 /usr/lib64/qt4/mkspecs/common/g++-base.conf \
116 121 /usr/lib64/qt4/mkspecs/common/g++-unix.conf \
117 122 /usr/lib64/qt4/mkspecs/qconfig.pri \
118 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri \
123 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
119 124 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
120 125 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
121 126 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
122 127 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
123 128 /usr/lib64/qt4/mkspecs/features/release.prf \
124 129 /usr/lib64/qt4/mkspecs/features/default_post.prf \
130 /usr/lib64/qt4/mkspecs/features/shared.prf \
125 131 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
126 132 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
127 133 /usr/lib64/qt4/mkspecs/features/qt.prf \
128 134 /usr/lib64/qt4/mkspecs/features/unix/thread.prf \
129 135 /usr/lib64/qt4/mkspecs/features/moc.prf \
130 136 /usr/lib64/qt4/mkspecs/features/resources.prf \
131 137 /usr/lib64/qt4/mkspecs/features/uic.prf \
132 138 /usr/lib64/qt4/mkspecs/features/yacc.prf \
133 139 /usr/lib64/qt4/mkspecs/features/lex.prf \
134 140 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf \
135 141 /usr/lib64/libQtGui.prl \
136 142 /usr/lib64/libQtCore.prl
137 143 $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile spwtimegenerator.pro
138 144 /usr/lib64/qt4/mkspecs/common/unix.conf:
139 145 /usr/lib64/qt4/mkspecs/common/linux.conf:
140 146 /usr/lib64/qt4/mkspecs/common/gcc-base.conf:
141 147 /usr/lib64/qt4/mkspecs/common/gcc-base-unix.conf:
142 148 /usr/lib64/qt4/mkspecs/common/g++-base.conf:
143 149 /usr/lib64/qt4/mkspecs/common/g++-unix.conf:
144 150 /usr/lib64/qt4/mkspecs/qconfig.pri:
145 /usr/lib64/qt4/mkspecs/modules/qt_webkit_version.pri:
151 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
146 152 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
147 153 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
148 154 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
149 155 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
150 156 /usr/lib64/qt4/mkspecs/features/release.prf:
151 157 /usr/lib64/qt4/mkspecs/features/default_post.prf:
158 /usr/lib64/qt4/mkspecs/features/shared.prf:
152 159 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
153 160 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
154 161 /usr/lib64/qt4/mkspecs/features/qt.prf:
155 162 /usr/lib64/qt4/mkspecs/features/unix/thread.prf:
156 163 /usr/lib64/qt4/mkspecs/features/moc.prf:
157 164 /usr/lib64/qt4/mkspecs/features/resources.prf:
158 165 /usr/lib64/qt4/mkspecs/features/uic.prf:
159 166 /usr/lib64/qt4/mkspecs/features/yacc.prf:
160 167 /usr/lib64/qt4/mkspecs/features/lex.prf:
161 168 /usr/lib64/qt4/mkspecs/features/include_source_dir.prf:
162 169 /usr/lib64/libQtGui.prl:
163 170 /usr/lib64/libQtCore.prl:
164 171 qmake: FORCE
165 172 @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile spwtimegenerator.pro
166 173
167 174 dist:
168 175 @$(CHK_DIR_EXISTS) .tmp/spwtimegenerator1.0.0 || $(MKDIR) .tmp/spwtimegenerator1.0.0
169 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/spwtimegenerator1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h .tmp/spwtimegenerator1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp .tmp/spwtimegenerator1.0.0/ && (cd `dirname .tmp/spwtimegenerator1.0.0` && $(TAR) spwtimegenerator1.0.0.tar spwtimegenerator1.0.0 && $(COMPRESS) spwtimegenerator1.0.0.tar) && $(MOVE) `dirname .tmp/spwtimegenerator1.0.0`/spwtimegenerator1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/spwtimegenerator1.0.0
176 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/spwtimegenerator1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h ../../DEV_PLE/header/ccsds_types.h ../../DEV_PLE/header/TC_types.h ../parameterdump/tcpackettosend.h .tmp/spwtimegenerator1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp mainwindowui.cpp ../parameterdump/tcpackettosend.cpp .tmp/spwtimegenerator1.0.0/ && (cd `dirname .tmp/spwtimegenerator1.0.0` && $(TAR) spwtimegenerator1.0.0.tar spwtimegenerator1.0.0 && $(COMPRESS) spwtimegenerator1.0.0.tar) && $(MOVE) `dirname .tmp/spwtimegenerator1.0.0`/spwtimegenerator1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/spwtimegenerator1.0.0
170 177
171 178
172 179 clean:compiler_clean
173 180 -$(DEL_FILE) $(OBJECTS)
174 181 -$(DEL_FILE) *~ core *.core
175 182
176 183
177 184 ####### Sub-libraries
178 185
179 186 distclean: clean
180 187 -$(DEL_FILE) $(TARGET)
181 188 -$(DEL_FILE) Makefile
182 189
183 190
184 191 check: first
185 192
186 193 mocclean: compiler_moc_header_clean compiler_moc_source_clean
187 194
188 195 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
189 196
190 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp
197 compiler_moc_header_make_all: moc_mainwindow.cpp moc_mainwindowui.cpp moc_tcpackettosend.cpp
191 198 compiler_moc_header_clean:
192 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp
199 -$(DEL_FILE) moc_mainwindow.cpp moc_mainwindowui.cpp moc_tcpackettosend.cpp
193 200 moc_mainwindow.cpp: mainwindowui.h \
201 systemtime.h \
194 202 mainwindow.h
195 203 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
196 204
197 moc_mainwindowui.cpp: mainwindowui.h
205 moc_mainwindowui.cpp: systemtime.h \
206 mainwindowui.h
198 207 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindowui.h -o moc_mainwindowui.cpp
199 208
209 moc_tcpackettosend.cpp: ../parameterdump/tcpackettosend.h
210 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../parameterdump/tcpackettosend.h -o moc_tcpackettosend.cpp
211
200 212 compiler_rcc_make_all:
201 213 compiler_rcc_clean:
202 214 compiler_image_collection_make_all: qmake_image_collection.cpp
203 215 compiler_image_collection_clean:
204 216 -$(DEL_FILE) qmake_image_collection.cpp
205 217 compiler_moc_source_make_all:
206 218 compiler_moc_source_clean:
207 219 compiler_uic_make_all:
208 220 compiler_uic_clean:
209 221 compiler_yacc_decl_make_all:
210 222 compiler_yacc_decl_clean:
211 223 compiler_yacc_impl_make_all:
212 224 compiler_yacc_impl_clean:
213 225 compiler_lex_make_all:
214 226 compiler_lex_clean:
215 227 compiler_clean: compiler_moc_header_clean
216 228
217 229 ####### Compile
218 230
219 231 main.o: main.cpp mainwindow.h \
220 mainwindowui.h
232 mainwindowui.h \
233 systemtime.h
221 234 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
222 235
223 236 mainwindow.o: mainwindow.cpp mainwindow.h \
224 mainwindowui.h
237 mainwindowui.h \
238 systemtime.h
225 239 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
226 240
227 mainwindowui.o: mainwindowui.cpp mainwindowui.h
241 mainwindowui.o: mainwindowui.cpp mainwindowui.h \
242 systemtime.h
228 243 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindowui.o mainwindowui.cpp
229 244
245 tcpackettosend.o: ../parameterdump/tcpackettosend.cpp ../parameterdump/tcpackettosend.h
246 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tcpackettosend.o ../parameterdump/tcpackettosend.cpp
247
230 248 moc_mainwindow.o: moc_mainwindow.cpp
231 249 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
232 250
233 251 moc_mainwindowui.o: moc_mainwindowui.cpp
234 252 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindowui.o moc_mainwindowui.cpp
235 253
254 moc_tcpackettosend.o: moc_tcpackettosend.cpp
255 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_tcpackettosend.o moc_tcpackettosend.cpp
256
236 257 ####### Install
237 258
238 259 install: FORCE
239 260
240 261 uninstall: FORCE
241 262
242 263 FORCE:
243 264
@@ -1,193 +1,318
1 1 #include "mainwindow.h"
2 2
3 3 MainWindow::MainWindow(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 6 hDevice = NULL;
7 7 UI = new mainwindowui();
8 8 time = new QTimer();
9 systemTime = 0x80000000;
10 flag_sendTimePacket = false;
11
12 packetToSend = new TCPacketToSend();
13
14 time->setInterval(1000);
9 15
10 16 connect(UI->starDundeeStatusQueryRetryButton, SIGNAL(clicked()), this, SLOT(reTestSPWLink()));
11 connect(UI->startTimeButton, SIGNAL(clicked()), this, SLOT(startSpacewireTime()));
17 connect(this, SIGNAL(sendMessage(QString)), this->UI, SLOT(displayMessage(QString)));
18 connect(this, SIGNAL(systemTimeHasChanged(long)), this->UI->systemTime, SLOT(systemTimeHasChanged(long)));
19
20 connect(UI->startTimeButton, SIGNAL(clicked()), this, SLOT(sendTimecodesPeriodically()));
12 21 connect(UI->sendTimecodeButton, SIGNAL(clicked()), this, SLOT(sendOneTimecode()));
13 connect(UI->sendPacketAndTimecodeButton, SIGNAL(clicked()), this, SLOT(sendOnePacketAndOneTimecode()));
14 connect(this, SIGNAL(sendMessage(QString)), this->UI, SLOT(displayMessage(QString)));
22 connect(UI->button_sendSystemTime, SIGNAL(clicked()), this, SLOT(sendSystemTime()));
23 connect(UI->button_sendArbitraryTime, SIGNAL(clicked()), this, SLOT(sendArbitraryTime()));
24
25 connect(this->time, SIGNAL(timeout()), this, SLOT(periodicalTimecodeTimeout()));
15 26
16 27 this->setLayout(UI->layout());
17 28
18 29 }
19 30
20 31 MainWindow::~MainWindow()
21 32 {
22 33
23 34 }
24 35
25 void MainWindow::startSpacewireTime()
26 {
27 unsigned int result;
28 if (hDevice==NULL)
29 {
30 result = Open();
31 }
32 if (getLinkStatus(UI->linkNumber_SPINBOX->value()))
33 {
34 emit sendMessage("OK *** in Start *** start sending packet periodically");
35 return;
36 }
37 else
38 {
39 emit sendMessage("ERR *** in Start *** ");
40 return;
41 }
42 }
43
44 36 void MainWindow::sendOneTimecode()
45 37 {
46 38 unsigned int result;
47 39 U32 timecodeReg, val;
48 40
49 41 if (hDevice==NULL)
50 42 {
51 43 result = Open();
52 44 }
53 if (getLinkStatus(UI->linkNumber_SPINBOX->value()))
54 {
55 emit sendMessage("OK *** in sendOneTimecode *** stardundee brick running");
56 }
57 else
45
46 if (!getLinkStatus(UI->linkNumber_SPINBOX->value()))
58 47 {
59 48 emit sendMessage("ERR *** in sendOneTimecode *** stardundee brick not running");
60 49 }
50
61 51 if(!USBSpaceWire_TC_EnableExternalTimecodeSelection(hDevice,0))
62 52 {
63 53 emit sendMessage("ERR *** disable external timecode selection");
64 54 return;
65 55 }
66 emit sendMessage("OK *** in sendOneTimecode *** next valid tick will be performed");
56
67 57 if(!USBSpaceWire_TC_PerformTickIn(hDevice, 0))
68 58 {
69 59 emit sendMessage("ERR *** in sendOneTimecode *** perform TickIn");
70 60 return;
71 61 }
72 emit sendMessage("OK *** in sendOneTimecode *** tick performed");
62
73 63 // Read the timecode register
74 64 if (CFGSpaceWire_GetTimecodeRegister(hDevice, &timecodeReg) != CFG_TRANSFER_SUCCESS)
75 65 {
76 66 emit sendMessage("Could not read the timecode register");
77 67 }
78 68 else
79 69 {
80 70 CFGSpaceWire_TCGetValue(timecodeReg, &val);
81 emit sendMessage("The timecode value is currently: " + QString::number(val));
71 //emit sendMessage("The timecode value is currently: " + QString::number(val));
72 this->UI->currentTimecodeValue_LABEL->setText("Current Timecode Value: " + QString::number(val));
82 73 CFGSpaceWire_TCGetFlags(timecodeReg, &val);
83 emit sendMessage("The timecode flag value is currently: " + QString::number(val));
74 this->UI->currentTimecodeFlag_LABEL->setText("Current Timecode Flag: " + QString::number(val));
75 //emit sendMessage("The timecode flag value is currently: " + QString::number(val));
84 76 }
85 77
86 78 }
87 79
88 void MainWindow::sendOnePacketAndOneTimecode()
80 void MainWindow::sendTimecodesPeriodically()
81 {
82 if(time->isActive())
83 {
84 time->stop();
85 this->UI->startTimeButton->setText("start sending timecodes periodically");
86 }
87 else
88 {
89 time->start();
90 this->UI->startTimeButton->setText("stop sending timecodes periodically");
91 }
92 }
93
94 void MainWindow::periodicalTimecodeTimeout()
95 {
96 sendOneTimecode();
97 systemTime = systemTime + 1;
98 if (flag_sendTimePacket == true)
89 99 {
100 flag_sendTimePacket = false;
101 QTimer::singleShot(700, this, SLOT(sendTimePacketTimeout()));
102 }
103 emit(systemTimeHasChanged(systemTime));
104 }
90 105
106 void MainWindow::sendTimePacketTimeout()
107 {
108 sendUpdateTime( systemTime + 1 );
109 }
110
111 void MainWindow::sendSystemTime()
112 {
113 flag_sendTimePacket = true;
114 }
115
116 void MainWindow::sendArbitraryTime()
117 {
118 flag_sendTimePacket = true;
119 systemTime = this->UI->arbitraryTime;
120 emit (systemTimeHasChanged( systemTime));
91 121 }
92 122
93 123 unsigned int MainWindow::Open()
94 124 {
95 125 U32 dwTickEnableStatus;
96 126
97 127 if (!USBSpaceWire_Open(&hDevice, UI->usbDeviceNumber_SPINBOX->value())) // Open the USB device
98 128 {
99 129 emit sendMessage("ERR *** in Open *** USBSpaceWire_Open(&hDevice, 0))");
100 130 return 0;
101 131 }
102 132 emit sendMessage("OK *** in Open *** USBSpaceWire_Open successful, device number: "
103 133 + QString::number(UI->usbDeviceNumber_SPINBOX->value()));
104 134
105 135 USBSpaceWire_EnableNetworkMode(hDevice, 0); // deactivate the network mode
106 136 CFGSpaceWire_EnableRMAP(1); // Enable the use of RMAP for the StarDundee brick configuration
107 137 CFGSpaceWire_SetRMAPDestinationKey(0x20); // Set the destination key expected by STAR-Dundee devices
108 138
109 139 // Set the path and return path to the device
110 140 CFGSpaceWire_StackClear();
111 141 CFGSpaceWire_AddrStackPush(0);
112 142 CFGSpaceWire_AddrStackPush(254);
113 143 CFGSpaceWire_RetAddrStackPush(254);
114 144
115 145 if (getLinkStatus(UI->linkNumber_SPINBOX->value())==0)
116 146 {
117 147 return UI->starDundeeStatusQueryDialog->exec();
118 148 }
149
119 150 if (!USBSpaceWire_TC_Reset(hDevice))
120 151 {
121 152 emit sendMessage("ERR *** in Open *** Could not reset timecodes\n");
122 153 }
123 emit sendMessage("OK *** in Open *** reset timecodes");
124 154
125 155 // Clear the tick enable register
126 156 if (CFGSpaceWire_SetTickEnableStatus(hDevice, 6) != CFG_TRANSFER_SUCCESS)
127 157 emit sendMessage("Could not clear the tick enable register");
128 158 else
129 159 emit sendMessage("Cleared the tick enable register");
130 160
131 161 CFGSpaceWire_GetTickEnableStatus(hDevice, &dwTickEnableStatus);
132 162 emit sendMessage("OK *** in Open *** CFGSpaceWire_GetTickEnableStatus, code is " + QString::number(dwTickEnableStatus, 2));
133 163
134 164 }
135 165
136 166 unsigned int MainWindow::getLinkStatus(unsigned char link)
137 167 {
168 unsigned int resultOpen;
169
138 170 U32 statusControl = 0, errorStatus = 0, portType = 0;
139 171 U32 linkStatus = 0, operatingSpeed = 0, outputPortConnection = 0;
140 172 char isLinkRunning = 0, isAutoStart = 0, isStart = 0, isDisabled = 0, isTristate = 0;
141 173
174 if (hDevice==NULL)
175 {
176 resultOpen = Open();
177 }
178
142 179 // Read the link status control register
143 180 if (CFGSpaceWire_GetLinkStatusControl(hDevice, 1, &statusControl) != CFG_TRANSFER_SUCCESS)
144 181 {
145 182 emit sendMessage("Could not read link status control for link" + QString::number(link));
146 183 }
147 184 else
148 185 {
149 186 // Display the link status control register properties
150 187 CFGSpaceWire_LSPortType(statusControl, &portType);
151 188 if (portType == CFG_CONFIGURATION_PORT)
152 189 {
153 190 CFGSpaceWire_LSConfigErrorStatus(statusControl, &errorStatus);
154 191 //emit appendToLog("Configuration port error status = " + QString::number(errorStatus));
155 192 }
156 193 else if (portType == CFG_SPACEWIRE_EXTERNAL_PORT)
157 194 {
158 195 CFGSpaceWire_LSExternalErrorStatus(statusControl, &errorStatus);
159 196 //emit appendToLog("External port error status = " + QString::number(errorStatus));
160 197 }
161 198 else
162 199 {
163 200 CFGSpaceWire_LSErrorStatus(statusControl, &errorStatus);
164 201 //emit appendToLog("SpaceWire link error status = " + QString::number(errorStatus));
165 202 }
166 203 CFGSpaceWire_LSLinkState(statusControl, &linkStatus);
167 204 CFGSpaceWire_LSIsLinkRunning(statusControl, &isLinkRunning);
168 205 CFGSpaceWire_LSIsAutoStart(statusControl, &isAutoStart);
169 206 CFGSpaceWire_LSIsStart(statusControl, &isStart);
170 207 CFGSpaceWire_LSIsDisabled(statusControl, &isDisabled);
171 208 CFGSpaceWire_LSIsTristate(statusControl, &isTristate);
172 209 CFGSpaceWire_LSOperatingSpeed(statusControl, &operatingSpeed);
173 210 CFGSpaceWire_LSOutputPortConnection(statusControl, &outputPortConnection);
174 211 //emit appendToLog("The link state is = " + QString::number(linkStatus));
175 212 //emit appendToLog("The link is running = " + QString::number(isLinkRunning));
176 213 //emit appendToLog("The autostart bit is enabled = " + QString::number(isAutoStart));
177 214 //emit appendToLog("The start bit is enabled = " + QString::number(isStart));
178 215 //emit appendToLog("The link is disabled = " + QString::number(isDisabled));
179 216 //emit appendToLog("The tri-state bit is enabled = " + QString::number(isAutoStart));
180 217 //emit appendToLog("The operating speed is = " + QString::number(operatingSpeed));
181 218 //emit appendToLog("This port is currently connected to output port = " + QString::number(outputPortConnection));
182 219 }
183 220 if (linkStatus == 5) return 1;
184 221 else return 0;
185 222 }
186 223
187 224 void MainWindow::reTestSPWLink() // SLOT
188 225 {
189 226 if (getLinkStatus(UI->linkNumber_SPINBOX->value()))
190 227 {
191 228 UI->starDundeeStatusQueryDialog->accept();
192 229 }
193 230 }
231
232 void MainWindow::sendUpdateTime(long time)
233 {
234 Packet_TC_LFR_UPDATE_TIME_t packet;
235 unsigned char crcAsTwoBytes[2];
236
237 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
238 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
239 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
240 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
241 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME >> 8);
242 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME );
243
244 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
245 packet.serviceType = TC_TYPE_LFR_UPDATE_TIME;
246 packet.serviceSubType = TC_SUBTYPE_UPDATE_TIME;
247 packet.sourceID = SID_DEFAULT;
248 packet.cp_rpw_time[0] = (unsigned char) (time >> 24);
249 packet.cp_rpw_time[1] = (unsigned char) (time >> 16);
250 packet.cp_rpw_time[2] = (unsigned char) (time >> 8);
251 packet.cp_rpw_time[3] = (unsigned char) (time);
252 packet.cp_rpw_time[4] = 0; // fine time MSB
253 packet.cp_rpw_time[5] = 0; // fine time LSB
254
255 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
256 PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET - 2);
257 packet.crc[0] = crcAsTwoBytes[0];
258 packet.crc[1] = crcAsTwoBytes[1];
259
260 WriteSPW((char*) &packet, PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET,
261 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
262 }
263
264 unsigned int MainWindow::WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
265 {
266 char protocoleIdentifier = 0x02;
267 char reserved = 0x00;
268 char *SPWData;
269 unsigned int totalSize;
270
271 if (count>248)
272 {
273 emit sendMessage("WARNING === in function WRITE of rmapplugin *** CCSDS packet size > 248 bytes\n");
274 return 1;
275 }
276
277 if ( getLinkStatus( this->UI->linkNumber_SPINBOX->value() ) == 0 )
278 {
279 emit sendMessage("WARNING === in function WriteSPW of StarDundee *** SPW link not running\n");
280 return 1;
281 }
282
283 totalSize = count + 4 + PATH_ADDRESSING_OFFSET; // The StarDundee brick is in PATH addressing
284 SPWData = (char*) malloc(totalSize);
285 // SPW HEADER
286 SPWData[0] = this->UI->linkNumber_SPINBOX->value(); // 1 by default, value can be 1 or 2
287 SPWData[0+PATH_ADDRESSING_OFFSET] = targetLogicalAddress;
288 SPWData[1+PATH_ADDRESSING_OFFSET] = protocoleIdentifier;
289 SPWData[2+PATH_ADDRESSING_OFFSET] = reserved;
290 SPWData[3+PATH_ADDRESSING_OFFSET] = userApplication;
291 // CCSDS PACKET
292 for (unsigned int i = 0; i<count; i++)
293 {
294 SPWData[i+4+PATH_ADDRESSING_OFFSET] = Value[i];
295 }
296
297 //****************
298 // SEND THE PACKET
299 result = USBSpaceWire_SendPacket(hDevice,
300 SPWData,
301 totalSize,
302 BWAIT_1, &pIdentifier);
303 if (result != TRANSFER_SUCCESS)
304 {
305 emit sendMessage("ERROR *** WriteSPW when sending packet of size "
306 + QString::number(totalSize) +", with code: " + QString::number(result));
307 USBSpaceWire_FreeSend(hDevice, pIdentifier);
308 free(SPWData);
309 return 0;
310 }
311
312 //**************
313 // Free the send
314 USBSpaceWire_FreeSend(hDevice, pIdentifier);
315 free(SPWData);
316
317 return 1;
318 }
@@ -1,40 +1,60
1 1 #ifndef MAINWINDOW_H
2 2 #define MAINWINDOW_H
3 3
4 #include <mainwindowui.h>
5
4 6 #include <QtGui/QMainWindow>
5 #include "spw_usb_api.h"
6 #include "spw_config_library.h"
7 #include <mainwindowui.h>
8 7 #include <QDialog>
9 8 #include <QObject>
10 9 #include <QTimer>
11 10
11 #include "spw_usb_api.h"
12 #include "spw_config_library.h"
13 #include "TC_types.h"
14 #include "tcpackettosend.h"
15
16 #define BWAIT_0 0
17 #define BWAIT_1 1
18 #define PATH_ADDRESSING_OFFSET 1
19
12 20 class MainWindow : public QWidget
13 21 {
14 22 Q_OBJECT
15 23
16 24 public:
17 25 MainWindow(QWidget *parent = 0);
18 26 ~MainWindow();
27 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
28 TCPacketToSend *packetToSend;
19 29
20 30 private:
21 31 unsigned int getLinkStatus(unsigned char link);
22 32
33 USB_SPACEWIRE_ID pIdentifier;
34 USB_SPACEWIRE_STATUS result; // The result of the send operation
23 35 star_device_handle hDevice; // Handle to the SpaceWire device
24 36 bool isRunning;
25 37
26 38 mainwindowui *UI;
27 39 QTimer *time;
28 40
41 long systemTime;
42 bool flag_sendTimePacket;
43
29 44 signals:
30 45 void sendMessage(QString);
46 void systemTimeHasChanged(long time);
31 47
32 48 public slots:
33 49 unsigned int Open();
34 void startSpacewireTime();
35 50 void sendOneTimecode();
36 void sendOnePacketAndOneTimecode();
51 void sendTimecodesPeriodically();
52 void periodicalTimecodeTimeout();
53 void sendTimePacketTimeout();
54 void sendSystemTime();
55 void sendArbitraryTime();
56 void sendUpdateTime(long time);
37 57 void reTestSPWLink();
38 58 };
39 59
40 60 #endif // MAINWINDOW_H
@@ -1,57 +1,73
1 1 #include "mainwindowui.h"
2 2
3 3 mainwindowui::mainwindowui(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 arbitraryTime = 0x80000000;
7
6 8 starDundeeStatusQueryDialog = new QDialog;
7 9
8 10 connection_LAYOUT = new QGridLayout;
9 11
10 12 usbDeviceNumber_LABEL = new QLabel(tr("USB device number: "));
11 13 linkNumber_LABEL = new QLabel(tr("SpaceWire link number: "));
12 14 starDundeeStatusQueryDialogLabel = new QLabel(tr("SpaceWire link not running"));
15 currentTimecodeValue_LABEL = new QLabel(tr("Current Timecode Value: -"));
16 currentTimecodeFlag_LABEL = new QLabel(tr("Current Timecode Flag: -"));
13 17
14 18 //*** QPUSHBUTTON ***//
19 button_sendSystemTime = new QPushButton(tr("Send System Time"));
20 button_sendArbitraryTime = new QPushButton(tr("Send Arbitrary Time"));
15 21 starDundeeStatusQueryRetryButton = new QPushButton(tr("Retry"));
16 22 starDundeeStatusQueryAbortButton = new QPushButton(tr("Abort"));
17 startTimeButton = new QPushButton(tr("start sending time packets and timecodes periodically"));
23 startTimeButton = new QPushButton(tr("start sending timecodes periodically"));
18 24 sendTimecodeButton = new QPushButton(tr("send one timecode"));
19 sendPacketAndTimecodeButton = new QPushButton(tr("send time packet and timecode"));
20 25
21 26 usbDeviceNumber_SPINBOX = new QSpinBox;
22 27 usbDeviceNumber_SPINBOX->setRange(0,32);
23 28 usbDeviceNumber_SPINBOX->setValue(0);
24 29 linkNumber_SPINBOX = new QSpinBox;
25 30 linkNumber_SPINBOX->setRange(1,2);
26 31 linkNumber_SPINBOX->setValue(1);
27 32
28 33 console = new QTextEdit;
34 systemTime = new SystemTime;
29 35
30 36 // STAR DUNDEE STATUS QUERY DIALOG
31 37 starDundeeStatusQueryDialogLayout = new QGridLayout;
32 38 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryDialogLabel, 0, 0, 1, 2);
33 39 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryRetryButton, 1, 0, 0);
34 40 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryAbortButton, 1, 1, 0);
35 41 starDundeeStatusQueryDialog->setLayout(starDundeeStatusQueryDialogLayout);
36 42
37 43 connection_LAYOUT->addWidget(usbDeviceNumber_LABEL, 0, 0, 1, 1);
38 44 connection_LAYOUT->addWidget(usbDeviceNumber_SPINBOX, 0, 1, 1, 1);
39 45 connection_LAYOUT->addWidget(linkNumber_LABEL, 1, 0, 1, 1);
40 46 connection_LAYOUT->addWidget(linkNumber_SPINBOX, 1, 1, 1, 1);
41 47 connection_LAYOUT->addWidget(sendTimecodeButton, 2, 0, 1, 2);
42 connection_LAYOUT->addWidget(sendPacketAndTimecodeButton, 3, 0, 1, 2);
43 connection_LAYOUT->addWidget(startTimeButton, 4, 0, 1, 2);
44 connection_LAYOUT->addWidget(console, 5, 0, 3, 3);
48 connection_LAYOUT->addWidget(startTimeButton, 3, 0, 1, 2);
49 connection_LAYOUT->addWidget(currentTimecodeValue_LABEL, 4, 0, 1, 2);
50 connection_LAYOUT->addWidget(currentTimecodeFlag_LABEL, 5, 0, 1, 2);
51 connection_LAYOUT->addWidget(button_sendSystemTime, 6, 0, 1, 1);
52 connection_LAYOUT->addWidget(button_sendArbitraryTime, 6, 1, 1, 1);
53 connection_LAYOUT->addWidget(systemTime, 7, 0, 1, 2);
54 connection_LAYOUT->addWidget(console, 0, 2, 7, 2);
45 55
46 56 //connection_LAYOUT->setRowStretch(6, 1);
47 57 connection_LAYOUT->setColumnStretch(2, 1);
48 58
49 59 this->setLayout(connection_LAYOUT);
50 60
51 61 connect(starDundeeStatusQueryAbortButton, SIGNAL(clicked()), starDundeeStatusQueryDialog, SLOT(reject()));
62 connect(this->systemTime, SIGNAL(timeToSendChanged(long)), this, SLOT(updateTimeToSend(long)));
52 63 }
53 64
54 65 void mainwindowui::displayMessage(QString message)
55 66 {
56 67 this->console->append(message);
57 68 }
69
70 void::mainwindowui::updateTimeToSend(long timeToSend)
71 {
72 arbitraryTime = timeToSend;
73 }
@@ -1,45 +1,56
1 1 #ifndef MAINWINDOWUI_H
2 2 #define MAINWINDOWUI_H
3 3
4 4 #include <QWidget>
5 5 #include <QLabel>
6 6 #include <QSpinBox>
7 7 #include <QGridLayout>
8 8 #include <QPushButton>
9 9 #include <QTextEdit>
10 10 #include <QDialog>
11 11
12 #include "systemtime.h"
13
12 14 class mainwindowui : public QWidget
13 15 {
14 16 Q_OBJECT
15 17 public:
16 18 explicit mainwindowui(QWidget *parent = 0);
17 19
18 20 signals:
19 21
20 22 public slots:
21 23 void displayMessage(QString message);
24 void updateTimeToSend(long timeToSend);
22 25
23 26 public:
27 long arbitraryTime;
28
24 29 QLabel *usbDeviceNumber_LABEL;
25 30 QLabel *linkNumber_LABEL;
26 31 QLabel *starDundeeStatusQueryDialogLabel;
32 QLabel *currentTimecodeValue_LABEL;
33 QLabel *currentTimecodeFlag_LABEL;
34
27 35
28 36 QSpinBox *usbDeviceNumber_SPINBOX;
29 37 QSpinBox *linkNumber_SPINBOX;
30 38
31 39 QGridLayout *connection_LAYOUT;
32 40 QGridLayout *starDundeeStatusQueryDialogLayout;
33 41
34 42 QDialog *starDundeeStatusQueryDialog;
35 43
44 QPushButton *button_sendSystemTime;
45 QPushButton *button_sendArbitraryTime;
36 46 QPushButton *startTimeButton;
37 47 QPushButton *sendTimecodeButton;
38 QPushButton *sendPacketAndTimecodeButton;
39 48 QPushButton *starDundeeStatusQueryRetryButton;
40 49 QPushButton *starDundeeStatusQueryAbortButton;
41 50
51 SystemTime *systemTime;
52
42 53 QTextEdit* console;
43 54 };
44 55
45 56 #endif // MAINWINDOWUI_H
1 NO CONTENT: modified file, binary diff hidden
@@ -1,26 +1,37
1 1 #-------------------------------------------------
2 2 #
3 3 # Project created by QtCreator 2013-03-29T07:55:31
4 4 #
5 5 #-------------------------------------------------
6 6
7 7 QT += core gui
8 8
9 9 TARGET = spwtimegenerator
10 10 TEMPLATE = app
11 11
12 INCLUDEPATH += \
13 $${PWD} \
14 ../spw_usb_driver_v2.61/inc \
15 ../parameterdump \
16 ../../DEV_PLE/header \
17 $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
18
12 19 SOURCES += main.cpp\
13 20 mainwindow.cpp \
14 mainwindowui.cpp
21 mainwindowui.cpp \
22 ../parameterdump/tcpackettosend.cpp
15 23
16 24 HEADERS += mainwindow.h \
17 25 mainwindowui.h \
18 26 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
19 ../spw_usb_driver_v2.61/inc/spw_config_library.h
27 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
28 ../../DEV_PLE/header/ccsds_types.h \
29 ../../DEV_PLE/header/TC_types.h \
30 ../parameterdump/tcpackettosend.h
31
32 LIBS += -lpaulcommon
20 33
21 34 LIBS += ../spw_usb_driver_v2.62/lib/x86_64/libSpaceWireUSBAPI.so \
22 35 ../spw_usb_driver_v2.62/lib/x86_64/libConfigLibraryUSB.so
23 36
24 INCLUDEPATH += \
25 $${PWD} \
26 ../spw_usb_driver_v2.61/inc
37
@@ -1,265 +1,257
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2013-05-03T15:28:00. -->
3 <!-- Written by QtCreator 2.8.0, 2013-09-20T16:01:50. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
7 7 <value type="int">0</value>
8 8 </data>
9 9 <data>
10 10 <variable>ProjectExplorer.Project.EditorSettings</variable>
11 11 <valuemap type="QVariantMap">
12 12 <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
13 13 <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
14 <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
14 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
15 16 <value type="QString" key="language">Cpp</value>
16 17 <valuemap type="QVariantMap" key="value">
17 18 <value type="QString" key="CurrentPreferences">CppGlobal</value>
18 19 </valuemap>
19 20 </valuemap>
20 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
21 22 <value type="QString" key="language">QmlJS</value>
22 23 <valuemap type="QVariantMap" key="value">
23 24 <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
24 25 </valuemap>
25 26 </valuemap>
26 27 <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
27 28 <value type="QByteArray" key="EditorConfiguration.Codec">System</value>
28 29 <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
29 30 <value type="int" key="EditorConfiguration.IndentSize">4</value>
31 <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
30 32 <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
31 33 <value type="int" key="EditorConfiguration.PaddingMode">1</value>
32 34 <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
33 35 <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
34 36 <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
35 37 <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
36 38 <value type="int" key="EditorConfiguration.TabSize">8</value>
37 39 <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
38 40 <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
39 41 <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
40 42 <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
41 43 <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
42 44 <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
43 45 </valuemap>
44 46 </data>
45 47 <data>
46 48 <variable>ProjectExplorer.Project.PluginSettings</variable>
47 49 <valuemap type="QVariantMap"/>
48 50 </data>
49 51 <data>
50 52 <variable>ProjectExplorer.Project.Target.0</variable>
51 53 <valuemap type="QVariantMap">
52 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">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.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
55 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 60 <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>
60 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
62 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
65 67 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
66 68 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
67 69 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
68 70 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
69 71 </valuemap>
70 72 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
73 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
71 74 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
72 75 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
73 76 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
77 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
78 <value type="QString">-w</value>
79 <value type="QString">-r</value>
80 </valuelist>
74 81 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
75 82 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
76 83 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
77 84 </valuemap>
78 85 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
79 86 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
80 87 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
81 88 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
82 89 </valuemap>
83 90 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
84 91 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
92 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
85 93 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
86 94 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
87 95 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
96 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
97 <value type="QString">-w</value>
98 <value type="QString">-r</value>
99 </valuelist>
88 100 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
89 101 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
90 102 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
91 103 </valuemap>
92 104 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
93 105 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
94 106 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
95 107 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
96 108 </valuemap>
97 109 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
98 110 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
99 111 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
100 112 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
101 113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
102 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
103 115 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
104 116 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/spwtimegenerator</value>
105 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
106 117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
107 118 </valuemap>
108 119 <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>
110 120 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
111 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
122 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
112 123 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
113 124 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
114 125 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
115 126 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
116 127 <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
117 128 <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
118 129 <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
119 130 </valuemap>
120 131 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
132 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
121 133 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
122 134 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123 135 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
136 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
137 <value type="QString">-w</value>
138 <value type="QString">-r</value>
139 </valuelist>
124 140 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
125 141 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
126 142 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
127 143 </valuemap>
128 144 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
129 145 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
130 146 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
131 147 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
132 148 </valuemap>
133 149 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
134 150 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
151 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
135 152 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
136 153 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
137 154 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
155 <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
156 <value type="QString">-w</value>
157 <value type="QString">-r</value>
158 </valuelist>
138 159 <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
139 160 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
140 161 <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
141 162 </valuemap>
142 163 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
143 164 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
144 165 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
145 166 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
146 167 </valuemap>
147 168 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
148 169 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
149 170 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
150 171 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
151 172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
152 173 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
153 174 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
154 175 <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/spwtimegenerator</value>
155 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">1</value>
156 176 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
157 177 </valuemap>
158 178 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
159 179 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
160 180 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
161 181 <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
162 182 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
163 183 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
164 184 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
165 185 </valuemap>
166 186 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
167 187 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
168 188 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
169 189 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
170 190 </valuemap>
171 191 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
192 <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
172 193 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
173 194 <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"/>
176 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
177 196 <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>
180 197 <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
181 198 <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>
184 199 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
185 200 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
186 <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
187 201 <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>
190 202 <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
191 203 <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>
194 204 <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
195 205 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
196 <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
197 206 <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>
200 207 <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
201 208 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
202 209 <value type="int">0</value>
203 210 <value type="int">1</value>
204 211 <value type="int">2</value>
205 212 <value type="int">3</value>
206 213 <value type="int">4</value>
207 214 <value type="int">5</value>
208 215 <value type="int">6</value>
209 216 <value type="int">7</value>
210 217 <value type="int">8</value>
211 218 <value type="int">9</value>
212 219 <value type="int">10</value>
213 220 <value type="int">11</value>
214 221 <value type="int">12</value>
215 222 <value type="int">13</value>
216 223 <value type="int">14</value>
217 224 </valuelist>
218 <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
219 <value type="int">0</value>
220 <value type="int">1</value>
221 <value type="int">2</value>
222 <value type="int">3</value>
223 <value type="int">4</value>
224 <value type="int">5</value>
225 <value type="int">6</value>
226 <value type="int">7</value>
227 <value type="int">8</value>
228 <value type="int">9</value>
229 <value type="int">10</value>
230 <value type="int">11</value>
231 <value type="int">12</value>
232 <value type="int">13</value>
233 <value type="int">14</value>
234 </valuelist>
225 <value type="int" key="PE.EnvironmentAspect.Base">2</value>
226 <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
235 227 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">spwtimegenerator</value>
236 228 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
237 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration</value>
238 <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
229 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/opt/LPPMON_PLUGINS_PAUL/spwtimegenerator/spwtimegenerator.pro</value>
239 230 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
240 231 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">spwtimegenerator.pro</value>
241 232 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
242 233 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
243 <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
244 234 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
245 235 <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
246 236 <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
237 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
238 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
247 239 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
248 240 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
249 241 </valuemap>
250 242 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
251 243 </valuemap>
252 244 </data>
253 245 <data>
254 246 <variable>ProjectExplorer.Project.TargetCount</variable>
255 247 <value type="int">1</value>
256 248 </data>
257 249 <data>
258 250 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
259 <value type="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
251 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
260 252 </data>
261 253 <data>
262 254 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
263 <value type="int">10</value>
255 <value type="int">14</value>
264 256 </data>
265 257 </qtcreator>
General Comments 0
You need to be logged in to leave comments. Login now