##// END OF EJS Templates
Changes to lfrsge...
Changes to lfrsge Minor changes to the rmap plugin

File last commit:

r58:6bfd3f59df14 default
r58:6bfd3f59df14 default
Show More
tmstatistics.h
260 lines | 7.3 KiB | text/x-c | CLexer
#ifndef TMSTATISTICS_H
#define TMSTATISTICS_H
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QGridLayout>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QFile>
#include <QTextStream>
#include <tmpackettoread.h>
#include <ccsds_types.h>
#include <QMap>
#include <QCheckBox>
#define STATISTICS_FONT_SIZE 9
class TMStatistics : public QWidget
{
Q_OBJECT
public:
explicit TMStatistics(QWidget *parent = 0);
~TMStatistics();
void initConstants();
void buildMonitor_BURST();
void buildMonitor_SBM1();
void buildMonitor_SBM2();
void buildMonitor_NORM();
void buildMonitor();
void incrementUnknown();
//
void preProcessPacket(TMPacketToRead *packet);
unsigned char getPID(TMPacketToRead *packet);
unsigned char getCAT(TMPacketToRead *packet);
unsigned char getSegmentationGroupingFlag(TMPacketToRead *Packet_TM_LFR_HK_str);
unsigned char getTYPE(TMPacketToRead *packet);
unsigned char getSUBTYPE(TMPacketToRead *packet);
unsigned int getLENGTH(TMPacketToRead *packet);
unsigned int getCoarseTime(TMPacketToRead *packet);
unsigned int getFineTime(TMPacketToRead *packet);
unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
QString getPacketName(unsigned char type, unsigned char subtype, unsigned int sid);
void closeEvent(QCloseEvent *event);
unsigned int UNKNOWN_nb;
unsigned int SUCC_nb;
unsigned int INCO_nb;
unsigned int NOTE_nb;
unsigned int NOTI_nb;
unsigned int ERRO_nb;
unsigned int CORR_nb;
unsigned int HK_nb;
unsigned int DUMP_nb;
unsigned int NORM_SWF_F0_nb;
unsigned int NORM_SWF_F1_nb;
unsigned int NORM_SWF_F2_nb;
unsigned int NORM_CWF_F3_nb;
unsigned int NORM_CWF_LONG_F3_nb;
unsigned int NORM_ASM_F0_nb;
unsigned int NORM_ASM_F1_nb;
unsigned int NORM_ASM_F2_nb;
unsigned int NORM_BP1_F0_nb;
unsigned int NORM_BP1_F1_nb;
unsigned int NORM_BP1_F2_nb;
unsigned int NORM_BP2_F0_nb;
unsigned int NORM_BP2_F1_nb;
unsigned int NORM_BP2_F2_nb;
//
unsigned int BURST_CWF_F2_nb;
unsigned int BURST_BP1_F0_nb;
unsigned int BURST_BP2_F0_nb;
unsigned int BURST_BP1_F1_nb;
unsigned int BURST_BP2_F1_nb;
unsigned int SBM1_CWF_F1_nb;
unsigned int SBM1_BP1_F0_nb;
unsigned int SBM1_BP2_F0_nb;
unsigned int SBM2_CWF_F2_nb;
unsigned int SBM2_BP1_F0_nb;
unsigned int SBM2_BP2_F0_nb;
unsigned int SBM2_BP1_F1_nb;
unsigned int SBM2_BP2_F1_nb;
//*******
// QLabel
QLabel *label_UNKNOWN;
QLabel *label_UNKNOWN_nb;
QLabel *label_currentDir;
//***************
// TM_LFR_TC_EXE_
QLabel *label_SUCC;
QLabel *label_INCO;
QLabel *label_NOTE;
QLabel *label_NOTI;
QLabel *label_ERRO;
QLabel *label_CORR;
QLabel *label_HK;
QLabel *label_DUMP;
//
QLabel *label_SUCC_nb;
QLabel *label_INCO_nb;
QLabel *label_NOTE_nb;
QLabel *label_NOTI_nb;
QLabel *label_ERRO_nb;
QLabel *label_CORR_nb;
QLabel *label_HK_nb;
QLabel *label_DUMP_nb;
//***********************
// TM_LFR_SCIENCE_NORMAL_
QLabel *label_NORM_SWF_F0;
QLabel *label_NORM_SWF_F1;
QLabel *label_NORM_SWF_F2;
QLabel *label_NORM_CWF_F3;
QLabel *label_NORM_CWF_LONG_F3;
QLabel *label_NORM_ASM_F0;
QLabel *label_NORM_ASM_F1;
QLabel *label_NORM_ASM_F2;
QLabel *label_NORM_BP1_F0;
QLabel *label_NORM_BP1_F1;
QLabel *label_NORM_BP1_F2;
QLabel *label_NORM_BP2_F0;
QLabel *label_NORM_BP2_F1;
QLabel *label_NORM_BP2_F2;
//
QLabel *label_NORM_SWF_F0_nb;
QLabel *label_NORM_SWF_F1_nb;
QLabel *label_NORM_SWF_F2_nb;
QLabel *label_NORM_CWF_F3_nb;
QLabel *label_NORM_CWF_LONG_F3_nb;
QLabel *label_NORM_ASM_F0_nb;
QLabel *label_NORM_ASM_F1_nb;
QLabel *label_NORM_ASM_F2_nb;
QLabel *label_NORM_BP1_F0_nb;
QLabel *label_NORM_BP1_F1_nb;
QLabel *label_NORM_BP1_F2_nb;
QLabel *label_NORM_BP2_F0_nb;
QLabel *label_NORM_BP2_F1_nb;
QLabel *label_NORM_BP2_F2_nb;
//**********************
// TM_LFR_SCIENCE_BURST_
QLabel *label_BURST_CWF_F2;
QLabel *label_BURST_BP1_F0;
QLabel *label_BURST_BP2_F0;
QLabel *label_BURST_BP1_F1;
QLabel *label_BURST_BP2_F1;
//
QLabel *label_BURST_CWF_F2_nb;
QLabel *label_BURST_BP1_F0_nb;
QLabel *label_BURST_BP2_F0_nb;
QLabel *label_BURST_BP1_F1_nb;
QLabel *label_BURST_BP2_F1_nb;
//*********************
// TM_LFR_SCIENCE_SBM1_
QLabel *label_SBM1_CWF_F1;
QLabel *label_SBM1_BP1_F0;
QLabel *label_SBM1_BP2_F0;
//
QLabel *label_SBM1_CWF_F1_nb;
QLabel *label_SBM1_BP1_F0_nb;
QLabel *label_SBM1_BP2_F0_nb;
//*********************
// TM_LFR_SCIENCE_SBM2_
QLabel *label_SBM2_CWF_F2;
QLabel *label_SBM2_BP1_F0;
QLabel *label_SBM2_BP2_F0;
QLabel *label_SBM2_BP1_F1;
QLabel *label_SBM2_BP2_F1;
//
QLabel *label_SBM2_CWF_F2_nb;
QLabel *label_SBM2_BP1_F0_nb;
QLabel *label_SBM2_BP2_F0_nb;
QLabel *label_SBM2_BP1_F1_nb;
QLabel *label_SBM2_BP2_F1_nb;
//********
// LAST TM
QLabel *label_PID;
QLabel *label_CAT;
QLabel *label_TYP;
QLabel *label_SUB;
QLabel *label_SID;
QLabel *label_SIZ;
QLabel *label_coarse_time;
QLabel *label_fine_time;
//
QLabel *label_PID_is;
QLabel *label_CAT_is;
QLabel *label_TYP_is;
QLabel *label_SUB_is;
QLabel *label_SID_is;
QLabel *label_SIZ_is;
QLabel *label_coarse_time_val;
QLabel *label_fine_time_val;
// Layouts
QGridLayout *mainLayout;
QGridLayout *layout_stat; // TM stastictics
QGridLayout *layout_NORM; // TM_LFR_SCIENCE_NORMAL_
QGridLayout *layout_BURST; // TM_LFR_SCIENCE_BURST_
QGridLayout *layout_SBM1; // TM_LFR_SCIENCE_SBM1_
QGridLayout *layout_SBM2; // TM_LFR_SCIENCE_SBM2_
QGridLayout *layout_last; // last TM description
QVBoxLayout *layout_record;
// QPushButton
QPushButton *button_reset_stat;
QPushButton *button_chooseDir;
//QCheckBox
QCheckBox *checkbox_packetRecording;
QCheckBox *checkbox_packetLog;
QCheckBox *checkbox_CSVPacketRecording;
QFile *logFile;
QFile *packetLogFile;
QFile *csvPacketRecordFile;
QTextStream *logFileStrm;
QTextStream *packetLogFileStrm;
QTextStream *csvPacketRecordFileStrm;
bool logFileEn;
bool packetLogFileEn;
bool csvPacketRecordFileEn;
QString defaultStorageDirectory;
// QGroupBox
QGroupBox *groupbox_stat;
QGroupBox *groupbox_NORM;
QGroupBox *groupbox_BURST;
QGroupBox *groupbox_SBM1;
QGroupBox *groupbox_SBM2;
QGroupBox *groupbox_last;
QGroupBox *groupbox_record;
signals:
public slots:
void resetStatistics();
void updateStatistics(unsigned char pid, unsigned char cat,
unsigned char typ, unsigned char sub,
unsigned int sid, unsigned int length,
unsigned int coarse_t, unsigned int fine_t);
void storePackets(int state);
void storeCSVPackets( int state );
void logPackets(int state);
void buildFileName();
void buildPacketLogFileName();
void buildCSVPacketRecordFileName();
void readSettings();
void writeSettings();
void chooseDir();
};
#endif // TMSTATISTICS_H