📄 nvrambuild.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 + -