⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nvrambuild.h

📁 The PCI Local bus concept was developed to break the PC data I/O bottleneck and clearly opens the d
💻 H
字号:
#if !defined(AFX_NVRAMBUILD_H__1C029584_E5EE_45E7_AFB0_AC0E5E96CF10__INCLUDED_)
#define AFX_NVRAMBUILD_H__1C029584_E5EE_45E7_AFB0_AC0E5E96CF10__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// NVRAMBuild.h : header file
//

#include "GridMethods.h"

#define MAX_DATA_BUFFER 2048
#define MIN_DATA_ROWS 20

/////////////////////////////////////////////////////////////////////////////
// CNVRAMBuild dialog
class CAMCCPCI3WinDlg;
class CSaveRestore;
class CStdPCIParams;

class CNVRAMBuild : public CDialog
{
// Construction
public:
	CNVRAMBuild(CWnd* pParent = NULL);   // standard constructor

	void Initialize(CAMCCPCI3WinDlg *caller, int board );

	CAMCCPCI3WinDlg *pMain;

	void DisplayData(void);

	void KillWindow( int id );

	bool data_dirty;

// Dialog Data
	//{{AFX_DATA(CNVRAMBuild)
	enum { IDD = IDD_DIALOG_NVRAM_BUILD };
		// NOTE: the ClassWizard will add data members here

	CEdit m_Edit_CURRENT_FILE_NAME;
	CEdit m_Edit_CURRENT_FILE_NAME_WRITE;

	CComboBox m_Combo_FILE_NAMES;

	CButton m_Radio_HEX;
	CButton m_Radio_DECIMAL;
	CButton m_Radio_BINARY;

	CComboBox m_Combo_NVRAM_TYPE;

	CButton m_Check_READ_INTEL_HEX;
	CButton m_Check_READ_MERGE;
	CButton m_Check_WRITE_INTEL_HEX;

	CEdit m_Edit_ADDRESS;
	CEdit m_Edit_DATA;

	CButton m_Static_ADDR_BASE;
	CButton m_Static_DATA_BASE;

	CButton m_Button_PCI_PARAMETERS;
	CButton m_Button_UPDATE_DATA;
	CButton m_Button_ZERO_DATA;
	CButton m_Button_WRITE_TO_NVRAM;
	CButton m_Button_READ_FROM_NVRAM;
	CButton m_Button_CHECKSUM_GRID_DATA;
	CButton m_Button_WRITE_NVRAM;
	CButton m_Button_REREAD;

	CButton m_Check_ADDR_AS_BASE;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CNVRAMBuild)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CNVRAMBuild)
	virtual void OnCancel();
	afx_msg void OnButtonBrowse();
	afx_msg void OnHex();
	afx_msg void OnDecimal();
	afx_msg void OnBinary();
	afx_msg void OnButtonStartOfFile();
	afx_msg void OnButtonBottomOfFile();
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnButtonReread();
	afx_msg void OnDblClickGrid1();
	afx_msg void OnButtonZeroData();
	afx_msg void OnButtonUpdateData();
	afx_msg void OnButtonWriteNvram();
	afx_msg void OnButtonLoadFile();
	afx_msg void OnButtonWriteFile();
	afx_msg void OnButtonBrowseWrite();
	afx_msg void OnButtonWriteToNvram();
	afx_msg void OnButtonReadFromNvram();
	afx_msg void OnButtonChecksumGridData();
	afx_msg void OnButtonPciParameters();
	afx_msg void OnButtonPlusOne();
	afx_msg void OnButtonMinusOne();
	DECLARE_EVENTSINK_MAP()
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:

	CGridCtrl	m_GridControl;
	CGridMethods *pGridMethods;

	CSaveRestore *pSaveRestore;

	CStdPCIParams *pStdPCIParams;

	int cur_board;

	bool grid_overhead_flag;

	int num_rows, num_data_rows, num_cols, col_width;
	int num_base;
	int old_num_base;

	char latest_file_name[256];

	int num_data_bytes;
	int offset_data_bytes;
	int file_byte_size;

	unsigned char data_bytes[MAX_DATA_BUFFER];
	unsigned char wdata_bytes[MAX_DATA_BUFFER];

	void ReadData(void);
	void WriteData(void);
	bool CompareData(void);
	void ZeroData(void);

//	void DisplayData(void);
	void AddDisplayString( char *stri, char *stro, int size_stro );

	void SetupEditData(void);

	void SetupDataGrid( void );
	void DrawDataValues( void );

	int hex2i( char *str, int cnt );
	int atoh( char *str );
	int ConvertStringToNumber( int base, char *string );
	void ConvertNumberToString( unsigned short number, unsigned short count, int base, char *string );

	void AddNameToComboList( char *new_name );
	int ReadFile( void );
	int ReadIntelHexFile();

	void SaveFile(void);
	void SaveIntelHexFile(void);
	int Save_HEX_Data( FILE *fp );
	int Output_HEX_Line(FILE *fp, int addr, long bytes_left, unsigned char *ptr, int *bytes_written);
	int Output_Hex_EOF( FILE *fp );

	UINT16 Get_Init_Size( UINT8 *buffer, UINT32 buffsize, char *errstring );
	UINT8 Checksum(UINT8 *data, UINT16 len);

	void DisableAll(void);
	void EnableAll(void);

	void TestError( UINT32 code );

};

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

#endif // !defined(AFX_NVRAMBUILD_H__1C029584_E5EE_45E7_AFB0_AC0E5E96CF10__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -