##// END OF EJS Templates
changes on the gresb class, several methods and parameters added
leroy -
r6:fb2c374505d0 default
parent child
Show More
@@ -1,6 +1,6
1 #############################################################################
1 #############################################################################
2 # Makefile for building: PAULs_LPPMON_PLUGINS
2 # Makefile for building: PAULs_LPPMON_PLUGINS
3 # Generated by qmake (2.01a) (Qt 4.8.3) on: Thu Nov 29 14:02:20 2012
3 # Generated by qmake (2.01a) (Qt 4.8.3) on: Mon Dec 10 08:08:24 2012
4 # Project: PAULs_LPPMON_PLUGINS.pro
4 # Project: PAULs_LPPMON_PLUGINS.pro
5 # Template: subdirs
5 # Template: subdirs
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile PAULs_LPPMON_PLUGINS.pro
@@ -1,6 +1,6
1 <?xml version="1.0" encoding="UTF-8"?>
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE QtCreatorProject>
2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by Qt Creator 2.4.1, 2012-12-07T14:08:53. -->
3 <!-- Written by Qt Creator 2.4.1, 2012-12-10T08:45:27. -->
4 <qtcreator>
4 <qtcreator>
5 <data>
5 <data>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -1,6 +1,6
1 #############################################################################
1 #############################################################################
2 # Makefile for building: librmapplugin.so.1.0.0
2 # Makefile for building: librmapplugin.so.1.0.0
3 # Generated by qmake (2.01a) (Qt 4.8.3) on: Mon Dec 3 13:45:43 2012
3 # Generated by qmake (2.01a) (Qt 4.8.3) on: Mon Dec 10 08:08:25 2012
4 # Project: rmapplugin.pro
4 # Project: rmapplugin.pro
5 # Template: lib
5 # Template: lib
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile rmapplugin.pro
@@ -54,6 +54,7 SOURCES = rmapplugin.cpp \
54 rmappluginpythonwrapper.cpp \
54 rmappluginpythonwrapper.cpp \
55 stardundee.cpp \
55 stardundee.cpp \
56 gresb.cpp \
56 gresb.cpp \
57 bridge.cpp \
57 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
58 /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp moc/moc_rmappluginui.cpp \
58 moc/moc_rmapplugin.cpp \
59 moc/moc_rmapplugin.cpp \
59 moc/moc_spwpacketreceiver.cpp \
60 moc/moc_spwpacketreceiver.cpp \
@@ -63,6 +64,7 SOURCES = rmapplugin.cpp \
63 moc/moc_rmappluginpythonwrapper.cpp \
64 moc/moc_rmappluginpythonwrapper.cpp \
64 moc/moc_stardundee.cpp \
65 moc/moc_stardundee.cpp \
65 moc/moc_gresb.cpp \
66 moc/moc_gresb.cpp \
67 moc/moc_bridge.cpp \
66 moc/moc_genericPySysdriver.cpp \
68 moc/moc_genericPySysdriver.cpp \
67 moc/moc_lppmonplugin.cpp
69 moc/moc_lppmonplugin.cpp
68 OBJECTS = obj/rmapplugin.o \
70 OBJECTS = obj/rmapplugin.o \
@@ -76,6 +78,7 OBJECTS = obj/rmapplugin.o \
76 obj/rmappluginpythonwrapper.o \
78 obj/rmappluginpythonwrapper.o \
77 obj/stardundee.o \
79 obj/stardundee.o \
78 obj/gresb.o \
80 obj/gresb.o \
81 obj/bridge.o \
79 obj/lppmonplugininterface.o \
82 obj/lppmonplugininterface.o \
80 obj/moc_rmappluginui.o \
83 obj/moc_rmappluginui.o \
81 obj/moc_rmapplugin.o \
84 obj/moc_rmapplugin.o \
@@ -86,6 +89,7 OBJECTS = obj/rmapplugin.o \
86 obj/moc_rmappluginpythonwrapper.o \
89 obj/moc_rmappluginpythonwrapper.o \
87 obj/moc_stardundee.o \
90 obj/moc_stardundee.o \
88 obj/moc_gresb.o \
91 obj/moc_gresb.o \
92 obj/moc_bridge.o \
89 obj/moc_genericPySysdriver.o \
93 obj/moc_genericPySysdriver.o \
90 obj/moc_lppmonplugin.o
94 obj/moc_lppmonplugin.o
91 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
95 DIST = /usr/lib64/qt4/mkspecs/common/unix.conf \
@@ -233,7 +237,7 qmake: FORCE
233
237
234 dist:
238 dist:
235 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
239 @$(CHK_DIR_EXISTS) obj/rmapplugin1.0.0 || $(MKDIR) obj/rmapplugin1.0.0
236 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h spwpacketreceiver.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h spectralmatricesdmasimulator.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h /usr/include/genericPySysdriver.h /usr/include/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp spwpacketreceiver.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp spectralmatricesdmasimulator.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
240 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmappluginui.h rmapplugin.h rmapoperations.h ccsds.h spwpacketreceiver.h ../common_PLE/qipdialogbox.h ../common_PLE/gresbstatusenquiry.h spectralmatricesdmasimulator.h rmappluginpythonwrapper.h stardundee.h ../spw_usb_driver_v2.61/inc/spw_usb_api.h ../spw_usb_driver_v2.61/inc/spw_config_library.h gresb.h bridge.h /usr/include/genericPySysdriver.h /usr/include/lppmonplugin.h obj/rmapplugin1.0.0/ && $(COPY_FILE) --parents rmapplugin.cpp rmappluginui.cpp rmapoperations.cpp ccsds.cpp spwpacketreceiver.cpp ../common_PLE/qipdialogbox.cpp ../common_PLE/gresbstatusenquiry.cpp spectralmatricesdmasimulator.cpp rmappluginpythonwrapper.cpp stardundee.cpp gresb.cpp bridge.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp obj/rmapplugin1.0.0/ && (cd `dirname obj/rmapplugin1.0.0` && $(TAR) rmapplugin1.0.0.tar rmapplugin1.0.0 && $(COMPRESS) rmapplugin1.0.0.tar) && $(MOVE) `dirname obj/rmapplugin1.0.0`/rmapplugin1.0.0.tar.gz . && $(DEL_FILE) -r obj/rmapplugin1.0.0
237
241
238
242
239 clean:compiler_clean
243 clean:compiler_clean
@@ -255,12 +259,13 mocclean: compiler_moc_header_clean comp
255
259
256 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
260 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
257
261
258 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_spwpacketreceiver.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
262 compiler_moc_header_make_all: moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_spwpacketreceiver.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_bridge.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
259 compiler_moc_header_clean:
263 compiler_moc_header_clean:
260 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_spwpacketreceiver.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
264 -$(DEL_FILE) moc/moc_rmappluginui.cpp moc/moc_rmapplugin.cpp moc/moc_spwpacketreceiver.cpp moc/moc_qipdialogbox.cpp moc/moc_gresbstatusenquiry.cpp moc/moc_spectralmatricesdmasimulator.cpp moc/moc_rmappluginpythonwrapper.cpp moc/moc_stardundee.cpp moc/moc_gresb.cpp moc/moc_bridge.cpp moc/moc_genericPySysdriver.cpp moc/moc_lppmonplugin.cpp
261 moc/moc_rmappluginui.cpp: rmapoperations.h \
265 moc/moc_rmappluginui.cpp: rmapoperations.h \
262 spectralmatricesdmasimulator.h \
266 spectralmatricesdmasimulator.h \
263 stardundee.h \
267 stardundee.h \
268 gresb.h \
264 rmappluginui.h
269 rmappluginui.h
265 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
270 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginui.h -o moc/moc_rmappluginui.cpp
266
271
@@ -268,6 +273,7 moc/moc_rmapplugin.cpp: rmappluginui.h \
268 rmapoperations.h \
273 rmapoperations.h \
269 spectralmatricesdmasimulator.h \
274 spectralmatricesdmasimulator.h \
270 stardundee.h \
275 stardundee.h \
276 gresb.h \
271 ccsds.h \
277 ccsds.h \
272 spwpacketreceiver.h \
278 spwpacketreceiver.h \
273 rmapplugin.h
279 rmapplugin.h
@@ -288,12 +294,16 moc/moc_spectralmatricesdmasimulator.cpp
288 moc/moc_rmappluginpythonwrapper.cpp: rmappluginpythonwrapper.h
294 moc/moc_rmappluginpythonwrapper.cpp: rmappluginpythonwrapper.h
289 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
295 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) rmappluginpythonwrapper.h -o moc/moc_rmappluginpythonwrapper.cpp
290
296
291 moc/moc_stardundee.cpp: stardundee.h
297 moc/moc_stardundee.cpp: rmapoperations.h \
298 stardundee.h
292 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
299 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) stardundee.h -o moc/moc_stardundee.cpp
293
300
294 moc/moc_gresb.cpp: gresb.h
301 moc/moc_gresb.cpp: gresb.h
295 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
302 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) gresb.h -o moc/moc_gresb.cpp
296
303
304 moc/moc_bridge.cpp: bridge.h
305 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) bridge.h -o moc/moc_bridge.cpp
306
297 moc/moc_genericPySysdriver.cpp: /usr/include/genericPySysdriver.h
307 moc/moc_genericPySysdriver.cpp: /usr/include/genericPySysdriver.h
298 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
308 /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) /usr/include/genericPySysdriver.h -o moc/moc_genericPySysdriver.cpp
299
309
@@ -324,6 +334,7 obj/rmapplugin.o: rmapplugin.cpp rmapplu
324 rmapoperations.h \
334 rmapoperations.h \
325 spectralmatricesdmasimulator.h \
335 spectralmatricesdmasimulator.h \
326 stardundee.h \
336 stardundee.h \
337 gresb.h \
327 ccsds.h \
338 ccsds.h \
328 spwpacketreceiver.h \
339 spwpacketreceiver.h \
329 rmappluginpythonwrapper.h
340 rmappluginpythonwrapper.h
@@ -334,6 +345,7 obj/rmappluginui.o: rmappluginui.cpp rma
334 rmapoperations.h \
345 rmapoperations.h \
335 spectralmatricesdmasimulator.h \
346 spectralmatricesdmasimulator.h \
336 stardundee.h \
347 stardundee.h \
348 gresb.h \
337 ccsds.h \
349 ccsds.h \
338 spwpacketreceiver.h
350 spwpacketreceiver.h
339 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
351 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/rmappluginui.o rmappluginui.cpp
@@ -344,7 +356,8 obj/rmapoperations.o: rmapoperations.cpp
344 obj/ccsds.o: ccsds.cpp ccsds.h
356 obj/ccsds.o: ccsds.cpp ccsds.h
345 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
357 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/ccsds.o ccsds.cpp
346
358
347 obj/spwpacketreceiver.o: spwpacketreceiver.cpp spwpacketreceiver.h
359 obj/spwpacketreceiver.o: spwpacketreceiver.cpp spwpacketreceiver.h \
360 rmapoperations.h
348 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/spwpacketreceiver.o spwpacketreceiver.cpp
361 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/spwpacketreceiver.o spwpacketreceiver.cpp
349
362
350 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
363 obj/qipdialogbox.o: ../common_PLE/qipdialogbox.cpp ../common_PLE/qipdialogbox.h
@@ -366,6 +379,9 obj/stardundee.o: stardundee.cpp stardun
366 obj/gresb.o: gresb.cpp gresb.h
379 obj/gresb.o: gresb.cpp gresb.h
367 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
380 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/gresb.o gresb.cpp
368
381
382 obj/bridge.o: bridge.cpp bridge.h
383 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/bridge.o bridge.cpp
384
369 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
385 obj/lppmonplugininterface.o: /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp /usr/include/lppmon/pluginsInterface/lppmonplugininterface.h \
370 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
386 /usr/include/lppmon/pluginsInterface/lppmonplugininterface_global.h
371 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
387 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/lppmonplugininterface.o /usr/include/lppmon/pluginsInterface/lppmonplugininterface.cpp
@@ -397,6 +413,9 obj/moc_stardundee.o: moc/moc_stardundee
397 obj/moc_gresb.o: moc/moc_gresb.cpp
413 obj/moc_gresb.o: moc/moc_gresb.cpp
398 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
414 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_gresb.o moc/moc_gresb.cpp
399
415
416 obj/moc_bridge.o: moc/moc_bridge.cpp
417 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_bridge.o moc/moc_bridge.cpp
418
400 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
419 obj/moc_genericPySysdriver.o: moc/moc_genericPySysdriver.cpp
401 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
420 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/moc_genericPySysdriver.o moc/moc_genericPySysdriver.cpp
402
421
@@ -1,8 +1,16
1 #include "gresb.h"
1 #include "gresb.h"
2 #include <QTime>
3 #include <QHostAddress>
2
4
3 gresb::gresb(QWidget *parent) :
5 gresb::gresb(QWidget *parent) :
4 QWidget(parent)
6 QWidget(parent)
5 {
7 {
8 RMAPSend_SOCKET = new QTcpSocket;
9 RMAPReceive_SOCKET = new QTcpSocket;
10 GRESBStatusQuery_SOCKET = new QTcpSocket;
11 spwPacketReceiverOBJECT = new spwpacketreceiver;
12 spwPacketReceiverOBJECT->gresbReceptionSocket = RMAPReceive_SOCKET;
13
6 //*** QLABEL ***//
14 //*** QLABEL ***//
7 gresbBridgeIPLabel = new QLabel(tr("GRESB Bridge IP: "));
15 gresbBridgeIPLabel = new QLabel(tr("GRESB Bridge IP: "));
8 gresbVirtualLinkLabel = new QLabel(tr("GRESB Virtual Link: "));
16 gresbVirtualLinkLabel = new QLabel(tr("GRESB Virtual Link: "));
@@ -11,6 +19,7 gresb::gresb(QWidget *parent) :
11 rmapSendStateLabel = new QLabel(tr("RMAP Send Socket State: waiting for connection"));
19 rmapSendStateLabel = new QLabel(tr("RMAP Send Socket State: waiting for connection"));
12 rmapReceiveStateLabel = new QLabel(tr("RMAP Receive Socket State: waiting for connection"));
20 rmapReceiveStateLabel = new QLabel(tr("RMAP Receive Socket State: waiting for connection"));
13 gresbStatusQueryLabel = new QLabel(tr("GRESB status query socket (port 3010): waiting for connection"));
21 gresbStatusQueryLabel = new QLabel(tr("GRESB status query socket (port 3010): waiting for connection"));
22 gresbStatusQueryDialogLabel = new QLabel(tr("sockets opened but SpaceWire link not running"));
14
23
15 //*** SPINBOX ***//
24 //*** SPINBOX ***//
16 gresbVirtualLinkSpinBox = new QSpinBox;
25 gresbVirtualLinkSpinBox = new QSpinBox;
@@ -23,11 +32,17 gresb::gresb(QWidget *parent) :
23 spwLinkSpinBox->setRange(0, 2);
32 spwLinkSpinBox->setRange(0, 2);
24 spwLinkSpinBox->setValue(0);
33 spwLinkSpinBox->setValue(0);
25
34
35 //*** QPUSHBUTTON ***//
36 gresbStatusQueryRetryButton = new QPushButton(tr("Retry"));
37 gresbStatusQueryAbortButton = new QPushButton(tr("Abort"));
38
26 //*** LAYOUT ***//
39 //*** LAYOUT ***//
27 connectionLayout = new QGridLayout;
40 connectionLayout = new QGridLayout;
28
41
29 //*** MISC ***//
42 //*** MISC ***//
43 gresbStatusQueryDialog = new QDialog;
30 gresbBridgeIPDialogBox = new QIPDialogBox;
44 gresbBridgeIPDialogBox = new QIPDialogBox;
45 spwLinkStatusEnquiry = new gresbStatusEnquiry;
31
46
32 connectionLayout->addWidget(gresbBridgeIPLabel, 0, 0, 0);
47 connectionLayout->addWidget(gresbBridgeIPLabel, 0, 0, 0);
33 connectionLayout->addWidget(gresbBridgeIPDialogBox, 0, 1, 0);
48 connectionLayout->addWidget(gresbBridgeIPDialogBox, 0, 1, 0);
@@ -44,5 +59,157 gresb::gresb(QWidget *parent) :
44 connectionLayout->setRowStretch(7, 1);
59 connectionLayout->setRowStretch(7, 1);
45 connectionLayout->setColumnStretch(2, 1);
60 connectionLayout->setColumnStretch(2, 1);
46
61
62 // GRESB STATUS QUERY DIALOG
63 gresbStatusQueryDialogLayout = new QGridLayout;
64 gresbStatusQueryDialogLayout->addWidget(gresbStatusQueryDialogLabel, 0, 0, 1, 2);
65 gresbStatusQueryDialogLayout->addWidget(gresbStatusQueryRetryButton, 1, 0, 0);
66 gresbStatusQueryDialogLayout->addWidget(gresbStatusQueryAbortButton, 1, 1, 0);
67 gresbStatusQueryDialog->setLayout(gresbStatusQueryDialogLayout);
68
47 this->setLayout(connectionLayout);
69 this->setLayout(connectionLayout);
70
71 connect(gresbStatusQueryAbortButton, SIGNAL(clicked()), gresbStatusQueryDialog, SLOT(reject()));
48 }
72 }
73
74 void gresb::Open() // SLOT
75 {
76 bool spwRunning = true;
77 RMAPSend_SOCKET->connectToHost( QHostAddress(gresbBridgeIPDialogBox->getGRESBIP()),
78 3000 + gresbVirtualLinkSpinBox->value()*2,
79 QIODevice::WriteOnly);
80 RMAPReceive_SOCKET->connectToHost( QHostAddress(gresbBridgeIPDialogBox->getGRESBIP()),
81 3000 + gresbVirtualLinkSpinBox->value()*2+1,
82 QIODevice::ReadOnly);
83 GRESBStatusQuery_SOCKET->connectToHost( QHostAddress(gresbBridgeIPDialogBox->getGRESBIP()),
84 3010,
85 QIODevice::ReadWrite);
86 GRESBStatusQuery_SOCKET->waitForConnected(10000);
87 RMAPReceive_SOCKET->readAll(); // read all remaining data from the reception socket
88 // initialize SPW packet semaphores
89 while (spwPacketReceiverOBJECT->rmapPacketSEMAPHORE->available()!=0) spwPacketReceiverOBJECT->rmapPacketSEMAPHORE->acquire();
90 while (spwPacketReceiverOBJECT->ccsdsPacketSEMAPHORE->available()!=0) spwPacketReceiverOBJECT->ccsdsPacketSEMAPHORE->acquire();
91 if (GRESBStatusQueryRequest(LinkStatus, spwLinkSpinBox->value()) != 0)
92 {
93 spwRunning = gresbStatusQueryDialog->exec();
94 }
95 if (spwRunning == false) this->Close();
96 else
97 {
98 emit appendToLog(QString("SpaceWire running on virtual link ")+ QString::number(spwLinkSpinBox->value()));
99 emit isOpen(true);
100 }
101 }
102
103 void gresb::Close() // SLOT
104 {
105 RMAPSend_SOCKET->disconnectFromHost();
106 RMAPReceive_SOCKET->disconnectFromHost();
107 GRESBStatusQuery_SOCKET->disconnectFromHost();
108 emit isOpen(false);
109 }
110
111 int gresb::GRESBStatusQuery() // SLOT
112 {
113 GRESBStatusQueryRequest(LinkStatus, 0);
114 GRESBStatusQueryRequest(LinkStatus, 1);
115 GRESBStatusQueryRequest(LinkStatus, 2);
116 GRESBStatusQueryRequest(LinkStatistics, 0);
117 GRESBStatusQueryRequest(LinkStatistics, 1);
118 GRESBStatusQueryRequest(LinkStatistics, 2);
119 return 0;
120 }
121
122 int gresb::GRESBStatusQueryRequest(GresbStatusQueryOption option, char link)
123 {
124 gresb_status_query_t statusQueryCommand;
125 gresb_link_status_reply_t linkStatusReply;
126 gresb_link_statistics_reply_t linkStatisticsReply;
127 QTime statusQueryTimeout;
128 QString console_message;
129
130 statusQueryCommand.protocolIdentifier = (char) 0x02;
131 statusQueryCommand.reserved1 = (char) 0x00;
132 statusQueryCommand.reserved0 = (char) 0x00;
133 statusQueryCommand.option = (char) option;
134 statusQueryCommand.value3 = (char) 0x00;
135 statusQueryCommand.value2 = (char) 0x00;
136 statusQueryCommand.value1 = (char) 0x00;
137 statusQueryCommand.value0 = (char) link;
138
139 GRESBStatusQuery_SOCKET->write((char*) ((void*) &statusQueryCommand), sizeof(statusQueryCommand));
140 GRESBStatusQuery_SOCKET->flush();
141 GRESBStatusQuery_SOCKET->waitForBytesWritten(1000);
142
143 statusQueryTimeout.start();
144 while(GRESBStatusQuery_SOCKET->bytesToWrite() > 0)
145 {
146 GRESBStatusQuery_SOCKET->waitForBytesWritten(100);
147 if(statusQueryTimeout.elapsed()>1000)
148 {
149 emit appendToLog("WARNING === in function GRESBStatusQueryRequest of rmapplugin *** sending StatusQueryCommand timeout");
150 return 1;
151 }
152 }
153
154 switch (option)
155 {
156 case LinkStatus:
157 {
158 statusQueryTimeout.start();
159 while(GRESBStatusQuery_SOCKET->bytesAvailable() < (int) sizeof(linkStatusReply))
160 {
161 GRESBStatusQuery_SOCKET->waitForReadyRead(100);
162 if(statusQueryTimeout.elapsed()>1000)
163 {
164 console_message.sprintf("GRESBStatusQueryRequest / LinkStatus => error timeout bytesAvailable()\n");
165 emit appendToLog(console_message);
166 return 1;
167 }
168 }
169 GRESBStatusQuery_SOCKET->read((char*) ((void*) &linkStatusReply), (int) sizeof(linkStatusReply));
170 console_message.sprintf("%x", linkStatusReply.byte0);
171 spwLinkStatusEnquiry->statusQueryTable->item(0, link)->setText(console_message);
172 console_message.sprintf("%d", linkStatusReply.byte1);
173 spwLinkStatusEnquiry->statusQueryTable->item(1, link)->setText(console_message);
174 if (linkStatusReply.byte0 == 0) return 1;
175 break;
176 }
177 case LinkStatistics:
178 {
179 statusQueryTimeout.start();
180 while(GRESBStatusQuery_SOCKET->bytesAvailable() < (int) sizeof(linkStatisticsReply))
181 {
182 GRESBStatusQuery_SOCKET->waitForReadyRead(100);
183 if(statusQueryTimeout.elapsed()>1000)
184 {
185 console_message.sprintf("GRESBStatusQueryRequest / LinkStatistics => error timeout bytesAvailable()\n");
186 emit appendToLog(console_message);
187 return 1;
188 }
189 }
190 GRESBStatusQuery_SOCKET->read((char*) ((void*) &linkStatisticsReply), sizeof(linkStatisticsReply));
191 /*console_message.sprintf("%d", charTab_TO_int(linkStatisticsReply.sizeOfDataTransmitted));
192 UI->spwLinkStatusEnquiry->statusQueryTable->item(9, link)->setText(console_message);
193 console_message.sprintf("%d", charTab_TO_int(linkStatisticsReply.numberOfPacketsTransmitted));
194 UI->spwLinkStatusEnquiry->statusQueryTable->item(8, link)->setText(console_message);
195 console_message.sprintf("%d", charTab_TO_int(linkStatisticsReply.numberOfTruncatedPacketsReceived));
196 UI->spwLinkStatusEnquiry->statusQueryTable->item(6, link)->setText(console_message);
197 console_message.sprintf("%d", charTab_TO_int(linkStatisticsReply.numberOfPacketsWithEEPReceived));
198 UI->spwLinkStatusEnquiry->statusQueryTable->item(5, link)->setText(console_message);
199 console_message.sprintf("%d", charTab_TO_int(linkStatisticsReply.sizeOfDataReceived));
200 UI->spwLinkStatusEnquiry->statusQueryTable->item(4, link)->setText(console_message);
201 console_message.sprintf("%d", charTab_TO_int(linkStatisticsReply.numberOfPacketsReceived));
202 UI->spwLinkStatusEnquiry->statusQueryTable->item(3, link)->setText(console_message);*/
203 break;
204 }
205 case NodeAddressStatistics:
206 {
207 break;
208 }
209 case GetRoute:
210 {
211 break;
212 }
213 }
214 return 0;
215 }
@@ -6,6 +6,12
6 #include <QPushButton>
6 #include <QPushButton>
7 #include <QSpinBox>
7 #include <QSpinBox>
8 #include <QGridLayout>
8 #include <QGridLayout>
9 #include <QTcpSocket>
10 #include <QDialog>
11
12 #include "gresbstatusenquiry.h"
13 #include "spwpacketreceiver.h"
14 #include "rmapoperations.h"
9 #include "qipdialogbox.h"
15 #include "qipdialogbox.h"
10
16
11 class gresb : public QWidget
17 class gresb : public QWidget
@@ -13,12 +19,41 class gresb : public QWidget
13 Q_OBJECT
19 Q_OBJECT
14 public:
20 public:
15 explicit gresb(QWidget *parent = 0);
21 explicit gresb(QWidget *parent = 0);
22 ~gresb();
23 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
24 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
25 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
26 unsigned int getLinkStatus(unsigned char link);
16
27
17 signals:
28 signals:
18
29 void sendMessage(QString message);
30 void isOpen(bool);
31 void RMAP_write_reply_setText(QString);
32 void appendToLog(QString);
33 void ccsdsPacketAvailable(unsigned char*, unsigned int);
34
19 public slots:
35 public slots:
36 void Open();
37 void Close();
38 int receiveSPWPacket(unsigned char requestID);
39 void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;}
40 void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;}
41 void sourceHasChanged(int target) {rmapSourceLogicalAddress = (unsigned char) target;}
42
43 private slots:
44 int GRESBStatusQuery();
20
45
21 private:
46 private:
47 int GRESBStatusQueryRequest(GresbStatusQueryOption option, char link);
48
49 unsigned char rmapTargetLogicalAddress ;
50 unsigned char rmapSourceLogicalAddress ;
51
52 RMAP_command_codes commandCode;
53
54 QPushButton *gresbStatusQueryRetryButton;
55 QPushButton *gresbStatusQueryAbortButton;
56
22 QLabel *gresbBridgeIPLabel;
57 QLabel *gresbBridgeIPLabel;
23 QLabel *gresbVirtualLinkLabel;
58 QLabel *gresbVirtualLinkLabel;
24 QLabel *spwLinkLabel;
59 QLabel *spwLinkLabel;
@@ -26,6 +61,9 private:
26 QLabel *rmapSendStateLabel;
61 QLabel *rmapSendStateLabel;
27 QLabel *rmapReceiveStateLabel;
62 QLabel *rmapReceiveStateLabel;
28 QLabel *gresbStatusQueryLabel;
63 QLabel *gresbStatusQueryLabel;
64 QLabel *gresbStatusQueryDialogLabel;
65
66 QDialog *gresbStatusQueryDialog;
29
67
30 QIPDialogBox* gresbBridgeIPDialogBox;
68 QIPDialogBox* gresbBridgeIPDialogBox;
31
69
@@ -34,7 +72,15 private:
34 QSpinBox *rmapSourceLogicalAddressSpinBox;
72 QSpinBox *rmapSourceLogicalAddressSpinBox;
35
73
36 QGridLayout *connectionLayout;
74 QGridLayout *connectionLayout;
37
75 QGridLayout *gresbStatusQueryDialogLayout;
76
77 QTcpSocket *RMAPSend_SOCKET;
78 QTcpSocket *RMAPReceive_SOCKET;
79 QTcpSocket *GRESBStatusQuery_SOCKET;
80
81 spwpacketreceiver *spwPacketReceiverOBJECT;
82
83 gresbStatusEnquiry* spwLinkStatusEnquiry;
38 };
84 };
39
85
40 #endif // GRESB_H
86 #endif // GRESB_H
@@ -54,7 +54,7 StarDundee::~StarDundee()
54 USBSpaceWire_Close(hDevice); // Close the device
54 USBSpaceWire_Close(hDevice); // Close the device
55 }
55 }
56
56
57 unsigned int StarDundee::Open()
57 void StarDundee::Open()
58 {
58 {
59 int status;
59 int status;
60 U32 statusControl;
60 U32 statusControl;
@@ -64,7 +64,7 unsigned int StarDundee::Open()
64 if (!USBSpaceWire_Open(&hDevice, usbDeviceNumber_SPINBOX->value())) // Open the USB device
64 if (!USBSpaceWire_Open(&hDevice, usbDeviceNumber_SPINBOX->value())) // Open the USB device
65 {
65 {
66 emit sendMessage("stardundee *** Open *** ERROR: USBSpaceWire_Open(&hDevice, 0))");
66 emit sendMessage("stardundee *** Open *** ERROR: USBSpaceWire_Open(&hDevice, 0))");
67 return -1;
67 return;
68 }
68 }
69 emit sendMessage("stardundee *** Open *** USBSpaceWire_Open successful, device number: "
69 emit sendMessage("stardundee *** Open *** USBSpaceWire_Open successful, device number: "
70 + QString::number(usbDeviceNumber_SPINBOX->value()));
70 + QString::number(usbDeviceNumber_SPINBOX->value()));
@@ -159,11 +159,9 unsigned int StarDundee::Open()
159 while (ccsdsPacketSEMAPHORE->available()!=0) ccsdsPacketSEMAPHORE->acquire();
159 while (ccsdsPacketSEMAPHORE->available()!=0) ccsdsPacketSEMAPHORE->acquire();
160
160
161 emit isOpen(true);
161 emit isOpen(true);
162
163 return 1;
164 }
162 }
165
163
166 unsigned int StarDundee::Close()
164 void StarDundee::Close()
167 {
165 {
168 USBSpaceWire_Close(hDevice); // Close the device
166 USBSpaceWire_Close(hDevice); // Close the device
169 emit sendMessage("stardundee *** Close *** USBSpaceWire_Close, device: " + QString::number(usbDeviceNumber_SPINBOX->value()));
167 emit sendMessage("stardundee *** Close *** USBSpaceWire_Close, device: " + QString::number(usbDeviceNumber_SPINBOX->value()));
@@ -171,8 +169,6 unsigned int StarDundee::Close()
171 USBSpaceWire_UnregisterReceiveOnAllPorts(hDevice); // Stop receiving on all ports
169 USBSpaceWire_UnregisterReceiveOnAllPorts(hDevice); // Stop receiving on all ports
172
170
173 emit isOpen(false);
171 emit isOpen(false);
174
175 return 1;
176 }
172 }
177
173
178 unsigned int StarDundee::GetRoutingTableEntry()
174 unsigned int StarDundee::GetRoutingTableEntry()
@@ -22,9 +22,7 public:
22 ~StarDundee();
22 ~StarDundee();
23 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
23 unsigned int Write(unsigned int *Value,unsigned int count,unsigned int address=0);
24 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
24 unsigned int Read(unsigned int *Value,unsigned int count,unsigned int address=0);
25 unsigned int WriteStarDundee(unsigned int *Value, unsigned int count, unsigned int address);
26 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
25 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
27 unsigned int getLinkStatus(unsigned char link);
28
26
29 signals:
27 signals:
30 void sendMessage(QString message);
28 void sendMessage(QString message);
@@ -34,14 +32,15 signals:
34 void ccsdsPacketAvailable(unsigned char*, unsigned int);
32 void ccsdsPacketAvailable(unsigned char*, unsigned int);
35
33
36 public slots:
34 public slots:
37 unsigned int Open();
35 void Open();
38 unsigned int Close();
36 void Close();
39 int receiveSPWPacket(unsigned char requestID);
37 int receiveSPWPacket(unsigned char requestID);
40 void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;}
38 void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;}
41 void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;}
39 void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;}
42 void sourceHasChanged(int target) {rmapSourceLogicalAddress = (unsigned char) target;}
40 void sourceHasChanged(int target) {rmapSourceLogicalAddress = (unsigned char) target;}
43
41
44 private:
42 private:
43 unsigned int getLinkStatus(unsigned char link);
45 unsigned int GetRoutingTableEntry();
44 unsigned int GetRoutingTableEntry();
46 unsigned int WriteBLOCK(char *data,unsigned int nbBytes,unsigned int address=0);
45 unsigned int WriteBLOCK(char *data,unsigned int nbBytes,unsigned int address=0);
47 unsigned int ReadBLOCK(unsigned int nbBytes,unsigned int address=0);
46 unsigned int ReadBLOCK(unsigned int nbBytes,unsigned int address=0);
General Comments 0
You need to be logged in to leave comments. Login now