Manuals

Can i get anywhere, an update manual containing all the latest commands that version 3 of the dll contains. So far i’ve seen 2 new commands not listed in any manual

they are

SetCurrentDevice
&
SearchDevices

is there any more Please (i’m coding in VB2005).Also is there a way to display this stuff in the object browser of Visual Studio 2005

You forgot to mention the kit or dll you’re refering to…

I think you mean K8055D.DLL.
You’ll find the manual from the downloads site.
Download package k8055_dll_2_001.zip
There you’ll find the document MAN_UK_K8055_DLL_V2.pdf.
On page 11 the new functions are described.

Thanks girls and guys, That’s what i needed.

I knew the name of the commands, as they were listed in a dependancy walker (VB6 CD), but i didn’t know their parameters

Just a quick note, these boards seem a good, low cost way of getting IO on a PC (or laptop), please keep up the good work.

Wish list!

  1. Is it possible (in the future) to get a callback from the card when digital inputs has changed state. I know i can write it myself.

  2. Is there a preformance hit difference between Openning a card, issuing a command and closing it, or just using the setcurrentcard (i know of the 10ms sample rate, but does this include setcurrentcard,open,close,etc ) I’m having to write a control myself to handle dual cards which means keep track of the current card and which card i need next

Thanks again :slight_smile:

Nice that you like the I/O features of the K8055 card.
The answer to your first question is yes, maybe in the future.

The answer to the second question is:
Use SetCurrentDevice to switch the control between the cards.
Using CloseDevice() and OpenDevice (0) takes much more time.

Below there are oscilloscope traces showing the difference.
Trace 1 shows the digital output 1 of card #0 and trace 2 shows the digital output 1 of card #1.

Here the SetCurrentDevice is used.

The complete procedure in Borland C++Builder was:
{
SetCurrentDevice (0);
ClearAllDigital();
SetCurrentDevice (1);
ClearAllDigital();
SetCurrentDevice (0);
SetDigitalChannel(1);
SetCurrentDevice (1);
SetDigitalChannel(1);
}

The latency to set the digital output of the second card is 2ms.

Here the CloseDevice and OpenDevice are used:

The complete procedure in Borland C++Builder was:
{
SetCurrentDevice (0);
ClearAllDigital();
CloseDevice();
SetCurrentDevice (1);
ClearAllDigital();
CloseDevice();
OpenDevice (0);
SetDigitalChannel(1);
OpenDevice (1);
SetDigitalChannel(1);
}

The latency to set the digital output of the second card is 18ms.

Thanks again, these answers just keep coming.

Just hopefully the last question (for now!).

i’m going to create a .Net control (written in VB2005) which will build a layer over you DLL to handle multi cards. My question is which in you experience is the best method to handle the cards.

I could either have 4 instances of the DLL, 1 for each card

or

I could handle 4 cards with 1 instance of the DLL.

I think that if you control the 4 cards from one program then better to handle all cards with 1 instance of the DLL.
Sorry but I have no experience of using multiple instances…

I’m going to have a play with this in both methods.

  1. to create a new wrappeed dll and which calls like

dim card0 as new wrapper
dim card1 as new wrapper
dim card2 as new wrapper
dim card3 as new wrapper

a wrapper dll does all the switching of it’s own card or

dim card as new wrapper

and then switch in 1 dll

will let you know in when i’ve had a play

OK. Interesting ideas!
Waiting to see your results…