📄 include.txt
字号:
// overall constants
#define MAXCHAN 8 // current maximum number of channels
// CONVERSIONINFO structure used in high-level DSAcquireWvfrmFile and
DSGenerateWvfrmFile calls
typedef struct {
// NOTES:
// 1) entire structure should be initialized to zero first, so that
default values can take
// effect for parameters not used
// 2) Current value in DSSetWaveformPath is used for waveform filename,
unless explicit
// path information is found in the filename
// 3) TrigDelay parameter not yet operational.
// basic information
char szFilename[144]; // [path]filename of file being acquired/generated
short int NumChan;
short int ChanList[MAXCHAN]; // channel list, maps physical channels to
waveform traces
float Fs; // sampling rate (in Hz)
DWORD NumSamples; // number of samples to acquire/generate
DWORD DAStartSample; // starting sample for D/A output operations
char szGainList[41]; // string specifying gain list for input channels;
can contain ',' and '-' other characters to specify lists and ranges
long Offset; // offset added to data (in A/D counts, can be +/-)
BOOL DALooping; // enables/disables continuous D/A looping;
0 or 1, valid only during generation (output)
BOOL Monitor; // enables/disables D/A loopback when recording;
0 or 1, valid only during acquisition (input)
BOOL FileSplit; // 1 enables A/D file-splitting for multichannel,
0 disables
BOOL StoreOnAbort; // 1 == store current wavefrom data on abort
DWORD Frmsiz; // framesize (stored in waveform header; used for
post-processing only)
// real-time digital filter information
char szFilter1[13]; // filename of real-time digital filter file;
can contain '/' character
char szFilter2[13]; // to allow dual-filter entry (filter files must
be located on same path as waveform)
// trigger information
WORD TrigMode; // trigger mode (0 = internal, 1 = external)
long TrigLevel; // trigger level (in A/D counts, can be +/-)
float TrigDelay; // delay from trigger relative to data (in sec,
can be +/-)
short int NumTrigChan;
short int TrigChanList[MAXCHAN]; // trigger channel list
// stimulus & response information
char szStimName[13]; // name of stimulus output file; used only for
DSStimRespMeasure function (must be located on same path as waveform)
char szStimMode[4]; // controls stimulus usage
in Stimulus/Response function
long StimDelay; // delay from stimulus onset to start of record
(+/- value)
} CONVERSIONINFO;
typedef CONVERSIONINFO FAR* PCONVERSIONINFO;
// DLL call prototypes
#ifdef __cplusplus
extern "C" {
#endif
// DLL error handling and status
short int WINAPI DSGetHWLibErrorStatus (void);
// board initialization and control functions (all processors simultaneous)
HBOARD WINAPI DSAssignBoard (HENGINE, LPCSTR, UINT, WORD, WORD);
UINT WINAPI DSFreeBoard (HBOARD);
UINT WINAPI DSGetBoardInfo (HBOARD, UINT);
UINT WINAPI DSInitBoard (HBOARD);
UINT WINAPI DSLoadFileBoard (HBOARD, LPCSTR);
UINT WINAPI DSResetBoard (HBOARD);
UINT WINAPI DSRunBoard (HBOARD);
UINT WINAPI DSDisableBoard (HBOARD);
UINT WINAPI DSHoldBoard (HBOARD);
// individual processor initialization and control functions
UINT WINAPI DSLoadFileProcessor (HBOARD, LPCSTR, WORD);
UINT WINAPI DSResetProcessor (HBOARD, WORD);
UINT WINAPI DSRunProcessor (HBOARD, WORD);
UINT WINAPI DSHoldProcessor (HBOARD, WORD);
// memory and variable transfers, IEEE conversion
UINT WINAPI DSPutMem (HBOARD, UINT, DWORD, UINT,
void far*, DWORD);
UINT WINAPI DSGetMem (HBOARD, UINT, DWORD, UINT,
void far*, DWORD);
UINT WINAPI DSPutDSProperty (HBOARD, DWORD, DWORD);
DWORD WINAPI DSGetDSPProperty (HBOARD, DWORD);
UINT WINAPI DSIEEEToDSP (HBOARD, UINT, void far*,
void far*, DWORD);
UINT WINAPI DSDSPToIEEE (HBOARD, UINT, void far*,
void far*, DWORD);
// wait-for-buffer and wait-for-flag
UINT WINAPI DSWaitForBuffer (HBOARD, short int, DWORD, UINT);
UINT WINAPI DSWaitForFlag (HBOARD, short int, DWORD, UINT);
UINT WINAPI DSCancelWaitBuffer (HBOARD, short int);
UINT WINAPI DSCancelWaitFlag (HBOARD, short int);
DWORD WINAPI DSGetBufferInfo (short int, UINT);
DWORD WINAPI DSGetFlagInfo (short int, UINT);
// interrogate board system parameters
WORD WINAPI DSGetBoardClass (HBOARD);
DWORD WINAPI DSCalcSampFreq (HBOARD, float, short int,
short int far*, float far*);
DWORD WINAPI DSGetMemSize (HBOARD, WORD);
UINT WINAPI DSGetMemArch (HBOARD);
WORD WINAPI DSGetWordLength (HBOARD);
DWORD WINAPI DSGetSymbolAddress (HBOARD, LPCSTR, LPCSTR);
// get/set board base addresses, bus type, registers, etc.
WORD WINAPI DSGetBoardBaseAddr (HBOARD, UINT);
UINT WINAPI DSSetBoardBaseAddr (HBOARD, UINT, WORD);
UINT WINAPI DSGetBoardBusType (HBOARD);
UINT WINAPI DSSetBoardBusType (HBOARD, UINT);
WORD WINAPI DSReadBoardReg (HBOARD, WORD);
UINT WINAPI DSWriteBoardReg (HBOARD, WORD, WORD);
UINT WINAPI DSRestoreBoardDefaults (HBOARD);
// high-level functions
UINT WINAPI DSAcquireWvfrmFile
(HBOARD, PCONVERSIONINFO, UINT);
UINT WINAPI DSGenerateWvfrmFile (HBOARD, PCONVERSIONINFO, UINT);
#ifdef __cplusplus
}
#endif
// error codes
#define DSDSPFILENOTFOUND 11
#define DSHARDWARENOTRESPONDING 10
#define DSINVALIDBOARDHANDLE -50
#define DSCOULDNOTOPENTEMPLATEFILE -51
#define DSCOULDNOTCREATESOURCEFILE -52
#define DSCREATINGENGINEPROGRAMERROR -53
#define DSUNABLETOALLOCATEMEMORY -54
#define DSUNABLETOREADTEMPLATEFILE -55
#define DSERRORINDATAPARAM -56
#define DSBOARDDOESNOTSUPPORTCALL -57
#define DSINVALIDWORDLENGTH -58
#define DSINVALIDMEMORYTYPE -59
#define DSUNKNOWNCALLCLASSIFICATION -60
#define DSINVALIDBOARDDESIGNATOR -61
#define DSBOARDNOTINHWSETUPFILE -62
#define DSALLBOARDHANDLESALLOCATED -63
#define DSINVALIDPROCESSORNUMBER -64
// AssignBoard constants
#define DS_AB_PCXT 0 // bus types
#define DS_AB_PCAT 0
#define DS_AB_ENABLE80X86INST 1
// memory types returned by GetMemArch
#define DS_GMA_LINEAR 1
#define DS_GMA_HARVARD 2
#define DS_GMA_VECTOR 3
// memory types for DSGetMem and DSPutMem
#define DS_GM_VECTOR_DATA_X 1 // vector "X" data memory
#define DS_GM_VECTOR_DATA_Y 2 // vector "Y" data memory
#define DS_GM_LINEAR_DATA_RT 3 // linear data memory, real-time
(useful for some TMS320 series board only)
#define DS_GM_LINEAR_DATA 4 // linear data memory
#define DS_GM_LINEAR_PROGRAM 5 // linear program memory
// bit-width constants for DSGetMem and DSPutMem
#define DS_GM_SIZE8 1 // 8-bits
#define DS_GM_SIZE16 2 // 16-bits
#define DS_GM_SIZE24 3 // 24-bits
#define DS_GM_SIZE32 4 // 32-bits
// constants for DSWaitForBoardBuffer and DSWaitForBoardFlag
#define DS_WFB_POLLED 0 // polled notification
#define DS_WFB_INTERRUPT 1 // interrupt-driven notification
#define DS_WFB_SYNC 16 // synchronous operation bit:
combine with type to wait for buffer to complete
// constants for DSGetBoardBaseAddr and DSSetBoardBaseAddr
#define DS_GBBA_IOADDR 0 // I/O base address
#define DS_GBBA_MEMADDR 1 // memory base address
// constants for DSGetBoardInfo
#define DS_GBI_ENGINEHANDLE 0
#define DS_GBI_DRIVERID 1
#define DS_GBI_CALLSALLOWED 2
#define DS_GBI_HWMGRENTRYINDEX 3
#define DS_GBI_DSPWORDLENGTH 4 // result return in bits
// constants for DSDSPToIEEE and DSIEEEToDSP
#define DS_DTI_IEEESIZE32 4
#define DS_DTI_IEEESIZE64 8
// constants for DSAcquireWvfrmFile and DSGenerateWvfrmFile
#define DS_AWF_ASYNC 0 // asynchronous operation (default)
#define DS_AWF_SYNC 1 // synchronous operation
(wait for file to complete)
// identifiers which can be used in DSPutDSPProperty and DSGetDSPProperty calls;
see Signalogic
// DSP Software Reference Guide, Hypersignal DSP Source Code Variables and Flags
#define DSP_BOARDCLASS 0x42F // board classification
#define DSP_OPMODE 0x430 // operating mode
#define DSP_BUSYFLG 0x431 // DSP busy flag
#define DSP_OVERFLOW 0x432 // overflow flag
#define DSP_MINVAL 0x433 // minimum value in acquisition or processing
#define DSP_FFTORD 0x434 // FFT order
#define DSP_FRMSIZ 0x435 // Framesize
#define DSP_FFTLEN 0x436 // FFT length
#define DSP_MAXVAL 0x437 // maximum value in acquisition or
processing buffer
#define DSP_RIFLG 0x438 // real/imaginary Flag
#define DSP_COUPLIST 0x439 // analog input coupling list
#define DSP_GAINLIST 0x43A // analog input gain list
#define DSP_FSMODE 0x43B // sampling rate clock generator mode value
#define DSP_TRIGLEVEL 0x43C // analog input trigger level
#define DSP_BUFLEN 0x43D // acquisition or
processing buffer length
#define DSP_HOSTBUFNUM 0x43E // current host buffer flag
#define DSP_BUFNUM 0x43F // current DSP buffer flag
#define DSP_SCALEIN 0x440 // analog input digital scale factor
#define DSP_OFFSETIN 0x441 // analog input digital offset
#define DSP_WINSCL 0x442 // frequency domain window scaling factor
#define DSP_PHZREQ 0x443 // hase data required
#define DSP_DUPFLG 0x444 // duplicate trace flag
#define DSP_FILTADDR1 0x445 // filter 1 coefficient address
#define DSP_CHANLIST 0x446 // analog input channel list
#define DSP_TRIGCHANLIST 0x447 // analog input trigger channel list
#define DSP_SCALEOUT 0x448 // analog output digital scaling factor
#define DSP_OFFSETOUT 0x449 // analog output digital offset
#define DSP_FILTADDR2 0x44A // filter 2 Coefficient Address
#define DSP_MAXVALREAL 0x44B // real component of complex data maximum value
#define DSP_MAXVALIMAG 0x44C // imag component of complex data maximum value
#define DSP_FILTLEN1 0x44D // filter 1 length
#define DSP_FILTLEN2 0x44E // filter 2 length
#define DSP_LOGFLG1 0x44F // log magnitude flag, trace 1
#define DSP_LOGFLG2 0x450 // log magnitude flag, trace 2
#define DSP_FILTTYPE1 0x451 // filter type, trace 1
#define DSP_FSVALUE 0x452 // sampling rate value (in Hz)
#define DSP_PWRFLG1 0x453 // power spectra flag, trace 1
#define DSP_PWRFLG2 0x454 // power spectra flag, trace 2
#define DSP_PWRCOEFFA 0x455 // power spectra exponential filter coefficient a
#define DSP_PWRCOEFFB 0x456 // power spectra exponential filter coefficient b
#define DSP_XFERFLG1 0x457 // transfer function flag, trace 1
#define DSP_XFERFLG2 0x458 // transfer function flag, trace 2
#define DSP_MAXVAL1 0x459 // maximum amplitude, trace 1
#define DSP_MAXVAL2 0x45A // maximum amplitude, trace 2
#define DSP_NUMCHAN 0x45B // number of analog input or output channels
#define DSP_BOARDSUBCLASS 0x45C // board subclassification
#define DSP_TIMDATAADDR 0x45D // time domain data base address
#define DSP_RIDATAADDR 0x45E // complex data base address
#define DSP_MAGDATAADDR 0x45F // magnitude/phase data base address
#define DSP_WINDATAADDR 0x460 // window data base address
#define DSP_MONITORFLG 0x461 // monitor mode flag
#define DSP_IOMODULE 0x462 // I/O module indicator
#define DSP_SERIALCTRL 0x463 // serial port control for special cases
#define DSP_LOGCOEFFA 0x464 // log magnitude scaling coefficient a
#define DSP_LOGCOEFFB 0x465 // log magnitude scaling coefficient b
#define DSP_ADCOUNT 0x466 // acquistion delay counter
#define DSP_DACOUNT 0x467 // stimulus delay counter
#define DSP_STMDATAADDR 0x468 // stimulus data base Address
#define DSP_STMBUFLEN 0x469 // stimulus data buffer length
#define DSP_FILTTYPE2 0x46A // filter type, trace 2
#define DSP_FILTQUANT 0x46B // filter quantization
#define DSP_FILTUPDFLG 0x46C // filter coefficient update flag
#define DSP_CODECCTRL1 0x46D // CODEC control word 1
#define DSP_CODECCTRL2 0x46E // CODEC control word 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -