BlueFlashToolDlg.h 4.09 KB
// BlueFlashToolDlg.h : header file
//
//{{AFX_INCLUDES()
#include "mscomm.h"
#include "afxwin.h"
//}}AFX_INCLUDES

#if !defined(AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_)
#define AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CBlueFlashToolDlg dialog

class CBlueFlashToolDlg;

typedef struct ThreadData
{
	CBlueFlashToolDlg* pDlg;
	BYTE blue_device_type;
	int nIndex;
	HANDLE	m_hThread;
	bool StopThread;
	CString Filename;
	CMSComm *pctrlMSComm;
}FLASH_THREAD_DATA;


class CBlueFlashToolDlg : public CDialog
{
// Construction
public:
	void UpdateGroupsCaptions();
	CBlueFlashToolDlg(CWnd* pParent = NULL);	// standard constructor
	CComboBox myctrlComboComPort[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];
	//多选框
	CButton *pcheckButton[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];
	//下载按钮
	CButton myctrlStartButton[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];
	//SN显
	CStatic *pStaticSn[MAX_TOPWELL_DEVICE_NUM];
	//进度条
	CProgressCtrl myctrlProcess[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];
	//控件
	CMSComm *pctrlMSComm[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];
	//20个PCB检测指示器
	CStatic myctrlPcbState[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];;
	//每条线的UART口是否有效
	bool ifUartEnable[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];
	//待写入的SN号
	int mySN_readwrite[MAX_TOPWELL_DEVICE_NUM];
	//现成数据
	FLASH_THREAD_DATA	myThreadData[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM];;
	//存在UART口
	CStringArray myStrAryExistPort;
	//可用UART口
	CStringArray myStrAryNoneOpenedPort;
	//已经被占用UART口
	CStringArray myStrAryAlreadyOpenedPort;
	//不存在的UART口
	CStringArray myStrAryNotExistPort;

	HBITMAP myBitmapWait;
	HBITMAP myBitmapReady;


	int DBG_print(const char * strMsg, ...);


// Dialog Data
	//{{AFX_DATA(CBlueFlashToolDlg)
	enum { IDD = IDD_BLUEFLASHTOOL_DIALOG };
	CMSComm	mycom_debug;
	CMSComm mycom01;
	CMSComm mycom02;
	CMSComm mycom03;
	CMSComm mycom04;
	CMSComm mycom05;
	CMSComm mycom06;
	CMSComm mycom07;
	CMSComm mycom08;
	CMSComm mycom09;
	CMSComm mycom10;
	CMSComm mycom11;
	CMSComm mycom12;
	CMSComm mycom13;
	CMSComm mycom14;
	CMSComm mycom15;
	CMSComm mycom16;
	CMSComm mycom17;
	CMSComm mycom18;
	CMSComm mycom19;
	CMSComm mycom20;
	CMSComm mycom21;
	CMSComm mycom22;
	CMSComm mycom23;
	CMSComm mycom24;
	CMSComm mycom25;
	CMSComm mycom26;
	CMSComm mycom27;
	CMSComm mycom28;
	CMSComm mycom29;
	CMSComm mycom30;
	CMSComm mycom31;
	CMSComm mycom32;
	CMSComm mycom33;
	CMSComm mycom34;
	CMSComm mycom35;
	CMSComm mycom36;
	CMSComm mycom37;
	CMSComm mycom38;
	CMSComm mycom39;
	CMSComm mycom40;
	CMSComm mycom41;
	CMSComm mycom42;
	CMSComm mycom43;
	CMSComm mycom44;
	CMSComm mycom45;
	CMSComm mycom46;
	CMSComm mycom47;
	CMSComm mycom48;
	CMSComm mycom49;
	CMSComm mycom50;

	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CBlueFlashToolDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CBlueFlashToolDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButtonSetting();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	DECLARE_EVENTSINK_MAP()
	afx_msg void OnBnClickedButtonInitComport();
	afx_msg void OnBnClickedCheckEarUsb();
	afx_msg void OnBnClickedButtonStartUsbEar();
	afx_msg void OnBnClickedCheckEarUsbAll();
	afx_msg void OnDestroy();

	void OnCommMscommDebug();
	bool OpenComport(BLUE_DEVICE_TYPE earOrUsb, int index);
	void OnCommMscomm1(UINT nID);
	bool SendFileToComPort(BLUE_DEVICE_TYPE earOrUsb, int index);
	
	//调试信息列表
	CListBox mylistDebugInfo;
	//
	CButton mycheckUsbAll;

	

	afx_msg void OnBnClickedStartAll();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_)