#ifndef WIDGET_H #define WIDGET_H #include #include #include #include #include #include "common.h" namespace Ui { //新增的 class form; } #define USART_BUF_SIZE 1088 /* 设置tableview某行/列不可编辑. */ class ReadOnlyDelegate: public QItemDelegate { public: ReadOnlyDelegate(QWidget *parent = nullptr):QItemDelegate(parent) {} QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,const QModelIndex &index) const override; }; class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = nullptr); ~Widget(); private slots: void on_btnConn_clicked(); void on_btnReset_clicked(); void on_btnRefresh_clicked(); void on_configButton_clicked(); void on_defaultButton_clicked(); void on_fileButton_clicked(); void on_updateButton_clicked(); void on_configSetButton_clicked(); void on_configGetButton_clicked(); void on_csgConfigGetButton_clicked(); void on_csgConfigSetButton_clicked(); void on_dataRefreshButton_clicked(); void on_dataRefreshAutoButton_clicked(); void on_stateRefreshButton_clicked(); void on_freChBox_currentIndexChanged(int index); void on_freRefreshButton_clicked(); void on_waveColButton_clicked(); void on_waveRefreshButton_clicked(); void on_waveCalButton_clicked(); void on_historyDataButton_clicked(); void on_stateLogButton_clicked(); void on_waveButton_clicked(); void on_manualRatioSetButton_clicked(); void on_manualAdjBox_activated(int index); void on_manualAdjButton_clicked(); void on_RatioParamGetButton_clicked(); void on_RatioParamSetButton_clicked(); void on_ratioSetButton_clicked(); void on_adjButton_clicked(); void on_tabWidget_tabBarClicked(int index); private: QString toHexadecimal(const QByteArray &byteArray); int searchUsablePort(); void serialErrHandle(QSerialPort::SerialPortError error); void serialDisconnect(); int initSerial(); int deinitSerial(); int readData(); int writeData(char *buf, int len); int protoHeaderInit(proto_head_t * header, uint16_t len, uint32_t id, uint8_t cmd_type, uint8_t cmd); void buttonEnable(bool flag); QString devStateWaveStateGet(uint8_t state); QString devStateWlStateGet(uint8_t state); void uiDevInfoRefresh(); void uiDevConfigRefresh(); void uiDevCsgConfigRefresh(); void uiDevRealDataRefresh(); void uiDevStateRefresh(); void uiPowerFrequencyRefresh(); void uiManualAdjustRefresh(); void uiAdjustInfoRefresh(); void protoContact(char *data); void protoConfig(char *data); void protoCsgConfig(char *data); void protoRealdata(char *data); int protoUpdateReply(char *data, int fileType); int protoWaveDataUploadReply(char *data); int protoPowerFrequency(char *data); int protoState(char *data); int protoManualAdjust(char *data); int protoAutoAdjust(char *data); int protoAdjustInfoGet(char *data); int protoLog(char * data); int protoHistoryData(char *data); int paraseProtocols(char *data); int snedMsgDeviceInfoGet(); int sendMsgDeviceInfoSet(); int sendMsgDeviceReset(); int sendMsgDeviceCfgDefault(); int sendMsgDeviceConfigSet(); int sendMsgDeviceConfigGet(); int sendMsgDeviceCsgConfigGet(); int sendMsgDeviceCsgConfigSet(); int sendMsgDeviceRealDataGet(); int sendMsgDeviceUpdate(int fileType); int sendMsgDeviceWaveDataGet(); int sendMsgDeviceStateGet(); int sendMsgDevicePowerFrequencyGet(); int sendMsgDeviceAdjustInfoGet(); int sendMsgDeviceAdjustInfoSet(); int sendMsgDeviceAdjustMode(uint8_t cmd, adjSet *param); int sendMsgWaveCol(); int sendMsgWaveCal(); int sendMsgLogGet(); int sendMsgHistoryDataGet(); Ui::form *ui; //新增的 QSerialPort *serialPort; QSettings *settings; QString filePath; QString adjFilePath; QString waveFilePath; //QThread *newTask; //Protocol *usartProtocol; char rxbuf[USART_BUF_SIZE]; int rxbufLen; devInfo clientDevInfo; devConfig clientDevConfig; csgConfig_t csgConfig; realData_t clientRealData; devState clientDevState; dev_adj_t clientAdjInfo; adjSet clientAdjSet; QString energyMode[4]; int isConnected; // serial connect state int64_t upFileSize; uint32_t upFileRecvSize; uint32_t upPackIndex; int isDataRefresh; int16_t powerFre[CFG_ADC_CH_CNT][ADC_COLLECT_CNT]; uint32_t freIndex; uint32_t waveIndex; uint16_t waveParam; uint8_t is_wave_up; uint8_t is_log_up; uint32_t logIndex; uint8_t is_data_up; uint32_t dataIndex; int32_t logSum; int32_t historyDataSum; ReadOnlyDelegate* readOnlyDelegate; }; #endif // WIDGET_H