@@ -198,6 +198,27 void HKDisplay::displayPacket(TMPacketTo | |||||
198 | } |
|
198 | } | |
199 | } |
|
199 | } | |
200 |
|
200 | |||
|
201 | void HKDisplay::displayPacketLESIA(TMPacketToRead *tmPacketToRead) | |||
|
202 | { | |||
|
203 | Packet_TM_LFR_HK_t *housekeepingPacket; | |||
|
204 | if (tmPacketToRead->size != (HK_PACKET_SIZE - 4)) { | |||
|
205 | emit displayMessage("in displayPacket *** HK packet size is " | |||
|
206 | + QString::number(tmPacketToRead->size) | |||
|
207 | + " instead of " | |||
|
208 | + QString::number(HK_PACKET_SIZE-4)); | |||
|
209 | } | |||
|
210 | else { | |||
|
211 | housekeepingPacket = (Packet_TM_LFR_HK_t *) (tmPacketToRead->Value-4); | |||
|
212 | ||||
|
213 | updateLFRMode(housekeepingPacket); | |||
|
214 | updateSWVersion(housekeepingPacket); | |||
|
215 | updateTCStatistics(housekeepingPacket); | |||
|
216 | updateAnomalyStatistics(housekeepingPacket); | |||
|
217 | updateSpaceWireIFStatistics(housekeepingPacket); | |||
|
218 | updateErrorCountersSpaceWire(housekeepingPacket); | |||
|
219 | } | |||
|
220 | } | |||
|
221 | ||||
201 | void HKDisplay::updateLFRMode(Packet_TM_LFR_HK_t *housekeepingPacket) |
|
222 | void HKDisplay::updateLFRMode(Packet_TM_LFR_HK_t *housekeepingPacket) | |
202 | { |
|
223 | { | |
203 | hk_lfr_mode->setText("hk_lfr_mode: " |
|
224 | hk_lfr_mode->setText("hk_lfr_mode: " |
@@ -18,6 +18,7 class HKDisplay : public QWidget | |||||
18 | public: |
|
18 | public: | |
19 | explicit HKDisplay(QWidget *parent = 0); |
|
19 | explicit HKDisplay(QWidget *parent = 0); | |
20 | void displayPacket(TMPacketToRead *tmPacketToRead); |
|
20 | void displayPacket(TMPacketToRead *tmPacketToRead); | |
|
21 | void displayPacketLESIA(TMPacketToRead *tmPacketToRead); | |||
21 |
|
22 | |||
22 | void setupLFRStatusWord(); |
|
23 | void setupLFRStatusWord(); | |
23 | void setupLFRSWVersion(); |
|
24 | void setupLFRSWVersion(); |
@@ -1,6 +1,6 | |||||
1 | ############################################################################# |
|
1 | ############################################################################# | |
2 | # Makefile for building: lfrsgse |
|
2 | # Makefile for building: lfrsgse | |
3 |
# Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 12 0 |
|
3 | # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 12 08:12:46 2013 | |
4 | # Project: gselesia.pro |
|
4 | # Project: gselesia.pro | |
5 | # Template: app |
|
5 | # Template: app | |
6 | # Command: /usr/bin/qmake-qt4 -o Makefile gselesia.pro |
|
6 | # Command: /usr/bin/qmake-qt4 -o Makefile gselesia.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, 2013-07- |
|
3 | <!-- Written by Qt Creator 2.4.1, 2013-07-12T14:03:51. --> | |
4 | <qtcreator> |
|
4 | <qtcreator> | |
5 | <data> |
|
5 | <data> | |
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
|
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -22,7 +22,7 void LFRXmlParser::processIncomingStr(QS | |||||
22 | eventBinaryStr = xmlBuffer.mid( |
|
22 | eventBinaryStr = xmlBuffer.mid( | |
23 | indexOfStartStr + startStr.size(), |
|
23 | indexOfStartStr + startStr.size(), | |
24 | indexOfStopStr - (indexOfStartStr + startStr.size() ) ); |
|
24 | indexOfStopStr - (indexOfStartStr + startStr.size() ) ); | |
25 | processIncomingData( eventBinaryStr ); |
|
25 | processIncomingDataLESIA( eventBinaryStr ); | |
26 | xmlBuffer.remove(0, indexOfStopStr + stopStr.size()); |
|
26 | xmlBuffer.remove(0, indexOfStopStr + stopStr.size()); | |
27 | result = findPattern( startStr, stopStr, &indexOfStartStr, &indexOfStopStr); |
|
27 | result = findPattern( startStr, stopStr, &indexOfStartStr, &indexOfStopStr); | |
28 | } |
|
28 | } | |
@@ -63,3 +63,27 void LFRXmlParser::processIncomingData(c | |||||
63 |
|
63 | |||
64 | generalCCSDSPacketStore->append(incomingPacket); |
|
64 | generalCCSDSPacketStore->append(incomingPacket); | |
65 | } |
|
65 | } | |
|
66 | ||||
|
67 | void LFRXmlParser::processIncomingDataLESIA(const QString &ch) | |||
|
68 | { | |||
|
69 | QByteArray newdat; | |||
|
70 | char *values; | |||
|
71 | unsigned char *ccsdsData; | |||
|
72 | unsigned int ccsdsSize = 0; | |||
|
73 | ||||
|
74 | TMPacketToRead *incomingPacket; | |||
|
75 | ||||
|
76 | newdat = QByteArray::fromHex(ch.toAscii()); | |||
|
77 | newdat.prepend((char) 1); | |||
|
78 | newdat.prepend((char) 2); | |||
|
79 | newdat.prepend((char) 0); | |||
|
80 | newdat.prepend((char) 0); | |||
|
81 | ||||
|
82 | values = (char*) newdat.data(); | |||
|
83 | ccsdsSize = newdat.size(); | |||
|
84 | ccsdsData = (unsigned char *) values; | |||
|
85 | ||||
|
86 | incomingPacket = new TMPacketToRead(ccsdsData, ccsdsSize); | |||
|
87 | ||||
|
88 | generalCCSDSPacketStore->append(incomingPacket); | |||
|
89 | } |
@@ -12,6 +12,7 public: | |||||
12 | void processIncomingStr(QString incomingStr); |
|
12 | void processIncomingStr(QString incomingStr); | |
13 | int findPattern(QString startStr, QString stopStr, int *indexOfStartStr, int *indexOfStopStr); |
|
13 | int findPattern(QString startStr, QString stopStr, int *indexOfStartStr, int *indexOfStopStr); | |
14 | void processIncomingData(const QString &ch); |
|
14 | void processIncomingData(const QString &ch); | |
|
15 | void processIncomingDataLESIA(const QString &ch); | |||
15 | QList<TMPacketToRead*> *generalCCSDSPacketStore; |
|
16 | QList<TMPacketToRead*> *generalCCSDSPacketStore; | |
16 |
|
17 | |||
17 | signals: |
|
18 | signals: |
@@ -283,7 +283,7 void MainWindow::preProcessPacket(TMPack | |||||
283 |
|
283 | |||
284 | //*************************************************** |
|
284 | //*************************************************** | |
285 | // if the packet is an HK packet, display its content |
|
285 | // if the packet is an HK packet, display its content | |
286 | if ( (typ == TYPE_HK) & (sub == SUBTYPE_HK) ) |
|
286 | if ( (pid == 76) & (cat == 4) & (typ == TYPE_HK) & (sub == SUBTYPE_HK) ) | |
287 | { |
|
287 | { | |
288 | this->UI->hkDisplay->displayPacket(packet); |
|
288 | this->UI->hkDisplay->displayPacket(packet); | |
289 | } |
|
289 | } | |
@@ -319,6 +319,88 void MainWindow::preProcessPacket(TMPack | |||||
319 | } |
|
319 | } | |
320 | } |
|
320 | } | |
321 |
|
321 | |||
|
322 | void MainWindow::preProcessPacketLESIA(TMPacketToRead *packet) | |||
|
323 | { | |||
|
324 | unsigned char pid = 0; | |||
|
325 | unsigned char cat = 0; | |||
|
326 | unsigned char typ = 0; | |||
|
327 | unsigned char sub = 0; | |||
|
328 | unsigned int sid = 0; | |||
|
329 | unsigned int length = 0; | |||
|
330 | unsigned int coarse_t = 0; | |||
|
331 | unsigned int fine_t = 0; | |||
|
332 | ||||
|
333 | unsigned int offset; | |||
|
334 | ||||
|
335 | offset = 4; | |||
|
336 | ||||
|
337 | //********************************* | |||
|
338 | // get the parameters of the packet | |||
|
339 | pid = ((packet->Value[4-offset] & 0x07) << 4) + ((packet->Value[5-offset] & 0xf0) >> 4); | |||
|
340 | cat = packet->Value[5-offset] & 0x0f; | |||
|
341 | typ = packet->Value[11-offset]; // TYPE | |||
|
342 | sub = packet->Value[12-offset]; // SUBTYPE | |||
|
343 | sid = 0; | |||
|
344 | length = packet->Value[8-offset] * 256 + packet->Value[9-offset]; | |||
|
345 | // compare length in the packet with the size of the packet | |||
|
346 | if ( (length + 1 + 6) != (packet->size)) | |||
|
347 | { | |||
|
348 | displayOnConsole("reception of " + QString::number(packet->size) | |||
|
349 | + " bytes instead of " + QString::number(length + 1 + 6)); | |||
|
350 | } | |||
|
351 | coarse_t = packet->Value[14-offset] * pow(2, 24) + packet->Value[15-offset] * pow(2, 16) | |||
|
352 | + packet->Value[16-offset] * pow(2, 8) + packet->Value[17-offset]; | |||
|
353 | fine_t = packet->Value[18-offset] * pow(2, 8) + packet->Value[19-offset]; | |||
|
354 | ||||
|
355 | if ((pid == 76) & (cat == 1) & (typ == 1) & (sub == 8)) | |||
|
356 | sid = packet->Value[20-offset] * 256 + packet->Value[21-offset]; | |||
|
357 | else if ((pid == 76) & (cat == 4) & (typ == 3) & (sub == 25)) | |||
|
358 | sid = 1; | |||
|
359 | else if ((pid == 76) & (cat == 12) & (typ == 21) & (sub == 3)) | |||
|
360 | sid = packet->Value[20-offset]; | |||
|
361 | else if ((pid == 79) & (cat == 12) & (typ == 21) & (sub == 3)) | |||
|
362 | sid = packet->Value[20-offset]; | |||
|
363 | ||||
|
364 | this->UI->tmStatistics->updateStatistics(pid, cat, typ, sub, sid, length, coarse_t, fine_t); | |||
|
365 | ||||
|
366 | //*************************************************** | |||
|
367 | // if the packet is an HK packet, display its content | |||
|
368 | if ( (pid == 76) & (4) & (typ == TYPE_HK) & (sub == SUBTYPE_HK) ) | |||
|
369 | { | |||
|
370 | this->UI->hkDisplay->displayPacketLESIA(packet); | |||
|
371 | } | |||
|
372 | ||||
|
373 | //**************************************** | |||
|
374 | // if the packet is a waveform, display it | |||
|
375 | if ( (typ == 21) & (sub == 3) ) | |||
|
376 | { | |||
|
377 | sid = packet->Value[20-offset]; // SID | |||
|
378 | switch (sid){ | |||
|
379 | case SID_NORMAL_SWF_F0: | |||
|
380 | buildWFAndDisplay(packet, &wfPacketNormal[0], 0); | |||
|
381 | break; | |||
|
382 | case SID_NORMAL_SWF_F1: | |||
|
383 | buildWFAndDisplay(packet, &wfPacketNormal[1], 1); | |||
|
384 | break; | |||
|
385 | case SID_NORMAL_SWF_F2: | |||
|
386 | buildWFAndDisplay(packet, &wfPacketNormal[2], 2); | |||
|
387 | break; | |||
|
388 | case SID_NORMAL_CWF_F3: | |||
|
389 | buildWFAndDisplay(packet, &wfPacketNormal[3], 3); | |||
|
390 | break; | |||
|
391 | case SID_BURST_CWF_F2: | |||
|
392 | buildWFAndDisplayBurst(packet, &wfPacketBurst); | |||
|
393 | break; | |||
|
394 | case SID_SBM1_CWF_F1: | |||
|
395 | buildWFAndDisplaySBM1(packet, &wfPacketSBM1); | |||
|
396 | break; | |||
|
397 | case SID_SBM2_CWF_F2: | |||
|
398 | buildWFAndDisplaySBM2(packet, &wfPacketSBM2); | |||
|
399 | break; | |||
|
400 | } | |||
|
401 | } | |||
|
402 | } | |||
|
403 | ||||
322 | void MainWindow::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page) |
|
404 | void MainWindow::buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page) | |
323 | { |
|
405 | { | |
324 | unsigned int i = 0; |
|
406 | unsigned int i = 0; |
@@ -25,6 +25,7 public: | |||||
25 | void displayNetworkInterfaces(); |
|
25 | void displayNetworkInterfaces(); | |
26 | void initSocketStatesList(); |
|
26 | void initSocketStatesList(); | |
27 | void preProcessPacket(TMPacketToRead *packet); |
|
27 | void preProcessPacket(TMPacketToRead *packet); | |
|
28 | void preProcessPacketLESIA(TMPacketToRead *packet); | |||
28 | void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page); |
|
29 | void buildWFAndDisplay(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page); | |
29 | void buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket); |
|
30 | void buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket); | |
30 | void buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket); |
|
31 | void buildWFAndDisplaySBM1(TMPacketToRead *packet, WFPacket *wfPacket); |
@@ -1,6 +1,6 | |||||
1 | ############################################################################# |
|
1 | ############################################################################# | |
2 | # Makefile for building: libwfdisplay.so.1.0.0 |
|
2 | # Makefile for building: libwfdisplay.so.1.0.0 | |
3 |
# Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 12 0 |
|
3 | # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 12 08:12:10 2013 | |
4 | # Project: wfdisplay.pro |
|
4 | # Project: wfdisplay.pro | |
5 | # Template: lib |
|
5 | # Template: lib | |
6 | # Command: /usr/bin/qmake-qt4 -o Makefile wfdisplay.pro |
|
6 | # Command: /usr/bin/qmake-qt4 -o Makefile wfdisplay.pro | |
@@ -301,11 +301,11 moc_qcustomplot.o: moc_qcustomplot.cpp | |||||
301 |
|
301 | |||
302 | install_header: first FORCE |
|
302 | install_header: first FORCE | |
303 | @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ || $(MKDIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ |
|
303 | @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ || $(MKDIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ | |
304 |
-$(INSTALL_FILE) /opt/LPPMON_PLUGINS_P |
|
304 | -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ | |
305 |
-$(INSTALL_FILE) /opt/LPPMON_PLUGINS_P |
|
305 | -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay_global.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ | |
306 |
-$(INSTALL_FILE) /opt/LPPMON_PLUGINS_P |
|
306 | -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfpage.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ | |
307 |
-$(INSTALL_FILE) /opt/LPPMON_PLUGINS_P |
|
307 | -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfplot.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ | |
308 |
-$(INSTALL_FILE) /opt/LPPMON_PLUGINS_P |
|
308 | -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay_params.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ | |
309 |
|
309 | |||
310 |
|
310 | |||
311 | uninstall_header: FORCE |
|
311 | uninstall_header: FORCE |
General Comments 0
You need to be logged in to leave comments.
Login now