SSPC-Tester/Driver/PCIE8586/Samples/VC/Advanced/UserDef.h

172 lines
5.2 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "ACTS1000.h" // 包含驱动程序接口
#include "ADThread.h"
//#############################################################
// 定义用于控制数据位数及量程的常数
#define VOLT_RANGE 1000.0 // 量程mV(注意必须带小数)
// 定义其他常量
#define MAX_CHANNEL_COUNT ACTS1000_AD_MAX_CHANNELS
#define MAX_SEGMENT 16
#define MAX_RAM_SIZE (1024*256) // 每通道RAM的最大容量(点或字)
#define MAX_RAM_SIZE_32M (1024*1024*32) // 每通道RAM的最大容量(点或字)
//#############################################################
// Header define
#define PCI_BUS 0x01
#define USB_BUS 0x02
#define ISA_BUS 0x03
#define PC104_BUS 0x04
#define PXI_BUS 0x05
#define PXIE_BUS 0x2012
#define PCIE_BUS 0x2011
#define PRO_MODE 0x01 // 非空采集
#define INT_MODE 0x02 // 中断采集
#define DMA_MODE 0x03 // DMA采集
#define AD_FILE_TYPE 0x00 // 存储AD数据的文件
#define DA_FILE_TYPE 0x01 // 存储DA数据的文件
#define DIO_FILE_TYPE 0x02 // 存储DIO数据的文件
#define DEFAULT_FILE_TYPE AD_FILE_TYPE
//#define DEFAULT_BUS_TYPE PXIE_BUS // 设备类型(PCI)
#define DEFAULT_DEVICE_NUM 0x6666 // 设备编号,程序编号是否为本程序保存的数据文件
#define DEFAULT_VOLTBOTTOM_RANGE -50000
#define DEFAULT_VOLTTOP_RANGE 5000
#define DEFAULT_DATA_WIDTH 0x14 // 设备的精度(14位)
#define HEAD_END_FLAG 0xAA55AA55
#define PCIE8502D_RID 0xD0
#define DATA_MODE 1 // 数字显示
#define WAVE_MODE 2 // 波形显示
#define SAVE_MODE 3 // 存盘处理
// 数字窗口显示模式
#define DEC_DATAMODE 0 // 十进制显示
#define HEX_DATAMODE 1 // 十六进制显示
#define VOLT_DATAMODE 2 // 电压值显示
typedef struct _FILE_HEADER
{
LONG HeadSizeBytes; // 文件头信息长度
LONG FileType;
// 该设备数据文件共有的成员
LONG BusType; // 设备总线类型(DEFAULT_BUS_TYPE)
LONG DeviceNum; // 该应用程序标志(DEFAULT_DEVICE_NUM)
LONG DeviceType; // 该设备的编号8514 8504 8512 8502...
LONG VoltBottomRange; // 量程下限(mV)
LONG VoltTopRange; // 量程上限(mV)
LONG ChannelCount; // 通道总数
LONG DataWidth; // 设备的精度(分辩率)
LONG bXorHighBit; // 是否高位求反(为1则求反)
ACTS1000_PARA_AD ADPara; // 保存硬件参数
ACTS1000_STATUS_AD ADStatus; // 保存硬件参数
ACTS1000_AD_MAIN_INFO ADMainInfo; // 保存硬件参数
LONG CrystalFreq; // 晶振频率
ULONGLONG CreateFTime; // 创建文件时间
ULONG nRevisionID;
BYTE Reserved0[124]; // 结构体整体大小1024字节
LONG HeadEndFlag; // 头信息结束位
} FILE_HEADER, *PFILE_HEADER;
//#############################################################
// external declare
extern WORD* ADBuffer[MAX_SEGMENT]; // 缓冲队列
extern WORD* ADDrawBuffer;
extern BOOL m_bDrawComp;
extern ACTS1000_PARA_AD ADPara;
extern ACTS1000_PARA_AD OldADPara;
extern ACTS1000_STATUS_AD pADStatus;
extern ACTS1000_AD_MAIN_INFO gl_ADMainInfo;
extern WORD gl_wMaxLSB;
extern float gl_fLsbCount;
extern WORD gl_lLsbHalf;
extern int gl_ScreenVolume;
extern int m_TriggerVolt;
extern int WavePointX;
extern int CurrentIndex;
extern HANDLE hDevice;
extern CEdit* pCountEdit;
extern BOOL m_BounceStop;
extern BOOL m_AnalyzeCheck;
extern BOOL m_bCreateDevice;
extern int glOffset;
extern int glBufferID;
extern int m_BounceCount;
extern float m_AnalyzeAllCount;
extern UINT m_OverLimitCount;
extern BOOL m_bProgress;
extern float Center, PerY;
extern CRect ClientRect;
extern float middle1;
extern BOOL bDrawing;
extern int nChannelArrayClient[MAX_CHANNEL_COUNT];
extern int DisplayChannel[MAX_CHANNEL_COUNT];
extern BOOL m_bFirstCreateDeviceFile;
extern int m_ProcessDigitalMode;
extern int m_ProcessGraphicMode;
extern int m_AnalyzeChannel;
extern int m_UpperLimit;
extern int m_LowerLimit;
extern ULONGLONG gl_pulDDR2Length;
extern BOOL gl_bRt;
extern ULONGLONG gl_DDR2Lenth;
extern CEdit* pRangeEdit;
extern CEdit* pRatioEdit;
extern int m_ProcessMoveVolt;
extern int nProcessMode;
extern BOOL bBunch;
extern int m_DigitalDataShowMode;
extern SHORT InUserRegion[MAX_SEGMENT][16384];
extern BOOL gl_bAutoCollect;
extern float OutAnalogValve;
extern int ReadIndex;
extern HANDLE g_ArrFileOut;
extern HANDLE hEvent;
extern HANDLE hExitEvent;
extern BOOL gl_bDeviceADRun;
extern BOOL gl_bAutoTrig;
extern BOOL bCreateDevice;
extern ULONGLONG FileLenghtWords;
extern BOOL gl_Event;
extern BOOL gl_bCollected;
extern BOOL m_bCloseFile;
extern int gl_MiddleLsb[MAX_CHANNEL_COUNT];
extern int gl_nSampleMode;
extern BOOL gl_bTileWave;
extern ULONG gl_nSampleLenth;
extern float gl_PerLsbVoltM[MAX_CHANNEL_COUNT];
extern LONG gl_nTriggerPos;
extern ULONG gl_StartAddr;
extern int gl_nChannelCount;
extern int gl_nSaveFileCount;
extern BOOL gl_bSmlThenSize;
extern ULONGLONG gl_ReadSizeWords;
#define MsgBox AfxMessageBox
CString strMsg;
extern CString g_strFileFullName;
extern ULONG gl_ChannelArrary[MAX_CHANNEL_COUNT];
extern ACTS1000_STATUS_AD gl_ADStatus;
extern ULONG m_nSampRangeCount;
extern ULONG m_nSampRangeVal[8];
extern TCHAR g_strChannelEn[2][64];
extern TCHAR g_strGain[4][64];
extern TCHAR g_strRefGround[3][64];
extern TCHAR g_strAIRange[3][64];
extern TCHAR g_strInputImped[2][64];
extern ULONG gl_CHIdx[MAX_CHANNEL_COUNT];
extern CCriticalSection gl_Section;
extern ULONG gl_nDrawLen;
extern ULONG gl_nDocDrawLen;
extern ULONG gl_nDrawIdx;
extern ULONG gl_nDocDrawIdx;