📄 simulationdoc.h
字号:
// SimulationDoc.h : interface of the CSimulationDoc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SIMULATIONDOC_H__4F08F84C_BED3_46B3_A068_C759467159F8__INCLUDED_)
#define AFX_SIMULATIONDOC_H__4F08F84C_BED3_46B3_A068_C759467159F8__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define BASE_ADDRESS 0x1000h
#define STATE_ADDRESS BASE_ADDRESS+1
#define READ_ADDRESS BASE_ADDRESS+2
#define WRITE_ADDRESS BASE_ADDRESS+3
#define BUFFERREAD_LEN 4000
#define BUFFERSHOW_LEN 800
class CSimulationDoc : public CDocument
{
protected: // create from serialization only
CSimulationDoc();
DECLARE_DYNCREATE(CSimulationDoc)
// Attributes
public:
unsigned short* m_pSRData; // 指向原始剪力数据的指针
unsigned short* m_pWTData; // 指向原始重力数据的指针
int* m_pCOData; // 指向原始合力数据的指针
long m_SRDataLen; // 原始剪力数据长度
long m_WTDataLen; // 原始重力数据长度
long m_CODataLen; // 原始合力数据长度
int m_SRMaxValue; // 原始剪力数据中的最大值
int m_SRMinValue; // 原始剪力数据中的最小值
int m_WTMaxValue; // 原始重力数据中的最大值
int m_WTMinValue; // 原始重力数据中的最小值
int m_COMaxValue; // 原始合力数据中的最大值
int m_COMinValue; // 原始合力数据中的最小值
int m_Interval; // 显示数据的采样频率
unsigned short* m_pSRShow; // 保存要显示的剪力数据
unsigned short* m_pWTShow; // 保存要显示的重力数据
int* m_pCOShow; // 保存要显示的合力数据
unsigned short* m_pSimuSRData; // 指向模拟的剪力数据的指针
unsigned short* m_pSimuWTData; // 指向模拟的重力数据的指针
int* m_pSimuCOData; // 指向模拟的合力数据的指针
long m_SRSimuDataLen; // 模拟的剪力数据的长度
long m_WTSimuDataLen; // 模拟的重力数据的长度
long m_COSimuDataLen; // 模拟的合力数据的长度
int m_SRSimuMaxValue; // 模拟的剪力数据中的最大值
int m_WTSimuMaxValue; // 模拟的重力数据中的最大值
int m_COSimuMaxValue; // 模拟的合力数据中的最大值
int m_GroupData[6]; // 用于保存用户输入的动态编组数据
unsigned short m_ReadSRBuffer[BUFFERREAD_LEN]; //读重力数据缓冲区
unsigned short m_ReadWTBuffer[BUFFERREAD_LEN]; //读剪力数据缓冲区
unsigned short m_ShowSRBuffer[BUFFERSHOW_LEN]; //显示重力数据缓冲区
unsigned short m_ShowWTBuffer[BUFFERSHOW_LEN]; //显示剪力数据缓冲区
int m_ShowCOBuffer[BUFFERSHOW_LEN]; //显示合力数据缓冲区
int m_ReadSRLen; //已读取的重力数据的长度
int m_ReadWTLen; //已读取的剪力数据的长度
long m_UpPoints[50]; //保存合力数据中的上跳点
long m_DownPoints[50]; //保存合力数据中的下跳点
int m_LenUpPoints; //保存合力数据中的上跳点数
int m_LenDownPoints; //保存合力数据中的下跳点数
// Operations
public:
// 根据文件名从文件中读取原始数据,并返回读取的数据指针和数据长度
unsigned short* ReadDataFromFile(long* pDataLen, CString strFileName);
// 从数据中获取最大值
int GetMaxValue(int* pData,long DataLen);
int GetMaxValue(unsigned short* pData,long DataLen);
// 根据原始剪力和重力数据产生合力数据
BOOL GetCOData();
//数组排序
void Sort(unsigned short* pData,long len);
//窗口大小为5的中值滤波
void MidValueFilter5(unsigned short* pData,long len);
//窗口大小为任意奇数的平滑滤波
void SmoothFilter(unsigned short* pData,long len,int window);
void SmoothFilter(int* pData,long len,int window);
// 根据间隔大小从原始数据中提取要显示的数据
unsigned short* GetShowData(unsigned short* pData,long len);
int* GetShowData(int* pData,long len);
//按一定的间隔从采集数据缓冲区中提取数据到显示数据缓冲区
void GetShowDataFromBuffer();
//根据动态分组和标准数据产生模拟数据
void GenerateSimuData();
//将生成的模拟数据传送给模拟信号发生板,产生模拟信号
void DAConvertion();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSimulationDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CSimulationDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CSimulationDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SIMULATIONDOC_H__4F08F84C_BED3_46B3_A068_C759467159F8__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -