@@ -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. |
|
|
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- |
|
|
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-0 |
|
|
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(" |
|
|
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. |
|
|
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. |
|
|
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; |
|
45 | ||
|
46 | ArbitraryTime *arbitraryTime; | |
|
32 | 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(); |
|
57 | ||
|
58 | void sendUpdateTime(); | |
|
59 | ||
|
60 | void sendReset(); | |
|
61 | void sendUpdateInfo(); | |
|
62 | void sendEnableCalibration(); | |
|
63 | void sendDisableCalibration(); | |
|
42 | 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() > |
|
|
256 | if (this->generalCCSDSPacketStore.size() > 200) | |
|
256 | 257 | { |
|
257 | 258 | this->generalCCSDSPacketStore.erase(generalCCSDSPacketStore.begin(), |
|
258 |
generalCCSDSPacketStore.begin() + |
|
|
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( |
|
|
358 | layout_record->addWidget(checkbox_record); | |
|
359 | layout_record->addWidget(checkbox_packetLog); | |
|
351 | 360 | layout_record->addWidget(button_chooseDir); |
|
352 |
layout_record-> |
|
|
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 == |
|
|
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 == |
|
|
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 == |
|
|
521 | else if (cat == TM_PACKET_CAT_SCIENCE) | |
|
512 | 522 | { |
|
513 |
if (typ == |
|
|
523 | if (typ == TM_TYPE_LFR_SCIENCE) | |
|
514 | 524 | { |
|
515 |
if (sub == |
|
|
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:: |
|
|
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. |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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: |
|
|
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-> |
|
|
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::send |
|
|
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() | |
|
89 | 95 | { |
|
96 | sendOneTimecode(); | |
|
97 | systemTime = systemTime + 1; | |
|
98 | if (flag_sendTimePacket == true) | |
|
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 send |
|
|
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 |
|
|
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(s |
|
|
43 |
connection_LAYOUT->addWidget( |
|
|
44 |
connection_LAYOUT->addWidget(c |
|
|
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 |
|
|
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"> |
|
|
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="Q |
|
|
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">1 |
|
|
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