Files
2026-02-01 22:23:06 +08:00

96 lines
2.4 KiB
C++

#ifndef SETTINGSPANEL_H
#define SETTINGSPANEL_H
#include <QMainWindow>
#include <QTimer>
#include <QStandardItemModel>
#include <thread>
#include <chrono>
#include "../GdPCIE/GIOParams.h"
#define PCIeCommLength 16
namespace Ui
{
class SettingsPanel;
}
class MainWindow;
class SettingsPanel : public QMainWindow
{
Q_OBJECT
public:
explicit SettingsPanel(QWidget* parent = 0);
~SettingsPanel();
void InitTabView(int numBoard, char** devicePaths);
void UpdateBtnStatus(bool isSuccess);
void EnableCapture(bool bEnable);
void SetCaptureVideoStatus(bool bCapture);
void UpdateFps(double dCaptureFps, double dRenderFps);
private:
void Connect();
/*
* @brief 16进制字符串转字节数组
*/
QByteArray HexStringToByteArray(QString HexString);
QString ShowHex(QByteArray str);
char XOrCheck(char* data);
signals:
void sigSendCardIndex(bool isOpen, int index = 0); //打开卡
void sigResetCard(); //复位卡
void sigTestVideo();
void sigCaptureVideo(GFrameFormat varFrameFormat);
void sigSaveLog(bool isChecked); //保存日志
void sigHideImgOsd(bool isChecked);
void sigShowErrorFrame(bool isChecked);
void sigPCIeSpeedChanged();
private slots:
void on_pushButton_clicked();
void SlotSetRegTimerTimeOut();
void SlotReadRegTimerTimeOut();
void SlotDDRDataClicked();
//void SlotOnButtonClicked();
void OnSlotCmdState();
private:
Ui::SettingsPanel* ui;
MainWindow* m_pMainWindow;
QStandardItemModel* m_pStandardItemModel_FileList;
QTimer m_varPcieInfosTimer; //读pcie状态定时器
QTimer* m_varSetRegTimer; // 寄存器设置定时器
QTimer* m_varReadRegTimer; // 寄存器读取定时器
uint m_uiReadNumber;
uint m_uiSetNumber;
uint m_uiReadFailNumber;
uint m_uiSetFailNumber;
QMap<int, int> m_varCapturePortStatusMap;
QMap<int, int> m_varInjectPortStatusMap;
//PCIe Comm Control
char m_szCommBuff[30];
uint m_uiUnloadImgSize = 0;
unsigned char m_szDealBuf[32];
uint m_uiDealRes = 0;
uint m_uiDealIndex = 0;
unsigned char m_szCmdState[20];
QTimer m_varCmdTimer;
uint m_uiPCIeCmdPort = 2; //光纤通信命令通信端口
QString m_strSysState01;
QString m_strSysState02;
QString m_strSysState03;
};
#endif // SETTINGSPANEL_H