📄 power.h
字号:
#ifndef POWER_H#define POWER_H #include "mainwindow.h"#include "fft.h"#include "report.h"#include "bar.h"#include "VAHZ.h"#include "WPF.h"#include "parse.h"#include "set_dialog.h"#include <qpopupmenu.h>#include <qmenubar.h>#include <qmenudata.h>#include <qtoolbar.h>#include <qtoolbutton.h>#include <qpixmap.h>#include <qmainwindow.h>#include <qlistview.h>#include <qtimer.h>#include <math.h>#include <stdlib.h>#include <stdio.h>#include <sys/time.h>#define COF (100*PI*0.0003125)#define DEVICE_TLC2543 "/dev/tlc2543"#define TIME_DEBUG 1class Power:public Gui{ Q_OBJECTpublic: Power( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~Power(); enum SysStat{START,STOP}; enum ListStat{NONE,GENERAL_REPORT,GENERAL_VAHZ,GENERAL_WPF,PHASE_A_HARMONIC,PHASE_A_WAVEFORMS,PHASE_B_HARMONIC,PHASE_B_WAVEFORMS,PHASE_C_HARMONIC,PHASE_C_WAVEFORMS};public slots: virtual void fstart(); virtual void fstop(); virtual void fsetting(); virtual void flistClicked(QListViewItem *); virtual void system_flush();private: SysStat system_stat; //系统状态,运行或停止 ListStat listview_stat; //列表当前显示状态 int listen_port; //服务器端口号 int current_factor_PhaseA_int,current_factor_PhaseB_int,current_factor_PhaseC_int; //电流变比 int voltage_factor_PhaseA_int,voltage_factor_PhaseB_int,voltage_factor_PhaseC_int; //电压变比 double current_factor_PhaseA_double,current_factor_PhaseB_double,current_factor_PhaseC_double; //电流变比 double voltage_factor_PhaseA_double,voltage_factor_PhaseB_double,voltage_factor_PhaseC_double; //电压变比 char ip_addr[20]; //ip地址 char netmask[20]; //子网掩码 char gateway[20]; //网关地址 VAHZ *vahz; //电流,电压对象 WPF *wpf; //功率对象 Report *report1; //报表对象 Bar *BarPhA_A,*BarPhA_V,*BarPhB_A,*BarPhB_V,*BarPhC_A,*BarPhC_V; //bar对象 QTimer *sys_timer; //系统定时器 QPopupMenu *file,*operation,*option,*about; QToolBar *toolbar; QToolButton *start,*stop,*setting; QPixmap starticon,stopicon,settingicon; MyDialog *SetDialog; QListViewItem *Phase_A,*Phase_B,*Phase_C,*General_ABC; QListViewItem *Phase_A_Harmonic,*Phase_A_Waveforms; QListViewItem *Phase_B_Harmonic,*Phase_B_Waveforms; QListViewItem *Phase_C_Harmonic,*Phase_C_Waveforms; QListViewItem *General_VAHZ,*General_Report,*General_WPF; int startID,stopID,quitID,settingID,aboutID; int Phase_channel; int fd; //AD 文件句并 double HarmonicV[64],HarmonicA[64],Vrms,Arms,VHZ,AHZ,W_Phase,S_Phase,PF_Phase; Real Aconf[64],Vconf[64]; //raw AD data int AD_tmp[130]; Complex ArrayFFT0[64],ArrayFFT1[64]; //fft data Real con_sin(int i, int random1,int random2,int random3,int Pha1=0,int Pha2=0,int Pha3=0); double count_rms(double *Harmonic, int cnt); double count_HZ(double *Harmonic, int cnt); double count_W(double *RealV,int cnt,double VFactor, double *RealA, int cnt,double AFactor);#if TIME_DEBUG struct timeval timer_debug[10]; float timer_elapsed[9];#endif};/* Auxiliary class to provide fancy menu items with different fonts. */class MyMenuItem : public QCustomMenuItem{public: MyMenuItem( const QString& s, const QFont& f ) : string( s ), font( f ){}; ~MyMenuItem(){} void paint( QPainter* p, const QColorGroup& /*cg*/, bool /*act*/, bool /*enabled*/, int x, int y, int w, int h ) { p->setFont ( font ); p->drawText( x, y, w, h, AlignLeft | AlignVCenter | ShowPrefix | DontClip, string ); } QSize sizeHint() { return QFontMetrics( font ).size( AlignLeft | AlignVCenter | ShowPrefix | DontClip, string ); }private: QString string; QFont font;};#endif //end of POWER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -