Good morning
I looked at SDK of 6022BL SDK. As indicated by Roderick the first step is to call dsoChooseDevice after dsoOpenDevice:
Result = dsoOpenDevice(m_nDevIndex)
If Result = 1 Then
Result = dsoChooseDevice(m_nDevIndex, 0)
Result = dsoSetTimeDIV(m_nDevIndex, m_nTimeDIV)
End If
However, it seems that this is not the only modification. As I said don't have a 6022BL so I'm not sure, but using the HTMarch.dll from BL SDK also the call to the other functions seems different. For example:
HTMarch.dll (6022BE)
HTMARCH_API short WIN_API dsoReadHardData(
unsigned short DeviceIndex,
short* pCH1Data,
short* pCH2Data,
unsigned long nReadLen,
short* pCalLevel,
int nCH1VoltDIV,
int nCH2VoltDIV,
short nTrigSweep,
short nTrigSrc,
short nTrigLevel,
short nSlope,
int nTimeDIV,
short nHTrigPos,
unsigned long nDisLen,
unsigned long * nTrigPoint,
short nInsertMode);
HTMarch.dll (6022BL)
HTMARCH_API short WIN_API dsoReadHardData_LA(unsigned short DeviceIndex, short* pData1, short* pData2,
unsigned long nReadLen,
int nTimeDIV,
);
I don't found (in BL SDK) the dsoReadHardData that I use in BE.
Also the dsoSetTimeDIV seems different
from 6022BL
HTMARCH_API short WIN_API dsoSetTimeDIV(unsigned short DeviceIndex,int nTimeDIV);
nTimeDIV
indicates current sampling rate index value, following is the value.
0 : 48MSa/s
1: 16MSa/s
2: 8MSa/s
3: 4MSa/s
4: 1MSa/s
5: 500KSa/s
6: 200KSa/s
7: 100KSa/s
from 6022BE
HTMARCH_API short WIN_API dsoSetTimeDIV(unsigned short DeviceIndex,int nTimeDIV);
nTimeDIV
indicates current sampling rate index value, following is the value.
0 ~ 10 : 48MSa/s
11: 16MSa/s
12: 8MSa/s
13: 4MSa/s
14 ~ 24: 1MSa/s
25: 500KSa/s
26: 200KSa/s
27: 100KSa/s
In any case if you said that the only modification will be to add the call to dsoChooseDevice, I can try a simple test and send to you the new files. Let me know.
Fabio