|
|
#ifndef HKDISPLAY_H
|
|
|
#define HKDISPLAY_H
|
|
|
|
|
|
#include <QWidget>
|
|
|
#include <QLabel>
|
|
|
#include <QGroupBox>
|
|
|
#include <QVBoxLayout>
|
|
|
#include <QGridLayout>
|
|
|
#include "tmpackettoread.h"
|
|
|
#include "ccsds_types.h"
|
|
|
|
|
|
#define HK_INFORMATION_FONT_SIZE 9
|
|
|
|
|
|
class HKDisplay : public QWidget
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
public:
|
|
|
explicit HKDisplay(QWidget *parent = 0);
|
|
|
void displayPacket(TMPacketToRead *tmPacketToRead);
|
|
|
// void displayPacketLESIA(TMPacketToRead *tmPacketToRead);
|
|
|
|
|
|
void setupLFRStatusWord();
|
|
|
void setupLFRSWVersion();
|
|
|
void setupLFR_FPGA_Version();
|
|
|
void setupTCStatistics();
|
|
|
void setupAnomalyStatistics();
|
|
|
void setupSpaceWireIFStatistics();
|
|
|
void setupErrorCountersSpaceWire();
|
|
|
|
|
|
void update_lfr_status_word(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
void updateSWVersion(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
void update_FPGA_version(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
void updateTCStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
void updateAnomalyStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
void updateSpaceWireIFStatistics(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
void updateErrorCountersSpaceWire(Packet_TM_LFR_HK_t *housekeepingPacket);
|
|
|
|
|
|
signals:
|
|
|
void displayMessage(QString message);
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
private:
|
|
|
QGroupBox *groupbox_lfrStatusWord;
|
|
|
QGroupBox *groupbox_lfrSWVersion;
|
|
|
QGroupBox *groupbox_lfr_FPGA_Version;
|
|
|
QGroupBox *groupbox_tcStatistics;
|
|
|
QGroupBox *groupbox_anomalyStatistics;
|
|
|
//***********************************
|
|
|
//***********************************
|
|
|
QGroupBox *groupbox_vhdlBlockStatus;
|
|
|
QGroupBox *groupbox_spacewireIFStatisctics;
|
|
|
QGroupBox *groupbox_ahbErrorStatistics;
|
|
|
QGroupBox *groupbox_temperatures;
|
|
|
QGroupBox *groupbox_errorCountersSpaceWire;
|
|
|
QGroupBox *groupbox_errorCountersTime;
|
|
|
|
|
|
QGridLayout *mainLayout;
|
|
|
QVBoxLayout *box_lfrStatusWord;
|
|
|
QVBoxLayout *box_lfrSWVersion;
|
|
|
QVBoxLayout *box_lfr_FPGA_Version;
|
|
|
QVBoxLayout *box_tcStatistics;
|
|
|
QVBoxLayout *box_anomalyStatistics;
|
|
|
//***********************************
|
|
|
//***********************************
|
|
|
QVBoxLayout *box_vhdlBlockStatus;
|
|
|
QVBoxLayout *box_spacewireIFStatisctics;
|
|
|
QVBoxLayout *box_ahbErrorStatistics;
|
|
|
QVBoxLayout *box_temperatures;
|
|
|
QVBoxLayout *box_errorCountersSpaceWire;
|
|
|
QVBoxLayout *box_errorCountersTime;
|
|
|
|
|
|
QLabel *hk_lfr_mode;
|
|
|
QLabel *hk_lfr_dpu_spw_enabled;
|
|
|
QLabel *hk_lfr_dpu_link_state;
|
|
|
QLabel *hk_lfr_dpu_spare;
|
|
|
QLabel *sy_lfr_watchdog_enabled;
|
|
|
QLabel *hk_lfr_calib_enabled;
|
|
|
QLabel *hk_lfr_reset_cause;
|
|
|
// sy_lfr_sw_version_
|
|
|
QLabel *sy_lfr_sw_version_n1;
|
|
|
QLabel *sy_lfr_sw_version_n2;
|
|
|
QLabel *sy_lfr_sw_version_n3;
|
|
|
QLabel *sy_lfr_sw_version_n4;
|
|
|
// sy_lfr_fpga_version
|
|
|
QLabel *sy_lfr_fpga_version_n1;
|
|
|
QLabel *sy_lfr_fpga_version_n2;
|
|
|
QLabel *sy_lfr_fpga_version_n3;
|
|
|
//
|
|
|
QLabel *hk_lfr_update_info_tc_cnt;
|
|
|
QLabel *hk_lfr_update_time_tc_cnt;
|
|
|
QLabel *hk_lfr_exe_tc_cnt;
|
|
|
QLabel *hk_lfr_rej_tc_cnt;
|
|
|
// hk_lfr_last_exe_tc_
|
|
|
QLabel *hk_lfr_last_exe_tc_id;
|
|
|
QLabel *hk_lfr_last_exe_tc_type;
|
|
|
QLabel *hk_lfr_last_exe_tc_subtype;
|
|
|
QLabel *hk_lfr_last_exe_tc_time;
|
|
|
// hk_lfr_last_rej_tc_
|
|
|
QLabel *hk_lfr_last_rej_tc_id;
|
|
|
QLabel *hk_lfr_last_rej_tc_type;
|
|
|
QLabel *hk_lfr_last_rej_tc_subtype;
|
|
|
QLabel *hk_lfr_last_rej_tc_time;
|
|
|
|
|
|
QLabel *hk_lfr_le_cnt;
|
|
|
QLabel *hk_lfr_me_cnt;
|
|
|
QLabel *hk_lfr_he_cnt;
|
|
|
// hk_lfr_last_er
|
|
|
QLabel *hk_lfr_last_er_rid;
|
|
|
QLabel *hk_lfr_last_er_code;
|
|
|
QLabel *hk_lfr_last_er_time;
|
|
|
//***********************************
|
|
|
//***********************************
|
|
|
//hk_lfr_vhdl_
|
|
|
QLabel *hk_lfr_vhdl_aa;
|
|
|
QLabel *hk_lfr_vhdl_sm;
|
|
|
QLabel *hk_lfr_vhdl_fft;
|
|
|
QLabel *hk_lfr_vhdl_sr;
|
|
|
QLabel *hk_lfr_vhdl_cic;
|
|
|
QLabel *hk_lfr_vhdl_hk;
|
|
|
QLabel *hk_lfr_vhdl_iir;
|
|
|
QLabel *hk_lfr_vhdl_cal;
|
|
|
// hk_lfr_dpu_spw_
|
|
|
QLabel *hk_lfr_dpu_spw_pkt_rcv_cnt;
|
|
|
QLabel *hk_lfr_dpu_spw_pkt_sent_cnt;
|
|
|
QLabel *hk_lfr_dpu_spw_tick_out_cnt;
|
|
|
QLabel *hk_lfr_dpu_spw_last_timc;
|
|
|
// hk_lfr_last_fail_addr
|
|
|
QLabel *hk_lfr_last_fail_addr;
|
|
|
// hk_lfr_temp_
|
|
|
QLabel *hk_lfr_temp_scm;
|
|
|
QLabel *hk_lfr_temp_pcb;
|
|
|
QLabel *hk_lfr_temp_fpga;
|
|
|
// hk_lfr_dpu_spw_
|
|
|
QLabel *hk_lfr_dpu_spw_parity;
|
|
|
QLabel *hk_lfr_dpu_spw_disconnect;
|
|
|
QLabel *hk_lfr_dpu_spw_escape;
|
|
|
QLabel *hk_lfr_dpu_spw_credit;
|
|
|
QLabel *hk_lfr_dpu_spw_write_sync;
|
|
|
QLabel *hk_lfr_dpu_spw_rx_ahb;
|
|
|
QLabel *hk_lfr_dpu_spw_tx_ahb;
|
|
|
QLabel *hk_lfr_dpu_spw_early_eop;
|
|
|
QLabel *hk_lfr_dpu_spw_invalid_addr;
|
|
|
QLabel *hk_lfr_dpu_spw_eep;
|
|
|
QLabel *hk_lfr_dpu_spw_rx_too_big;
|
|
|
// hk_lfr_timecode_
|
|
|
QLabel *hk_lfr_timecode_erroneous;
|
|
|
QLabel *hk_lfr_timecode_missing;
|
|
|
QLabel *hk_lfr_timecode_invalid;
|
|
|
// hk_lfr_time_
|
|
|
QLabel *hk_lfr_time_timecode_it;
|
|
|
QLabel *hk_lfr_time_not_synchro;
|
|
|
QLabel *hk_lfr_time_timecode_ctr;
|
|
|
// hk_lfr_buffer_dpu_
|
|
|
QLabel *hk_lfr_buffer_dpu_tc_fifo;
|
|
|
QLabel *hk_lfr_buffer_dpu_tm_fifo;
|
|
|
// hk_lfr_ahb_
|
|
|
QLabel *hk_lfr_ahb_correctable;
|
|
|
QLabel *hk_lfr_ahb_uncorrectable;
|
|
|
QLabel *hk_lfr_ahb_fails_trans;
|
|
|
// hk_lfr_adc_
|
|
|
QLabel *hk_lfr_adc_failure;
|
|
|
QLabel *hk_lfr_adc_timeout;
|
|
|
QLabel *hk_lfr_toomany_err;
|
|
|
// hk_lfr_cpu_
|
|
|
QLabel *hk_lfr_cpu_write_err;
|
|
|
QLabel *hk_lfr_cpu_ins_access_err;
|
|
|
QLabel *hk_lfr_cpu_illegal_ins;
|
|
|
QLabel *hk_lfr_cpu_privilegied_ins;
|
|
|
QLabel *hk_lfr_cpu_register_hw;
|
|
|
QLabel *hk_lfr_cpu_not_aligned;
|
|
|
QLabel *hk_lfr_cpu_data_exception;
|
|
|
QLabel *hk_lfr_cpu_div_exception;
|
|
|
QLabel *hk_lfr_cpu_arith_overflow;
|
|
|
};
|
|
|
|
|
|
#endif // HKDISPLAY_H
|
|
|
|