##// END OF EJS Templates
Last comit before installation on pc-coillot
leroy -
r50:47b677d190ee default
parent child
Show More
@@ -0,0 +1,80
1 #include "arbitrarytime.h"
2
3 ArbitraryTime::ArbitraryTime(char option, QWidget *parent) :
4 QWidget(parent)
5 {
6 QRegExp timeToSendRegExp("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]");
7 validator = new QRegExpValidator(timeToSendRegExp);
8
9 packetToSend = new TCPacketToSend();
10
11 timeToSend = new QLineEdit();
12 main_HLAYOUT = new QHBoxLayout;
13 main_VLAYOUT = new QVBoxLayout;
14
15 timeToSend_LABEL = new QLabel("Arbitrary Time: 0x");
16 timeToSend_LABEL->setAlignment(Qt::AlignRight);
17
18 timeToSend->setMaxLength(8);
19 timeToSend->setValidator(validator);
20 timeToSend->setText("80000000");
21 currentTimeToSend = 0x80000000;
22
23 if (option == 1)
24 {
25 main_HLAYOUT->addWidget(timeToSend_LABEL);
26 main_HLAYOUT->addWidget(timeToSend);
27 main_HLAYOUT->addStretch();
28 this->setLayout(main_HLAYOUT);
29 }
30 else
31 {
32 main_VLAYOUT->addWidget(timeToSend_LABEL);
33 main_VLAYOUT->addWidget(timeToSend);
34 main_VLAYOUT->addStretch();
35 this->setLayout(main_VLAYOUT);
36 }
37
38 connect(this->timeToSend, SIGNAL(editingFinished()),
39 this, SLOT(editingFinishedSLOT()));
40 }
41
42 void ArbitraryTime::editingFinishedSLOT()
43 {
44 currentTimeToSend = timeToSend->text().toLong(0, 16);
45 emit (
46 timeToSendChanged( currentTimeToSend)
47 );
48 }
49
50 void ArbitraryTime::sendCurrentTimeToSend()
51 {
52 Packet_TC_LFR_UPDATE_TIME_t packet;
53 unsigned char crcAsTwoBytes[2];
54
55 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
56 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
57 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
58 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
59 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME >> 8);
60 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME );
61
62 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
63 packet.serviceType = TC_TYPE_LFR_UPDATE_TIME;
64 packet.serviceSubType = TC_SUBTYPE_UPDATE_TIME;
65 packet.sourceID = SID_DEFAULT;
66 packet.cp_rpw_time[0] = (unsigned char) (currentTimeToSend >> 24);
67 packet.cp_rpw_time[1] = (unsigned char) (currentTimeToSend >> 16);
68 packet.cp_rpw_time[2] = (unsigned char) (currentTimeToSend >> 8);
69 packet.cp_rpw_time[3] = (unsigned char) (currentTimeToSend);
70 packet.cp_rpw_time[4] = 0; // fine time MSB
71 packet.cp_rpw_time[5] = 0; // fine time LSB
72
73 packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
74 PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET - 2);
75 packet.crc[0] = crcAsTwoBytes[0];
76 packet.crc[1] = crcAsTwoBytes[1];
77
78 emit WriteSPW((char*) &packet, PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET,
79 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
80 }
@@ -0,0 +1,43
1 #ifndef ARBITRARYTIME_H
2 #define ARBITRARYTIME_H
3
4 #include "paulcommon_global.h"
5
6 #include <QWidget>
7 #include <QLabel>
8 #include <QHBoxLayout>
9 #include <QVBoxLayout>
10 #include <QLineEdit>
11 #include <QRegExpValidator>
12 #include <tcpackettosend.h>
13
14 class PAULCOMMONSHARED_EXPORT ArbitraryTime : public QWidget
15 {
16 Q_OBJECT
17 public:
18 explicit ArbitraryTime(char option, QWidget *parent = 0);
19
20 long currentTimeToSend;
21
22 TCPacketToSend *packetToSend;
23
24 QLabel *timeToSend_LABEL;
25
26 QHBoxLayout *main_HLAYOUT;
27 QVBoxLayout *main_VLAYOUT;
28
29 QLineEdit *timeToSend;
30
31 QRegExpValidator *validator;
32
33 signals:
34 void timeToSendChanged(long timeToSend);
35 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
36
37 public slots:
38 void editingFinishedSLOT();
39 void sendCurrentTimeToSend();
40
41 };
42
43 #endif // ARBITRARYTIME_H
@@ -0,0 +1,38
1 #-------------------------------------------------
2 #
3 # Project created by QtCreator 2013-09-20T14:01:20
4 #
5 #-------------------------------------------------
6
7 TARGET = paulcommon
8 TEMPLATE = lib
9
10 INCLUDEPATH += \
11 $${PWD} \
12 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump \
13 ../../DEV_PLE/header
14
15 DEFINES += PAULCOMMON_LIBRARY
16
17 SOURCES += systemtime.cpp \
18 arbitrarytime.cpp
19
20 HEADERS += systemtime.h\
21 paulcommon_global.h \
22 arbitrarytime.h \
23 ../../DEV_PLE/header/TC_types.h
24
25 header.path = $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
26 header.files = \
27 systemtime.h\
28 paulcommon_global.h \
29 arbitrarytime.h
30
31 target.path = $$[QT_INSTALL_LIBS]
32 isEmpty(target.path) {
33 target.path = $(QTDIR)/lib
34 }
35
36 LIBS += -lparameterdump
37
38 INSTALLS += header target
@@ -0,0 +1,12
1 #ifndef PAULCOMMON_GLOBAL_H
2 #define PAULCOMMON_GLOBAL_H
3
4 #include <QtCore/qglobal.h>
5
6 #if defined(PAULCOMMON_LIBRARY)
7 # define PAULCOMMONSHARED_EXPORT Q_DECL_EXPORT
8 #else
9 # define PAULCOMMONSHARED_EXPORT Q_DECL_IMPORT
10 #endif
11
12 #endif // PAULCOMMON_GLOBAL_H
@@ -0,0 +1,40
1 #include "systemtime.h"
2
3 SystemTime::SystemTime(QWidget *parent) :
4 QWidget(parent)
5 {
6 main_LAYOUT = new QGridLayout;
7
8 arbitraryTime = new ArbitraryTime(1);
9
10 currentTimePrefix_LABEL = new QLabel(tr("Current System Time: 0x"));
11 currentTime_LABEL = new QLabel(tr("-"));
12
13 currentTimePrefix_LABEL->setAlignment(Qt::AlignRight);
14 currentTime = 0x80000000;
15 currentTime_LABEL->setText(QString::number(currentTime, 16));
16
17 main_LAYOUT->addWidget(currentTimePrefix_LABEL, 0, 0, 1, 1);
18 main_LAYOUT->addWidget(currentTime_LABEL, 0, 1, 1, 1);
19 main_LAYOUT->addWidget(arbitraryTime, 1, 0, 1, 2);
20 main_LAYOUT->setColumnStretch(2, 1);
21 main_LAYOUT->setRowStretch(2, 1);
22
23 this->setLayout(main_LAYOUT);
24
25 connect(this->arbitraryTime, SIGNAL(timeToSendChanged(long)),
26 this, SLOT(editingFinishedSLOT(long)));
27 }
28
29 void SystemTime::editingFinishedSLOT(long time)
30 {
31 emit (
32 timeToSendChanged(time)
33 );
34 }
35
36 void SystemTime::systemTimeHasChanged(long time)
37 {
38 currentTime = time;
39 currentTime_LABEL->setText(QString::number(currentTime, 16));
40 }
@@ -0,0 +1,37
1 #ifndef SYSTEMTIME_H
2 #define SYSTEMTIME_H
3
4 #include "paulcommon_global.h"
5
6 #include <QLabel>
7 #include <QGridLayout>
8 #include <QLineEdit>
9 #include <QRegExpValidator>
10
11 #include "arbitrarytime.h"
12
13 class PAULCOMMONSHARED_EXPORT SystemTime : public QWidget
14 {
15 Q_OBJECT
16 public:
17 explicit SystemTime(QWidget *parent = 0);
18
19 signals:
20 void timeToSendChanged(long timeToSend);
21
22 public slots:
23 void editingFinishedSLOT(long time);
24 void systemTimeHasChanged(long time);
25
26 private:
27 long currentTime;
28
29 QLabel *currentTimePrefix_LABEL;
30 QLabel *currentTime_LABEL;
31
32 QGridLayout *main_LAYOUT;
33
34 ArbitraryTime *arbitraryTime;
35 };
36
37 #endif // SYSTEMTIME_H
@@ -0,0 +1,48
1 #include "systemtime.h"
2
3 SystemTime::SystemTime(QWidget *parent) :
4 QWidget(parent)
5 {
6 QRegExp timeToSendRegExp("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]");
7 validator = new QRegExpValidator(timeToSendRegExp);
8
9 timeToSend = new QLineEdit();
10 main_LAYOUT = new QGridLayout;
11
12 currentTimePrefix_LABEL = new QLabel(tr("Current System Time: 0x"));
13 currentTime_LABEL = new QLabel(tr("-"));
14 timeToSend_LABEL = new QLabel("Arbitrary Time: 0x");
15
16 timeToSend_LABEL->setAlignment(Qt::AlignRight);
17 currentTimePrefix_LABEL->setAlignment(Qt::AlignRight);
18 currentTime = 0x80000000;
19 currentTime_LABEL->setText(QString::number(currentTime, 16));
20 timeToSend->setMaxLength(8);
21 timeToSend->setValidator(validator);
22 timeToSend->setText("80000000");
23
24 main_LAYOUT->addWidget(currentTimePrefix_LABEL, 0, 0, 1, 1);
25 main_LAYOUT->addWidget(currentTime_LABEL, 0, 1, 1, 1);
26 main_LAYOUT->addWidget(timeToSend_LABEL, 1, 0, 1, 1);
27 main_LAYOUT->addWidget(timeToSend, 1, 1, 1, 1);
28 main_LAYOUT->setColumnStretch(3, 1);
29 main_LAYOUT->setRowStretch(2, 1);
30
31 this->setLayout(main_LAYOUT);
32
33 connect(this->timeToSend, SIGNAL(editingFinished()),
34 this, SLOT(editingFinishedSLOT()));
35 }
36
37 void SystemTime::editingFinishedSLOT()
38 {
39 emit (
40 timeToSendChanged(timeToSend->text().toLong(0, 16))
41 );
42 }
43
44 void SystemTime::systemTimeHasChanged(long time)
45 {
46 currentTime = time;
47 currentTime_LABEL->setText(QString::number(currentTime, 16));
48 }
@@ -0,0 +1,37
1 #ifndef SYSTEMTIME_H
2 #define SYSTEMTIME_H
3
4 #include <QWidget>
5 #include <QLabel>
6 #include <QGridLayout>
7 #include <QLineEdit>
8 #include <QRegExpValidator>
9
10 class SystemTime : public QWidget
11 {
12 Q_OBJECT
13 public:
14 explicit SystemTime(QWidget *parent = 0);
15
16 signals:
17 void timeToSendChanged(long timeToSend);
18
19 public slots:
20 void editingFinishedSLOT();
21 void systemTimeHasChanged(long time);
22
23 private:
24 long currentTime;
25
26 QLabel *currentTimePrefix_LABEL;
27 QLabel *currentTime_LABEL;
28 QLabel *timeToSend_LABEL;
29
30 QGridLayout *main_LAYOUT;
31
32 QLineEdit *timeToSend;
33
34 QRegExpValidator *validator;
35 };
36
37 #endif // SYSTEMTIME_H
@@ -1,6 +1,6
1 1 #############################################################################
2 2 # Makefile for building: PAULs_LPPMON_PLUGINS
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: Wed Jul 31 09:19:17 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri Sep 27 14:11:49 2013
4 4 # Project: PAULs_LPPMON_PLUGINS.pro
5 5 # Template: subdirs
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
@@ -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-09-10T10:37:22. -->
3 <!-- Written by QtCreator 2.8.0, 2013-10-01T11:19:54. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -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-08-01T09:16:13. -->
3 <!-- Written by QtCreator 2.8.0, 2013-09-23T12:59:08. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
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("Actions"));
211 groupbox_ACTIONS = new QGroupBox(tr("LOAD / DUMP"));
212 212 layout_ACTIONS = new QGridLayout;
213 213
214 214 button_loadCommon = new QPushButton(tr("LOAD_COMM"));
@@ -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.4) on: Wed Jul 31 09:19:17 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri Sep 20 14:37:48 2013
4 4 # Project: rmapplugin.pro
5 5 # Template: lib
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
@@ -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.1\"" -DUNIXTRANSLATIONPATH -DLPPMON_PLUGINS_INSTALL_PATH="QDir::homePath()+\"/.lppmon/plugins\"" -DLPPMON_CONFIG_PATH="QDir::homePath()+\"/.lppmon/config\"" -DLPPMON_TRANSLATION_PATH="\"/etc/lppmon/translations\"" -DLPPMONPLUGIN_LIBRARY -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
13 DEFINES = -DPLUGIN=rmapplugin -DPLUGINHEADER="\"rmapplugin.h\"" -Ddriver_Name="\"RMAPPlugin\"" -Ddriver_Author="\"Paul Leroy paul.leroy@lpp.polytechnique.fr\"" -Ddriver_Version="\"1.1.2\"" -Ddriver_Description="\"AHB bus controler, works with Gaisler's AHB plugn' play bus.\"" -Ddriver_can_be_root=1 -Ddriver_can_be_child=0 -Ddriver_VID=0 -Ddriver_PID=0 -DLPPMON_VERSION="\"0.0.2\"" -DUNIX -DUNIXTRANSLATIONPATH -DLPPMON_TRANSLATION_PATH="\"/etc/lppmon/translations\"" -DLPPMONPLUGIN_LIBRARY -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
14 14 CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
15 15 CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../../DEV_PLE/header -I../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/parameterdump -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../../DEV_PLE/header -I../spw_usb_driver_v2.63/inc -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I/usr/include/lppmon/parameterdump -I/usr/include/lppmon/paulcommon -I/usr/include/lppmon/common -I/usr/include/lppmon -I/usr/include/lppmon/pluginsInterface -I/usr/include/PythonQt -Imoc
17 17 LINK = g++
18 18 LFLAGS = -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so -llppmoncommon -lwfdisplay -lqwt5-qt4 -lparameterdump -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
19 LIBS = $(SUBLIBS) -L/usr/lib64 ../spw_usb_driver_v2.63/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.63/lib/x86_64/libConfigLibraryUSB.so -llppmoncommon -lpaulcommon -lwfdisplay -lqwt5-qt4 -lparameterdump -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
20 20 AR = ar cqs
21 21 RANLIB =
22 22 QMAKE = /usr/bin/qmake-qt4
@@ -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() > 1000)
256 if (this->generalCCSDSPacketStore.size() > 200)
256 257 {
257 258 this->generalCCSDSPacketStore.erase(generalCCSDSPacketStore.begin(),
258 generalCCSDSPacketStore.begin() + 500);
259 generalCCSDSPacketStore.begin() + 100);
259 260 }
260 261 this->UI->nbPacketInStore->setText("nb packets in store: " + QString::number(generalCCSDSPacketStore.size()));
261 262 processPacketStore();
@@ -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(button_record);
358 layout_record->addWidget(checkbox_record);
359 layout_record->addWidget(checkbox_packetLog);
351 360 layout_record->addWidget(button_chooseDir);
352 layout_record->insertStretch(2, 1);
361 layout_record->addWidget(label_currentDir);
362 layout_record->insertStretch(4, 1);
353 363
354 364 //***********
355 365 // groupboxes
@@ -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 == 1)
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 == 4)
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 == 12)
521 else if (cat == TM_PACKET_CAT_SCIENCE)
512 522 {
513 if (typ == 21)
523 if (typ == TM_TYPE_LFR_SCIENCE)
514 524 {
515 if (sub == 3)
525 if (sub == TM_SUBTYPE_SCIENCE)
516 526 {
517 527 if (sid == SID_NORM_CWF_F3)
518 528 {
@@ -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::storePackets()
739 void TMStatistics::buildPacketLogFileName()
703 740 {
704 if (logFileEn == false)
741 QString date;
742 QString time;
743 QString prefix;
744
745 date = QDate::currentDate().toString();
746 time = QTime::currentTime().toString();
747
748 prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" ;
749
750 if(this->packetLogFile->isOpen()) this->packetLogFile->close();
751 this->packetLogFile->setFileName( prefix + "packet_log.data");
752 if(this->packetLogFile->open(QIODevice::WriteOnly)) this->packetLogFileStrm = new QTextStream(this->packetLogFile);
753 }
754
755 void TMStatistics::storePackets( int state )
756 {
757 if (state == Qt::Checked)
705 758 {
706 759 buildFileName();
707 button_record->setText(tr("STOP"));
708 760 logFileEn = true;
709 761 }
710 762 else
711 763 {
712 764 if(this->logFile->isOpen()) this->logFile->close();
713 button_record->setText(tr("REC"));
714 765 logFileEn = false;
715 766 }
716 767 }
717 768
769 void TMStatistics::logPackets( int state )
770 {
771 if (state == Qt::Checked)
772 {
773 buildPacketLogFileName();
774 packetLogFileEn = true;
775 }
776 else
777 {
778 if(this->packetLogFile->isOpen()) this->packetLogFile->close();
779 packetLogFileEn = false;
780 }
781 }
782
718 783 void TMStatistics::readSettings()
719 784 {
720 785 QSettings settings("lpp", "lfrsgse");
721 786 defaultStorageDirectory = settings.value("defaultStorageDirectory", QDir::homePath()).toString();
787 label_currentDir->setText(defaultStorageDirectory);
722 788 }
723 789
724 790 void TMStatistics::writeSettings()
@@ -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.4) on: Fri Mar 29 09:01:03 2013
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri Sep 20 14:17:00 2013
4 4 # Project: spwtimegenerator.pro
5 5 # Template: app
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile spwtimegenerator.pro
@@ -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 moc_mainwindow.cpp \
49 moc_mainwindowui.cpp
48 mainwindowui.cpp \
49 ../parameterdump/tcpackettosend.cpp moc_mainwindow.cpp \
50 moc_mainwindowui.cpp \
51 moc_tcpackettosend.cpp
50 52 OBJECTS = main.o \
51 53 mainwindow.o \
52 54 mainwindowui.o \
55 tcpackettosend.o \
53 56 moc_mainwindow.o \
54 moc_mainwindowui.o
57 moc_mainwindowui.o \
58 moc_tcpackettosend.o
55 59 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
56 60 /usr/lib64/qt4/mkspecs/common/linux.conf \
57 61 /usr/lib64/qt4/mkspecs/common/gcc-base.conf \
@@ -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_version.pri \
66 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
63 67 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
64 68 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
65 69 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
66 70 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
67 71 /usr/lib64/qt4/mkspecs/features/release.prf \
68 72 /usr/lib64/qt4/mkspecs/features/default_post.prf \
73 /usr/lib64/qt4/mkspecs/features/shared.prf \
69 74 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
70 75 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
71 76 /usr/lib64/qt4/mkspecs/features/qt.prf \
@@ -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_version.pri \
123 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri \
119 124 /usr/lib64/qt4/mkspecs/features/qt_functions.prf \
120 125 /usr/lib64/qt4/mkspecs/features/qt_config.prf \
121 126 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \
122 127 /usr/lib64/qt4/mkspecs/features/default_pre.prf \
123 128 /usr/lib64/qt4/mkspecs/features/release.prf \
124 129 /usr/lib64/qt4/mkspecs/features/default_post.prf \
130 /usr/lib64/qt4/mkspecs/features/shared.prf \
125 131 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
126 132 /usr/lib64/qt4/mkspecs/features/warn_on.prf \
127 133 /usr/lib64/qt4/mkspecs/features/qt.prf \
@@ -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_version.pri:
151 /usr/lib64/qt4/mkspecs/modules/qt_webkit.pri:
146 152 /usr/lib64/qt4/mkspecs/features/qt_functions.prf:
147 153 /usr/lib64/qt4/mkspecs/features/qt_config.prf:
148 154 /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf:
149 155 /usr/lib64/qt4/mkspecs/features/default_pre.prf:
150 156 /usr/lib64/qt4/mkspecs/features/release.prf:
151 157 /usr/lib64/qt4/mkspecs/features/default_post.prf:
158 /usr/lib64/qt4/mkspecs/features/shared.prf:
152 159 /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
153 160 /usr/lib64/qt4/mkspecs/features/warn_on.prf:
154 161 /usr/lib64/qt4/mkspecs/features/qt.prf:
@@ -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: mainwindowui.h
205 moc_mainwindowui.cpp: systemtime.h \
206 mainwindowui.h
198 207 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindowui.h -o moc_mainwindowui.cpp
199 208
209 moc_tcpackettosend.cpp: ../parameterdump/tcpackettosend.h
210 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) ../parameterdump/tcpackettosend.h -o moc_tcpackettosend.cpp
211
200 212 compiler_rcc_make_all:
201 213 compiler_rcc_clean:
202 214 compiler_image_collection_make_all: qmake_image_collection.cpp
@@ -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->sendPacketAndTimecodeButton, SIGNAL(clicked()), this, SLOT(sendOnePacketAndOneTimecode()));
14 connect(this, SIGNAL(sendMessage(QString)), this->UI, SLOT(displayMessage(QString)));
22 connect(UI->button_sendSystemTime, SIGNAL(clicked()), this, SLOT(sendSystemTime()));
23 connect(UI->button_sendArbitraryTime, SIGNAL(clicked()), this, SLOT(sendArbitraryTime()));
24
25 connect(this->time, SIGNAL(timeout()), this, SLOT(periodicalTimecodeTimeout()));
15 26
16 27 this->setLayout(UI->layout());
17 28
@@ -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::sendOnePacketAndOneTimecode()
80 void MainWindow::sendTimecodesPeriodically()
81 {
82 if(time->isActive())
83 {
84 time->stop();
85 this->UI->startTimeButton->setText("start sending timecodes periodically");
86 }
87 else
88 {
89 time->start();
90 this->UI->startTimeButton->setText("stop sending timecodes periodically");
91 }
92 }
93
94 void MainWindow::periodicalTimecodeTimeout()
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 sendOnePacketAndOneTimecode();
51 void sendTimecodesPeriodically();
52 void periodicalTimecodeTimeout();
53 void sendTimePacketTimeout();
54 void sendSystemTime();
55 void sendArbitraryTime();
56 void sendUpdateTime(long time);
37 57 void reTestSPWLink();
38 58 };
39 59
@@ -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 packets and timecodes periodically"));
23 startTimeButton = new QPushButton(tr("start sending timecodes periodically"));
18 24 sendTimecodeButton = new QPushButton(tr("send one timecode"));
19 sendPacketAndTimecodeButton = new QPushButton(tr("send time packet and timecode"));
20 25
21 26 usbDeviceNumber_SPINBOX = new QSpinBox;
22 27 usbDeviceNumber_SPINBOX->setRange(0,32);
@@ -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(sendPacketAndTimecodeButton, 3, 0, 1, 2);
43 connection_LAYOUT->addWidget(startTimeButton, 4, 0, 1, 2);
44 connection_LAYOUT->addWidget(console, 5, 0, 3, 3);
48 connection_LAYOUT->addWidget(startTimeButton, 3, 0, 1, 2);
49 connection_LAYOUT->addWidget(currentTimecodeValue_LABEL, 4, 0, 1, 2);
50 connection_LAYOUT->addWidget(currentTimecodeFlag_LABEL, 5, 0, 1, 2);
51 connection_LAYOUT->addWidget(button_sendSystemTime, 6, 0, 1, 1);
52 connection_LAYOUT->addWidget(button_sendArbitraryTime, 6, 1, 1, 1);
53 connection_LAYOUT->addWidget(systemTime, 7, 0, 1, 2);
54 connection_LAYOUT->addWidget(console, 0, 2, 7, 2);
45 55
46 56 //connection_LAYOUT->setRowStretch(6, 1);
47 57 connection_LAYOUT->setColumnStretch(2, 1);
@@ -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 Creator 2.4.1, 2013-05-03T15:28:00. -->
3 <!-- Written by QtCreator 2.8.0, 2013-09-20T16:01:50. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -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">Qt4ProjectManager.Target.DesktopTarget</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop-Qt 4.8.2 in PATH (System)</value>
56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5289e843-9ef2-45ce-88c6-ad27d8e08def}</value>
55 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
56 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
57 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
58 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
59 <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-64bit./usr/bin/gdb</value>
60 61 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
61 62 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
63 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
62 64 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
63 65 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
64 66 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
@@ -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="QString">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
251 <value type="QByteArray">{2e58a81f-9962-4bba-ae6b-760177f0656c}</value>
260 252 </data>
261 253 <data>
262 254 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
263 <value type="int">10</value>
255 <value type="int">14</value>
264 256 </data>
265 257 </qtcreator>
General Comments 0
You need to be logged in to leave comments. Login now