##// END OF EJS Templates
timecode generation added to the rmapplugin:...
leroy -
r62:8490a8b44e9a default
parent child
Show More
@@ -0,0 +1,25
1 #ifndef PAULCOMMONCRC_H
2 #define PAULCOMMONCRC_H
3
4 #include <QObject>
5
6 class PaulCommonCRC : public QObject
7 {
8 Q_OBJECT
9 public:
10 explicit PaulCommonCRC(QObject *parent = 0);
11
12 unsigned char calculateDataCRC(char *data, int nbBytes);
13 void initLookUpTableForCRC( void );
14
15 void GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData);
16 unsigned int Crc_opt( unsigned char D, unsigned int Chk);
17 unsigned int lookUpTableForCRC[256];
18
19 signals:
20
21 public slots:
22
23 };
24
25 #endif // PAULCOMMONCRC_H
@@ -0,0 +1,60
1 #include "paulcommoncrc.h"
2
3 PaulCommonCRC::PaulCommonCRC(QObject *parent) :
4 QObject(parent)
5 {
6 initLookUpTableForCRC();
7 }
8
9 void PaulCommonCRC::initLookUpTableForCRC( void )
10 {
11 unsigned int i;
12 unsigned int tmp;
13
14 for (i=0; i<256; i++)
15 {
16 tmp = 0;
17 if((i & 1) != 0) {
18 tmp = tmp ^ 0x1021;
19 }
20 if((i & 2) != 0) {
21 tmp = tmp ^ 0x2042;
22 }
23 if((i & 4) != 0) {
24 tmp = tmp ^ 0x4084;
25 }
26 if((i & 8) != 0) {
27 tmp = tmp ^ 0x8108;
28 }
29 if((i & 16) != 0) {
30 tmp = tmp ^ 0x1231;
31 }
32 if((i & 32) != 0) {
33 tmp = tmp ^ 0x2462;
34 }
35 if((i & 64) != 0) {
36 tmp = tmp ^ 0x48c4;
37 }
38 if((i & 128) != 0) {
39 tmp = tmp ^ 0x9188;
40 }
41 lookUpTableForCRC[i] = tmp;
42 }
43 }
44
45 void PaulCommonCRC::GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData)
46 {
47 unsigned int Chk;
48 unsigned int j;
49 Chk = 0xffff; // reset the syndrom to all ones
50 for (j=0; j<sizeOfData; j++) {
51 Chk = Crc_opt(data[j], Chk);
52 }
53 crcAsTwoBytes[0] = (unsigned char) (Chk >> 8);
54 crcAsTwoBytes[1] = (unsigned char) (Chk & 0x00ff);
55 }
56
57 unsigned int PaulCommonCRC::Crc_opt( unsigned char D, unsigned int Chk)
58 {
59 return(((Chk << 8) & 0xff00)^lookUpTableForCRC [(((Chk >> 8)^D) & 0x00ff)]);
60 }
@@ -1,6 +1,6
1 1 #############################################################################
2 2 # Makefile for building: lfrsgse
3 # Generated by qmake (3.0) (Qt 5.2.0)
3 # Generated by qmake (3.0) (Qt 5.2.1)
4 4 # Project: gselesia.pro
5 5 # Template: app
6 6 # Command: /bin/qmake-qt5 -spec linux-g++-64 -o Makefile gselesia.pro
@@ -28,7 +28,7 COPY = cp -f
28 28 SED = sed
29 29 COPY_FILE = cp -f
30 30 COPY_DIR = cp -f -R
31 STRIP = strip
31 STRIP =
32 32 INSTALL_FILE = install -m 644 -p
33 33 INSTALL_DIR = $(COPY_DIR)
34 34 INSTALL_PROGRAM = install -m 755 -p
@@ -970,8 +970,10 moc_mainwindow.cpp: /usr/include/qt5/QtN
970 970 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
971 971 ../../DEV_PLE/header/TC_types.h \
972 972 ../../DEV_PLE/header/ccsds_types.h \
973 ../../DEV_PLE/header/fsw_params_processing.h \
973 974 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
974 975 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
976 /usr/include/qt5/lppmon/wfdisplay/asmpage.h \
975 977 ../rmapplugin/tmstatistics.h \
976 978 /usr/include/qt5/QtWidgets/QCheckBox \
977 979 ../common_PLE/hkdisplay.h \
@@ -980,7 +982,7 moc_mainwindow.cpp: /usr/include/qt5/QtN
980 982 ../rmapplugin/wfpacket.h \
981 983 ../../DEV_PLE/header/fsw_params.h \
982 984 ../../DEV_PLE/header/grlib_regs.h \
983 ../../DEV_PLE/header/fsw_params_processing.h \
985 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
984 986 ../../DEV_PLE/header/tm_byte_positions.h \
985 987 lfrxmlparser.h \
986 988 ../rmapplugin/spectrapacket.h \
@@ -1485,8 +1487,10 moc_mainwindowui.cpp: /usr/include/qt5/Q
1485 1487 ../rmapplugin/tmpackettoread.h \
1486 1488 ../../DEV_PLE/header/TC_types.h \
1487 1489 ../../DEV_PLE/header/ccsds_types.h \
1490 ../../DEV_PLE/header/fsw_params_processing.h \
1488 1491 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
1489 1492 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
1493 /usr/include/qt5/lppmon/wfdisplay/asmpage.h \
1490 1494 ../rmapplugin/tmstatistics.h \
1491 1495 /usr/include/qt5/QtCore/QMap \
1492 1496 /usr/include/qt5/QtWidgets/QCheckBox \
@@ -1793,6 +1797,7 moc_tmstatistics.cpp: /usr/include/qt5/Q
1793 1797 ../rmapplugin/tmpackettoread.h \
1794 1798 /usr/include/qt5/QtCore/QObject \
1795 1799 ../../DEV_PLE/header/ccsds_types.h \
1800 ../../DEV_PLE/header/fsw_params_processing.h \
1796 1801 /usr/include/qt5/QtCore/QMap \
1797 1802 /usr/include/qt5/QtWidgets/QCheckBox \
1798 1803 /usr/include/qt5/QtWidgets/qcheckbox.h \
@@ -1921,6 +1926,7 moc_wfpacket.cpp: /usr/include/qt5/QtCor
1921 1926 ../../DEV_PLE/header/fsw_params.h \
1922 1927 ../../DEV_PLE/header/grlib_regs.h \
1923 1928 ../../DEV_PLE/header/fsw_params_processing.h \
1929 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
1924 1930 ../../DEV_PLE/header/tm_byte_positions.h \
1925 1931 ../../DEV_PLE/header/ccsds_types.h \
1926 1932 ../rmapplugin/wfpacket.h
@@ -2232,6 +2238,7 moc_hkdisplay.cpp: /usr/include/qt5/QtWi
2232 2238 ../rmapplugin/tmpackettoread.h \
2233 2239 /usr/include/qt5/QtCore/QObject \
2234 2240 ../../DEV_PLE/header/ccsds_types.h \
2241 ../../DEV_PLE/header/fsw_params_processing.h \
2235 2242 ../common_PLE/hkdisplay.h
2236 2243 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include ../common_PLE/hkdisplay.h -o moc_hkdisplay.cpp
2237 2244
@@ -2961,8 +2968,10 main.o: main.cpp mainwindow.h \
2961 2968 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
2962 2969 ../../DEV_PLE/header/TC_types.h \
2963 2970 ../../DEV_PLE/header/ccsds_types.h \
2971 ../../DEV_PLE/header/fsw_params_processing.h \
2964 2972 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
2965 2973 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
2974 /usr/include/qt5/lppmon/wfdisplay/asmpage.h \
2966 2975 ../rmapplugin/tmstatistics.h \
2967 2976 /usr/include/qt5/QtWidgets/QCheckBox \
2968 2977 ../common_PLE/hkdisplay.h \
@@ -2971,7 +2980,7 main.o: main.cpp mainwindow.h \
2971 2980 ../rmapplugin/wfpacket.h \
2972 2981 ../../DEV_PLE/header/fsw_params.h \
2973 2982 ../../DEV_PLE/header/grlib_regs.h \
2974 ../../DEV_PLE/header/fsw_params_processing.h \
2983 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
2975 2984 ../../DEV_PLE/header/tm_byte_positions.h \
2976 2985 lfrxmlparser.h \
2977 2986 ../rmapplugin/spectrapacket.h \
@@ -3491,8 +3500,10 mainwindow.o: mainwindow.cpp mainwindow.
3491 3500 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
3492 3501 ../../DEV_PLE/header/TC_types.h \
3493 3502 ../../DEV_PLE/header/ccsds_types.h \
3503 ../../DEV_PLE/header/fsw_params_processing.h \
3494 3504 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
3495 3505 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
3506 /usr/include/qt5/lppmon/wfdisplay/asmpage.h \
3496 3507 ../rmapplugin/tmstatistics.h \
3497 3508 /usr/include/qt5/QtWidgets/QCheckBox \
3498 3509 ../common_PLE/hkdisplay.h \
@@ -3501,7 +3512,7 mainwindow.o: mainwindow.cpp mainwindow.
3501 3512 ../rmapplugin/wfpacket.h \
3502 3513 ../../DEV_PLE/header/fsw_params.h \
3503 3514 ../../DEV_PLE/header/grlib_regs.h \
3504 ../../DEV_PLE/header/fsw_params_processing.h \
3515 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
3505 3516 ../../DEV_PLE/header/tm_byte_positions.h \
3506 3517 lfrxmlparser.h \
3507 3518 ../rmapplugin/spectrapacket.h \
@@ -4008,8 +4019,10 mainwindowui.o: mainwindowui.cpp mainwin
4008 4019 ../rmapplugin/tmpackettoread.h \
4009 4020 ../../DEV_PLE/header/TC_types.h \
4010 4021 ../../DEV_PLE/header/ccsds_types.h \
4022 ../../DEV_PLE/header/fsw_params_processing.h \
4011 4023 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
4012 4024 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
4025 /usr/include/qt5/lppmon/wfdisplay/asmpage.h \
4013 4026 ../rmapplugin/tmstatistics.h \
4014 4027 /usr/include/qt5/QtCore/QMap \
4015 4028 /usr/include/qt5/QtWidgets/QCheckBox \
@@ -4355,6 +4368,7 tmstatistics.o: ../rmapplugin/tmstatisti
4355 4368 ../rmapplugin/tmpackettoread.h \
4356 4369 /usr/include/qt5/QtCore/QObject \
4357 4370 ../../DEV_PLE/header/ccsds_types.h \
4371 ../../DEV_PLE/header/fsw_params_processing.h \
4358 4372 /usr/include/qt5/QtCore/QMap \
4359 4373 /usr/include/qt5/QtWidgets/QCheckBox \
4360 4374 /usr/include/qt5/QtWidgets/qcheckbox.h \
@@ -4802,6 +4816,7 wfpacket.o: ../rmapplugin/wfpacket.cpp .
4802 4816 ../../DEV_PLE/header/fsw_params.h \
4803 4817 ../../DEV_PLE/header/grlib_regs.h \
4804 4818 ../../DEV_PLE/header/fsw_params_processing.h \
4819 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
4805 4820 ../../DEV_PLE/header/tm_byte_positions.h \
4806 4821 ../../DEV_PLE/header/ccsds_types.h
4807 4822 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpacket.o ../rmapplugin/wfpacket.cpp
@@ -5119,7 +5134,8 hkdisplay.o: ../common_PLE/hkdisplay.cpp
5119 5134 /usr/include/qt5/QtWidgets/QGridLayout \
5120 5135 ../rmapplugin/tmpackettoread.h \
5121 5136 /usr/include/qt5/QtCore/QObject \
5122 ../../DEV_PLE/header/ccsds_types.h
5137 ../../DEV_PLE/header/ccsds_types.h \
5138 ../../DEV_PLE/header/fsw_params_processing.h
5123 5139 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o hkdisplay.o ../common_PLE/hkdisplay.cpp
5124 5140
5125 5141 lfrxmlparser.o: lfrxmlparser.cpp lfrxmlparser.h \
@@ -1,6 +1,6
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 3.0.0, 2014-03-03T15:48:45. -->
3 <!-- Written by QtCreator 3.0.1, 2014-03-31T10:58:30. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
1 NO CONTENT: modified file, binary diff hidden
@@ -265,14 +265,12 void MainWindow::socket_TMEcho_ServerHas
265 265 void MainWindow::buildWFAndDisplay_SWF(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page)
266 266 {
267 267 unsigned int i = 0;
268 unsigned int j = 0;
268 static unsigned int nbSamples = 0;
269 269 unsigned char *data;
270 unsigned char pa_lfr_pkt_cnt;
270 271 unsigned char pa_lfr_pkt_nr;
271 272 unsigned int pa_lfr_swf_blk_nr = 0;
272 static unsigned int coarseTime = 0;
273 static unsigned int fineTime = 0;
274 273 double deltaT;
275 unsigned int nbData;
276 274
277 275 switch(num_page)
278 276 {
@@ -289,37 +287,40 void MainWindow::buildWFAndDisplay_SWF(T
289 287 deltaT = 0;
290 288 break;
291 289 }
290 pa_lfr_pkt_cnt = packet->Value[22];
292 291 pa_lfr_pkt_nr = packet->Value[23]; // PA_LFR_PKT_NR
293 292 pa_lfr_swf_blk_nr = packet->Value[30] * 256 + packet->Value[31]; // PA_LFR_SWF_BLK_NR
294 293 data = &packet->Value[32]; // start of the first data block;
295 294
296 295 if (pa_lfr_pkt_nr == 1) // the acquisition time of the first packet of the snapshot is taken as starting time
297 296 {
298 coarseTime = ((packet->Value[24] & 0x7f) << 24)
297 nbSamples = 0;
298 wfPacket->coarseTime = ((packet->Value[24] & 0x7f) << 24)
299 299 + (packet->Value[25] << 16)
300 300 + (packet->Value[26] << 8)
301 301 + packet->Value[27];
302 fineTime = (packet->Value[28] << 8) + packet->Value[29];
302 wfPacket->fineTime = (packet->Value[28] << 8) + packet->Value[29];
303 303 }
304 304
305 j = (pa_lfr_pkt_nr-1) * BLK_NR_304;
306 305 for ( i=0; i<pa_lfr_swf_blk_nr; i++ ){
307 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
308 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
309 wfPacket->wf_e2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
310 wfPacket->wf_b1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
311 wfPacket->wf_b2[j + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
312 wfPacket->wf_b3[j + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
306 wfPacket->wf_v[nbSamples + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
307 wfPacket->wf_e1[nbSamples + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
308 wfPacket->wf_e2[nbSamples + i] = (short) ( (data[ (i * BLK_SIZE) + 4] << 8) + (data[ (i*BLK_SIZE) + 5]) );
309 wfPacket->wf_b1[nbSamples + i] = (short) ( (data[ (i * BLK_SIZE) + 6] << 8) + (data[ (i*BLK_SIZE) + 7]) );
310 wfPacket->wf_b2[nbSamples + i] = (short) ( (data[ (i * BLK_SIZE) + 8] << 8) + (data[ (i*BLK_SIZE) + 9]) );
311 wfPacket->wf_b3[nbSamples + i] = (short) ( (data[ (i * BLK_SIZE) + 10] << 8) + (data[ (i*BLK_SIZE) + 11]) );
313 312 }
314 if (pa_lfr_pkt_nr == 7)
313
314 nbSamples = nbSamples + pa_lfr_swf_blk_nr;
315
316 if (pa_lfr_pkt_nr == pa_lfr_pkt_cnt)
315 317 {
316 nbData = j + pa_lfr_swf_blk_nr;
317 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0, coarseTime, fineTime, deltaT, nbData);
318 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1, coarseTime, fineTime, deltaT, nbData);
319 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2, coarseTime, fineTime, deltaT, nbData);
320 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3, coarseTime, fineTime, deltaT, nbData);
321 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4, coarseTime, fineTime, deltaT, nbData);
322 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5, coarseTime, fineTime, deltaT, nbData);
318 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_v, num_page, 0, wfPacket->coarseTime, wfPacket->fineTime, deltaT, nbSamples);
319 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e1, num_page, 1, wfPacket->coarseTime, wfPacket->fineTime, deltaT, nbSamples);
320 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_e2, num_page, 2, wfPacket->coarseTime, wfPacket->fineTime, deltaT, nbSamples);
321 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b1, num_page, 3, wfPacket->coarseTime, wfPacket->fineTime, deltaT, nbSamples);
322 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b2, num_page, 4, wfPacket->coarseTime, wfPacket->fineTime, deltaT, nbSamples);
323 this->UI->wfDisplay->displayOnPlot(wfPacket->wf_b3, num_page, 5, wfPacket->coarseTime, wfPacket->fineTime, deltaT, nbSamples);
323 324 }
324 325 }
325 326
@@ -356,7 +357,7 void MainWindow::buildWFAndDisplay_CWF_L
356 357 blk_nr = packet->Value[28] * 256 + packet->Value[29]; // PA_LFR_CWFL3_BLK_NR
357 358 data = &packet->Value[30]; // start of the first data block;
358 359
359 j = (pkt_nr-1) * BLK_NR_CWF;
360 j = (pkt_nr-1) * blk_nr;
360 361 for ( i=0; i<blk_nr; i++ ){
361 362 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
362 363 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
@@ -412,7 +413,7 void MainWindow::buildWFAndDisplay_CWF_F
412 413 blk_nr = packet->Value[28] * 256 + packet->Value[29]; // PA_LFR_CWF3_BLK_NR
413 414 data = &packet->Value[30]; // start of the first data block;
414 415
415 j = (pkt_nr-1) * BLK_NR_CWF_SHORT_F3;
416 j = (pkt_nr-1) * blk_nr;
416 417 for ( i=0; i<blk_nr; i++ ){
417 418 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE_CWF3_LIGHT) ] << 8) + (data[ (i*BLK_SIZE_CWF3_LIGHT) + 1]) );
418 419 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE_CWF3_LIGHT) + 2] << 8) + (data[ (i*BLK_SIZE_CWF3_LIGHT) + 3]) );
@@ -444,31 +445,23 void MainWindow::buildWFAndDisplay_CWF_F
444 445 unsigned int blk_nr = 0;
445 446 static unsigned int coarseTime;
446 447 static unsigned int fineTime;
447 unsigned int tmpCoarseTime;
448 unsigned int tmpFineTime;
449 448 double deltaT;
450 double DELTA;
451 449 unsigned int nbData;
452 450
453 451 deltaT = 1. / 4096.;
454 452
455 453 if (pkt_nr == 1) // the acquisition time of the first packet of the snapshot is taken as starting time
456 454 {
457 tmpCoarseTime = coarseTime;
458 tmpFineTime = fineTime;
459 455 coarseTime = ((packet->Value[22] & 0x7f) << 24)
460 456 + (packet->Value[23] << 16)
461 457 + (packet->Value[24] << 8)
462 458 + packet->Value[25];
463 459 fineTime = (packet->Value[26] << 8) + packet->Value[27];
464 DELTA = (coarseTime + fineTime * 1. / 65536.)
465 - (tmpCoarseTime + tmpFineTime * 1. / 65536);
466 displayOnConsole( "DELTA = " + QString::number(DELTA, 'f', 10) );
467 460 }
468 461 blk_nr = packet->Value[28] * 256 + packet->Value[29]; // PA_LFR_CWF_BLK_NR
469 462 data = &packet->Value[30]; // start of the first data block;
470 463
471 j = (pkt_nr-1) * BLK_NR_CWF;
464 j = (pkt_nr-1) * blk_nr;
472 465 for ( i=0; i<blk_nr; i++ ){
473 466 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
474 467 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
@@ -500,31 +493,23 void MainWindow::buildWFAndDisplay_CWF_F
500 493 unsigned int blk_nr = 0;
501 494 static unsigned int coarseTime;
502 495 static unsigned int fineTime;
503 unsigned int tmpCoarseTime;
504 unsigned int tmpFineTime;
505 496 double deltaT;
506 double DELTA;
507 497 unsigned int nbData;
508 498
509 499 deltaT = 1. / 256.;
510 500
511 501 if (pkt_nr == 1) // the acquisition time of the first packet of the snapshot is taken as starting time
512 502 {
513 tmpCoarseTime = coarseTime;
514 tmpFineTime = fineTime;
515 503 coarseTime = ((packet->Value[22] & 0x7f) << 24)
516 504 + (packet->Value[23] << 16)
517 505 + (packet->Value[24] << 8)
518 506 + packet->Value[25];
519 507 fineTime = (packet->Value[26] << 8) + packet->Value[27];
520 DELTA = (coarseTime + fineTime * 1. / 65536.)
521 - (tmpCoarseTime + tmpFineTime * 1. / 65536);
522 displayOnConsole( "DELTA = " + QString::number(DELTA, 'f', 10) );
523 508 }
524 509 blk_nr = packet->Value[28] * 256 + packet->Value[29]; // PA_LFR_CWF3_BLK_NR
525 510 data = &packet->Value[30]; // start of the first data block;
526 511
527 j = (pkt_nr-1) * BLK_NR_CWF;
512 j = (pkt_nr-1) * blk_nr;
528 513 for ( i=0; i<blk_nr; i++ ){
529 514 wfPacket->wf_v[j + i] = (short) ( (data[ (i * BLK_SIZE) ] << 8) + (data[ (i*BLK_SIZE) + 1]) );
530 515 wfPacket->wf_e1[j + i] = (short) ( (data[ (i * BLK_SIZE) + 2] << 8) + (data[ (i*BLK_SIZE) + 3]) );
@@ -1,6 +1,6
1 1 #############################################################################
2 2 # Makefile for building: libpaulcommon.so.1.0.0
3 # Generated by qmake (3.0) (Qt 5.2.0)
3 # Generated by qmake (3.0) (Qt 5.2.1)
4 4 # Project: paulcommon.pro
5 5 # Template: lib
6 6 # Command: /usr/bin/qmake-qt5 -o Makefile paulcommon.pro
@@ -15,10 +15,10 CXX = g++
15 15 DEFINES = -DPAULCOMMON_LIBRARY -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
16 16 CFLAGS = -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
17 17 CXXFLAGS = -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
18 INCPATH = -I/usr/lib64/qt5/mkspecs/linux-g++-64 -I. -I. -I/usr/include/qt5/lppmon/parameterdump -I../../DEV_PLE/header -I/usr/include/qt5 -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I.
18 INCPATH = -I/usr/lib64/qt5/mkspecs/linux-g++-64 -I. -I. -I../../DEV_PLE/header -Iheader -Isrc -I/usr/include/qt5 -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I.
19 19 LINK = g++
20 20 LFLAGS = -m64 -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,libpaulcommon.so.1
21 LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lparameterdump -lQt5PrintSupport -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
21 LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5PrintSupport -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
22 22 AR = ar cqs
23 23 RANLIB =
24 24 QMAKE = /usr/bin/qmake-qt5
@@ -28,7 +28,7 COPY = cp -f
28 28 SED = sed
29 29 COPY_FILE = cp -f
30 30 COPY_DIR = cp -f -R
31 STRIP = strip
31 STRIP =
32 32 INSTALL_FILE = install -m 644 -p
33 33 INSTALL_DIR = $(COPY_DIR)
34 34 INSTALL_PROGRAM = install -m 755 -p
@@ -46,12 +46,16 OBJECTS_DIR = ./
46 46 ####### Files
47 47
48 48 SOURCES = systemtime.cpp \
49 arbitrarytime.cpp moc_systemtime.cpp \
50 moc_arbitrarytime.cpp
49 arbitrarytime.cpp \
50 src/paulcommoncrc.cpp moc_systemtime.cpp \
51 moc_arbitrarytime.cpp \
52 moc_paulcommoncrc.cpp
51 53 OBJECTS = systemtime.o \
52 54 arbitrarytime.o \
55 paulcommoncrc.o \
53 56 moc_systemtime.o \
54 moc_arbitrarytime.o
57 moc_arbitrarytime.o \
58 moc_paulcommoncrc.o
55 59 DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
56 60 /usr/lib64/qt5/mkspecs/common/shell-unix.conf \
57 61 /usr/lib64/qt5/mkspecs/common/unix.conf \
@@ -61,13 +65,12 DIST = /usr/lib64/qt5/mkspecs/f
61 65 /usr/lib64/qt5/mkspecs/common/g++-base.conf \
62 66 /usr/lib64/qt5/mkspecs/common/g++-unix.conf \
63 67 /usr/lib64/qt5/mkspecs/qconfig.pri \
64 /usr/lib64/qt5/mkspecs/modules/qt_lib_accountsservice.pri \
65 68 /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
66 69 /usr/lib64/qt5/mkspecs/modules/qt_lib_clucene_private.pri \
67 70 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor.pri \
71 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor_private.pri \
68 72 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri \
69 73 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
70 /usr/lib64/qt5/mkspecs/modules/qt_lib_configuration.pri \
71 74 /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri \
72 75 /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri \
73 76 /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri \
@@ -207,13 +210,12 Makefile: paulcommon.pro /usr/lib64/qt5/
207 210 /usr/lib64/qt5/mkspecs/common/g++-base.conf \
208 211 /usr/lib64/qt5/mkspecs/common/g++-unix.conf \
209 212 /usr/lib64/qt5/mkspecs/qconfig.pri \
210 /usr/lib64/qt5/mkspecs/modules/qt_lib_accountsservice.pri \
211 213 /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
212 214 /usr/lib64/qt5/mkspecs/modules/qt_lib_clucene_private.pri \
213 215 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor.pri \
216 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor_private.pri \
214 217 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri \
215 218 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
216 /usr/lib64/qt5/mkspecs/modules/qt_lib_configuration.pri \
217 219 /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri \
218 220 /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri \
219 221 /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri \
@@ -308,13 +310,12 Makefile: paulcommon.pro /usr/lib64/qt5/
308 310 /usr/lib64/qt5/mkspecs/common/g++-base.conf:
309 311 /usr/lib64/qt5/mkspecs/common/g++-unix.conf:
310 312 /usr/lib64/qt5/mkspecs/qconfig.pri:
311 /usr/lib64/qt5/mkspecs/modules/qt_lib_accountsservice.pri:
312 313 /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
313 314 /usr/lib64/qt5/mkspecs/modules/qt_lib_clucene_private.pri:
314 315 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor.pri:
316 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor_private.pri:
315 317 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri:
316 318 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
317 /usr/lib64/qt5/mkspecs/modules/qt_lib_configuration.pri:
318 319 /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri:
319 320 /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri:
320 321 /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri:
@@ -406,7 +407,7 qmake_all: FORCE
406 407
407 408 dist:
408 409 @test -d .tmp/paulcommon1.0.0 || mkdir -p .tmp/paulcommon1.0.0
409 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/paulcommon1.0.0/ && $(COPY_FILE) --parents systemtime.h paulcommon_global.h arbitrarytime.h ../../DEV_PLE/header/TC_types.h .tmp/paulcommon1.0.0/ && $(COPY_FILE) --parents systemtime.cpp arbitrarytime.cpp .tmp/paulcommon1.0.0/ && (cd `dirname .tmp/paulcommon1.0.0` && $(TAR) paulcommon1.0.0.tar paulcommon1.0.0 && $(COMPRESS) paulcommon1.0.0.tar) && $(MOVE) `dirname .tmp/paulcommon1.0.0`/paulcommon1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/paulcommon1.0.0
410 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/paulcommon1.0.0/ && $(COPY_FILE) --parents systemtime.h arbitrarytime.h header/paulcommoncrc.h .tmp/paulcommon1.0.0/ && $(COPY_FILE) --parents systemtime.cpp arbitrarytime.cpp src/paulcommoncrc.cpp .tmp/paulcommon1.0.0/ && (cd `dirname .tmp/paulcommon1.0.0` && $(TAR) paulcommon1.0.0.tar paulcommon1.0.0 && $(COMPRESS) paulcommon1.0.0.tar) && $(MOVE) `dirname .tmp/paulcommon1.0.0`/paulcommon1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/paulcommon1.0.0
410 411
411 412
412 413 clean:compiler_clean
@@ -430,10 +431,12 check: first
430 431
431 432 compiler_rcc_make_all:
432 433 compiler_rcc_clean:
433 compiler_moc_header_make_all: moc_systemtime.cpp moc_arbitrarytime.cpp
434 compiler_moc_header_make_all: moc_systemtime.cpp moc_arbitrarytime.cpp moc_paulcommoncrc.cpp
434 435 compiler_moc_header_clean:
435 -$(DEL_FILE) moc_systemtime.cpp moc_arbitrarytime.cpp
436 moc_systemtime.cpp: paulcommon_global.h \
436 -$(DEL_FILE) moc_systemtime.cpp moc_arbitrarytime.cpp moc_paulcommoncrc.cpp
437 moc_systemtime.cpp: /usr/include/qt5/QtWidgets/QWidget \
438 /usr/include/qt5/QtWidgets/qwidget.h \
439 /usr/include/qt5/QtGui/qwindowdefs.h \
437 440 /usr/include/qt5/QtCore/qglobal.h \
438 441 /usr/include/qt5/QtCore/qconfig.h \
439 442 /usr/include/qt5/QtCore/qconfig-64.h \
@@ -471,9 +474,6 moc_systemtime.cpp: paulcommon_global.h
471 474 /usr/include/qt5/QtCore/qtypeinfo.h \
472 475 /usr/include/qt5/QtCore/qtypetraits.h \
473 476 /usr/include/qt5/QtCore/qsysinfo.h \
474 /usr/include/qt5/QtWidgets/QWidget \
475 /usr/include/qt5/QtWidgets/qwidget.h \
476 /usr/include/qt5/QtGui/qwindowdefs.h \
477 477 /usr/include/qt5/QtCore/qobjectdefs.h \
478 478 /usr/include/qt5/QtCore/qnamespace.h \
479 479 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
@@ -563,15 +563,17 moc_systemtime.cpp: paulcommon_global.h
563 563 arbitrarytime.h \
564 564 /usr/include/qt5/QtWidgets/QHBoxLayout \
565 565 /usr/include/qt5/QtWidgets/QVBoxLayout \
566 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
567 /usr/include/qt5/QtCore/QObject \
568 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
569 566 ../../DEV_PLE/header/TC_types.h \
570 567 ../../DEV_PLE/header/ccsds_types.h \
568 ../../DEV_PLE/header/fsw_params_processing.h \
569 header/paulcommoncrc.h \
570 /usr/include/qt5/QtCore/QObject \
571 571 systemtime.h
572 572 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include systemtime.h -o moc_systemtime.cpp
573 573
574 moc_arbitrarytime.cpp: paulcommon_global.h \
574 moc_arbitrarytime.cpp: /usr/include/qt5/QtWidgets/QWidget \
575 /usr/include/qt5/QtWidgets/qwidget.h \
576 /usr/include/qt5/QtGui/qwindowdefs.h \
575 577 /usr/include/qt5/QtCore/qglobal.h \
576 578 /usr/include/qt5/QtCore/qconfig.h \
577 579 /usr/include/qt5/QtCore/qconfig-64.h \
@@ -609,9 +611,6 moc_arbitrarytime.cpp: paulcommon_global
609 611 /usr/include/qt5/QtCore/qtypeinfo.h \
610 612 /usr/include/qt5/QtCore/qtypetraits.h \
611 613 /usr/include/qt5/QtCore/qsysinfo.h \
612 /usr/include/qt5/QtWidgets/QWidget \
613 /usr/include/qt5/QtWidgets/qwidget.h \
614 /usr/include/qt5/QtGui/qwindowdefs.h \
615 614 /usr/include/qt5/QtCore/qobjectdefs.h \
616 615 /usr/include/qt5/QtCore/qnamespace.h \
617 616 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
@@ -699,30 +698,18 moc_arbitrarytime.cpp: paulcommon_global
699 698 /usr/include/qt5/QtGui/QRegExpValidator \
700 699 /usr/include/qt5/QtGui/qvalidator.h \
701 700 /usr/include/qt5/QtCore/qregularexpression.h \
702 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
703 /usr/include/qt5/QtCore/QObject \
704 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
705 701 ../../DEV_PLE/header/TC_types.h \
706 702 ../../DEV_PLE/header/ccsds_types.h \
703 ../../DEV_PLE/header/fsw_params_processing.h \
704 header/paulcommoncrc.h \
705 /usr/include/qt5/QtCore/QObject \
707 706 arbitrarytime.h
708 707 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include arbitrarytime.h -o moc_arbitrarytime.cpp
709 708
710 compiler_moc_source_make_all:
711 compiler_moc_source_clean:
712 compiler_uic_make_all:
713 compiler_uic_clean:
714 compiler_yacc_decl_make_all:
715 compiler_yacc_decl_clean:
716 compiler_yacc_impl_make_all:
717 compiler_yacc_impl_clean:
718 compiler_lex_make_all:
719 compiler_lex_clean:
720 compiler_clean: compiler_moc_header_clean
721
722 ####### Compile
723
724 systemtime.o: systemtime.cpp systemtime.h \
725 paulcommon_global.h \
709 moc_paulcommoncrc.cpp: /usr/include/qt5/QtCore/QObject \
710 /usr/include/qt5/QtCore/qobject.h \
711 /usr/include/qt5/QtCore/qobjectdefs.h \
712 /usr/include/qt5/QtCore/qnamespace.h \
726 713 /usr/include/qt5/QtCore/qglobal.h \
727 714 /usr/include/qt5/QtCore/qconfig.h \
728 715 /usr/include/qt5/QtCore/qconfig-64.h \
@@ -760,9 +747,81 systemtime.o: systemtime.cpp systemtime.
760 747 /usr/include/qt5/QtCore/qtypeinfo.h \
761 748 /usr/include/qt5/QtCore/qtypetraits.h \
762 749 /usr/include/qt5/QtCore/qsysinfo.h \
750 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
751 /usr/include/qt5/QtCore/qstring.h \
752 /usr/include/qt5/QtCore/qchar.h \
753 /usr/include/qt5/QtCore/qbytearray.h \
754 /usr/include/qt5/QtCore/qrefcount.h \
755 /usr/include/qt5/QtCore/qarraydata.h \
756 /usr/include/qt5/QtCore/qstringbuilder.h \
757 /usr/include/qt5/QtCore/qlist.h \
758 /usr/include/qt5/QtCore/qalgorithms.h \
759 /usr/include/qt5/QtCore/qiterator.h \
760 /usr/include/qt5/QtCore/qcoreevent.h \
761 /usr/include/qt5/QtCore/qscopedpointer.h \
762 /usr/include/qt5/QtCore/qmetatype.h \
763 /usr/include/qt5/QtCore/qvarlengtharray.h \
764 /usr/include/qt5/QtCore/qcontainerfwd.h \
765 /usr/include/qt5/QtCore/qisenum.h \
766 /usr/include/qt5/QtCore/qobject_impl.h \
767 header/paulcommoncrc.h
768 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include header/paulcommoncrc.h -o moc_paulcommoncrc.cpp
769
770 compiler_moc_source_make_all:
771 compiler_moc_source_clean:
772 compiler_uic_make_all:
773 compiler_uic_clean:
774 compiler_yacc_decl_make_all:
775 compiler_yacc_decl_clean:
776 compiler_yacc_impl_make_all:
777 compiler_yacc_impl_clean:
778 compiler_lex_make_all:
779 compiler_lex_clean:
780 compiler_clean: compiler_moc_header_clean
781
782 ####### Compile
783
784 systemtime.o: systemtime.cpp systemtime.h \
763 785 /usr/include/qt5/QtWidgets/QWidget \
764 786 /usr/include/qt5/QtWidgets/qwidget.h \
765 787 /usr/include/qt5/QtGui/qwindowdefs.h \
788 /usr/include/qt5/QtCore/qglobal.h \
789 /usr/include/qt5/QtCore/qconfig.h \
790 /usr/include/qt5/QtCore/qconfig-64.h \
791 /usr/include/qt5/QtCore/qfeatures.h \
792 /usr/include/qt5/QtCore/qsystemdetection.h \
793 /usr/include/qt5/QtCore/qprocessordetection.h \
794 /usr/include/qt5/QtCore/qcompilerdetection.h \
795 /usr/include/qt5/QtCore/qglobalstatic.h \
796 /usr/include/qt5/QtCore/qatomic.h \
797 /usr/include/qt5/QtCore/qbasicatomic.h \
798 /usr/include/qt5/QtCore/qatomic_bootstrap.h \
799 /usr/include/qt5/QtCore/qgenericatomic.h \
800 /usr/include/qt5/QtCore/qatomic_msvc.h \
801 /usr/include/qt5/QtCore/qatomic_integrity.h \
802 /usr/include/qt5/QtCore/qoldbasicatomic.h \
803 /usr/include/qt5/QtCore/qatomic_vxworks.h \
804 /usr/include/qt5/QtCore/qatomic_power.h \
805 /usr/include/qt5/QtCore/qatomic_alpha.h \
806 /usr/include/qt5/QtCore/qatomic_armv7.h \
807 /usr/include/qt5/QtCore/qatomic_armv6.h \
808 /usr/include/qt5/QtCore/qatomic_armv5.h \
809 /usr/include/qt5/QtCore/qatomic_bfin.h \
810 /usr/include/qt5/QtCore/qatomic_ia64.h \
811 /usr/include/qt5/QtCore/qatomic_mips.h \
812 /usr/include/qt5/QtCore/qatomic_s390.h \
813 /usr/include/qt5/QtCore/qatomic_sh4a.h \
814 /usr/include/qt5/QtCore/qatomic_sparc.h \
815 /usr/include/qt5/QtCore/qatomic_x86.h \
816 /usr/include/qt5/QtCore/qatomic_cxx11.h \
817 /usr/include/qt5/QtCore/qatomic_gcc.h \
818 /usr/include/qt5/QtCore/qatomic_unix.h \
819 /usr/include/qt5/QtCore/qmutex.h \
820 /usr/include/qt5/QtCore/qlogging.h \
821 /usr/include/qt5/QtCore/qflags.h \
822 /usr/include/qt5/QtCore/qtypeinfo.h \
823 /usr/include/qt5/QtCore/qtypetraits.h \
824 /usr/include/qt5/QtCore/qsysinfo.h \
766 825 /usr/include/qt5/QtCore/qobjectdefs.h \
767 826 /usr/include/qt5/QtCore/qnamespace.h \
768 827 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
@@ -852,15 +911,17 systemtime.o: systemtime.cpp systemtime.
852 911 arbitrarytime.h \
853 912 /usr/include/qt5/QtWidgets/QHBoxLayout \
854 913 /usr/include/qt5/QtWidgets/QVBoxLayout \
855 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
856 /usr/include/qt5/QtCore/QObject \
857 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
858 914 ../../DEV_PLE/header/TC_types.h \
859 ../../DEV_PLE/header/ccsds_types.h
915 ../../DEV_PLE/header/ccsds_types.h \
916 ../../DEV_PLE/header/fsw_params_processing.h \
917 header/paulcommoncrc.h \
918 /usr/include/qt5/QtCore/QObject
860 919 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o systemtime.o systemtime.cpp
861 920
862 921 arbitrarytime.o: arbitrarytime.cpp arbitrarytime.h \
863 paulcommon_global.h \
922 /usr/include/qt5/QtWidgets/QWidget \
923 /usr/include/qt5/QtWidgets/qwidget.h \
924 /usr/include/qt5/QtGui/qwindowdefs.h \
864 925 /usr/include/qt5/QtCore/qglobal.h \
865 926 /usr/include/qt5/QtCore/qconfig.h \
866 927 /usr/include/qt5/QtCore/qconfig-64.h \
@@ -898,9 +959,6 arbitrarytime.o: arbitrarytime.cpp arbit
898 959 /usr/include/qt5/QtCore/qtypeinfo.h \
899 960 /usr/include/qt5/QtCore/qtypetraits.h \
900 961 /usr/include/qt5/QtCore/qsysinfo.h \
901 /usr/include/qt5/QtWidgets/QWidget \
902 /usr/include/qt5/QtWidgets/qwidget.h \
903 /usr/include/qt5/QtGui/qwindowdefs.h \
904 962 /usr/include/qt5/QtCore/qobjectdefs.h \
905 963 /usr/include/qt5/QtCore/qnamespace.h \
906 964 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
@@ -988,12 +1046,73 arbitrarytime.o: arbitrarytime.cpp arbit
988 1046 /usr/include/qt5/QtGui/QRegExpValidator \
989 1047 /usr/include/qt5/QtGui/qvalidator.h \
990 1048 /usr/include/qt5/QtCore/qregularexpression.h \
991 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
1049 ../../DEV_PLE/header/TC_types.h \
1050 ../../DEV_PLE/header/ccsds_types.h \
1051 ../../DEV_PLE/header/fsw_params_processing.h \
1052 header/paulcommoncrc.h \
1053 /usr/include/qt5/QtCore/QObject
1054 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o arbitrarytime.o arbitrarytime.cpp
1055
1056 paulcommoncrc.o: src/paulcommoncrc.cpp header/paulcommoncrc.h \
992 1057 /usr/include/qt5/QtCore/QObject \
993 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
994 ../../DEV_PLE/header/TC_types.h \
995 ../../DEV_PLE/header/ccsds_types.h
996 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o arbitrarytime.o arbitrarytime.cpp
1058 /usr/include/qt5/QtCore/qobject.h \
1059 /usr/include/qt5/QtCore/qobjectdefs.h \
1060 /usr/include/qt5/QtCore/qnamespace.h \
1061 /usr/include/qt5/QtCore/qglobal.h \
1062 /usr/include/qt5/QtCore/qconfig.h \
1063 /usr/include/qt5/QtCore/qconfig-64.h \
1064 /usr/include/qt5/QtCore/qfeatures.h \
1065 /usr/include/qt5/QtCore/qsystemdetection.h \
1066 /usr/include/qt5/QtCore/qprocessordetection.h \
1067 /usr/include/qt5/QtCore/qcompilerdetection.h \
1068 /usr/include/qt5/QtCore/qglobalstatic.h \
1069 /usr/include/qt5/QtCore/qatomic.h \
1070 /usr/include/qt5/QtCore/qbasicatomic.h \
1071 /usr/include/qt5/QtCore/qatomic_bootstrap.h \
1072 /usr/include/qt5/QtCore/qgenericatomic.h \
1073 /usr/include/qt5/QtCore/qatomic_msvc.h \
1074 /usr/include/qt5/QtCore/qatomic_integrity.h \
1075 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1076 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1077 /usr/include/qt5/QtCore/qatomic_power.h \
1078 /usr/include/qt5/QtCore/qatomic_alpha.h \
1079 /usr/include/qt5/QtCore/qatomic_armv7.h \
1080 /usr/include/qt5/QtCore/qatomic_armv6.h \
1081 /usr/include/qt5/QtCore/qatomic_armv5.h \
1082 /usr/include/qt5/QtCore/qatomic_bfin.h \
1083 /usr/include/qt5/QtCore/qatomic_ia64.h \
1084 /usr/include/qt5/QtCore/qatomic_mips.h \
1085 /usr/include/qt5/QtCore/qatomic_s390.h \
1086 /usr/include/qt5/QtCore/qatomic_sh4a.h \
1087 /usr/include/qt5/QtCore/qatomic_sparc.h \
1088 /usr/include/qt5/QtCore/qatomic_x86.h \
1089 /usr/include/qt5/QtCore/qatomic_cxx11.h \
1090 /usr/include/qt5/QtCore/qatomic_gcc.h \
1091 /usr/include/qt5/QtCore/qatomic_unix.h \
1092 /usr/include/qt5/QtCore/qmutex.h \
1093 /usr/include/qt5/QtCore/qlogging.h \
1094 /usr/include/qt5/QtCore/qflags.h \
1095 /usr/include/qt5/QtCore/qtypeinfo.h \
1096 /usr/include/qt5/QtCore/qtypetraits.h \
1097 /usr/include/qt5/QtCore/qsysinfo.h \
1098 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
1099 /usr/include/qt5/QtCore/qstring.h \
1100 /usr/include/qt5/QtCore/qchar.h \
1101 /usr/include/qt5/QtCore/qbytearray.h \
1102 /usr/include/qt5/QtCore/qrefcount.h \
1103 /usr/include/qt5/QtCore/qarraydata.h \
1104 /usr/include/qt5/QtCore/qstringbuilder.h \
1105 /usr/include/qt5/QtCore/qlist.h \
1106 /usr/include/qt5/QtCore/qalgorithms.h \
1107 /usr/include/qt5/QtCore/qiterator.h \
1108 /usr/include/qt5/QtCore/qcoreevent.h \
1109 /usr/include/qt5/QtCore/qscopedpointer.h \
1110 /usr/include/qt5/QtCore/qmetatype.h \
1111 /usr/include/qt5/QtCore/qvarlengtharray.h \
1112 /usr/include/qt5/QtCore/qcontainerfwd.h \
1113 /usr/include/qt5/QtCore/qisenum.h \
1114 /usr/include/qt5/QtCore/qobject_impl.h
1115 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o paulcommoncrc.o src/paulcommoncrc.cpp
997 1116
998 1117 moc_systemtime.o: moc_systemtime.cpp
999 1118 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_systemtime.o moc_systemtime.cpp
@@ -1001,17 +1120,20 moc_systemtime.o: moc_systemtime.cpp
1001 1120 moc_arbitrarytime.o: moc_arbitrarytime.cpp
1002 1121 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_arbitrarytime.o moc_arbitrarytime.cpp
1003 1122
1123 moc_paulcommoncrc.o: moc_paulcommoncrc.cpp
1124 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_paulcommoncrc.o moc_paulcommoncrc.cpp
1125
1004 1126 ####### Install
1005 1127
1006 1128 install_header: first FORCE
1007 1129 @test -d $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon || mkdir -p $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon
1008 1130 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/paulcommon/systemtime.h $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/
1009 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/paulcommon/paulcommon_global.h $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/
1010 1131 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/paulcommon/arbitrarytime.h $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/
1132 -$(INSTALL_FILE) /opt/LPPMON_PLUGINS_PAUL/paulcommon/header/paulcommoncrc.h $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/
1011 1133
1012 1134 uninstall_header: FORCE
1135 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/paulcommoncrc.h
1013 1136 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/arbitrarytime.h
1014 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/paulcommon_global.h
1015 1137 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/systemtime.h
1016 1138 -$(DEL_DIR) $(INSTALL_ROOT)/usr/include/qt5/lppmon/paulcommon/
1017 1139
@@ -1019,7 +1141,6 uninstall_header: FORCE
1019 1141 install_target: first FORCE
1020 1142 @test -d $(INSTALL_ROOT)/usr/lib64 || mkdir -p $(INSTALL_ROOT)/usr/lib64
1021 1143 -$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET)"
1022 -$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/usr/lib64/$(TARGET)"
1023 1144 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET0)"
1024 1145 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET1)"
1025 1146 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib64/$(TARGET2)"
@@ -6,7 +6,7 ArbitraryTime::ArbitraryTime(char option
6 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 7 validator = new QRegExpValidator(timeToSendRegExp);
8 8
9 packetToSend = new TCPacketToSend();
9 paulCommonCRC = new PaulCommonCRC();
10 10
11 11 timeToSend = new QLineEdit();
12 12 main_HLAYOUT = new QHBoxLayout;
@@ -42,39 +42,5 ArbitraryTime::ArbitraryTime(char option
42 42 void ArbitraryTime::editingFinishedSLOT()
43 43 {
44 44 currentTimeToSend = timeToSend->text().toLong(0, 16);
45 emit (
46 timeToSendChanged( currentTimeToSend)
47 );
45 emit timeToSendChanged( currentTimeToSend);
48 46 }
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_TC_GROUND;
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 }
@@ -1,17 +1,17
1 1 #ifndef ARBITRARYTIME_H
2 2 #define ARBITRARYTIME_H
3 3
4 #include "paulcommon_global.h"
5
6 4 #include <QWidget>
7 5 #include <QLabel>
8 6 #include <QHBoxLayout>
9 7 #include <QVBoxLayout>
10 8 #include <QLineEdit>
11 9 #include <QRegExpValidator>
12 #include <tcpackettosend.h>
10 #include <TC_types.h>
13 11
14 class PAULCOMMONSHARED_EXPORT ArbitraryTime : public QWidget
12 #include "paulcommoncrc.h"
13
14 class ArbitraryTime : public QWidget
15 15 {
16 16 Q_OBJECT
17 17 public:
@@ -19,7 +19,7 public:
19 19
20 20 long currentTimeToSend;
21 21
22 TCPacketToSend *packetToSend;
22 PaulCommonCRC *paulCommonCRC;
23 23
24 24 QLabel *timeToSend_LABEL;
25 25
@@ -32,11 +32,9 public:
32 32
33 33 signals:
34 34 void timeToSendChanged(long timeToSend);
35 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
36 35
37 36 public slots:
38 37 void editingFinishedSLOT();
39 void sendCurrentTimeToSend();
40 38
41 39 };
42 40
@@ -19,30 +19,29 contains(QT_MAJOR_VERSION, 5) {
19 19
20 20 INCLUDEPATH += \
21 21 $${PWD} \
22 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump \
23 ../../DEV_PLE/header
22 ../../DEV_PLE/header \
23 header \
24 src
24 25
25 26 DEFINES += PAULCOMMON_LIBRARY
26 27
27 28 SOURCES += systemtime.cpp \
28 arbitrarytime.cpp
29 arbitrarytime.cpp \
30 src/paulcommoncrc.cpp
29 31
30 32 HEADERS += systemtime.h\
31 paulcommon_global.h \
32 33 arbitrarytime.h \
33 ../../DEV_PLE/header/TC_types.h
34 header/paulcommoncrc.h
34 35
35 36 header.path = $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
36 37 header.files = \
37 38 systemtime.h\
38 paulcommon_global.h \
39 arbitrarytime.h
39 arbitrarytime.h \
40 header/paulcommoncrc.h
40 41
41 42 target.path = $$[QT_INSTALL_LIBS]
42 43 isEmpty(target.path) {
43 44 target.path = $(QTDIR)/lib
44 45 }
45 46
46 LIBS += -lparameterdump
47
48 47 INSTALLS += header target
@@ -1,8 +1,6
1 1 #ifndef SYSTEMTIME_H
2 2 #define SYSTEMTIME_H
3 3
4 #include "paulcommon_global.h"
5
6 4 #include <QWidget>
7 5 #include <QLabel>
8 6 #include <QGridLayout>
@@ -11,7 +9,7
11 9
12 10 #include "arbitrarytime.h"
13 11
14 class PAULCOMMONSHARED_EXPORT SystemTime : public QWidget
12 class SystemTime : public QWidget
15 13 {
16 14 Q_OBJECT
17 15 public:
@@ -1,6 +1,6
1 1 #############################################################################
2 2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (3.0) (Qt 5.2.0)
3 # Generated by qmake (3.0) (Qt 5.2.1)
4 4 # Project: rmapplugin.pro
5 5 # Template: lib
6 6 # Command: /bin/qmake-qt5 -spec linux-g++-64 -o Makefile rmapplugin.pro
@@ -18,7 +18,7 CXXFLAGS = -m64 -pipe -O2 -g -pipe
18 18 INCPATH = -I/usr/lib64/qt5/mkspecs/linux-g++-64 -I. -I. -I../common_PLE -I../../DEV_PLE/header -I/home/spacewire/usb/spw_usb_driver_v2.68/inc -I/usr/include/qt5/lppmon/common -I/usr/include/qt5/lppmon/wfdisplay -I/usr/include/qt5/lppmon/parameterdump -I/usr/include/qt5/lppmon/paulcommon -I/usr/include/qt5/lppmon/common -I/usr/include/qt5/lppmon -I/usr/include/qt5/lppmon/pluginsInterface -I/usr/include/qt5/PythonQt -I/usr/include/qt5/PythonQt -I/usr/include/qt5 -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtSvg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtXml -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Imoc
19 19 LINK = g++
20 20 LFLAGS = -m64 -Wl,-O1 -Wl,-z,relro -shared -Wl,-soname,librmapplugin.so.1
21 LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 /home/spacewire/usb/spw_usb_driver_v2.68/lib/x86_64/libSpaceWireUSBAPI.so /home/spacewire/usb/spw_usb_driver_v2.68/lib/x86_64/libConfigLibraryUSB.so -lwfdisplay -lparameterdump -llppmonengine -llppmoncommon -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQt5PrintSupport -lQt5Svg -lQt5Widgets -lQt5Network -lQt5Xml -lQt5Gui -lQt5Core -lGL -lpthread
21 LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 /home/spacewire/usb/spw_usb_driver_v2.68/lib/x86_64/libSpaceWireUSBAPI.so /home/spacewire/usb/spw_usb_driver_v2.68/lib/x86_64/libConfigLibraryUSB.so -lwfdisplay -lparameterdump -lpaulcommon -llppmonengine -llppmoncommon -ldl -lutil -lm -lpython2.7 -lPythonQt_QtAll -lPythonQt -lQt5PrintSupport -lQt5Svg -lQt5Widgets -lQt5Network -lQt5Xml -lQt5Gui -lQt5Core -lGL -lpthread
22 22 AR = ar cqs
23 23 RANLIB =
24 24 QMAKE = /bin/qmake-qt5
@@ -28,7 +28,7 COPY = cp -f
28 28 SED = sed
29 29 COPY_FILE = cp -f
30 30 COPY_DIR = cp -f -R
31 STRIP = strip
31 STRIP =
32 32 INSTALL_FILE = install -m 644 -p
33 33 INSTALL_DIR = $(COPY_DIR)
34 34 INSTALL_PROGRAM = install -m 755 -p
@@ -689,13 +689,21 moc/moc_rmappluginui.cpp: /usr/include/q
689 689 /usr/include/qt5/QtCore/QTimer \
690 690 /usr/include/qt5/QtCore/qtimer.h \
691 691 /usr/include/qt5/QtCore/qbasictimer.h \
692 /usr/include/qt5/lppmon/paulcommon/arbitrarytime.h \
693 /usr/include/qt5/lppmon/paulcommon/paulcommon_global.h \
694 /usr/include/qt5/QtWidgets/QHBoxLayout \
695 /usr/include/qt5/QtWidgets/QVBoxLayout \
696 /usr/include/qt5/QtWidgets/QLineEdit \
697 /usr/include/qt5/QtWidgets/qlineedit.h \
698 /usr/include/qt5/QtGui/QRegExpValidator \
699 tcpackettosend.h \
700 /usr/include/qt5/QtCore/QObject \
692 701 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
693 702 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
694 703 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
695 704 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
696 705 ccsds.h \
697 706 tmpackettoread.h \
698 /usr/include/qt5/QtCore/QObject \
699 707 gresb.h \
700 708 /usr/include/qt5/QtNetwork/QTcpSocket \
701 709 /usr/include/qt5/QtNetwork/qtcpsocket.h \
@@ -705,7 +713,6 moc/moc_rmappluginui.cpp: /usr/include/q
705 713 ../common_PLE/qipdialogbox.h \
706 714 /usr/include/qt5/lppmon/wfdisplay/wfdisplay.h \
707 715 /usr/include/qt5/lppmon/wfdisplay/wfdisplay_global.h \
708 /usr/include/qt5/QtWidgets/QVBoxLayout \
709 716 /usr/include/qt5/lppmon/wfdisplay/wfpage.h \
710 717 /usr/include/qt5/QtWidgets/QMainWindow \
711 718 /usr/include/qt5/QtWidgets/qmainwindow.h \
@@ -921,7 +928,6 moc/moc_rmappluginui.cpp: /usr/include/q
921 928 /usr/include/qt5/QtWidgets/qfilesystemmodel.h \
922 929 /usr/include/qt5/QtWidgets/qfontdialog.h \
923 930 /usr/include/qt5/QtWidgets/qinputdialog.h \
924 /usr/include/qt5/QtWidgets/qlineedit.h \
925 931 /usr/include/qt5/QtWidgets/qmessagebox.h \
926 932 /usr/include/qt5/QtWidgets/qprogressdialog.h \
927 933 /usr/include/qt5/QtWidgets/qwizard.h \
@@ -1030,6 +1036,7 moc/moc_rmappluginui.cpp: /usr/include/q
1030 1036 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
1031 1037 ../../DEV_PLE/header/TC_types.h \
1032 1038 ../../DEV_PLE/header/ccsds_types.h \
1039 ../../DEV_PLE/header/fsw_params_processing.h \
1033 1040 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
1034 1041 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
1035 1042 tmstatistics.h \
@@ -1225,13 +1232,21 moc/moc_rmapplugin.cpp: rmappluginui.h \
1225 1232 /usr/include/qt5/QtCore/QTimer \
1226 1233 /usr/include/qt5/QtCore/qtimer.h \
1227 1234 /usr/include/qt5/QtCore/qbasictimer.h \
1235 /usr/include/qt5/lppmon/paulcommon/arbitrarytime.h \
1236 /usr/include/qt5/lppmon/paulcommon/paulcommon_global.h \
1237 /usr/include/qt5/QtWidgets/QHBoxLayout \
1238 /usr/include/qt5/QtWidgets/QVBoxLayout \
1239 /usr/include/qt5/QtWidgets/QLineEdit \
1240 /usr/include/qt5/QtWidgets/qlineedit.h \
1241 /usr/include/qt5/QtGui/QRegExpValidator \
1242 tcpackettosend.h \
1243 /usr/include/qt5/QtCore/QObject \
1228 1244 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
1229 1245 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
1230 1246 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
1231 1247 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
1232 1248 ccsds.h \
1233 1249 tmpackettoread.h \
1234 /usr/include/qt5/QtCore/QObject \
1235 1250 gresb.h \
1236 1251 /usr/include/qt5/QtNetwork/QTcpSocket \
1237 1252 /usr/include/qt5/QtNetwork/qtcpsocket.h \
@@ -1241,7 +1256,6 moc/moc_rmapplugin.cpp: rmappluginui.h \
1241 1256 ../common_PLE/qipdialogbox.h \
1242 1257 /usr/include/qt5/lppmon/wfdisplay/wfdisplay.h \
1243 1258 /usr/include/qt5/lppmon/wfdisplay/wfdisplay_global.h \
1244 /usr/include/qt5/QtWidgets/QVBoxLayout \
1245 1259 /usr/include/qt5/lppmon/wfdisplay/wfpage.h \
1246 1260 /usr/include/qt5/QtWidgets/QMainWindow \
1247 1261 /usr/include/qt5/QtWidgets/qmainwindow.h \
@@ -1457,7 +1471,6 moc/moc_rmapplugin.cpp: rmappluginui.h \
1457 1471 /usr/include/qt5/QtWidgets/qfilesystemmodel.h \
1458 1472 /usr/include/qt5/QtWidgets/qfontdialog.h \
1459 1473 /usr/include/qt5/QtWidgets/qinputdialog.h \
1460 /usr/include/qt5/QtWidgets/qlineedit.h \
1461 1474 /usr/include/qt5/QtWidgets/qmessagebox.h \
1462 1475 /usr/include/qt5/QtWidgets/qprogressdialog.h \
1463 1476 /usr/include/qt5/QtWidgets/qwizard.h \
@@ -1566,6 +1579,7 moc/moc_rmapplugin.cpp: rmappluginui.h \
1566 1579 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
1567 1580 ../../DEV_PLE/header/TC_types.h \
1568 1581 ../../DEV_PLE/header/ccsds_types.h \
1582 ../../DEV_PLE/header/fsw_params_processing.h \
1569 1583 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
1570 1584 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
1571 1585 tmstatistics.h \
@@ -1584,7 +1598,7 moc/moc_rmapplugin.cpp: rmappluginui.h \
1584 1598 wfpacket.h \
1585 1599 ../../DEV_PLE/header/fsw_params.h \
1586 1600 ../../DEV_PLE/header/grlib_regs.h \
1587 ../../DEV_PLE/header/fsw_params_processing.h \
1601 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
1588 1602 ../../DEV_PLE/header/tm_byte_positions.h \
1589 1603 /usr/include/qt5/lppmon/lppmonplugin.h \
1590 1604 /usr/include/qt5/lppmon/common/lppmon.h \
@@ -1989,6 +2003,7 moc/moc_rmappluginpythonwrapper.cpp: /us
1989 2003 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
1990 2004 ../../DEV_PLE/header/TC_types.h \
1991 2005 ../../DEV_PLE/header/ccsds_types.h \
2006 ../../DEV_PLE/header/fsw_params_processing.h \
1992 2007 tmpackettoread.h \
1993 2008 rmappluginpythonwrapper.h
1994 2009 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
@@ -2126,6 +2141,19 moc/moc_stardundee.cpp: /usr/include/qt5
2126 2141 /usr/include/qt5/QtCore/qbasictimer.h \
2127 2142 /usr/include/qt5/QtWidgets/QDialog \
2128 2143 /usr/include/qt5/QtWidgets/qdialog.h \
2144 /usr/include/qt5/lppmon/paulcommon/arbitrarytime.h \
2145 /usr/include/qt5/lppmon/paulcommon/paulcommon_global.h \
2146 /usr/include/qt5/QtWidgets/QHBoxLayout \
2147 /usr/include/qt5/QtWidgets/QVBoxLayout \
2148 /usr/include/qt5/QtWidgets/QLineEdit \
2149 /usr/include/qt5/QtWidgets/qlineedit.h \
2150 /usr/include/qt5/QtGui/qtextcursor.h \
2151 /usr/include/qt5/QtGui/qtextformat.h \
2152 /usr/include/qt5/QtGui/qpen.h \
2153 /usr/include/qt5/QtGui/qtextoption.h \
2154 /usr/include/qt5/QtGui/QRegExpValidator \
2155 tcpackettosend.h \
2156 /usr/include/qt5/QtCore/QObject \
2129 2157 rmapoperations.h \
2130 2158 /usr/include/qt5/lppmon/common/qhexspinbox.h \
2131 2159 /usr/include/qt5/QtCore/QString \
@@ -2137,7 +2165,6 moc/moc_stardundee.cpp: /usr/include/qt5
2137 2165 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
2138 2166 ccsds.h \
2139 2167 tmpackettoread.h \
2140 /usr/include/qt5/QtCore/QObject \
2141 2168 stardundee.h
2142 2169 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include stardundee.h -o moc/moc_stardundee.cpp
2143 2170
@@ -2556,6 +2583,7 moc/moc_tmstatistics.cpp: /usr/include/q
2556 2583 tmpackettoread.h \
2557 2584 /usr/include/qt5/QtCore/QObject \
2558 2585 ../../DEV_PLE/header/ccsds_types.h \
2586 ../../DEV_PLE/header/fsw_params_processing.h \
2559 2587 /usr/include/qt5/QtCore/QMap \
2560 2588 /usr/include/qt5/QtWidgets/QCheckBox \
2561 2589 /usr/include/qt5/QtWidgets/qcheckbox.h \
@@ -2623,6 +2651,7 moc/moc_wfpacket.cpp: /usr/include/qt5/Q
2623 2651 ../../DEV_PLE/header/fsw_params.h \
2624 2652 ../../DEV_PLE/header/grlib_regs.h \
2625 2653 ../../DEV_PLE/header/fsw_params_processing.h \
2654 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
2626 2655 ../../DEV_PLE/header/tm_byte_positions.h \
2627 2656 ../../DEV_PLE/header/ccsds_types.h \
2628 2657 wfpacket.h
@@ -2903,6 +2932,7 moc/moc_entermode.cpp: /usr/include/qt5/
2903 2932 /usr/include/qt5/QtWidgets/QVBoxLayout \
2904 2933 ../../DEV_PLE/header/TC_types.h \
2905 2934 ../../DEV_PLE/header/ccsds_types.h \
2935 ../../DEV_PLE/header/fsw_params_processing.h \
2906 2936 /usr/include/qt5/lppmon/parameterdump/parameterdump.h \
2907 2937 /usr/include/qt5/QtWidgets/QLabel \
2908 2938 /usr/include/qt5/QtWidgets/qlabel.h \
@@ -3053,6 +3083,7 moc/moc_lfractions.cpp: /usr/include/qt5
3053 3083 /usr/include/qt5/QtCore/QObject \
3054 3084 ../../DEV_PLE/header/TC_types.h \
3055 3085 ../../DEV_PLE/header/ccsds_types.h \
3086 ../../DEV_PLE/header/fsw_params_processing.h \
3056 3087 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
3057 3088 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
3058 3089 entermode.h \
@@ -3470,13 +3501,21 obj/rmapplugin.o: rmapplugin.cpp rmapplu
3470 3501 /usr/include/qt5/QtCore/QTimer \
3471 3502 /usr/include/qt5/QtCore/qtimer.h \
3472 3503 /usr/include/qt5/QtCore/qbasictimer.h \
3504 /usr/include/qt5/lppmon/paulcommon/arbitrarytime.h \
3505 /usr/include/qt5/lppmon/paulcommon/paulcommon_global.h \
3506 /usr/include/qt5/QtWidgets/QHBoxLayout \
3507 /usr/include/qt5/QtWidgets/QVBoxLayout \
3508 /usr/include/qt5/QtWidgets/QLineEdit \
3509 /usr/include/qt5/QtWidgets/qlineedit.h \
3510 /usr/include/qt5/QtGui/QRegExpValidator \
3511 tcpackettosend.h \
3512 /usr/include/qt5/QtCore/QObject \
3473 3513 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
3474 3514 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
3475 3515 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
3476 3516 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
3477 3517 ccsds.h \
3478 3518 tmpackettoread.h \
3479 /usr/include/qt5/QtCore/QObject \
3480 3519 gresb.h \
3481 3520 /usr/include/qt5/QtNetwork/QTcpSocket \
3482 3521 /usr/include/qt5/QtNetwork/qtcpsocket.h \
@@ -3486,7 +3525,6 obj/rmapplugin.o: rmapplugin.cpp rmapplu
3486 3525 ../common_PLE/qipdialogbox.h \
3487 3526 /usr/include/qt5/lppmon/wfdisplay/wfdisplay.h \
3488 3527 /usr/include/qt5/lppmon/wfdisplay/wfdisplay_global.h \
3489 /usr/include/qt5/QtWidgets/QVBoxLayout \
3490 3528 /usr/include/qt5/lppmon/wfdisplay/wfpage.h \
3491 3529 /usr/include/qt5/QtWidgets/QMainWindow \
3492 3530 /usr/include/qt5/QtWidgets/qmainwindow.h \
@@ -3702,7 +3740,6 obj/rmapplugin.o: rmapplugin.cpp rmapplu
3702 3740 /usr/include/qt5/QtWidgets/qfilesystemmodel.h \
3703 3741 /usr/include/qt5/QtWidgets/qfontdialog.h \
3704 3742 /usr/include/qt5/QtWidgets/qinputdialog.h \
3705 /usr/include/qt5/QtWidgets/qlineedit.h \
3706 3743 /usr/include/qt5/QtWidgets/qmessagebox.h \
3707 3744 /usr/include/qt5/QtWidgets/qprogressdialog.h \
3708 3745 /usr/include/qt5/QtWidgets/qwizard.h \
@@ -3811,6 +3848,7 obj/rmapplugin.o: rmapplugin.cpp rmapplu
3811 3848 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
3812 3849 ../../DEV_PLE/header/TC_types.h \
3813 3850 ../../DEV_PLE/header/ccsds_types.h \
3851 ../../DEV_PLE/header/fsw_params_processing.h \
3814 3852 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
3815 3853 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
3816 3854 tmstatistics.h \
@@ -3829,7 +3867,7 obj/rmapplugin.o: rmapplugin.cpp rmapplu
3829 3867 wfpacket.h \
3830 3868 ../../DEV_PLE/header/fsw_params.h \
3831 3869 ../../DEV_PLE/header/grlib_regs.h \
3832 ../../DEV_PLE/header/fsw_params_processing.h \
3870 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
3833 3871 ../../DEV_PLE/header/tm_byte_positions.h \
3834 3872 /usr/include/qt5/lppmon/lppmonplugin.h \
3835 3873 /usr/include/qt5/lppmon/common/lppmon.h \
@@ -4040,13 +4078,21 obj/rmappluginui.o: rmappluginui.cpp rma
4040 4078 /usr/include/qt5/QtCore/QTimer \
4041 4079 /usr/include/qt5/QtCore/qtimer.h \
4042 4080 /usr/include/qt5/QtCore/qbasictimer.h \
4081 /usr/include/qt5/lppmon/paulcommon/arbitrarytime.h \
4082 /usr/include/qt5/lppmon/paulcommon/paulcommon_global.h \
4083 /usr/include/qt5/QtWidgets/QHBoxLayout \
4084 /usr/include/qt5/QtWidgets/QVBoxLayout \
4085 /usr/include/qt5/QtWidgets/QLineEdit \
4086 /usr/include/qt5/QtWidgets/qlineedit.h \
4087 /usr/include/qt5/QtGui/QRegExpValidator \
4088 tcpackettosend.h \
4089 /usr/include/qt5/QtCore/QObject \
4043 4090 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
4044 4091 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
4045 4092 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
4046 4093 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
4047 4094 ccsds.h \
4048 4095 tmpackettoread.h \
4049 /usr/include/qt5/QtCore/QObject \
4050 4096 gresb.h \
4051 4097 /usr/include/qt5/QtNetwork/QTcpSocket \
4052 4098 /usr/include/qt5/QtNetwork/qtcpsocket.h \
@@ -4056,7 +4102,6 obj/rmappluginui.o: rmappluginui.cpp rma
4056 4102 ../common_PLE/qipdialogbox.h \
4057 4103 /usr/include/qt5/lppmon/wfdisplay/wfdisplay.h \
4058 4104 /usr/include/qt5/lppmon/wfdisplay/wfdisplay_global.h \
4059 /usr/include/qt5/QtWidgets/QVBoxLayout \
4060 4105 /usr/include/qt5/lppmon/wfdisplay/wfpage.h \
4061 4106 /usr/include/qt5/QtWidgets/QMainWindow \
4062 4107 /usr/include/qt5/QtWidgets/qmainwindow.h \
@@ -4272,7 +4317,6 obj/rmappluginui.o: rmappluginui.cpp rma
4272 4317 /usr/include/qt5/QtWidgets/qfilesystemmodel.h \
4273 4318 /usr/include/qt5/QtWidgets/qfontdialog.h \
4274 4319 /usr/include/qt5/QtWidgets/qinputdialog.h \
4275 /usr/include/qt5/QtWidgets/qlineedit.h \
4276 4320 /usr/include/qt5/QtWidgets/qmessagebox.h \
4277 4321 /usr/include/qt5/QtWidgets/qprogressdialog.h \
4278 4322 /usr/include/qt5/QtWidgets/qwizard.h \
@@ -4381,6 +4425,7 obj/rmappluginui.o: rmappluginui.cpp rma
4381 4425 /usr/include/qt5/QtWidgets/QDoubleSpinBox \
4382 4426 ../../DEV_PLE/header/TC_types.h \
4383 4427 ../../DEV_PLE/header/ccsds_types.h \
4428 ../../DEV_PLE/header/fsw_params_processing.h \
4384 4429 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
4385 4430 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
4386 4431 tmstatistics.h \
@@ -4399,7 +4444,7 obj/rmappluginui.o: rmappluginui.cpp rma
4399 4444 wfpacket.h \
4400 4445 ../../DEV_PLE/header/fsw_params.h \
4401 4446 ../../DEV_PLE/header/grlib_regs.h \
4402 ../../DEV_PLE/header/fsw_params_processing.h \
4447 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
4403 4448 ../../DEV_PLE/header/tm_byte_positions.h \
4404 4449 /usr/include/qt5/lppmon/lppmonplugin.h \
4405 4450 /usr/include/qt5/lppmon/common/lppmon.h \
@@ -4936,6 +4981,7 obj/rmappluginpythonwrapper.o: rmapplugi
4936 4981 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
4937 4982 ../../DEV_PLE/header/TC_types.h \
4938 4983 ../../DEV_PLE/header/ccsds_types.h \
4984 ../../DEV_PLE/header/fsw_params_processing.h \
4939 4985 tmpackettoread.h \
4940 4986 /usr/include/qt5/QtWidgets/QApplication \
4941 4987 /usr/include/qt5/QtWidgets/qapplication.h \
@@ -5080,6 +5126,19 obj/stardundee.o: stardundee.cpp stardun
5080 5126 /usr/include/qt5/QtCore/qbasictimer.h \
5081 5127 /usr/include/qt5/QtWidgets/QDialog \
5082 5128 /usr/include/qt5/QtWidgets/qdialog.h \
5129 /usr/include/qt5/lppmon/paulcommon/arbitrarytime.h \
5130 /usr/include/qt5/lppmon/paulcommon/paulcommon_global.h \
5131 /usr/include/qt5/QtWidgets/QHBoxLayout \
5132 /usr/include/qt5/QtWidgets/QVBoxLayout \
5133 /usr/include/qt5/QtWidgets/QLineEdit \
5134 /usr/include/qt5/QtWidgets/qlineedit.h \
5135 /usr/include/qt5/QtGui/qtextcursor.h \
5136 /usr/include/qt5/QtGui/qtextformat.h \
5137 /usr/include/qt5/QtGui/qpen.h \
5138 /usr/include/qt5/QtGui/qtextoption.h \
5139 /usr/include/qt5/QtGui/QRegExpValidator \
5140 tcpackettosend.h \
5141 /usr/include/qt5/QtCore/QObject \
5083 5142 rmapoperations.h \
5084 5143 /usr/include/qt5/lppmon/common/qhexspinbox.h \
5085 5144 /usr/include/qt5/QtCore/QString \
@@ -5091,7 +5150,6 obj/stardundee.o: stardundee.cpp stardun
5091 5150 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
5092 5151 ccsds.h \
5093 5152 tmpackettoread.h \
5094 /usr/include/qt5/QtCore/QObject \
5095 5153 /usr/include/qt5/lppmon/lppmonengine.h \
5096 5154 /usr/include/qt5/QtWidgets/QtWidgets \
5097 5155 /usr/include/qt5/QtWidgets/QtWidgetsDepends \
@@ -5263,16 +5321,12 obj/stardundee.o: stardundee.cpp stardun
5263 5321 /usr/include/qt5/QtGui/qpagedpaintdevice.h \
5264 5322 /usr/include/qt5/QtGui/qpaintengine.h \
5265 5323 /usr/include/qt5/QtGui/qpainter.h \
5266 /usr/include/qt5/QtGui/qtextoption.h \
5267 /usr/include/qt5/QtGui/qpen.h \
5268 5324 /usr/include/qt5/QtGui/qpdfwriter.h \
5269 5325 /usr/include/qt5/QtGui/qabstracttextdocumentlayout.h \
5270 5326 /usr/include/qt5/QtGui/qtextlayout.h \
5271 /usr/include/qt5/QtGui/qtextformat.h \
5272 5327 /usr/include/qt5/QtGui/qglyphrun.h \
5273 5328 /usr/include/qt5/QtGui/qrawfont.h \
5274 5329 /usr/include/qt5/QtGui/qfontdatabase.h \
5275 /usr/include/qt5/QtGui/qtextcursor.h \
5276 5330 /usr/include/qt5/QtGui/qtextdocument.h \
5277 5331 /usr/include/qt5/QtGui/qstatictext.h \
5278 5332 /usr/include/qt5/QtGui/qsyntaxhighlighter.h \
@@ -5290,7 +5344,6 obj/stardundee.o: stardundee.cpp stardun
5290 5344 /usr/include/qt5/QtWidgets/qfilesystemmodel.h \
5291 5345 /usr/include/qt5/QtWidgets/qfontdialog.h \
5292 5346 /usr/include/qt5/QtWidgets/qinputdialog.h \
5293 /usr/include/qt5/QtWidgets/qlineedit.h \
5294 5347 /usr/include/qt5/QtWidgets/qmessagebox.h \
5295 5348 /usr/include/qt5/QtWidgets/qprogressdialog.h \
5296 5349 /usr/include/qt5/QtWidgets/qwizard.h \
@@ -5432,7 +5485,6 obj/stardundee.o: stardundee.cpp stardun
5432 5485 /usr/include/qt5/lppmon/xmldriver.h \
5433 5486 /usr/include/qt5/lppmon/peripheralwidget.h \
5434 5487 /usr/include/qt5/QtWidgets/QGroupBox \
5435 /usr/include/qt5/QtWidgets/QVBoxLayout \
5436 5488 /usr/include/qt5/lppmon/registerwidget.h \
5437 5489 /usr/include/qt5/QtCore/QTime \
5438 5490 /usr/include/qt5/QtWidgets/QProgressBar
@@ -5997,7 +6049,8 obj/tcpackettosend.o: tcpackettosend.cpp
5997 6049 /usr/include/qt5/QtCore/qobject_impl.h \
5998 6050 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
5999 6051 ../../DEV_PLE/header/TC_types.h \
6000 ../../DEV_PLE/header/ccsds_types.h
6052 ../../DEV_PLE/header/ccsds_types.h \
6053 ../../DEV_PLE/header/fsw_params_processing.h
6001 6054 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tcpackettosend.o tcpackettosend.cpp
6002 6055
6003 6056 obj/tmpackettoread.o: tmpackettoread.cpp tmpackettoread.h \
@@ -6191,6 +6244,7 obj/tmstatistics.o: tmstatistics.cpp tms
6191 6244 tmpackettoread.h \
6192 6245 /usr/include/qt5/QtCore/QObject \
6193 6246 ../../DEV_PLE/header/ccsds_types.h \
6247 ../../DEV_PLE/header/fsw_params_processing.h \
6194 6248 /usr/include/qt5/QtCore/QMap \
6195 6249 /usr/include/qt5/QtWidgets/QCheckBox \
6196 6250 /usr/include/qt5/QtWidgets/qcheckbox.h \
@@ -6577,6 +6631,7 obj/wfpacket.o: wfpacket.cpp wfpacket.h
6577 6631 ../../DEV_PLE/header/fsw_params.h \
6578 6632 ../../DEV_PLE/header/grlib_regs.h \
6579 6633 ../../DEV_PLE/header/fsw_params_processing.h \
6634 ../../DEV_PLE/header/fsw_params_nb_bytes.h \
6580 6635 ../../DEV_PLE/header/tm_byte_positions.h \
6581 6636 ../../DEV_PLE/header/ccsds_types.h
6582 6637 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/wfpacket.o wfpacket.cpp
@@ -6857,6 +6912,7 obj/entermode.o: entermode.cpp entermode
6857 6912 /usr/include/qt5/QtWidgets/QVBoxLayout \
6858 6913 ../../DEV_PLE/header/TC_types.h \
6859 6914 ../../DEV_PLE/header/ccsds_types.h \
6915 ../../DEV_PLE/header/fsw_params_processing.h \
6860 6916 /usr/include/qt5/lppmon/parameterdump/parameterdump.h \
6861 6917 /usr/include/qt5/QtWidgets/QLabel \
6862 6918 /usr/include/qt5/QtWidgets/qlabel.h \
@@ -7007,6 +7063,7 obj/lfractions.o: lfractions.cpp lfracti
7007 7063 /usr/include/qt5/QtCore/QObject \
7008 7064 ../../DEV_PLE/header/TC_types.h \
7009 7065 ../../DEV_PLE/header/ccsds_types.h \
7066 ../../DEV_PLE/header/fsw_params_processing.h \
7010 7067 /usr/include/qt5/lppmon/parameterdump/parameterdump_global.h \
7011 7068 /usr/include/qt5/lppmon/parameterdump/tcpackettosend.h \
7012 7069 entermode.h \
@@ -7116,7 +7173,6 obj/moc_lppmonplugin.o: moc/moc_lppmonpl
7116 7173 install_target: first FORCE
7117 7174 @test -d $(INSTALL_ROOT)/home/paul/.lppmon/plugins || mkdir -p $(INSTALL_ROOT)/home/paul/.lppmon/plugins
7118 7175 -$(INSTALL_PROGRAM) "bin/$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
7119 -$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET)"
7120 7176 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET0)"
7121 7177 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET1)"
7122 7178 -$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/home/paul/.lppmon/plugins/$(TARGET2)"
@@ -3,6 +3,19
3 3 EnterMode::EnterMode(QWidget *parent) :
4 4 QWidget(parent)
5 5 {
6 lastTMTime = 0x80000000;
7 timeToSend = 0xffffffff;
8 label_lastTMTime = new QLabel(tr("last TM coarse time:\n-"));
9
10 radio_minus1 = new QRadioButton("-1");
11 radio_plus0 = new QRadioButton("+0");
12 radio_plus1 = new QRadioButton("+1");
13 radio_plus2 = new QRadioButton("+2");
14 radio_plus3 = new QRadioButton("+3");
15 radio_plus4 = new QRadioButton("+4");
16
17 radio_plus1->setChecked( true );
18
6 19 button_enterModeStandby = new QPushButton(tr("STANDBY"));
7 20 button_enterModeNormal = new QPushButton(tr("NORMAL"));
8 21 button_enterModeBurst = new QPushButton(tr("BURST"));
@@ -37,14 +50,21 EnterMode::EnterMode(QWidget *parent) :
37 50 groupBox_updateTime = new QGroupBox(tr("UPDATE_TIME"));
38 51 groupBox_otherTC = new QGroupBox(tr("OTHER TC"));
39 52
40 mainLayout->addWidget(button_enterModeStandby, 0, 0, 1, 1);
41 mainLayout->addWidget(button_enterModeNormal, 1, 0, 1, 1);
42 mainLayout->addWidget(button_enterModeBurst, 2, 0, 1, 1);
43 mainLayout->addWidget(button_enterModeSBM1, 3, 0, 1, 1);
44 mainLayout->addWidget(button_enterModeSBM2, 4, 0, 1, 1);
53 mainLayout->addWidget(button_enterModeStandby, 0, 0, 1, 3);
54 mainLayout->addWidget(button_enterModeNormal, 1, 0, 1, 3);
55 mainLayout->addWidget(button_enterModeBurst, 2, 0, 1, 3);
56 mainLayout->addWidget(button_enterModeSBM1, 3, 0, 1, 3);
57 mainLayout->addWidget(button_enterModeSBM2, 4, 0, 1, 3);
58 mainLayout->addWidget(label_lastTMTime, 5, 0, 1, 3);
59 mainLayout->addWidget(radio_minus1, 6, 0, 1, 1);
60 mainLayout->addWidget(radio_plus0, 6, 1, 1, 1);
61 mainLayout->addWidget(radio_plus1, 6, 2, 1, 1);
62 mainLayout->addWidget(radio_plus2, 7, 0, 1, 1);
63 mainLayout->addWidget(radio_plus3, 7, 1, 1, 1);
64 mainLayout->addWidget(radio_plus4, 7, 2, 1, 1);
45 65
46 66 mainLayout->setColumnStretch(1, 1);
47 mainLayout->setRowStretch(5, 1);
67 mainLayout->setRowStretch(8, 1);
48 68
49 69 groupBox->setLayout(mainLayout);
50 70 groupBox_otherTC->setLayout(layout_otherTC);
@@ -77,6 +97,8 void EnterMode::sendEnterMode( unsigned
77 97 Packet_TC_LFR_ENTER_MODE_t packet;
78 98 unsigned char crcAsTwoBytes[2];
79 99
100 setTimeToSend(); // the time depends on the radio buttons selection
101
80 102 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
81 103 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
82 104 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
@@ -90,10 +112,10 void EnterMode::sendEnterMode( unsigned
90 112 packet.sourceID = SID_TC_RPW_INTERNAL;
91 113 packet.spare = 0x00;
92 114 packet.mode = mode;
93 packet.enterModeTime[0] = 0x00;
94 packet.enterModeTime[1] = 0x00;
95 packet.enterModeTime[2] = 0x00;
96 packet.enterModeTime[3] = 0x00;
115 packet.enterModeTime[0] = (unsigned char) (timeToSend >> 24);
116 packet.enterModeTime[1] = (unsigned char) (timeToSend >> 16);
117 packet.enterModeTime[2] = (unsigned char) (timeToSend >> 8);
118 packet.enterModeTime[3] = (unsigned char) (timeToSend);
97 119 packet.enterModeTime[4] = 0x00;
98 120 packet.enterModeTime[5] = 0x00;
99 121
@@ -266,5 +288,24 void EnterMode::sendDisableCalibration()
266 288 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
267 289 }
268 290
291 void EnterMode::lastTMTimeHasChanged( unsigned int lastTime )
292 {
293 lastTMTime = lastTime;
294 label_lastTMTime->setText("last TM coarse time:\n" + QString::number(lastTMTime, 16));
295 }
269 296
270
297 void EnterMode::setTimeToSend( )
298 {
299 if (radio_minus1->isChecked())
300 timeToSend = lastTMTime -1;
301 if (radio_plus0->isChecked())
302 timeToSend = lastTMTime + 0;
303 if (radio_plus1->isChecked())
304 timeToSend = lastTMTime + 1;
305 if (radio_plus2->isChecked())
306 timeToSend = lastTMTime + 2;
307 if (radio_plus3->isChecked())
308 timeToSend = lastTMTime + 3;
309 if (radio_plus4->isChecked())
310 timeToSend = lastTMTime + 4;
311 }
@@ -6,6 +6,8
6 6 #include <QGridLayout>
7 7 #include <QGroupBox>
8 8 #include <QVBoxLayout>
9 #include <QLabel>
10 #include <QRadioButton>
9 11
10 12 #include <TC_types.h>
11 13 #include <parameterdump.h>
@@ -18,6 +20,7 public:
18 20 explicit EnterMode(QWidget *parent = 0);
19 21
20 22 void sendEnterMode(unsigned char mode);
23 void setTimeToSend( );
21 24
22 25 QPushButton *button_enterModeStandby;
23 26 QPushButton *button_enterModeNormal;
@@ -43,6 +46,17 public:
43 46
44 47 ParameterDump *parameterDump;
45 48
49 unsigned int lastTMTime;
50 unsigned int timeToSend;
51 QLabel *label_lastTMTime;
52
53 QRadioButton *radio_minus1;
54 QRadioButton *radio_plus0;
55 QRadioButton *radio_plus1;
56 QRadioButton *radio_plus2;
57 QRadioButton *radio_plus3;
58 QRadioButton *radio_plus4;
59
46 60 // ArbitraryTime *arbitraryTime;
47 61
48 62 signals:
@@ -61,6 +75,8 public slots:
61 75 void sendUpdateInfo();
62 76 void sendEnableCalibration();
63 77 void sendDisableCalibration();
78
79 void lastTMTimeHasChanged( unsigned int lastTime );
64 80
65 81 };
66 82
@@ -47,5 +47,6
47 47 #define DEFAULT_DESTINATION_KEY 2
48 48 #define DEFAULT_SOURCE 1
49 49 #define DEFAULT_TARGET 254
50 #define LFR_SPACEWIRE_LINK 0x01
50 51
51 52 #endif // PARAMS_H
@@ -41,30 +41,7 rmapplugin::rmapplugin(QWidget *parent)
41 41 time_FINE = 0;
42 42 currentBridge = selectedBridgeIsUnknown;
43 43
44 //**************
45 //Python wrapper
46 this->pyObject = new rmappluginPythonWrapper();
47 connect(this->pyObject,SIGNAL(ReadSig(uint*,uint,uint)),this,SLOT(Read(uint*,uint,uint)));
48 connect(this->pyObject,SIGNAL(WriteSig(uint*,uint,uint)),this,SLOT(Write(uint*,uint,uint)));
49 //**
50 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
51 this, SLOT( WriteSPW(char*,uint,char,char)), Qt::DirectConnection );
52 //**
53 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetAddress(unsigned char) ),
54 this, SLOT( setValueTargetAddress(unsigned char)) );
55 //**
56 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceAddress(unsigned char) ),
57 this, SLOT( setValueSourceAddress(unsigned char)) );
58 //**
59 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
60 this, SLOT(displayOnConsole(QString)) );
61 //**
62 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
63 this, SLOT(fetchPacket()), Qt::DirectConnection );
64 //***
65 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
66 this, SLOT(nbPacketHasChanged(int)));
67 //**************
44 connectPythonWrapper();
68 45
69 46 //**************
70 47 // get a smart pointer to the __main__ module of the Python interpreter
@@ -89,7 +66,6 rmapplugin::rmapplugin(QWidget *parent)
89 66 //******
90 67 // GRESB
91 68 connect(this->UI->gresbBridge, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
92 //connect(this->UI->gresbBridge, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
93 69 connect(this->UI->gresbBridge, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
94 70 connect(this->UI->gresbBridge, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
95 71 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->gresbBridge, SLOT(ccsdsPacketIsProcessed()));
@@ -103,7 +79,6 rmapplugin::rmapplugin(QWidget *parent)
103 79 //************
104 80 // Star Dundee
105 81 connect(this->UI->starDundee, SIGNAL(sendMessage(QString)), this, SLOT(displayOnConsole(QString)));
106 //connect(this->UI->starDundee, SIGNAL(isOpen(bool)), this, SLOT(activatePlugin(bool)));
107 82 connect(this->UI->starDundee, SIGNAL(RMAP_write_reply_setText(QString)), this, SLOT(RMAP_write_reply_setText(QString)));
108 83 connect(this->UI->starDundee, SIGNAL(appendToLog(QString)), this, SLOT(appendToLog(QString)));
109 84 connect(this, SIGNAL(ccsdsPacketIsProcessed()), this->UI->starDundee, SLOT(ccsdsPacketIsProcessed()));
@@ -111,6 +86,8 rmapplugin::rmapplugin(QWidget *parent)
111 86 this->UI->starDundee, SLOT(targetHasChanged(int)));
112 87 connect(this->UI->rmapSourceLogicalAddressSpinBox, SIGNAL(valueChanged(int)),
113 88 this->UI->starDundee, SLOT(sourceHasChanged(int)));
89 connect(this, SIGNAL(spaceWireLinkNumberHasChanged(unsigned char)),
90 this->UI->starDundee, SLOT(spaceWireLinkHasChanged(unsigned char)), Qt::DirectConnection);
114 91 connect(this->UI->starDundee, SIGNAL(sendPacket(TMPacketToRead*)),
115 92 this, SLOT(receivePacketFromBridge(TMPacketToRead*)), Qt::DirectConnection);
116 93
@@ -255,6 +232,12 void rmapplugin::setValueSourceAddress(u
255 232 this->UI->rmapSourceLogicalAddressSpinBox->setValue(newAddress);
256 233 }
257 234
235 void rmapplugin::setValueSpaceWireLinkNumber(unsigned char linkNumber)
236 {
237 // this->UI->spwLinkSpinBox->setValue( linkNumber );
238 emit this->spaceWireLinkNumberHasChanged( linkNumber );
239 }
240
258 241 void rmapplugin::receivePacketFromBridge(TMPacketToRead *packet)
259 242 {
260 243 preProcessPacket(packet);
@@ -299,8 +282,14 void rmapplugin::preProcessPacket(TMPack
299 282 //**********************************************
300 283 // if the packet is a parameter dump, display it
301 284 if ( (typ == TM_TYPE_PARAMETER_DUMP) & (sub == TM_SUBTYPE_PARAMETER_DUMP) & (sid == SID_PARAMETER_DUMP) )
285 this->UI->lfrActions->parameterDump->updateParameterDump(packet);
286
287 if ( (typ == TC_TYPE_TIME) & (sub == TC_SUBTYPE_UPDT_TIME) ) // RE-EMIT THE TC_LFR_UPDATE_TIME PACKET
302 288 {
303 this->UI->lfrActions->parameterDump->updateParameterDump(packet);
289 emit spaceWireLinkNumberHasChanged( LFR_SPACEWIRE_LINK );
290 WriteSPW( (char *) &packet->Value[CCSDS_PROTOCOLE_EXTRA_BYTES],
291 packet->size - CCSDS_PROTOCOLE_EXTRA_BYTES,
292 DEFAULT_TARGET, CCSDS_USER_APP );
304 293 }
305 294 }
306 295
@@ -368,3 +357,43 int rmapplugin::fetchPacket()
368 357 return ret;
369 358 }
370 359
360 void rmapplugin::connectPythonWrapper()
361 {
362 this->pyObject = new rmappluginPythonWrapper();
363 connect( this->pyObject, SIGNAL( ReadSig(uint*,uint,uint) ), this, SLOT( Read(uint*,uint,uint) ) );
364 connect( this->pyObject, SIGNAL( WriteSig(uint*,uint,uint) ), this, SLOT( Write(uint*,uint,uint) ) );
365 //**
366 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( WriteSPWSig(char*,uint,char,char) ),
367 this, SLOT( WriteSPW(char*,uint,char,char) ), Qt::DirectConnection );
368 //**
369 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateTargetLogicalAddress(unsigned char) ),
370 this, SLOT( setValueTargetAddress(unsigned char) ) );
371 //**
372 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSourceLogicalAddress(unsigned char) ),
373 this, SLOT( setValueSourceAddress(unsigned char) ) );
374 //**
375 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL( updateSpaceWireLinkNumber(unsigned char) ),
376 this, SLOT( setValueSpaceWireLinkNumber(unsigned char) ) );
377 //**
378 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sendMessage(QString)),
379 this, SLOT(displayOnConsole(QString)) );
380 //**
381 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(fetchPacketSig()),
382 this, SLOT(fetchPacket()), Qt::DirectConnection );
383 //***
384 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(nbPacketHasChanged(int)),
385 this, SLOT(nbPacketHasChanged(int)));
386
387 //**********
388 // TIMECODES
389 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sig_sendOneTimecode()),
390 this->UI->starDundee, SLOT(sendOneTimecode()) );
391 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sig_sendTimecodePeriodically()),
392 this->UI->starDundee, SLOT(sendTimecodePeriodically()) );
393 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sig_sendOneTimePacketAndOneTimecode()),
394 this->UI->starDundee, SLOT(sendOneTimePacketAndOneTimecode()) );
395 connect( (rmappluginPythonWrapper*)this->pyObject, SIGNAL(sig_sendOneTimePacketAndTimecodePeriodically()),
396 this->UI->starDundee, SLOT(sendOneTimePacketAndTimecodePeriodically()) );
397 }
398
399
@@ -52,16 +52,22 class rmapplugin : public lppmonplugin
52 52 public:
53 53 explicit rmapplugin(QWidget *parent = 0);
54 54 ~rmapplugin();
55
56 void preProcessPacket(TMPacketToRead *packet);
57 void connectPythonWrapper();
58
55 59 QList<TMPacketToRead*> generalCCSDSPacketStore;
56 void preProcessPacket(TMPacketToRead *packet);
57 60 WFPacket wfPacketNormal[4];
58 61
59 62 public slots:
60 63 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
61 64 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
62 65 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
66 //
63 67 void setValueTargetAddress(unsigned char newAddress);
64 68 void setValueSourceAddress(unsigned char newAddress);
69 void setValueSpaceWireLinkNumber(unsigned char linkNumber);
70 //
65 71 void openBridge();
66 72 void closeBridge();
67 73 void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
@@ -85,6 +91,7 signals:
85 91 unsigned char typ, unsigned char sub,
86 92 unsigned int sid, unsigned int length,
87 93 unsigned int coarse_t, unsigned int fine_t);
94 void spaceWireLinkNumberHasChanged( unsigned char );
88 95
89 96 private:
90 97 selectedBridge currentBridge;
@@ -53,7 +53,7 INCLUDEPATH += \
53 53 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump \
54 54 $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
55 55
56 LIBS += -lwfdisplay -lparameterdump
56 LIBS += -lwfdisplay -lparameterdump -lpaulcommon
57 57
58 58
59 59 HEADERS += \
@@ -125,18 +125,25 void rmappluginPythonWrapper::processPac
125 125 emit ccsdsPacketIsAvailable(ccsdsPacketStore->at(0)->size);
126 126 }
127 127
128 void rmappluginPythonWrapper::setTargetAddressValue(unsigned int address)
128 void rmappluginPythonWrapper::setValueTargetLogicalAddress(unsigned int address)
129 129 {
130 130 unsigned char newAddress;
131 131 newAddress = (unsigned char) address;
132 emit updateTargetAddress(newAddress);
132 emit updateTargetLogicalAddress(newAddress);
133 133 }
134 134
135 void rmappluginPythonWrapper::setSourceAddressValue(unsigned int address)
135 void rmappluginPythonWrapper::setValueSourceLogicalAddress(unsigned int address)
136 136 {
137 137 unsigned char newAddress;
138 138 newAddress = (unsigned char) address;
139 emit updateSourceAddress(newAddress);
139 emit updateSourceLogicalAddress(newAddress);
140 }
141
142 void rmappluginPythonWrapper::setValueSpaceWireLinkNumber(unsigned int linkNumber)
143 {
144 unsigned char newLinkNumber;
145 newLinkNumber = (unsigned char) linkNumber;
146 emit updateSpaceWireLinkNumber(newLinkNumber);
140 147 }
141 148
142 149 void rmappluginPythonWrapper::ProcessPendingEvents()
@@ -144,3 +151,15 void rmappluginPythonWrapper::ProcessPen
144 151 QCoreApplication::processEvents();
145 152 }
146 153
154 //*******************
155 // TIMECODE FUNCTIONS
156 void rmappluginPythonWrapper::sendOneTimecode()
157 {
158 emit sig_sendOneTimecode();
159 }
160
161 void rmappluginPythonWrapper::sendTimecodePeriodically()
162 {
163 emit sig_sendTimecodePeriodically();
164 }
165
@@ -29,13 +29,21 signals:
29 29 void ccsdsPacketIsAvailable(unsigned int size);
30 30 void wakeUpCallingThread();
31 31 unsigned int WriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
32 void updateTargetAddress(unsigned char newAddress);
33 void updateSourceAddress(unsigned char newAddress);
32 //
33 void updateTargetLogicalAddress(unsigned char newAddress);
34 void updateSourceLogicalAddress(unsigned char newAddress);
35 void updateSpaceWireLinkNumber(unsigned char newAddress);
36 //
34 37 void activateTCLoopSig();
35 38 void processPacketStoreNowSig();
36 39 void sendMessage(QString message);
37 40 int fetchPacketSig();
38 41 void nbPacketHasChanged(int nb);
42
43 //*******************
44 // TIMECODE SIGNALS
45 void sig_sendOneTimecode();
46 void sig_sendTimecodePeriodically();
39 47
40 48 public slots:
41 49 QList<QVariant> ReadSPW(unsigned int size=0);
@@ -48,11 +56,18 public slots:
48 56 void sendTC();
49 57 void reEmitWriteSPWSig(char *Value, unsigned int count, char targetLogicalAddress, char userApplication)
50 58 {emit WriteSPWSig(Value, count, targetLogicalAddress, userApplication);}
51
52 void setTargetAddressValue(unsigned int address);
53 void setSourceAddressValue(unsigned int address);
59 //
60 void setValueTargetLogicalAddress(unsigned int address);
61 void setValueSourceLogicalAddress(unsigned int address);
62 void setValueSpaceWireLinkNumber(unsigned int linkNumber);
63 //
54 64 void ProcessPendingEvents();
55 65 void BlockAllSignals();
66
67 //*******************
68 // TIMECODE FUNCTIONS
69 void sendOneTimecode();
70 void sendTimecodePeriodically();
56 71
57 72 };
58 73
@@ -75,14 +75,14 rmapPluginUI::rmapPluginUI(QWidget *pare
75 75 gresbVirtualLinkSpinBox = new QSpinBox;
76 76 rmapSourceLogicalAddressSpinBox = new QSpinBox;
77 77 rmapTargetLogicalAddressSpinBox = new QSpinBox;
78 spwLinkSpinBox = new QSpinBox;;
78 // spwLinkSpinBox = new QSpinBox;;
79 79 CCSDSTargetLogicalAddressSpinBox = new QSpinBox;
80 80 gresbVirtualLinkSpinBox->setRange(0, 4);
81 81 gresbVirtualLinkSpinBox->setValue(1);
82 82 rmapSourceLogicalAddressSpinBox->setRange(0, 255);
83 83 rmapTargetLogicalAddressSpinBox->setRange(0, 255);
84 spwLinkSpinBox->setRange(0, 2);
85 spwLinkSpinBox->setValue(0);
84 // spwLinkSpinBox->setRange(0, 2);
85 // spwLinkSpinBox->setValue(0);
86 86
87 87 //*** MISC **//
88 88 starDundee = new StarDundee;
@@ -184,6 +184,9 rmapPluginUI::rmapPluginUI(QWidget *pare
184 184 connect(this, SIGNAL(commandCodeHasChanged(RMAP_command_codes)),
185 185 this->gresbBridge, SLOT(commandCodeHasChanged(RMAP_command_codes)));
186 186
187 connect(this->tmStatistics, SIGNAL(lastTMTimeHasChanged(uint)),
188 this->lfrActions->enterMode, SLOT(lastTMTimeHasChanged(uint)));
189
187 190 getCommandCode(); // init the command code value
188 191 rmapSourceLogicalAddressSpinBox->setValue(DEFAULT_SOURCE);
189 192 rmapTargetLogicalAddressSpinBox->setValue(DEFAULT_TARGET);
@@ -83,7 +83,7 public:
83 83 QGroupBox *selection_GROUPBOX;
84 84
85 85 QSpinBox* gresbVirtualLinkSpinBox;
86 QSpinBox* spwLinkSpinBox;
86 // QSpinBox* spwLinkSpinBox;
87 87 QSpinBox* rmapSourceLogicalAddressSpinBox;
88 88 QSpinBox* rmapTargetLogicalAddressSpinBox;
89 89 QSpinBox* CCSDSTargetLogicalAddressSpinBox;
@@ -26,11 +26,29 StarDundee::StarDundee(QWidget *parent)
26 26
27 27 usbDeviceNumber_LABEL = new QLabel(tr("USB device number: "));
28 28 linkNumber_LABEL = new QLabel(tr("SpaceWire link number: "));
29 starDundeeStatusQueryDialogLabel = new QLabel(tr("SpaceWire link not running"));
29 starDundeeStatusQueryDialogLabel = new QLabel(tr("SpaceWire links state"));
30 statusLink1 = new QLabel(tr("Link 1 status code: -"));
31 statusLink2 = new QLabel(tr("Link 2 status code: -"));
30 32
31 33 //*** QPUSHBUTTON ***//
34 starDundeeStatusQueryContinueButton = new QPushButton(tr("Continue"));
32 35 starDundeeStatusQueryRetryButton = new QPushButton(tr("Retry"));
33 36 starDundeeStatusQueryAbortButton = new QPushButton(tr("Abort"));
37 starDundeeSendOneTimecode = new QPushButton(tr("send one timecode"));
38 starDundeeSendOneTimePacketAndOneTimecode = new QPushButton(tr("send one update time\n+ one time code"));
39 starDundeeSendTimecodePeriodically = new QPushButton(tr("start timecodes at 1 Hz"));
40 starDundeeSendOneTimePacketAndTimecodePeriodically = new QPushButton(tr("send one update time\n+ timecodes at 1 Hz"));
41
42 arbitraryTime = new ArbitraryTime(1); // 1 is for the horizontal layout
43 arbitraryTimeToSend = 0x80000000;
44
45 paulCommonCRC = new PaulCommonCRC();
46
47 flag_sendTimecodePeriodically = false;
48 starDundeeSendOneTimecode->setEnabled( false );
49 starDundeeSendTimecodePeriodically->setEnabled( false );
50 starDundeeSendOneTimePacketAndOneTimecode->setEnabled( false );
51 starDundeeSendOneTimePacketAndTimecodePeriodically->setEnabled( false );
34 52
35 53 usbDeviceNumber_SPINBOX = new QSpinBox;
36 54 usbDeviceNumber_SPINBOX->setRange(0,32);
@@ -42,22 +60,46 StarDundee::StarDundee(QWidget *parent)
42 60 // STAR DUNDEE STATUS QUERY DIALOG
43 61 starDundeeStatusQueryDialogLayout = new QGridLayout;
44 62 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryDialogLabel, 0, 0, 1, 2);
45 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryRetryButton, 1, 0, 0);
46 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryAbortButton, 1, 1, 0);
63 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryContinueButton, 1, 0, 0);
64 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryRetryButton, 1, 1, 0);
65 starDundeeStatusQueryDialogLayout->addWidget(starDundeeStatusQueryAbortButton, 1, 2, 0);
66 starDundeeStatusQueryDialogLayout->addWidget(statusLink1, 2, 0, 0);
67 starDundeeStatusQueryDialogLayout->addWidget(statusLink2, 3, 0, 0);
47 68 starDundeeStatusQueryDialog->setLayout(starDundeeStatusQueryDialogLayout);
48 69
49 70 connection_LAYOUT->addWidget(usbDeviceNumber_LABEL, 0, 0, 1, 1);
50 71 connection_LAYOUT->addWidget(usbDeviceNumber_SPINBOX, 0, 1, 1, 1);
51 72 connection_LAYOUT->addWidget(linkNumber_LABEL, 1, 0, 1, 1);
52 73 connection_LAYOUT->addWidget(linkNumber_SPINBOX, 1, 1, 1, 1);
74 connection_LAYOUT->addWidget(starDundeeSendOneTimecode, 2, 0, 1, 1);
75 connection_LAYOUT->addWidget(starDundeeSendOneTimePacketAndOneTimecode, 2, 1, 1, 1);
76 connection_LAYOUT->addWidget(starDundeeSendTimecodePeriodically, 3, 0, 1, 1 );
77 connection_LAYOUT->addWidget(starDundeeSendOneTimePacketAndTimecodePeriodically, 3, 1, 1, 1);
78 connection_LAYOUT->addWidget(arbitraryTime, 6, 0, 1, 2);
53 79
54 connection_LAYOUT->setRowStretch(2, 1);
80 connection_LAYOUT->setRowStretch(7, 1);
55 81 connection_LAYOUT->setColumnStretch(2, 1);
56 82
57 83 this->setLayout(connection_LAYOUT);
58 84
59 connect(starDundeeStatusQueryRetryButton, SIGNAL(clicked()), this, SLOT(reTestSPWLink()));
60 connect(starDundeeStatusQueryAbortButton, SIGNAL(clicked()), starDundeeStatusQueryDialog, SLOT(reject()));
85 connect(starDundeeStatusQueryRetryButton, SIGNAL(clicked()),
86 this, SLOT(reTestSPWLink()));
87 connect(starDundeeStatusQueryAbortButton, SIGNAL(clicked()),
88 starDundeeStatusQueryDialog, SLOT(reject()));
89 connect(starDundeeStatusQueryContinueButton, SIGNAL(clicked()),
90 starDundeeStatusQueryDialog, SLOT(accept()));
91
92 // TIMECODES
93 connect(this->starDundeeSendOneTimecode, SIGNAL(clicked()),
94 this, SLOT(sendOneTimecode()));
95 connect(this->starDundeeSendTimecodePeriodically, SIGNAL(clicked()),
96 this, SLOT(sendTimecodePeriodically()));
97 connect(this->starDundeeSendOneTimePacketAndOneTimecode, SIGNAL(clicked()),
98 this, SLOT(sendOneTimePacketAndOneTimecode()));
99 connect(this->starDundeeSendOneTimePacketAndTimecodePeriodically, SIGNAL(clicked()),
100 this, SLOT(sendOneTimePacketAndTimecodePeriodically()));
101 connect(this->arbitraryTime, SIGNAL(timeToSendChanged(long)),
102 this, SLOT(updateTimeToSend(long)));
61 103
62 104 connect(this->timer, SIGNAL(timeout()), this, SLOT(receivePollingLoop()));
63 105 }
@@ -74,6 +116,10 bool StarDundee::Open()
74 116 {
75 117 int status;
76 118 U32 statusControl;
119 unsigned int linkStatus1;
120 unsigned int linkStatus2;
121 unsigned char linkNumber;
122 unsigned char deviceIsAnInterface;
77 123
78 124 if (!USBSpaceWire_Open(&hDevice, usbDeviceNumber_SPINBOX->value())) // Open the USB device
79 125 {
@@ -88,6 +134,8 bool StarDundee::Open()
88 134 CFGSpaceWire_SetRMAPDestinationKey(0x20); // Set the destination key expected by STAR-Dundee devices
89 135
90 136 // Set the path and return path to the device
137 // This affects just the operations performed by the Configuration Library and does not affect the packets
138 // sent and received using the driver API.
91 139 CFGSpaceWire_StackClear();
92 140 CFGSpaceWire_AddrStackPush(0);
93 141 CFGSpaceWire_AddrStackPush(254);
@@ -100,14 +148,15 bool StarDundee::Open()
100 148 emit sendMessage("ERROR CFGSpaceWire_SetBrickBaseTransmitRate");
101 149 }
102 150 else emit sendMessage("OK CFGSpaceWire_SetBrickBaseTransmitRate, base rate = 100 MHz");
103 // read the link status
104 if (CFGSpaceWire_GetLinkStatusControl(hDevice, linkNumber_SPINBOX->value(), &statusControl) != CFG_TRANSFER_SUCCESS)
105 {
106 emit sendMessage("Could not read link status control for link " + QString::number(linkNumber_SPINBOX->value()));
107 }
151
152 //*********************
153 // LINK 1 CONFIGURATION
154 linkNumber = 1;
155 if (CFGSpaceWire_GetLinkStatusControl(hDevice, linkNumber, &statusControl) != CFG_TRANSFER_SUCCESS)
156 emit sendMessage("Could not read link status control for link " + QString::number(linkNumber));
108 157 else
109 158 {
110 emit sendMessage("OK CFGSpaceWire_GetLinkStatusControl of link " + QString::number(linkNumber_SPINBOX->value()));
159 emit sendMessage("OK CFGSpaceWire_GetLinkStatusControl of link " + QString::number(linkNumber));
111 160
112 161 // Set the link status control register properties
113 162 CFGSpaceWire_LSEnableAutoStart(&statusControl, 1);
@@ -117,28 +166,53 bool StarDundee::Open()
117 166 CFGSpaceWire_LSSetOperatingSpeed(&statusControl, 9); // sets the link speed to ( 100 MHz / (9+1) ) = 10 MHz
118 167
119 168 // Set the link status control register
120 if (CFGSpaceWire_SetLinkStatusControl(hDevice, linkNumber_SPINBOX->value(), statusControl) != CFG_TRANSFER_SUCCESS)
121 {
122 emit sendMessage("Could not set the link status control for link " + QString::number(linkNumber_SPINBOX->value()));
123 }
124 else emit sendMessage("Set the link status control for link " + QString::number(linkNumber_SPINBOX->value()));
169 if (CFGSpaceWire_SetLinkStatusControl(hDevice, linkNumber, statusControl) != CFG_TRANSFER_SUCCESS)
170 emit sendMessage("Could not set the link status control for link " + QString::number(linkNumber));
171 else
172 emit sendMessage("link status control for link " + QString::number(0x01) + " is set");
125 173 }
126 174
127 if (CFGSpaceWire_SetAsInterface(hDevice, 1, 0) != CFG_TRANSFER_SUCCESS)
128 {
129 emit sendMessage("Could not set the device to be an interface");
130 }
175 //*********************
176 // LINK 2 CONFIGURATION
177 linkNumber = 2;
178 if (CFGSpaceWire_GetLinkStatusControl(hDevice, linkNumber, &statusControl) != CFG_TRANSFER_SUCCESS)
179 emit sendMessage("Could not read link status control for link " + QString::number(linkNumber));
131 180 else
132 181 {
133 emit sendMessage("Device set to be an interface");
182 emit sendMessage("OK CFGSpaceWire_GetLinkStatusControl of link " + QString::number(linkNumber));
183
184 // Set the link status control register properties
185 CFGSpaceWire_LSEnableAutoStart(&statusControl, 1);
186 CFGSpaceWire_LSEnableStart(&statusControl, 1);
187 CFGSpaceWire_LSEnableDisabled(&statusControl, 0);
188 CFGSpaceWire_LSEnableTristate(&statusControl, 0);
189 CFGSpaceWire_LSSetOperatingSpeed(&statusControl, 9); // sets the link speed to ( 100 MHz / (9+1) ) = 10 MHz
190
191 // Set the link status control register
192 if (CFGSpaceWire_SetLinkStatusControl(hDevice, linkNumber, statusControl) != CFG_TRANSFER_SUCCESS)
193 emit sendMessage("Could not set the link status control for link " + QString::number(linkNumber));
194 else
195 emit sendMessage("link status control for link " + QString::number(linkNumber) + " is set");
134 196 }
135 197
136 //setRoutingTableEntry(rmapTargetLogicalAddress, (1<<linkNumber_SPINBOX->value()));
137 //setRoutingTableEntry(rmapSourceLogicalAddress, (1<<3));
138 //GetRoutingTableEntry(rmapTargetLogicalAddress);
139 //GetRoutingTableEntry(rmapSourceLogicalAddress);
198 //*******************************
199 // SET THE DEVICE AS AN INTERFACE
200 deviceIsAnInterface = 1;
201 if (CFGSpaceWire_SetAsInterface(hDevice, deviceIsAnInterface, 0) != CFG_TRANSFER_SUCCESS)
202 emit sendMessage("Could not set the device to be an interface");
203 else
204 emit sendMessage("Device is an interface: " + QString::number(deviceIsAnInterface) + " (1 => true, 0 => false)");
140 205
141 USBSpaceWire_RegisterReceiveOnAllPorts(hDevice); // Register to receive on all ports
206 // setRoutingTableEntry(0xfe, 0x02); // [0010] => connect LFR on the [Link 1] port
207 // setRoutingTableEntry(0xfd, 0x04); // [0100] => connect TIMEGEN on the [Link 2] port
208
209 // GetRoutingTableEntry(0xfe);
210 // GetRoutingTableEntry(0xfd);
211 // GetRoutingTableEntry(0x01);
212
213 USBSpaceWire_RegisterReceiveOnAllPorts(hDevice); // Register to receive on port 1 only
214 // USBSpaceWire_RegisterReceiveOnPort(hDevice, 0x01); // Register to receive on port 1 only
215 // USBSpaceWire_RegisterReceiveOnPort(hDevice, 0xfe); // Register to receive on port 254 only
142 216 USBSpaceWire_ClearEndpoints(hDevice); // clear the USB endpoints
143 217
144 218 emit sendMessage("The driver's current send buffer size is " + QString::number(USBSpaceWire_GetDriverSendBufferSize(hDevice)) + " bytes");
@@ -149,14 +223,25 bool StarDundee::Open()
149 223 while (rmapPacketSEMAPHORE->available()!=0) rmapPacketSEMAPHORE->acquire();
150 224 while (ccsdsPacketSEMAPHORE->available()!=0) ccsdsPacketSEMAPHORE->acquire();
151 225
152 if (getLinkStatus(linkNumber_SPINBOX->value()))
226 //************
227 // test Link 1 and Link 2
228 linkStatus1 = getLinkStatus(0x01);
229 linkStatus2 = getLinkStatus(0x02);
230
231 if ((linkStatus1==1) || (linkStatus2==1))
153 232 {
233 // statusLink1->setText("Link 1 status code: " + QString::number(linkStatus1));
234 // statusLink2->setText("Link 2 status code: " + QString::number(linkStatus2));
235 // starDundeeStatusQueryDialog->exec();
154 236 emit isOpen(true);
155 237 timer->start(1); // starts the periodical timer, period = 100ms
238 initializeTimecodeGeneration();
156 239 return true;
157 240 }
158 241 else
159 242 {
243 statusLink1->setText("Link 1 status code: " + QString::number(linkStatus1));
244 statusLink2->setText("Link 2 status code: " + QString::number(linkStatus2));
160 245 starDundeeStatusQueryDialog->exec();
161 246 return false;
162 247 }
@@ -425,7 +510,7 unsigned int StarDundee::WriteBLOCK(char
425 510 totalSize = headerSize + nbBytes + CRCSize + PATH_ADDRESSING_OFFSET;
426 511 packet = (char*) malloc( totalSize );
427 512 aux = (char*) ((void*) &RMAPCommand->RMAPHeader);
428 packet[0] = this->linkNumber_SPINBOX->value();
513 packet[0] = getPacketFirstByte(); // TO BE SUPPRESSED
429 514 for(unsigned int i = 0; i<headerSize; i++) packet[i+PATH_ADDRESSING_OFFSET] = aux[i];
430 515 offset = headerSize;
431 516 for(unsigned int i = 0; i<nbBytes; i++)
@@ -577,7 +662,7 unsigned int StarDundee::ReadBLOCK(unsig
577 662 totalSize = sizeof(RMAPCommand->RMAPHeader) + PATH_ADDRESSING_OFFSET;
578 663 packet = (char*) malloc( totalSize );
579 664 aux = (char*) ((void*) &RMAPCommand->RMAPHeader);
580 packet[0] = this->linkNumber_SPINBOX->value();
665 packet[0] = getPacketFirstByte(); // TO BE SUPPRESSED
581 666 for (unsigned int i = 0; i<sizeof(RMAPCommand->RMAPHeader); i++)
582 667 packet[i+PATH_ADDRESSING_OFFSET] = aux[i];
583 668
@@ -651,7 +736,7 unsigned int StarDundee::WriteSPW(char *
651 736 totalSize = count + 4 + PATH_ADDRESSING_OFFSET; // The StarDundee brick is in PATH addressing
652 737 SPWData = (char*) malloc(totalSize);
653 738 // SPW HEADER
654 SPWData[0] = this->linkNumber_SPINBOX->value(); // 1 by default, value can be 1 or 2
739 SPWData[0] = getPacketFirstByte();
655 740 SPWData[0+PATH_ADDRESSING_OFFSET] = targetLogicalAddress;
656 741 SPWData[1+PATH_ADDRESSING_OFFSET] = protocoleIdentifier;
657 742 SPWData[2+PATH_ADDRESSING_OFFSET] = reserved;
@@ -709,7 +794,7 unsigned int StarDundee::getLinkStatus(u
709 794 char isLinkRunning, isAutoStart, isStart, isDisabled, isTristate;
710 795
711 796 // Read the link status control register
712 if (CFGSpaceWire_GetLinkStatusControl(hDevice, 1, &statusControl) != CFG_TRANSFER_SUCCESS)
797 if (CFGSpaceWire_GetLinkStatusControl(hDevice, link, &statusControl) != CFG_TRANSFER_SUCCESS)
713 798 {
714 799 emit appendToLog("Could not read link status control for link" + QString::number(link));
715 800 }
@@ -753,6 +838,11 unsigned int StarDundee::getLinkStatus(u
753 838 else return 0;
754 839 }
755 840
841 void StarDundee::spaceWireLinkHasChanged(unsigned char spaceWireLink)
842 {
843 linkNumber_SPINBOX->setValue(spaceWireLink);
844 }
845
756 846 void StarDundee::receivePollingLoop()
757 847 {
758 848 timer->blockSignals(true);
@@ -796,7 +886,7 int StarDundee::receiveSPWPacket(unsigne
796 886 result = USBSpaceWire_ReadPackets(hDevice, spwPacket, nbBytes, nPacketNum, BWAIT_1, &properties, &pIdentifierRead);
797 887 if (result != TRANSFER_SUCCESS)
798 888 {
799 emit sendMessage("Error: Could not receive the packet");
889 emit sendMessage("Error: Could not receive the packet, result = " + QString::number(result));
800 890 USBSpaceWire_FreeRead(hDevice, pIdentifierRead); // Free the read buffer
801 891 return 0;
802 892 }
@@ -879,3 +969,127 void StarDundee::reTestSPWLink() // SLOT
879 969 starDundeeStatusQueryDialog->accept();
880 970 }
881 971 }
972
973 unsigned char StarDundee::getPacketFirstByte()
974 {
975 unsigned char firstByte;
976 firstByte = (unsigned char) this->linkNumber_SPINBOX->value();
977
978 return firstByte;
979 }
980
981 //**********
982 // TIMECODES
983
984 void StarDundee::initializeTimecodeGeneration()
985 {
986 U32 dwTickEnableStatus;
987 U32 rtr_clk_freq;
988
989 // (1) RESET
990 if (!USBSpaceWire_TC_Reset(hDevice))
991 emit sendMessage("ERR *** in Open *** Could not reset timecodes\n");
992
993 // (2) Clear the tick enable register
994 if (CFGSpaceWire_SetTickEnableStatus(hDevice, 6) != CFG_TRANSFER_SUCCESS)
995 emit sendMessage("Could not clear the tick enable register");
996 else
997 emit sendMessage("Cleared the tick enable register");
998
999 // (3) get the tick status
1000 CFGSpaceWire_GetTickEnableStatus(hDevice, &dwTickEnableStatus);
1001 emit sendMessage("OK *** in Open *** CFGSpaceWire_GetTickEnableStatus, code is " + QString::number(dwTickEnableStatus, 2));
1002
1003 // (4) enable external timecode selection
1004 if(!USBSpaceWire_TC_EnableExternalTimecodeSelection(hDevice,0))
1005 emit sendMessage("ERR *** disable external timecode selection");
1006
1007 rtr_clk_freq = USBSpaceWire_TC_GetClockFrequency(hDevice);
1008
1009 emit sendMessage("clock frequency = " + QString::number(rtr_clk_freq) );
1010
1011 if (!USBSpaceWire_TC_SetAutoTickInFrequency(hDevice, rtr_clk_freq) )
1012 emit sendMessage("Could not set the tick-in frequency");
1013
1014 starDundeeSendOneTimecode->setEnabled( true );
1015 starDundeeSendTimecodePeriodically->setEnabled( true );
1016 starDundeeSendOneTimePacketAndOneTimecode->setEnabled( true );
1017 starDundeeSendOneTimePacketAndTimecodePeriodically->setEnabled( true );
1018 }
1019
1020 void StarDundee::sendOneTimecode()
1021 {
1022 if(!USBSpaceWire_TC_PerformTickIn(hDevice, 0))
1023 emit sendMessage("ERR *** in sendOneTimecode *** perform TickIn");
1024 }
1025
1026 void StarDundee::sendOneTimePacketAndOneTimecode()
1027 {
1028 sendUpdateTime( arbitraryTimeToSend );
1029 QTimer::singleShot(300, this, SLOT(sendOneTimecode()));
1030 }
1031
1032 void StarDundee::sendOneTimePacketAndTimecodePeriodically()
1033 {
1034 sendUpdateTime( arbitraryTimeToSend );
1035 starDundeeSendOneTimePacketAndTimecodePeriodically->setEnabled( false );
1036 QTimer::singleShot(300, this, SLOT(sendTimecodePeriodically()));
1037 }
1038
1039 void StarDundee::sendTimecodePeriodically()
1040 {
1041 if (flag_sendTimecodePeriodically == false)
1042 {
1043 if (!USBSpaceWire_TC_EnableAutoTickIn(hDevice, 1, 1))
1044 emit sendMessage("Could not enable auto tick-in");
1045
1046 flag_sendTimecodePeriodically = true;
1047 this->starDundeeSendTimecodePeriodically->setText("stop timecodes at 1 Hz");
1048 }
1049 else
1050 {
1051 if (!USBSpaceWire_TC_EnableAutoTickIn(hDevice, 0, 0))
1052 emit sendMessage("Could not disable auto tick-in");
1053
1054 flag_sendTimecodePeriodically = false;
1055 this->starDundeeSendTimecodePeriodically->setText("start timecodes at 1 Hz");
1056 starDundeeSendOneTimePacketAndTimecodePeriodically->setEnabled( true );
1057 }
1058 }
1059
1060 void StarDundee::sendUpdateTime(long time)
1061 {
1062 Packet_TC_LFR_UPDATE_TIME_t packet;
1063 unsigned char crcAsTwoBytes[2];
1064
1065 packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
1066 packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
1067 packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
1068 packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
1069 packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME >> 8);
1070 packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_UPDATE_TIME );
1071
1072 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
1073 packet.serviceType = TC_TYPE_LFR_UPDATE_TIME;
1074 packet.serviceSubType = TC_SUBTYPE_UPDATE_TIME;
1075 packet.sourceID = SID_TC_RPW_INTERNAL;
1076 packet.cp_rpw_time[0] = (unsigned char) (time >> 24);
1077 packet.cp_rpw_time[1] = (unsigned char) (time >> 16);
1078 packet.cp_rpw_time[2] = (unsigned char) (time >> 8);
1079 packet.cp_rpw_time[3] = (unsigned char) (time);
1080 packet.cp_rpw_time[4] = 0; // fine time MSB
1081 packet.cp_rpw_time[5] = 0; // fine time LSB
1082
1083 paulCommonCRC->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
1084 PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET - 2);
1085 packet.crc[0] = crcAsTwoBytes[0];
1086 packet.crc[1] = crcAsTwoBytes[1];
1087
1088 WriteSPW((char*) &packet, PACKET_LENGTH_TC_LFR_UPDATE_TIME + CCSDS_TC_TM_PACKET_OFFSET,
1089 CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
1090 }
1091
1092 void StarDundee::updateTimeToSend(long timeToSend)
1093 {
1094 arbitraryTimeToSend = timeToSend;
1095 }
@@ -10,6 +10,10
10 10 #include <QTimer>
11 11 #include <QDialog>
12 12
13 #include <arbitrarytime.h>
14 #include <TC_types.h>
15 #include <paulcommoncrc.h>
16
13 17 #include "rmapoperations.h"
14 18 #include "spw_usb_api.h"
15 19 #include "spw_config_library.h"
@@ -32,6 +36,9 public:
32 36
33 37 unsigned int storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
34 38
39 void initializeTimecodeGeneration();
40 void sendUpdateTime(long time);
41
35 42 signals:
36 43 void sendMessage(QString message);
37 44 void sendPacket(TMPacketToRead*);
@@ -48,19 +55,27 public slots:
48 55 void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;}
49 56 void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;}
50 57 void sourceHasChanged(int source) {rmapSourceLogicalAddress = (unsigned char) source;}
58 void spaceWireLinkHasChanged(unsigned char spaceWireLink);
51 59 void ccsdsPacketIsProcessed() {ccsdsPacketSEMAPHORE->tryAcquire();}
52 60 //
53 61 void receivePollingLoop();
62 // TIMECODES
63 void sendOneTimecode();
64 void sendTimecodePeriodically();
65 void sendOneTimePacketAndOneTimecode();
66 void sendOneTimePacketAndTimecodePeriodically();
67 void updateTimeToSend(long timeToSend);
54 68
55 69 private:
56 70 unsigned int WriteBLOCK(char *data,unsigned int nbBytes,unsigned int address=0);
57 71 unsigned int ReadBLOCK(unsigned int nbBytes,unsigned int address=0);
58 72 void acquireRMAPSemaphore() {rmapPacketSEMAPHORE->tryAcquire();}
59 73 void acquireCCSDSSemaphore() {ccsdsPacketSEMAPHORE->tryAcquire();}
74
60 75 unsigned char setRoutingTableEntry(int tableEntry, U32 dwOutputPorts);
61
76 unsigned int GetRoutingTableEntry(int tableEntry);
62 77 unsigned int getLinkStatus(unsigned char link);
63 unsigned int GetRoutingTableEntry(int tableEntry);
78 unsigned char getPacketFirstByte();
64 79
65 80 unsigned char rmapTargetLogicalAddress ;
66 81 unsigned char rmapSourceLogicalAddress ;
@@ -70,6 +85,8 private:
70 85 QLabel *usbDeviceNumber_LABEL;
71 86 QLabel *linkNumber_LABEL;
72 87 QLabel *starDundeeStatusQueryDialogLabel;
88 QLabel *statusLink1;
89 QLabel *statusLink2;
73 90
74 91 QSpinBox *usbDeviceNumber_SPINBOX;
75 92 QSpinBox *linkNumber_SPINBOX;
@@ -81,6 +98,18 private:
81 98
82 99 QPushButton *starDundeeStatusQueryRetryButton;
83 100 QPushButton *starDundeeStatusQueryAbortButton;
101 QPushButton *starDundeeStatusQueryContinueButton;
102 QPushButton *starDundeeSendOneTimecode;
103 QPushButton *starDundeeSendOneTimePacketAndOneTimecode;
104 QPushButton *starDundeeSendTimecodePeriodically;
105 QPushButton *starDundeeSendOneTimePacketAndTimecodePeriodically;
106
107 ArbitraryTime *arbitraryTime;
108 long arbitraryTimeToSend;
109
110 PaulCommonCRC *paulCommonCRC;
111
112 bool flag_sendTimecodePeriodically;
84 113
85 114 QTimer *timer;
86 115
@@ -13,6 +13,8 TMStatistics::TMStatistics(QWidget *pare
13 13
14 14 label_UNKNOWN = new QLabel("UNKNOWN");
15 15 label_UNKNOWN_nb = new QLabel("-");
16 label_TC_LFR_UPDATE_TIME = new QLabel("TC_LFR_UPDATE_TIME");
17 label_TC_LFR_UPDATE_TIME_nb = new QLabel("-");
16 18
17 19 mainLayout = new QGridLayout();
18 20 layout_stat = new QGridLayout(); // TM stastictics
@@ -198,6 +200,7 TMStatistics::~TMStatistics()
198 200 void TMStatistics::initConstants()
199 201 {
200 202 UNKNOWN_nb = 0;
203 TC_LFR_UPDATE_TIME_nb = 0;
201 204
202 205 // TM_LFR_TC_EXE_
203 206 SUCC_nb = 0;
@@ -365,13 +368,15 void TMStatistics::buildMonitor()
365 368 layout_last->addWidget(label_SID_is, 1, 4, 1, 1);
366 369 layout_last->addWidget(label_SIZ_is, 1, 5, 1, 1);
367 370 //
368 layout_last->addWidget(label_coarse_time, 2, 0, 1, 1);
369 layout_last->addWidget(label_coarse_time_val, 2, 1, 1, 1);
370 layout_last->addWidget(label_fine_time, 2, 2, 1, 1);
371 layout_last->addWidget(label_fine_time_val, 2, 3, 1, 1);
371 layout_last->addWidget(label_coarse_time, 2, 0, 1, 1);
372 layout_last->addWidget(label_coarse_time_val, 2, 1, 1, 1);
373 layout_last->addWidget(label_fine_time, 2, 2, 1, 1);
374 layout_last->addWidget(label_fine_time_val, 2, 3, 1, 1);
372 375 //
373 layout_last->addWidget(label_UNKNOWN, 3, 0, 1, 1);
374 layout_last->addWidget(label_UNKNOWN_nb, 3, 1, 1, 1);
376 layout_last->addWidget(label_UNKNOWN, 3, 0, 1, 1);
377 layout_last->addWidget(label_UNKNOWN_nb, 3, 1, 1, 1);
378 layout_last->addWidget(label_TC_LFR_UPDATE_TIME, 3, 2, 1, 1);
379 layout_last->addWidget(label_TC_LFR_UPDATE_TIME_nb, 3, 3, 1, 1);
375 380
376 381 layout_record->addWidget(checkbox_packetLog);
377 382 layout_record->addWidget(checkbox_packetRecording);
@@ -392,7 +397,7 void TMStatistics::buildMonitor()
392 397 //
393 398 mainLayout->addWidget(groupbox_stat, 0, 0, 1, 1);
394 399 mainLayout->addWidget(groupbox_NORM, 1, 0, 1, 1);
395 mainLayout->addWidget(groupbox_last, 2, 0, 1, 2);
400 mainLayout->addWidget(groupbox_last, 2, 0, 1, 3);
396 401 mainLayout->addWidget(groupbox_SBM1, 0, 1, 1, 1);
397 402 mainLayout->addWidget(groupbox_SBM2, 0, 2, 1, 1);
398 403 mainLayout->addWidget(groupbox_BURST, 1, 1, 1, 1);
@@ -409,6 +414,7 void TMStatistics::resetStatistics()
409 414 initConstants();
410 415 //
411 416 label_UNKNOWN_nb->setText("-");
417 label_TC_LFR_UPDATE_TIME_nb->setText("-");
412 418 label_SUCC_nb->setText("-");
413 419 label_INCO_nb->setText("-");
414 420 label_NOTE_nb->setText("-");
@@ -483,7 +489,7 void TMStatistics::updateStatistics(unsi
483 489 CORR_nb = CORR_nb + 1;
484 490 label_CORR_nb->setText(QString::number(CORR_nb));
485 491 }
486 else incrementUnknown();
492 else incrementUnknown();
487 493 }
488 494 else incrementUnknown();
489 495 }
@@ -595,6 +601,10 void TMStatistics::updateStatistics(unsi
595 601 }
596 602 }
597 603 }
604 else if (typ == TC_TYPE_TIME)
605 {
606 increment_TC_LFR_UPDATE_TIME();
607 }
598 608 else
599 609 {
600 610 incrementUnknown();
@@ -605,14 +615,19 void TMStatistics::updateStatistics(unsi
605 615 incrementUnknown();
606 616 }
607 617
608 label_PID_is->setText(QString::number(pid));
609 label_CAT_is->setText(QString::number(cat));
610 label_TYP_is->setText(QString::number(typ));
611 label_SUB_is->setText(QString::number(sub));
612 label_SID_is->setText(QString::number(sid));
613 label_SIZ_is->setText(QString::number(length));
614 label_coarse_time_val->setText(QString::number(coarse_t, 16));
615 label_fine_time_val->setText(QString::number(fine_t, 16));
618 if ( !( (typ==TC_TYPE_TIME) & (sub==TC_SUBTYPE_UPDT_TIME) ) )
619 {
620 label_PID_is->setText(QString::number(pid));
621 label_CAT_is->setText(QString::number(cat));
622 label_TYP_is->setText(QString::number(typ));
623 label_SUB_is->setText(QString::number(sub));
624 label_SID_is->setText(QString::number(sid));
625 label_SIZ_is->setText(QString::number(length));
626 label_coarse_time_val->setText(QString::number(coarse_t, 16));
627 label_fine_time_val->setText(QString::number(fine_t, 16));
628
629 emit lastTMTimeHasChanged( coarse_t );
630 }
616 631 }
617 632
618 633 void TMStatistics::incrementUnknown()
@@ -621,6 +636,12 void TMStatistics::incrementUnknown()
621 636 label_UNKNOWN_nb->setText(QString::number(UNKNOWN_nb));
622 637 }
623 638
639 void TMStatistics::increment_TC_LFR_UPDATE_TIME()
640 {
641 TC_LFR_UPDATE_TIME_nb = TC_LFR_UPDATE_TIME_nb + 1;
642 label_TC_LFR_UPDATE_TIME_nb->setText(QString::number(TC_LFR_UPDATE_TIME_nb));
643 }
644
624 645 unsigned char TMStatistics::getPID(TMPacketToRead *packet)
625 646 {
626 647 unsigned char pid = 0;
@@ -30,6 +30,7 public:
30 30 void buildMonitor_NORM();
31 31 void buildMonitor();
32 32 void incrementUnknown();
33 void increment_TC_LFR_UPDATE_TIME();
33 34 //
34 35 void preProcessPacket(TMPacketToRead *packet);
35 36 unsigned char getPID(TMPacketToRead *packet);
@@ -45,6 +46,7 public:
45 46 void closeEvent(QCloseEvent *event);
46 47
47 48 unsigned int UNKNOWN_nb;
49 unsigned int TC_LFR_UPDATE_TIME_nb;
48 50 unsigned int SUCC_nb;
49 51 unsigned int INCO_nb;
50 52 unsigned int NOTE_nb;
@@ -86,6 +88,8 public:
86 88 // QLabel
87 89 QLabel *label_UNKNOWN;
88 90 QLabel *label_UNKNOWN_nb;
91 QLabel *label_TC_LFR_UPDATE_TIME;
92 QLabel *label_TC_LFR_UPDATE_TIME_nb;
89 93 QLabel *label_currentDir;
90 94
91 95 //***************
@@ -238,6 +242,7 public:
238 242 QGroupBox *groupbox_record;
239 243
240 244 signals:
245 void lastTMTimeHasChanged( unsigned int lastTime );
241 246
242 247 public slots:
243 248 void resetStatistics();
@@ -4,6 +4,8 WFPacket::WFPacket(QObject *parent, unsi
4 4 QObject(parent)
5 5 {
6 6 this->nbSamples = nbData;
7 coarseTime = 0x00;
8 fineTime = 0x00;
7 9 //
8 10 wf_v = (short*) malloc(2*nbData);
9 11 wf_e1 = (short*) malloc(2*nbData);
@@ -11,6 +11,8 public:
11 11 explicit WFPacket(QObject *parent = 0, unsigned int nbData = 0);
12 12 ~WFPacket();
13 13 unsigned int nbSamples;
14 unsigned int coarseTime;
15 unsigned int fineTime;
14 16 short *wf_v;
15 17 short *wf_e1;
16 18 short *wf_e2;
@@ -1,9 +1,9
1 1 #############################################################################
2 2 # Makefile for building: spwtimegenerator
3 # Generated by qmake (3.0) (Qt 5.2.0)
3 # Generated by qmake (3.0) (Qt 5.2.1)
4 4 # Project: spwtimegenerator.pro
5 5 # Template: app
6 # Command: /usr/bin/qmake-qt5 -o Makefile spwtimegenerator.pro
6 # Command: /bin/qmake-qt5 -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile spwtimegenerator.pro
7 7 #############################################################################
8 8
9 9 MAKEFILE = Makefile
@@ -12,16 +12,16 MAKEFILE = Makefile
12 12
13 13 CC = gcc
14 14 CXX = g++
15 DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
16 CFLAGS = -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES)
17 CXXFLAGS = -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES)
18 INCPATH = -I/usr/lib64/qt5/mkspecs/linux-g++-64 -I. -I. -I../spw_usb_driver_v2.61/inc -I../parameterdump -I../../DEV_PLE/header -I/usr/include/qt5/lppmon/paulcommon -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I.
15 DEFINES = -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
16 CFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES)
17 CXXFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES)
18 INCPATH = -I/usr/lib64/qt5/mkspecs/linux-g++-64 -I. -I. -I/home/spacewire/usb/spw_usb_driver_v2.68/inc -I../parameterdump -I../../DEV_PLE/header -I/usr/include/qt5/lppmon/paulcommon -I/usr/include/qt5 -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I.
19 19 LINK = g++
20 LFLAGS = -m64 -Wl,-O1 -Wl,-z,relro
21 LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lpaulcommon ../spw_usb_driver_v2.62/lib/x86_64/libSpaceWireUSBAPI.so ../spw_usb_driver_v2.62/lib/x86_64/libConfigLibraryUSB.so -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
20 LFLAGS = -m64
21 LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 /home/spacewire/usb/spw_usb_driver_v2.68/lib/x86_64/libSpaceWireUSBAPI.so /home/spacewire/usb/spw_usb_driver_v2.68/lib/x86_64/libConfigLibraryUSB.so -lpaulcommon -lQt5PrintSupport -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
22 22 AR = ar cqs
23 23 RANLIB =
24 QMAKE = /usr/bin/qmake-qt5
24 QMAKE = /bin/qmake-qt5
25 25 TAR = tar -cf
26 26 COMPRESS = gzip -9f
27 27 COPY = cp -f
@@ -67,13 +67,12 DIST = /usr/lib64/qt5/mkspecs/f
67 67 /usr/lib64/qt5/mkspecs/common/g++-base.conf \
68 68 /usr/lib64/qt5/mkspecs/common/g++-unix.conf \
69 69 /usr/lib64/qt5/mkspecs/qconfig.pri \
70 /usr/lib64/qt5/mkspecs/modules/qt_lib_accountsservice.pri \
71 70 /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
72 71 /usr/lib64/qt5/mkspecs/modules/qt_lib_clucene_private.pri \
73 72 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor.pri \
73 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor_private.pri \
74 74 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri \
75 75 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
76 /usr/lib64/qt5/mkspecs/modules/qt_lib_configuration.pri \
77 76 /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri \
78 77 /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri \
79 78 /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri \
@@ -141,6 +140,8 DIST = /usr/lib64/qt5/mkspecs/f
141 140 /usr/lib64/qt5/mkspecs/features/default_pre.prf \
142 141 /usr/lib64/qt5/mkspecs/features/resolve_config.prf \
143 142 /usr/lib64/qt5/mkspecs/features/default_post.prf \
143 /usr/lib64/qt5/mkspecs/features/qml_debug.prf \
144 /usr/lib64/qt5/mkspecs/features/declarative_debug.prf \
144 145 /usr/lib64/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
145 146 /usr/lib64/qt5/mkspecs/features/warn_on.prf \
146 147 /usr/lib64/qt5/mkspecs/features/qt.prf \
@@ -186,6 +187,7 all: Makefile $(TARGET)
186 187
187 188 $(TARGET): $(OBJECTS)
188 189 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
190 { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9][^0-9]*\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true
189 191
190 192 Makefile: spwtimegenerator.pro /usr/lib64/qt5/mkspecs/linux-g++-64/qmake.conf /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
191 193 /usr/lib64/qt5/mkspecs/common/shell-unix.conf \
@@ -196,13 +198,12 Makefile: spwtimegenerator.pro /usr/lib6
196 198 /usr/lib64/qt5/mkspecs/common/g++-base.conf \
197 199 /usr/lib64/qt5/mkspecs/common/g++-unix.conf \
198 200 /usr/lib64/qt5/mkspecs/qconfig.pri \
199 /usr/lib64/qt5/mkspecs/modules/qt_lib_accountsservice.pri \
200 201 /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
201 202 /usr/lib64/qt5/mkspecs/modules/qt_lib_clucene_private.pri \
202 203 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor.pri \
204 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor_private.pri \
203 205 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri \
204 206 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
205 /usr/lib64/qt5/mkspecs/modules/qt_lib_configuration.pri \
206 207 /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri \
207 208 /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri \
208 209 /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri \
@@ -270,6 +271,8 Makefile: spwtimegenerator.pro /usr/lib6
270 271 /usr/lib64/qt5/mkspecs/features/default_pre.prf \
271 272 /usr/lib64/qt5/mkspecs/features/resolve_config.prf \
272 273 /usr/lib64/qt5/mkspecs/features/default_post.prf \
274 /usr/lib64/qt5/mkspecs/features/qml_debug.prf \
275 /usr/lib64/qt5/mkspecs/features/declarative_debug.prf \
273 276 /usr/lib64/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
274 277 /usr/lib64/qt5/mkspecs/features/warn_on.prf \
275 278 /usr/lib64/qt5/mkspecs/features/qt.prf \
@@ -283,10 +286,11 Makefile: spwtimegenerator.pro /usr/lib6
283 286 /usr/lib64/qt5/mkspecs/features/yacc.prf \
284 287 /usr/lib64/qt5/mkspecs/features/lex.prf \
285 288 spwtimegenerator.pro \
289 /lib64/libQt5PrintSupport.prl \
286 290 /lib64/libQt5Widgets.prl \
287 291 /lib64/libQt5Gui.prl \
288 292 /lib64/libQt5Core.prl
289 $(QMAKE) -o Makefile spwtimegenerator.pro
293 $(QMAKE) -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile spwtimegenerator.pro
290 294 /usr/lib64/qt5/mkspecs/features/spec_pre.prf:
291 295 /usr/lib64/qt5/mkspecs/common/shell-unix.conf:
292 296 /usr/lib64/qt5/mkspecs/common/unix.conf:
@@ -296,13 +300,12 Makefile: spwtimegenerator.pro /usr/lib6
296 300 /usr/lib64/qt5/mkspecs/common/g++-base.conf:
297 301 /usr/lib64/qt5/mkspecs/common/g++-unix.conf:
298 302 /usr/lib64/qt5/mkspecs/qconfig.pri:
299 /usr/lib64/qt5/mkspecs/modules/qt_lib_accountsservice.pri:
300 303 /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
301 304 /usr/lib64/qt5/mkspecs/modules/qt_lib_clucene_private.pri:
302 305 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor.pri:
306 /usr/lib64/qt5/mkspecs/modules/qt_lib_compositor_private.pri:
303 307 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri:
304 308 /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
305 /usr/lib64/qt5/mkspecs/modules/qt_lib_configuration.pri:
306 309 /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri:
307 310 /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri:
308 311 /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri:
@@ -370,6 +373,8 Makefile: spwtimegenerator.pro /usr/lib6
370 373 /usr/lib64/qt5/mkspecs/features/default_pre.prf:
371 374 /usr/lib64/qt5/mkspecs/features/resolve_config.prf:
372 375 /usr/lib64/qt5/mkspecs/features/default_post.prf:
376 /usr/lib64/qt5/mkspecs/features/qml_debug.prf:
377 /usr/lib64/qt5/mkspecs/features/declarative_debug.prf:
373 378 /usr/lib64/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
374 379 /usr/lib64/qt5/mkspecs/features/warn_on.prf:
375 380 /usr/lib64/qt5/mkspecs/features/qt.prf:
@@ -383,17 +388,18 Makefile: spwtimegenerator.pro /usr/lib6
383 388 /usr/lib64/qt5/mkspecs/features/yacc.prf:
384 389 /usr/lib64/qt5/mkspecs/features/lex.prf:
385 390 spwtimegenerator.pro:
391 /lib64/libQt5PrintSupport.prl:
386 392 /lib64/libQt5Widgets.prl:
387 393 /lib64/libQt5Gui.prl:
388 394 /lib64/libQt5Core.prl:
389 395 qmake: FORCE
390 @$(QMAKE) -o Makefile spwtimegenerator.pro
396 @$(QMAKE) -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile spwtimegenerator.pro
391 397
392 398 qmake_all: FORCE
393 399
394 400 dist:
395 401 @test -d .tmp/spwtimegenerator1.0.0 || mkdir -p .tmp/spwtimegenerator1.0.0
396 $(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
402 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/spwtimegenerator1.0.0/ && $(COPY_FILE) --parents mainwindow.h mainwindowui.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
397 403
398 404
399 405 clean:compiler_clean
@@ -564,12 +570,13 moc_mainwindow.cpp: mainwindowui.h \
564 570 /usr/include/qt5/QtCore/QTimer \
565 571 /usr/include/qt5/QtCore/qtimer.h \
566 572 /usr/include/qt5/QtCore/qbasictimer.h \
567 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
568 ../spw_usb_driver_v2.61/inc/spacewire_usb.h \
569 ../spw_usb_driver_v2.61/inc/star_dundee_types.h \
570 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
573 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
574 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
575 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
576 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
571 577 ../../DEV_PLE/header/TC_types.h \
572 578 ../../DEV_PLE/header/ccsds_types.h \
579 ../../DEV_PLE/header/fsw_params_processing.h \
573 580 ../parameterdump/tcpackettosend.h \
574 581 ../parameterdump/parameterdump_global.h \
575 582 mainwindow.h
@@ -779,6 +786,7 moc_tcpackettosend.cpp: /usr/include/qt5
779 786 ../parameterdump/parameterdump_global.h \
780 787 ../../DEV_PLE/header/TC_types.h \
781 788 ../../DEV_PLE/header/ccsds_types.h \
789 ../../DEV_PLE/header/fsw_params_processing.h \
782 790 ../parameterdump/tcpackettosend.h
783 791 /usr/lib64/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/lib/gcc/include/c++/4.8.2 -I/usr/lib/gcc/include/c++/4.8.2/x86_64-redhat-linux -I/usr/lib/gcc/include/c++/4.8.2/backward -I/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include -I/usr/local/include -I/usr/include ../parameterdump/tcpackettosend.h -o moc_tcpackettosend.cpp
784 792
@@ -942,12 +950,13 main.o: main.cpp mainwindow.h \
942 950 /usr/include/qt5/QtCore/QTimer \
943 951 /usr/include/qt5/QtCore/qtimer.h \
944 952 /usr/include/qt5/QtCore/qbasictimer.h \
945 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
946 ../spw_usb_driver_v2.61/inc/spacewire_usb.h \
947 ../spw_usb_driver_v2.61/inc/star_dundee_types.h \
948 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
953 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
954 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
955 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
956 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
949 957 ../../DEV_PLE/header/TC_types.h \
950 958 ../../DEV_PLE/header/ccsds_types.h \
959 ../../DEV_PLE/header/fsw_params_processing.h \
951 960 ../parameterdump/tcpackettosend.h \
952 961 ../parameterdump/parameterdump_global.h
953 962 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
@@ -1098,12 +1107,13 mainwindow.o: mainwindow.cpp mainwindow.
1098 1107 /usr/include/qt5/QtCore/QTimer \
1099 1108 /usr/include/qt5/QtCore/qtimer.h \
1100 1109 /usr/include/qt5/QtCore/qbasictimer.h \
1101 ../spw_usb_driver_v2.61/inc/spw_usb_api.h \
1102 ../spw_usb_driver_v2.61/inc/spacewire_usb.h \
1103 ../spw_usb_driver_v2.61/inc/star_dundee_types.h \
1104 ../spw_usb_driver_v2.61/inc/spw_config_library.h \
1110 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_usb_api.h \
1111 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spacewire_usb.h \
1112 /home/spacewire/usb/spw_usb_driver_v2.68/inc/star_dundee_types.h \
1113 /home/spacewire/usb/spw_usb_driver_v2.68/inc/spw_config_library.h \
1105 1114 ../../DEV_PLE/header/TC_types.h \
1106 1115 ../../DEV_PLE/header/ccsds_types.h \
1116 ../../DEV_PLE/header/fsw_params_processing.h \
1107 1117 ../parameterdump/tcpackettosend.h \
1108 1118 ../parameterdump/parameterdump_global.h
1109 1119 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
@@ -1312,7 +1322,8 tcpackettosend.o: ../parameterdump/tcpac
1312 1322 /usr/include/qt5/QtCore/qobject_impl.h \
1313 1323 ../parameterdump/parameterdump_global.h \
1314 1324 ../../DEV_PLE/header/TC_types.h \
1315 ../../DEV_PLE/header/ccsds_types.h
1325 ../../DEV_PLE/header/ccsds_types.h \
1326 ../../DEV_PLE/header/fsw_params_processing.h
1316 1327 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tcpackettosend.o ../parameterdump/tcpackettosend.cpp
1317 1328
1318 1329 moc_mainwindow.o: moc_mainwindow.cpp
@@ -7,7 +7,9 MainWindow::MainWindow(QWidget *parent)
7 7 UI = new mainwindowui();
8 8 time = new QTimer();
9 9 systemTime = 0x80000000;
10 flag_sendTimePacket = false;
10 flag_sendSystemTimePacket = false;
11 flag_sendArbitraryTimePacket = false;
12 flag_sendTimecodesPeriodicallyStarDundee = false;
11 13
12 14 packetToSend = new TCPacketToSend();
13 15
@@ -17,11 +19,19 MainWindow::MainWindow(QWidget *parent)
17 19 connect(this, SIGNAL(sendMessage(QString)), this->UI, SLOT(displayMessage(QString)));
18 20 connect(this, SIGNAL(systemTimeHasChanged(long)), this->UI->systemTime, SLOT(systemTimeHasChanged(long)));
19 21
20 connect(UI->startTimeButton, SIGNAL(clicked()), this, SLOT(sendTimecodesPeriodically()));
22 connect(UI->startTimeButton, SIGNAL(clicked()),
23 this, SLOT(sendTimecodesPeriodicallyPC()));
24 connect(UI->startPeriodicalTimecode_StarDundee, SIGNAL(clicked()),
25 this, SLOT(sendTimecodesPeriodicallyStarDundee()));
21 26 connect(UI->sendTimecodeButton, SIGNAL(clicked()), this, SLOT(sendOneTimecode()));
22 27 connect(UI->button_sendSystemTime, SIGNAL(clicked()), this, SLOT(sendSystemTime()));
23 28 connect(UI->button_sendArbitraryTime, SIGNAL(clicked()), this, SLOT(sendArbitraryTime()));
24 29
30 connect(UI->button_sendSystemTimeAndTimecode, SIGNAL(clicked()),
31 this, SLOT(sendSystemTimeAndTimecode()));
32 connect(this->UI->button_sendArbitraryTimeAndTimecode, SIGNAL(clicked()),
33 this, SLOT(sendArbitraryTimeAndTimecode()));
34
25 35 connect(this->time, SIGNAL(timeout()), this, SLOT(periodicalTimecodeTimeout()));
26 36
27 37 this->setLayout(UI->layout());
@@ -38,21 +48,9 void MainWindow::sendOneTimecode()
38 48 unsigned int result;
39 49 U32 timecodeReg, val;
40 50
41 if (hDevice==NULL)
42 {
43 result = Open();
44 }
45
46 if (!getLinkStatus(UI->linkNumber_SPINBOX->value()))
47 {
48 emit sendMessage("ERR *** in sendOneTimecode *** stardundee brick not running");
49 }
50
51 if(!USBSpaceWire_TC_EnableExternalTimecodeSelection(hDevice,0))
52 {
53 emit sendMessage("ERR *** disable external timecode selection");
54 return;
55 }
51 result = testBrick();
52 if (result != 0)
53 emit sendMessage("in sendOneTimeCode *** testBrick returned " + QString::number(result) );
56 54
57 55 if(!USBSpaceWire_TC_PerformTickIn(hDevice, 0))
58 56 {
@@ -77,52 +75,128 void MainWindow::sendOneTimecode()
77 75
78 76 }
79 77
80 void MainWindow::sendTimecodesPeriodically()
78 void MainWindow::sendTimecodesPeriodicallyPC()
81 79 {
82 80 if(time->isActive())
83 81 {
84 82 time->stop();
85 this->UI->startTimeButton->setText("start sending timecodes periodically");
83 this->UI->startTimeButton->setText("start sending timecodes periodically [PC]");
84 this->UI->button_sendSystemTimeAndTimecode->setEnabled( true );
85 this->UI->button_sendArbitraryTimeAndTimecode->setEnabled( true );
86 this->UI->startPeriodicalTimecode_StarDundee->setEnabled( true );
86 87 }
87 88 else
88 89 {
89 90 time->start();
90 this->UI->startTimeButton->setText("stop sending timecodes periodically");
91 this->UI->startTimeButton->setText("stop sending timecodes periodically [PC]");
92 this->UI->button_sendSystemTimeAndTimecode->setEnabled( false );
93 this->UI->button_sendArbitraryTimeAndTimecode->setEnabled( false );
94 this->UI->startPeriodicalTimecode_StarDundee->setEnabled( false );
91 95 }
92 96 }
93 97
98 void MainWindow::sendTimecodesPeriodicallyStarDundee()
99 {
100 U32 rtr_clk_freq;
101 unsigned int resultOpen;
102
103 if (flag_sendTimecodesPeriodicallyStarDundee == false)
104 {
105 resultOpen = testBrick();
106 if (resultOpen != 0)
107 emit sendMessage("in sendTimecodesPeriodicallyStarDundee *** testBrick returned " + QString::number(resultOpen) );
108
109 rtr_clk_freq = USBSpaceWire_TC_GetClockFrequency(hDevice);
110
111 emit sendMessage("clock frequency = " + QString::number(rtr_clk_freq) );
112
113 if (!USBSpaceWire_TC_SetAutoTickInFrequency(hDevice, rtr_clk_freq) )
114 emit sendMessage("Could not set the tick-in frequency");
115
116 if (!USBSpaceWire_TC_EnableAutoTickIn(hDevice, 1, 1))
117 emit sendMessage("Could not enable auto tick-in");
118
119 flag_sendTimecodesPeriodicallyStarDundee = true;
120 this->UI->startTimeButton->setEnabled( false );
121 this->UI->button_sendSystemTimeAndTimecode->setEnabled( false );
122 this->UI->button_sendArbitraryTimeAndTimecode->setEnabled( false );
123 this->UI->startPeriodicalTimecode_StarDundee->setText("stop sending timecodes periodically [Star Dundee]");
124 }
125 else
126 {
127 resultOpen = testBrick();
128 if (resultOpen != 0)
129 emit sendMessage("in sendTimecodesPeriodicallyStarDundee *** testBrick returned " + QString::number(resultOpen) );
130
131 if (!USBSpaceWire_TC_EnableAutoTickIn(hDevice, 0, 0))
132 emit sendMessage("Could not disable auto tick-in");
133
134 flag_sendTimecodesPeriodicallyStarDundee = false;
135 this->UI->startTimeButton->setEnabled( true );
136 this->UI->button_sendSystemTimeAndTimecode->setEnabled( true );
137 this->UI->button_sendArbitraryTimeAndTimecode->setEnabled( true );
138 this->UI->startPeriodicalTimecode_StarDundee->setText("start sending timecodes periodically [Star Dundee]");
139 }
140
141 }
142
94 143 void MainWindow::periodicalTimecodeTimeout()
95 144 {
96 145 sendOneTimecode();
97 systemTime = systemTime + 1;
98 if (flag_sendTimePacket == true)
146 emit(systemTimeHasChanged(systemTime));
147 if (flag_sendSystemTimePacket == true)
99 148 {
100 flag_sendTimePacket = false;
149 systemTime = systemTime + 1; // this is the value of the next valid system time, will be displayed next timecode
150 flag_sendSystemTimePacket = false;
151 emit sendMessage("in periodicalTimecodeTimeout *** send in 700 ms: " + QString::number(systemTime, 16));
101 152 QTimer::singleShot(700, this, SLOT(sendTimePacketTimeout()));
102 153 }
103 emit(systemTimeHasChanged(systemTime));
154 else if (flag_sendArbitraryTimePacket == true)
155 {
156 systemTime = this->UI->arbitraryTime; // this is the value of the next valid system time, will be displayed next timecode
157 flag_sendArbitraryTimePacket = false;
158 emit sendMessage("in periodicalTimecodeTimeout *** send in 700 ms: " + QString::number(systemTime, 16));
159 QTimer::singleShot(700, this, SLOT(sendTimePacketTimeout()));
160 }
161 else
162 {
163 systemTime = systemTime + 1;
164 }
104 165 }
105 166
106 167 void MainWindow::sendTimePacketTimeout()
107 168 {
108 sendUpdateTime( systemTime + 1 );
169 sendUpdateTime( systemTime );
109 170 }
110 171
111 172 void MainWindow::sendSystemTime()
112 173 {
113 flag_sendTimePacket = true;
174 flag_sendSystemTimePacket = true;
114 175 }
115 176
116 177 void MainWindow::sendArbitraryTime()
117 178 {
118 flag_sendTimePacket = true;
119 systemTime = this->UI->arbitraryTime;
120 emit (systemTimeHasChanged( systemTime));
179 flag_sendArbitraryTimePacket = true;
180 }
181
182 void MainWindow::sendSystemTimeAndTimecode()
183 {
184 sendUpdateTime( systemTime );
185 QTimer::singleShot(300, this, SLOT(sendOneTimecode()));
186 }
187
188 void MainWindow::sendArbitraryTimeAndTimecode()
189 {
190 sendUpdateTime( this->UI->arbitraryTime );
191 QTimer::singleShot(300, this, SLOT(sendOneTimecode()));
121 192 }
122 193
123 194 unsigned int MainWindow::Open()
124 195 {
125 196 U32 dwTickEnableStatus;
197 unsigned int status;
198
199 status = 0; // 0 is for a successful action
126 200
127 201 if (!USBSpaceWire_Open(&hDevice, UI->usbDeviceNumber_SPINBOX->value())) // Open the USB device
128 202 {
@@ -147,35 +221,59 unsigned int MainWindow::Open()
147 221 return UI->starDundeeStatusQueryDialog->exec();
148 222 }
149 223
224 //***********************
225 // TIMECODE CONFIGURATION
226 // (1) RESET
150 227 if (!USBSpaceWire_TC_Reset(hDevice))
151 228 {
152 229 emit sendMessage("ERR *** in Open *** Could not reset timecodes\n");
153 230 }
154
155 // Clear the tick enable register
231 // (2) Clear the tick enable register
156 232 if (CFGSpaceWire_SetTickEnableStatus(hDevice, 6) != CFG_TRANSFER_SUCCESS)
157 233 emit sendMessage("Could not clear the tick enable register");
158 234 else
159 235 emit sendMessage("Cleared the tick enable register");
160
236 // (3) get the tick status
161 237 CFGSpaceWire_GetTickEnableStatus(hDevice, &dwTickEnableStatus);
162 238 emit sendMessage("OK *** in Open *** CFGSpaceWire_GetTickEnableStatus, code is " + QString::number(dwTickEnableStatus, 2));
239 // (4) enable external timecode selection
240 if(!USBSpaceWire_TC_EnableExternalTimecodeSelection(hDevice,0))
241 {
242 emit sendMessage("ERR *** disable external timecode selection");
243 }
163 244
245 return status;
246 }
247
248 unsigned int MainWindow::testBrick()
249 {
250 unsigned int status;
251
252 status = 0;
253
254 if (hDevice==NULL)
255 status = Open(); // open the brick and configure it
256
257 if (status == 0) // is the brick running or not?
258 {
259 if (!getLinkStatus(UI->linkNumber_SPINBOX->value()))
260 {
261 emit sendMessage("ERR *** in testBrick *** stardundee brick not running");
262 status = -1;
263 }
264 else
265 status = 0;
266 }
267
268 return status;
164 269 }
165 270
166 271 unsigned int MainWindow::getLinkStatus(unsigned char link)
167 272 {
168 unsigned int resultOpen;
169
170 273 U32 statusControl = 0, errorStatus = 0, portType = 0;
171 274 U32 linkStatus = 0, operatingSpeed = 0, outputPortConnection = 0;
172 275 char isLinkRunning = 0, isAutoStart = 0, isStart = 0, isDisabled = 0, isTristate = 0;
173 276
174 if (hDevice==NULL)
175 {
176 resultOpen = Open();
177 }
178
179 277 // Read the link status control register
180 278 if (CFGSpaceWire_GetLinkStatusControl(hDevice, 1, &statusControl) != CFG_TRANSFER_SUCCESS)
181 279 {
@@ -244,7 +342,7 void MainWindow::sendUpdateTime(long tim
244 342 packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
245 343 packet.serviceType = TC_TYPE_LFR_UPDATE_TIME;
246 344 packet.serviceSubType = TC_SUBTYPE_UPDATE_TIME;
247 packet.sourceID = SID_TC_GROUND;
345 packet.sourceID = SID_TC_RPW_INTERNAL;
248 346 packet.cp_rpw_time[0] = (unsigned char) (time >> 24);
249 347 packet.cp_rpw_time[1] = (unsigned char) (time >> 16);
250 348 packet.cp_rpw_time[2] = (unsigned char) (time >> 8);
@@ -7,11 +7,11
7 7 #include <QDialog>
8 8 #include <QObject>
9 9 #include <QTimer>
10 #include <tcpackettosend.h>
10 11
11 12 #include "spw_usb_api.h"
12 13 #include "spw_config_library.h"
13 14 #include "TC_types.h"
14 #include "tcpackettosend.h"
15 15
16 16 #define BWAIT_0 0
17 17 #define BWAIT_1 1
@@ -39,7 +39,9 private:
39 39 QTimer *time;
40 40
41 41 long systemTime;
42 bool flag_sendTimePacket;
42 bool flag_sendSystemTimePacket;
43 bool flag_sendArbitraryTimePacket;
44 bool flag_sendTimecodesPeriodicallyStarDundee;
43 45
44 46 signals:
45 47 void sendMessage(QString);
@@ -47,12 +49,16 signals:
47 49
48 50 public slots:
49 51 unsigned int Open();
52 unsigned int testBrick();
50 53 void sendOneTimecode();
51 void sendTimecodesPeriodically();
54 void sendTimecodesPeriodicallyPC();
55 void sendTimecodesPeriodicallyStarDundee();
52 56 void periodicalTimecodeTimeout();
53 57 void sendTimePacketTimeout();
54 58 void sendSystemTime();
55 59 void sendArbitraryTime();
60 void sendSystemTimeAndTimecode();
61 void sendArbitraryTimeAndTimecode();
56 62 void sendUpdateTime(long time);
57 63 void reTestSPWLink();
58 64 };
@@ -18,9 +18,12 mainwindowui::mainwindowui(QWidget *pare
18 18 //*** QPUSHBUTTON ***//
19 19 button_sendSystemTime = new QPushButton(tr("Send System Time"));
20 20 button_sendArbitraryTime = new QPushButton(tr("Send Arbitrary Time"));
21 button_sendSystemTimeAndTimecode = new QPushButton(tr("Send System Time + Timecode"));
22 button_sendArbitraryTimeAndTimecode = new QPushButton(tr("Send Arbitrary Time + Timecode"));
21 23 starDundeeStatusQueryRetryButton = new QPushButton(tr("Retry"));
22 24 starDundeeStatusQueryAbortButton = new QPushButton(tr("Abort"));
23 startTimeButton = new QPushButton(tr("start sending timecodes periodically"));
25 startTimeButton = new QPushButton(tr("start sending timecodes periodically [PC]"));
26 startPeriodicalTimecode_StarDundee = new QPushButton(tr("start sending timecodes periodically [Star Dundee]"));
24 27 sendTimecodeButton = new QPushButton(tr("send one timecode"));
25 28
26 29 usbDeviceNumber_SPINBOX = new QSpinBox;
@@ -46,11 +49,14 mainwindowui::mainwindowui(QWidget *pare
46 49 connection_LAYOUT->addWidget(linkNumber_SPINBOX, 1, 1, 1, 1);
47 50 connection_LAYOUT->addWidget(sendTimecodeButton, 2, 0, 1, 2);
48 51 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);
52 connection_LAYOUT->addWidget(startPeriodicalTimecode_StarDundee, 4, 0, 1, 2);
53 connection_LAYOUT->addWidget(currentTimecodeValue_LABEL, 5, 0, 1, 2);
54 connection_LAYOUT->addWidget(currentTimecodeFlag_LABEL, 6, 0, 1, 2);
55 connection_LAYOUT->addWidget(button_sendSystemTime, 7, 0, 1, 1);
56 connection_LAYOUT->addWidget(button_sendArbitraryTime, 7, 1, 1, 1);
57 connection_LAYOUT->addWidget(button_sendSystemTimeAndTimecode, 8, 0, 1, 1);
58 connection_LAYOUT->addWidget(button_sendArbitraryTimeAndTimecode, 8, 1, 1, 1);
59 connection_LAYOUT->addWidget(systemTime, 9, 0, 1, 2);
54 60 connection_LAYOUT->addWidget(console, 0, 2, 7, 2);
55 61
56 62 //connection_LAYOUT->setRowStretch(6, 1);
@@ -43,7 +43,10 public:
43 43
44 44 QPushButton *button_sendSystemTime;
45 45 QPushButton *button_sendArbitraryTime;
46 QPushButton *button_sendSystemTimeAndTimecode;
47 QPushButton *button_sendArbitraryTimeAndTimecode;
46 48 QPushButton *startTimeButton;
49 QPushButton *startPeriodicalTimecode_StarDundee;
47 50 QPushButton *sendTimecodeButton;
48 51 QPushButton *starDundeeStatusQueryRetryButton;
49 52 QPushButton *starDundeeStatusQueryAbortButton;
1 NO CONTENT: modified file, binary diff hidden
@@ -6,32 +6,38
6 6
7 7 QT += core gui widgets
8 8
9 contains(QT_MAJOR_VERSION, 5) {
10
11 QT += widgets
12
13 QT += printsupport
14
15 }
16
9 17 TARGET = spwtimegenerator
10 18 TEMPLATE = app
11 19
20 STAR_DUNDEE_PATH = /home/spacewire/usb/spw_usb_driver_v2.68
21
12 22 INCLUDEPATH += \
13 23 $${PWD} \
14 ../spw_usb_driver_v2.61/inc \
15 ../parameterdump \
24 $$STAR_DUNDEE_PATH/inc \
16 25 ../../DEV_PLE/header \
17 $$[QT_INSTALL_HEADERS]/lppmon/paulcommon
26 $$[QT_INSTALL_HEADERS]/lppmon/paulcommon \
27 $$[QT_INSTALL_HEADERS]/lppmon/parameterdump
28
29 LIBS += $$STAR_DUNDEE_PATH/lib/x86_64/libSpaceWireUSBAPI.so \
30 $$STAR_DUNDEE_PATH/lib/x86_64/libConfigLibraryUSB.so
31
32 LIBS += -lpaulcommon -lparameterdump
18 33
19 34 SOURCES += main.cpp\
20 35 mainwindow.cpp \
21 mainwindowui.cpp \
22 ../parameterdump/tcpackettosend.cpp
36 mainwindowui.cpp
23 37
24 38 HEADERS += mainwindow.h \
25 39 mainwindowui.h \
26 ../spw_usb_driver_v2.61/inc/spw_usb_api.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
33
34 LIBS += ../spw_usb_driver_v2.62/lib/x86_64/libSpaceWireUSBAPI.so \
35 ../spw_usb_driver_v2.62/lib/x86_64/libConfigLibraryUSB.so
36 40
37 41
42
43
@@ -1,6 +1,6
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 3.0.0, 2014-01-09T16:50:05. -->
3 <!-- Written by QtCreator 3.0.1, 2014-03-27T12:50:18. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -51,10 +51,10
51 51 <data>
52 52 <variable>ProjectExplorer.Project.Target.0</variable>
53 53 <valuemap type="QVariantMap">
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>
57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">QT5</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QT5</value>
56 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5987874a-1025-45de-914b-5774064481bf}</value>
57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
60 60 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
@@ -110,14 +110,14
110 110 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
111 111 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
112 112 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Release</value>
113 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
114 114 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
115 115 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
116 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
116 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
117 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
118 118 </valuemap>
119 119 <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
120 <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/spwtimegenerator</value>
120 <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/opt/LPPMON_PLUGINS_PAUL/build-spwtimegenerator-Desktop-Release</value>
121 121 <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
122 122 <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
123 123 <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -169,11 +169,11
169 169 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
170 170 <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
171 171 <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.2 in PATH (System) Debug</value>
172 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
173 173 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
174 174 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
175 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
176 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
175 <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
176 <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
177 177 </valuemap>
178 178 <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
179 179 <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
@@ -184,7 +184,7
184 184 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
185 185 </valuemap>
186 186 <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
187 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">No deployment</value>
187 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
188 188 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
189 189 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
190 190 </valuemap>
@@ -240,7 +240,7
240 240 <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
241 241 <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
242 242 <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
243 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
243 <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
244 244 </valuemap>
245 245 <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
246 246 </valuemap>
@@ -1,6 +1,6
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 3.0.0, 2014-02-19T16:10:49. -->
3 <!-- Written by QtCreator 3.0.1, 2014-03-27T10:13:46. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now