This looks like a very interesting kit - but I haven’t bought it yet. Is it intended to ‘work’ with Windows Vista/32 bit/Visual Basic Express 2008/Visual C++ Express?
Thanks
This looks like a very interesting kit - but I haven’t bought it yet. Is it intended to ‘work’ with Windows Vista/32 bit/Visual Basic Express 2008/Visual C++ Express?
Thanks
Yes it works with Windows Vista 32 bit and 64 bit versions. Also with Visual Basic Express 2008 and Visual C++ Express.
Here is a link to download the latest updates:
velleman.eu/distributor/supp … code=K8055
Download both of this files to get the example projects and the latest DLL:
Software DLL (Rev 3.0.2)
supports Windows Vista, VC++ version and executable examples
Software DLL Rev 2
older DLL with examples and source code (source can also be used with DLL rev 3)
Here also links to download my demo projects for the K8055:
VB 2008 Express:
box.net/shared/euf9bd2rc4
VC++ 2008 Express:
box.net/shared/jhm672nk6z
If anyone could be interested in a interface for k8055 written in Euphoria version 3.1.1.
Here is a part of the experimental code that works well on WinXPpro.
[code][color=#00FF00][size=85][size=50]procedure pollDll_K8055()
sDdll ={}
sCDir ="C:\\Windows\\system32"
sCurrD =current_dir()
--0. Detect the presence of K8055x.dll.
-- read path "C:\\Windows\\system32"
--++++++++++++++++++++++++++++
setText(nfoSelCard, " Search for the Velleman K8055x.dll :")
– addItem(lstCards, " Files K8055x.dll search : ")
for j =1 to 2 do
if j =1 then
oD =dir(sCDir)
addItem(lstCards, " ")
addItem(lstCards, " " &sCDir)
elsif j =2 then
oD =dir(sCurrD)
addItem(lstCards, " ")
addItem(lstCards, " " &sCurrD)
end if
if not atom(oD) then
iLenD =length(oD)
if iLenD then
--find all the K8055x.dll's:
for i =1 to iLenD do
if match(".DLL", upper(oD[i][1]))
and match("K8055", upper(oD[i][1]))
then
addItem(lstCards, "> " &oD[i][1] &" " &sprint(oD[i][4]) &"." &sprint(oD[i][5]) &"." &sprint(oD[i][6]))
iCnt +=1
end if
end for
if not iCnt then
addItem(lstCards, " K8055x.DLL NOT PRESENT !")
end if
elsif not iLenD then
addItem(lstCards, " EMPTY DIR !")
return
end if --iLenD
end if --atom()
end for
end procedure
procedure openDllK8055()
addItem(lstCards ," open_dll(\"K8055D_C.DLL\")")
--1. Open the DLL file that contains the C function
-- by calling open_dll() contained in euphoria\include\dll.e. :
-- A 32-bit address will be returned, or 0.
-- The value returned by open_dll() can be passed to
-- define_c_proc(), define_c_func(), or define_c_var().
--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
aAddressK8055dll =open_dll("K8055D_C.DLL")
if not aAddressK8055dll then
addItem(lstCards, "Couldn't open K8055D.DLL !")
addItem(lstCards, " address =" &sprint(aAddressK8055dll))
elsif aAddressK8055dll >0 then
addItem(lstCards, " address =" &sprint(aAddressK8055dll))
addItem(lstCards, " K8055D_C.dll = OPEN.")
end if
addItem(lstCards, repeat('=', 40))
end procedure
procedure findCardOnOpenDevice()
iCardNr =c_func(aOpenDevice, {2})
if iCardNr then
addItem(lstCards, " OpenDevice(iCardNr =" &sprint(iCardNr) &")")
elsif iCardNr = -1 then
addItem(lstCards, " aOpenDevice(iCardNr =NOPE) !")
end if
end procedure
procedure blinkOrFlashLed()
aSetDigitalChannel =define_c_func(aAddressK8055dll, "_SetDigitalChannel@4",
{C_POINTER}, C_INT)
if aSetDigitalChannel = -1 then
addItem(lstCards, " SetDigitalChannel could not be found !")
end if
iSetDigiCh =c_func(aSetDigitalChannel, {1}) --aHwnd, aPs
if iSetDigiCh = -1 then
addItem(lstCards, " aSetDigitalChannel nope !")
end if
sleep(1)
aClearDigitalChannel =define_c_func(aAddressK8055dll, "_ClearDigitalChannel@4",
{C_POINTER}, C_INT)
if aOpenDevice = -1 then
addItem(lstCards, " ClearDigitalChannel could not be found !")
end if
iClearDigiCh =c_func(aClearDigitalChannel, {1}) --aHwnd, aPs
if iClearDigiCh = -1 then
addItem(lstCards, " aSetDigitalChannel nope !")
end if
sleep(1)
end procedure
[/size][/size][/color][/code]