📄 testdlg.h
字号:
// testDlg.h : header file
//
#if !defined(AFX_TESTDLG_H__0B453A60_AE2F_4119_AF51_CC52D47F30DF__INCLUDED_)
#define AFX_TESTDLG_H__0B453A60_AE2F_4119_AF51_CC52D47F30DF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CTestDlg dialog
#include "TestListBox.h"
#include "CommPort.h"
#include "ControlCAN.h"
enum FuncCode
{
REQUEST_SOFT_VER = 193,
ACT_REQUEST_SOFT_VER = 129,
REQUEST_FAILURE_INFO = 194,
ACT_REQUEST_FAILURE_INFO = 130,
REQUEST_WATCH_PARA = 198,
ACT_REQUEST_WATCH_PARA = 134,
REQUEST_CTRL_NODERUN = 195,
ACT_REQUEST_CTRL_NODERUN = 131,
SEND_DATA_CTRL_NODERUN = 196,
ACT_DATA_CTRL_NODERUN = 132,
REQUEST_PROGRAM_DOWN = 199,
ACT_REQUEST_PROGRAM_DOWN = 135,
SEND_DATA_PROGRAM_DOWN = 200,
ACT_DATA_PROGRAM_DOWN = 136,
REQUEST_MODIFY_PARA = 210,
ACT_REQUEST_MODIFY_PARA = 146,
SEND_PARA1_DATA = 211,
ACT_PARA1_DATA = 147,
SEND_PARA2_DATA = 212,
ACT_SUCCESS_MODIFY = 148,
REQUEST_RESERVED = 192,
ACT_REQUEST_RESERVED = 128
};
typedef struct
{
union
{
BYTE NODE;
struct
{
BYTE nodebit0 :1;
BYTE nodebit1 :1;
BYTE nodebit2 :1;
BYTE nodebit3 :1;
BYTE nodebit4 :1;
BYTE nodebit5 :1;
BYTE nodebit6 :1;
BYTE nodebit7 :1;
};
};
}CANNODE,*PCANNODE;
class CTestDlg : public CDialog
{
// Construction
public:
bool m_bIsOnNode0,m_bIsOnNode1,m_bIsOnNode2,m_bIsOnNode3,m_bIsOnNode4,m_bIsOnNode5,m_bIsOnNode6,m_bIsOnNode7;
CString m_strSdVoltage1,m_strSdVoltage2;
bool m_bCheckDataType;
BYTE m_byteNodeNo;
bool m_bProgramDown;
int m_iActFuncCodeProgramDown;
BYTE m_byteActStatusPragramDown;
CArray<VCI_CAN_OBJ,VCI_CAN_OBJ&> m_ArrayActCanFrame;
COleDateTime m_timeConnect;
bool m_bSendTimer;
bool m_bExtendWindow;
bool m_bAutoSaveCan;
bool m_bSourceDataViewEnable;
unsigned char m_bufFrame[13];
CString m_strAppPath;
long m_iFrameCount;
int m_cannum;
int m_devtype;
DWORD m_devind;
CString m_strBaudRate;
int m_iRevPort;
int m_iSndPort;
BYTE m_byteIP[4];
static UINT ReceiveThread(void *param);
static UINT ProgramDownThread(void *param);
static UINT ProcessActFrameThread(void *param);
void ProcessActFrame(VCI_CAN_OBJ frameinfo);
void SaveFrame(VCI_CAN_OBJ* pFrameinfo,int iSize,CFile* pFile);
void ShowInfo(CString str,int code);
int m_connect;
CTestDlg(CWnd* pParent = NULL); // standard constructor
int strtodata(unsigned char *str, unsigned char *data,int len,int flag);
int chartoint(unsigned char chr, unsigned char *cint);
void GetBaudRateCtrReg(int iBaudRate,UINT &uBTR0,UINT &uBTR1);
void UpdateIDRadio();
void ConvertVoltageString();
void SetSendDataEdit();
void SetSendFrameIDEdit();
void ReadConfig();
void WriteConfig();
void ConnectUSBCAN();
void ConnectCANET();
void UpdateUserInputWindow();
void EnableWindowRadioNode(bool bEnable);
void ListFileName(CString strPathName);
void AddActCanFrame(VCI_CAN_OBJ canFrame);
void SDOMessageAddString(CString strMessage);
void StopAllNodeRun();
void ResumeAllNodeRun();
// Dialog Data
//{{AFX_DATA(CTestDlg)
enum { IDD = IDD_TEST_DIALOG };
CComboBox m_cmbNodeNo;
CButton m_butConnect;
CButton m_butProgramDown;
CListBox m_listSelectingFile;
CListBox m_listSDOOutMessage;
CProgressCtrl m_progressProgramDown;
CComboBox m_cmbDevType;
CIPAddressCtrl m_IPAddress;
CEdit m_editFrameSum;
CButton m_button_extendwindow;
CProgressCtrl m_progressSysRunStatus;
CComboBox m_ComboAdChannel;
CListBox m_listAdjustMessage;
CComboBox m_ComboBaudRate;
CTestListBox m_ListInfo;
CComboBox m_ComboSendFrmType;
CComboBox m_ComboSendFrmFmt;
CString m_EditSendData;
CString m_EditSendFrmID;
CString m_EditCode;
CString m_EditMask;
float m_fStandardVoltage1;
float m_fStandardVoltage2;
int m_iTimePre;
CString m_strPathName;
int m_iNodeNo;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CTestDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
CRITICAL_SECTION m_Section;
// Generated message map functions
//{{AFX_MSG(CTestDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
virtual void OnCancel();
virtual void OnOK();
afx_msg void OnButtonConnect();
afx_msg void OnButtonSend();
afx_msg void OnMenuRefresh();
afx_msg void OnButtonClose();
afx_msg void OnButtonAutoAdjust();
afx_msg void OnSelectMessage();
afx_msg void OnRadioNode0On();
afx_msg void OnRadioNode1On();
afx_msg void OnRadioNode2On();
afx_msg void OnRadioNode3On();
afx_msg void OnRadioNode4On();
afx_msg void OnRadioNode5On();
afx_msg void OnRadioNode6On();
afx_msg void OnRadioNode7On();
afx_msg void OnRadioNode0Off();
afx_msg void OnRadioNode1Off();
afx_msg void OnRadioNode2Off();
afx_msg void OnRadioNode3Off();
afx_msg void OnRadioNode4Off();
afx_msg void OnRadioNode5Off();
afx_msg void OnRadioNode6Off();
afx_msg void OnRadioNode7Off();
afx_msg void OnCheckAutoSaveCan();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnCheckSourceDataView();
afx_msg void OnButtonExtendWindow();
afx_msg void OnButtonCalculate();
afx_msg void OnCheckTimerSend();
afx_msg void OnCheckDataType();
afx_msg void OnSelchangeCmbDevtype();
afx_msg void OnButProgramdown();
afx_msg void OnButBrowse();
afx_msg void OnSelchangeCmbNodeno();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TESTDLG_H__0B453A60_AE2F_4119_AF51_CC52D47F30DF__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -