@@ -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,6 +1,6 | |||
|
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 |
@@ -78,6 +78,7 Makefile: PAULs_LPPMON_PLUGINS.pro /usr | |||
|
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 \ |
@@ -103,6 +104,7 Makefile: PAULs_LPPMON_PLUGINS.pro /usr | |||
|
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: |
@@ -1,6 +1,6 | |||
|
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> |
@@ -1,6 +1,6 | |||
|
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> |
|
1 | NO CONTENT: modified file, binary diff hidden |
@@ -208,7 +208,7 void ParameterDump::buildSBM2() | |||
|
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")); |
@@ -28,7 +28,8 HEADERS += parameterdump.h \ | |||
|
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) { |
@@ -3,9 +3,10 | |||
|
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: |
@@ -1,6 +1,6 | |||
|
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 |
@@ -10,13 +10,13 | |||
|
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 |
@@ -124,6 +124,8 DIST = /usr/lib64/qt4/mkspecs/c | |||
|
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 \ |
@@ -205,6 +207,8 Makefile: rmapplugin.pro /usr/lib64/qt4 | |||
|
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 \ |
@@ -236,6 +240,8 Makefile: rmapplugin.pro /usr/lib64/qt4 | |||
|
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: |
@@ -9,10 +9,33 EnterMode::EnterMode(QWidget *parent) : | |||
|
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); |
@@ -24,16 +47,27 EnterMode::EnterMode(QWidget *parent) : | |||
|
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 | } |
@@ -81,15 +115,156 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 |
@@ -5,9 +5,11 | |||
|
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 | { |
@@ -23,12 +25,25 public: | |||
|
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); |
@@ -39,6 +54,13 public slots: | |||
|
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 |
@@ -21,6 +21,8 LFRActions::LFRActions(QWidget *parent) | |||
|
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){ |
@@ -135,6 +135,7 rmapplugin::~rmapplugin() | |||
|
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) |
@@ -252,10 +253,10 void rmapplugin::receivePacketFromBridge | |||
|
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(); |
@@ -291,27 +292,6 void rmapplugin::preProcessPacket(TMPack | |||
|
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) |
@@ -32,9 +32,10 INCLUDEPATH += \ | |||
|
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 += \ |
@@ -133,6 +133,7 rmapPluginUI::rmapPluginUI(QWidget *pare | |||
|
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 |
@@ -132,9 +132,13 TMStatistics::TMStatistics(QWidget *pare | |||
|
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; }"); |
@@ -147,17 +151,11 TMStatistics::TMStatistics(QWidget *pare | |||
|
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 | |
@@ -167,9 +165,19 TMStatistics::TMStatistics(QWidget *pare | |||
|
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() |
@@ -347,9 +355,11 void TMStatistics::buildMonitor() | |||
|
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 |
@@ -417,7 +427,7 void TMStatistics::updateStatistics(unsi | |||
|
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 | { |
@@ -460,7 +470,7 void TMStatistics::updateStatistics(unsi | |||
|
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 | { |
@@ -484,7 +494,7 void TMStatistics::updateStatistics(unsi | |||
|
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 | { |
@@ -508,11 +518,11 void TMStatistics::updateStatistics(unsi | |||
|
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 | { |
@@ -656,16 +666,24 unsigned int TMStatistics::getSID(TMPack | |||
|
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) |
@@ -679,6 +697,26 unsigned int TMStatistics::getSID(TMPack | |||
|
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 | |
@@ -693,32 +731,60 void TMStatistics::buildFileName() | |||
|
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() |
@@ -733,6 +799,7 void TMStatistics::chooseDir() | |||
|
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) |
@@ -747,3 +814,61 void TMStatistics::closeEvent(QCloseEven | |||
|
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 | } |
@@ -11,6 +11,8 | |||
|
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 | |
@@ -37,6 +39,7 public: | |||
|
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; |
@@ -80,6 +83,7 public: | |||
|
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_ |
@@ -201,12 +205,18 public: | |||
|
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 |
@@ -226,8 +236,10 public slots: | |||
|
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(); |
@@ -1,6 +1,6 | |||
|
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 |
@@ -11,12 +11,12 | |||
|
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 |
@@ -45,13 +45,17 OBJECTS_DIR = ./ | |||
|
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 \ |
@@ -59,13 +63,14 DIST = /usr/lib64/qt4/mkspecs/c | |||
|
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 \ |
@@ -115,13 +120,14 Makefile: spwtimegenerator.pro /usr/lib | |||
|
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 \ |
@@ -142,13 +148,14 Makefile: spwtimegenerator.pro /usr/lib | |||
|
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: |
@@ -166,7 +173,7 qmake: FORCE | |||
|
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 |
@@ -187,16 +194,21 mocclean: compiler_moc_header_clean comp | |||
|
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 |
@@ -217,22 +229,31 compiler_clean: compiler_moc_header_clea | |||
|
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 |
@@ -6,12 +6,23 MainWindow::MainWindow(QWidget *parent) | |||
|
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 | |
@@ -22,25 +33,6 MainWindow::~MainWindow() | |||
|
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; |
@@ -50,26 +42,24 void MainWindow::sendOneTimecode() | |||
|
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 | { |
@@ -78,16 +68,56 void MainWindow::sendOneTimecode() | |||
|
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() |
@@ -116,11 +146,11 unsigned int MainWindow::Open() | |||
|
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) |
@@ -135,10 +165,17 unsigned int MainWindow::Open() | |||
|
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 | { |
@@ -191,3 +228,91 void MainWindow::reTestSPWLink() // SLOT | |||
|
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,14 +1,22 | |||
|
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 |
@@ -16,24 +24,36 class MainWindow : public QWidget | |||
|
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 |
@@ -3,6 +3,8 | |||
|
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; |
@@ -10,13 +12,16 mainwindowui::mainwindowui(QWidget *pare | |||
|
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); |
@@ -26,6 +31,7 mainwindowui::mainwindowui(QWidget *pare | |||
|
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; |
@@ -39,9 +45,13 mainwindowui::mainwindowui(QWidget *pare | |||
|
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); |
@@ -49,9 +59,15 mainwindowui::mainwindowui(QWidget *pare | |||
|
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 | } |
@@ -9,6 +9,8 | |||
|
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 |
@@ -19,11 +21,17 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; |
@@ -33,12 +41,15 public: | |||
|
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 |
|
1 | NO CONTENT: modified file, binary diff hidden |
@@ -9,18 +9,29 QT += core gui | |||
|
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,6 +1,6 | |||
|
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> |
@@ -11,6 +11,7 | |||
|
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"> |
@@ -27,6 +28,7 | |||
|
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> |
@@ -49,16 +51,16 | |||
|
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> |
@@ -68,9 +70,14 | |||
|
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> |
@@ -82,9 +89,14 | |||
|
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> |
@@ -102,13 +114,12 | |||
|
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> |
@@ -118,9 +129,14 | |||
|
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> |
@@ -132,9 +148,14 | |||
|
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> |
@@ -152,7 +173,6 | |||
|
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> |
@@ -169,34 +189,21 | |||
|
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> |
@@ -215,35 +222,20 | |||
|
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> |
@@ -256,10 +248,10 | |||
|
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