
SDK - HTSoftDll.dll Manual
VC++6.0 IDE
Define the struct for the application.
_HT_CONTROL_DATA contains same controls
typedef struct _HT_CONTROL_DATA
{
WORD nCHSet;//channel Enable/Disable
//the 0 bit: 0 CH1 is disable, 1 CH1 is enable
//the 1 bit: 0 CH2 is disable, 1 CH2 is enable
//the 2 bit: 0 CH3 is disable, 1 CH3 is enable
//the 3 bit: 0 CH4 is disable, 1 CH4 is enable
WORD nTimeDIV; //the index of time base
WORD nTriggerSource; //the index of the trigger source
WORD nHTriggerPos; //the horizontal trigger pos (Value:0~100)
WORD nVTriggerPos; //the vertical trigger pos
WORD nTriggerSlope; //the edge trigger slope(0 is rise slope, 1 is fall slope)
ULONG nBufferLen; //the buffer length
ULONG nReadDataLen; //the data length of data to be Read
ULONG nAlreadyReadLen; //the data length of data having been read
WORD nALT; //is alternate trigger of not
WORD nETSOpen; //ETS enable/display(no use)
}CONTROLDATA,*PCONTROLDATA;
Example:
Declare a variable: CONTROLDATA myControlData;
Declare a pointer: PCONTROLDATA pControlData;
Functions:
1. DLL_API ULONG WINAPI dsoSFFindTrigger(
Return Value:
Default is 1, not have special use.
Parameter:
SourceData
Point to the data to be processed
WORD* SourceData,
WORD* BufferData,
PCONTROLDATA pControl
)

BufferData
Point to the output data.
pControl
Point to CONTROLDATA Variable.
Remarks:
Pick out the data meeting the trigger’s requirements from SourceData array, and store in
BufferData array.
2. DLL_API WORD WINAPI dsoSFFindTriggerCopy (
WORD* SourceData,
WORD* BufferData,
PCONTROLDATA pControl,
ULONG TriggerPoint
)
Return Value:
Default is 1, not have special use.
Parameter:
SourceData
Point to the data to be processed
BufferData
Point to the output data.
pControl
Point to CONTROLDATA Variable.
TriggerPoint
Trigger Point that need to be found from Interpolation.
Remarks:
Copy data from SourceData array to BufferData according to TriggerPoint.
3. DLL_API WORD WINAPI dsoSFCalSinSheet(
double div_data,
double* dbSinSheet
)
Retrurn Value:
Default is 1, not have special use.
Paratemter:
div_data
the interpolation number..
dbSinSheet
the look-up table Corresponding to the number of interpolation.
Remarks:

Calculate the look-up table about Interpolation.
4. DLL_API void WINAPI dsoGetSoftTriggerPos(
WORD nTimeDIV,
WORD nTriggerSource,
ULONG* pState,
WORD nFPGAVersion
)
Return Value:
null.
Parameter:
nTimeDIV
the index of time base.
nTriggerSource
the trigger source.
pState
Interpolation array corresponding to trigger point.
nFPGAVersion
the FPGA version of hardware.
Remarks:
Calculate nterpolation array corresponding to trigger point.
5. DLL_API double WINAPI dsoHMSFGetInsertNum(
WORD nTimeDIV,
WORD nALT,
WORD nCHCount
)
Return Value:
the interpolation value.
Parameter:
nTimeDIV
the index of time base.
nALT
Whether is alternative. Default is Zero.
nCHCount
Channel work mode. Default is 1,2,4.
Remarks:
Obtain the interpolation value.

6. DLL_API void WINAPI dsoHMSFProcessInsertData(
WORD* SourceData,
WORD* BufferData,
PCONTROLDATA pControl,
WORD nInsertMode,
WORD nCHCount,
double* dbSinSheet,
USHORT nCH
)
Return Value:
null.
Parameter:
SourceData
Point to the data to be processed
BufferData
Point to the output data.
pControl
Point to CONTROLDATA variable.
nInsertMode
the interpolation mode. Defalut is 2(Sine)..
nCHCount
Channel work mode. Default is 1,2,4.
dbSinSheet
the look-up table Corresponding to the number of interpolation.
nCH
the analog channel.
Remarks:
.Do the interpolating.