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

172 lines
5.2 KiB
C
Raw Permalink Normal View History

#include "ACTS1000.h" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
#include "ADThread.h"
//#############################################################
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵ij<CCB5><C4B3><EFBFBD>
#define VOLT_RANGE 1000.0 // <20><><EFBFBD>̣<EFBFBD>mV<6D><56><><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>)
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MAX_CHANNEL_COUNT ACTS1000_AD_MAX_CHANNELS
#define MAX_SEGMENT 16
#define MAX_RAM_SIZE (1024*256) // ÿͨ<C3BF><CDA8>RAM<41><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
#define MAX_RAM_SIZE_32M (1024*1024*32) // ÿͨ<C3BF><CDA8>RAM<41><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
//#############################################################
// 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 // <20>ǿղɼ<D5B2>
#define INT_MODE 0x02 // <20>жϲɼ<CFB2>
#define DMA_MODE 0x03 // DMA<4D>ɼ<EFBFBD>
#define AD_FILE_TYPE 0x00 // <20>洢AD<41><44><EFBFBD>ݵ<EFBFBD><DDB5>ļ<EFBFBD>
#define DA_FILE_TYPE 0x01 // <20>洢DA<44><41><EFBFBD>ݵ<EFBFBD><DDB5>ļ<EFBFBD>
#define DIO_FILE_TYPE 0x02 // <20>洢DIO<49><4F><EFBFBD>ݵ<EFBFBD><DDB5>ļ<EFBFBD>
#define DEFAULT_FILE_TYPE AD_FILE_TYPE
//#define DEFAULT_BUS_TYPE PXIE_BUS // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>(PCI)
#define DEFAULT_DEVICE_NUM 0x6666 // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>򱣴<EFBFBD><F2B1A3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
#define DEFAULT_VOLTBOTTOM_RANGE -50000
#define DEFAULT_VOLTTOP_RANGE 5000
#define DEFAULT_DATA_WIDTH 0x14 // <20><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>(14λ)
#define HEAD_END_FLAG 0xAA55AA55
#define PCIE8502D_RID 0xD0
#define DATA_MODE 1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
#define WAVE_MODE 2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
#define SAVE_MODE 3 // <20><><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
// <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>ʾģʽ
#define DEC_DATAMODE 0 // ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
#define HEX_DATAMODE 1 // ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
#define VOLT_DATAMODE 2 // <20><>ѹֵ<D1B9><D6B5>ʾ
typedef struct _FILE_HEADER
{
LONG HeadSizeBytes; // <20>ļ<EFBFBD>ͷ<EFBFBD><CDB7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
LONG FileType;
// <20><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>еij<D0B5>Ա
LONG BusType; // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(DEFAULT_BUS_TYPE)
LONG DeviceNum; // <20><>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>־(DEFAULT_DEVICE_NUM)
LONG DeviceType; // <20><><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>8514 8504 8512 8502...
LONG VoltBottomRange; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(mV)
LONG VoltTopRange; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(mV)
LONG ChannelCount; // ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LONG DataWidth; // <20><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>(<28>ֱ<EFBFBD><D6B1><EFBFBD>)
LONG bXorHighBit; // <20>Ƿ<EFBFBD><C7B7><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>(Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
ACTS1000_PARA_AD ADPara; // <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACTS1000_STATUS_AD ADStatus; // <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACTS1000_AD_MAIN_INFO ADMainInfo; // <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LONG CrystalFreq; // <20><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
ULONGLONG CreateFTime; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1>
ULONG nRevisionID;
BYTE Reserved0[124]; // <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С1024<32>ֽ<EFBFBD>
LONG HeadEndFlag; // ͷ<><CDB7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>λ
} FILE_HEADER, *PFILE_HEADER;
//#############################################################
// external declare
extern WORD* ADBuffer[MAX_SEGMENT]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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;