Could someone in Velleman tell me how similar the interface protocols are between the VM110 (K8055) and the VM167 modules?
I would like to interface the VM167 to a Raspberry Pi because it is a more appropriate physical size than the much larger VM110.
However, while I have a working Linux driver library for the VM110 and I have the source code for the DLL for the VM167, I do not speak Pascal and I am find it hard to translate the protocols.
What I would like to do is adapt the VM110 code to use on the VM167 because the USB code is tested and works.
Is there a formal protocol document available for the USB connection to the two modules?
The only documents available for the VM167 are the “usermanual_vm167.pdf” and the “vm167_dll_manual.pdf” included to the package “SDK Rev 1.10.45” on the downloads page velleman.eu/support/download … M167&type=
The main difference between the DLL functions between the VM110 and VM167 is that in the VM167 the card address is used as an argument in the functions:
e.g.:
VM110: int ReadAnalogChannel(int Channel)
VM167: int ReadAnalogChannel(int CardAddress, int Channel)
Hi, I made a C port of the pascal code for Linux, it uses libusb as backend and should not need any big work outside the CMakeFile to get it running on a raspberry pi.