172 lines
5.2 KiB
C
172 lines
5.2 KiB
C
|
|
#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;
|